Site Management Handleiding. Onderhouden en beheren van een door Smartsite aangedreven site Release 5.3 Manual-versie 1.0

Maat: px
Weergave met pagina beginnen:

Download "Site Management Handleiding. Onderhouden en beheren van een door Smartsite aangedreven site Release 5.3 Manual-versie 1.0"

Transcriptie

1 Site Management Handleiding Onderhouden en beheren van een door Smartsite aangedreven site Release 5.3 Manual-versie 1.0

2 Copyright 2010 Seneca B.V. Alle rechten voorbehouden. Niets uit deze uitgave mag worden verveelvoudigd, opgeslagen in een geautomatiseerd gegevensbestand, of openbaar gemaakt worden, in enige vorm of op enige wijze, hetzij elektronisch, mechanisch, door fotokopieën, of op enige manier, zonder voorafgaande toestemming van de uitgever. Voor het overnemen van gedeelte(n) uit deze uitgave in bloemlezingen, readers en andere compilatie- of andere werken (artikel 16 Auteurswet 1912), in welke vorm dan ook, dient men zich tot de uitgever te wenden. Ondanks alle aan de samenstelling van deze handleiding bestede zorg kan noch de redactie, noch de auteur, noch de uitgever aansprakelijkheid aanvaarden voor schade die het gevolg is van enige fout in deze uitgave.

3 Voorwoord Voor je ligt de Smartsite Site Management Handleiding. De handleiding voor sitemanagers is een lastige handleiding. Een door Smartsite aangedreven site kan namelijk in vele gedaanten voorkomen: van een relatief simpele site die op een enkele server draait tot een over meerdere servers uitgerolde applicatie, waar productie en publicatie van informatie volledig van elkaar gescheiden zijn. Wanneer er sprake is van een grote organisatie dan zullen de sitemanagers zich niet gauw hoeven bezig te houden met de technische aspecten van een site, terwijl in een kleine organisatie misschien wel hogere eisen aan de sitemanager worden gesteld. Door deze brede invulling die je aan het begrip sitemanager kunt geven is het lastig om de informatie daar eenduidig op af te stemmen. In deze handleiding proberen we de concepten die aan Smartsite ten grondslag liggen uit te leggen. Daarnaast willen we ook de praktische handelingen niet vergeten. Wanneer je vindt dat er informatie in deze handleiding ontbreekt dan moedigen we je aan om ook eens op onze sites te kijken: manual.smartsite.nl en support5.smartsite.nl. Op deze sites wordt meer informatie gegeven en deze informatie wordt altijd actueel gehouden. Seneca B.V. is continu bezig om zijn product te verbeteren. Dat betekent dat er telkens weer nieuwe versies van Smartsite worden uitgebracht. Bij het uitbrengen van een nieuwe versie wordt bestaande functionaliteit herzienen waar nodig verbeterd en wordt nieuwe functionaliteit toegevoegd. Bij het uitbrengen van de nieuwste versie is ook de Site Management Handleiding herzien. De informatie uit bepaalde hoofdstukken is verplaatst en nieuwe hoofdstukken zijn toegevoegd. Er is geprobeerd een scheiding aan te brengen in de sitemanager als contentmanager en de sitemanager als technisch beheerder van de site. Hierbij wordt meteen een scheiding aangebracht in de dagelijkse routine die bij het beheer van de site komt kijken en de technische handelingen die minder vaak voorkomen.

4 De kennis die je als sitemanager nodig hebt is nogal afhankelijk van hoe jouw rol als sitemanager er uitziet. Ben je voornamelijk bezig met het beheren van de content dan is speciale kennis niet vereist, maar is het een voordeel als enige kennis hebt van de werking van een database. Ben je als sitemanager bezig met het importeren en exporteren van content, het aanpassen van de Rendertemplates of het configureren van de security dan is meer kennis noodzakelijk van bijvoorbeeld XML, HTML en databases. We hopen dat de handleiding in de nieuwe opzet voldoet en wensen je succes met het beheren van jouw site. Delft, oktober2010 Seneca BV Seneca BV

5 Inhoudsopgave Hoofdstuk 1 Smartsite Data Model en Architectuur 1 Content Data Model 2 Wat is een database? 2 De Contents-tabel 3 Contenttypes 5 De ContentVersions-tabel, workflow en versies 6 Securitymodel 9 Gebruikers, Groepen, Rollen, Acties 9 Role-based Management 10 Delegated Security 12 Hardware-architectuur en Outscaling 15 Hoofdstuk 2 Meta-informatie: thesauri en tabellen 17 Inleiding over thesauri 18 Relatie-indicatoren en term data 20 De equivalente relatie 20 De hiërarchische relatie 21 De associatieve relatie 23 Aanvullende informatie voor termen 24 Een thesaurus beheren 25 Data aan een thesaurus toevoegen 25 Door een thesaurus bladeren 28 Een thesaurus exporteren of importeren 29 Exporteren 29 Importeren 30 De opzet van een thesaurus wijzigen 33 Een thesaurus definiëren 34 Definiëren van Term Data Types 35 Definiëren van Relation Types 37 De thesaurus definiëren 40 Tabellen bewerken 43

6 Hoofdstuk 3 Content Management 45 Praktische site-opbouw 46 CMS-folders 47 Translations 49 Afbeeldingen en Binary s 51 Folders op orde houden 52 Sturen van content 53 Overzicht van items in een worfklow 53 Items aan gebruikers toekennen 54 De workflow van een item halen 55 Content publiceren en archiveren 57 Publicatiestatus instellen 58 Content actualiseren 61 Meta-informatie wijzigen 61 Tekst in meerdere items aanpassen 64 Gewijzigde items versneld activeren 66 Hoofdstuk 4 Data Management 67 Wat is data management? 68 Een site labelen 69 Gelabelde versies terugzetten 69 Verwijderde items 71 Gearchiveerde taken opruimen 73 Versies opruimen 75 Hoofdstuk 5 Formulieren 77 Wat zijn formulieren 78 Een nieuw formulier toevoegen 80 Default Source 81 Save as Item 81 Save as Item, field Body 83 Send 84 Database-tabel 85 Databinding eigenschappen wijzigen 86 Het formulier definiëren 87 Elementen toevoegen 88 Eigenschappen van elementen 91 Tekstelementen 91 Lijstelementen 92 Overige elementen 94 Subformulieren 95 Opmaak van elementen 96 Formulieren gebruiken 97 Verstuurde formulieren bekijken Seneca BV

7 Hoofdstuk 6 Import en export 103 Import-functies 104 Importmogelijkheden 104 Word-documenten importeren 106 Tekst- en HTML-documenten importeren 107 Een aantal opties in de Export Wizard 108 Importeren of verwijzen 109 Hoofdstuk 7 Rechten en Security 111 Smartsite Console 112 Gebruikers aanmaken en beheren 114 Een apart soort gebruiker: de visitor 115 Groepen aanmaken en beheren 117 Rollen aanmaken en beheren 120 Wie, waar, wat 123 Gebruik van de Smartsite Manager 123 Bladeren door de site 125 Hoofdstuk 8 Workflow 129 Definitie Workflow 130 Hoe werkt workflow 132 CMS-statussen 133 CMS-Statussen en interactie 134 Analyse Workflow 137 De basis van een workflow 139 De definitie van activiteiten 140 Acties binnen Activiteiten 145 Transitions 146 Hoofdstuk 9 Channels, Rendertemplates en Macro s 151 Wat zijn channels? 152 Opbouw van een channel 152 Wat zijn Rendertemplates? 156 Opzet van Rendertemplates 156 Simpele HTML Rendertemplate 158 Complexe rendertemplates 159 XLinks-Macro 160 Een XLinks-macro invoegen 160 Smartsite Content Management Server 3

8 Hoofdstuk 10 Contenttype Management 165 Weergave van een contenttype aanpassen 166 Eigenschappen van een contenttype 169 Contenttype velden 170 Aanpassen van veldeigenschappen van een Contenttype 171 Hoofdstuk 11 Servercache en AIM 173 AIM en Externe Verwijzingen 174 Overzicht van verwijzingen 174 AIM in de praktijk 175 Servercache 177 Servercache instellen 177 Servercache en AIM 179 Level I- en Level II-cache 180 Externe Verwijzingen 181 Bijlage 1 De Smartsite Management Information module 1-1 Meten van bezoekers 1-2 Cache 1-3 Proxyserver 1-3 Cookies 1-4 Cookie-instellingen 1-5 Methode van tellen 1-5 Referrer 1-5 Algemene issues 1-6 Conclusie 1-6 Hardware- en software-eisen 1-7 SMI Architectuur 1-7 SMI Databasemodel 1-8 jdays 1-12 Appletbeschrijving 1-13 De buttons van het applet 1-14 De SMI-menubalk 1-14 Management Information Setup 1-15 SMI menu-opties 1-17 SMI-templates 1-17 Scope-menu 1-17 Sitemenu 1-18 Visitor-menu 1-19 Referrers-Menu 1-20 Server-menu 1-21 Eigen events meten 1-21 Personalisatie Seneca BV

9 Hoofdstuk 1 Smartsite Data Model en Architectuur Om een site te kunnen beheren is het goed om een globaal inzicht te hebben van de technische achtergronden van Smartsite. Smartsite is een database-georiënteerde applicatie en veel zaken die met het beheer te maken hebben zijn beter te begrijpen wanneer je enigszins begrijpt hoe een database werkt. Binnen de Smartsite Manager is Security van groot belang; elke gebruiker mag alleen die acties uitvoeren die aan zijn rol zijn gekoppeld. In dit hoofdstuk wordt een korte inleiding op het securitymodel van Smartsite gegeven. Smartsite is een server-side application. Hierdoor hoeven er geen programma s op lokale computers geïnstalleerd te worden om met Smartsite te kunnen werken. Alleen Microsoft Internet Explorer is vereist om te surfen naar de Smartsite Manager. Om de snelheid optimaal te houden kunnen de taken over meerdere servers verdeeld worden. Dit proces wordt outscaling genoemd en zal in dit hoofdstuk kort worden toegelicht. Met deze kennis worden sommige aspecten die komen kijken bij het beheren van een door Smartsite aangedreven site eenvoudiger te begrijpen en te doorzien. Smartsite Content Management Server 1

10 Smartsite Data Model en Architectuur 1.1 Content Data Model Smartsite is een database-georienteerde applicatie waarbij alle informatie in de database wordt opgeslagen. Ook alle ondersteunende informatie is in deze database terug te vinden. Deze informatie is verdeeld over verschillende tabellen die onderling relaties met elkaar kunnen hebben. Veel processen binnen Smartsite kunnen beter worden beschreven met een globaal inzicht in de structuur van deze database Wat is een database? Databases zijn bestemd om op een ordelijke manier uiteenlopende informatie op te slaan. Een database bestaat uit een verzameling van tabellen. Elke tabel bestaat uit kolommen, in een database velden genoemd, en rijen, ook wel records genoemd. Door steeds rijen te vullen met informatie wordt die informatie op een geordende manier opgeslagen. ID Naam Group Groepsomschrijving 1 J. Jansen Content Managers Beheert en structureert de content in de site. 2 M. Gerritsen Content Editors Voegt nieuwe content toe aan de site. 3 C. Ontent Content Editors Voegt nieuwe content toe aan de site. Tabel 1-1: Voorbeeld van een tabel Gebruikers Een database zou uit een enkele tabel kunnen bestaan, maar vaak zie je dat er meerdere tabellen in een database aanwezig zijn. Deze tabellen kunnen relaties met elkaar onderhouden waardoor een zogenaamde relationele database ontstaat. Het voordeel van deze relaties is dat informatie niet onnodig hoeft worden ingevuld. Pas wanneer de informatie nodig is, wordt deze door koppelingen tussen de tabellen achterhaald. In bovenstaand voorbeeld hebben we een eenvoudige tabel waarin we een overzicht hebben van alle gebruikers van de Smartsite Manager en in welke groep zij zitten. Daarnaast wordt er een omschrijving van die groep gegeven. Deze tabel is nog kort en overzichtelijk, maar in werkelijkheid kan deze tabel uit tientallen, misschien wel honderden records bestaan. We zien in het voorbeeld dat er twee personen zijn die de rol van Content Editor hebben. De omschrijving voor de groep is natuurlijk exact hetzelfde. Deze omschrijving moet echter wel elke keer ingevuld worden en ook nog eens opgeslagen. Dat kost veel ruimte in de database. Door nu meerdere tabellen in deze database te gebruiken kunnen we dat probleem voorkomen. Er wordt een aparte tabel gemaakt voor alle Groepen: Seneca BV

11 Content Data Model GroepsID Naam Omschrijving 1 Content Editors Voegt nieuwe content toe aan de site. 2 Content Managers Beheert en structureert de content in de site. Tabel 1-2: een tabel met alle Groepen De Gebruikers-tabel kan nu korter gemaakt worden. In deze tabel worden de velden Groepsnaam en Groepsomschrijving vervangen door een enkel veld GroepsID. ID Naam 1 J. Jansen 2 2 M. Gerritsen 1 3 C. Ontent 1 GroepsID Tabel 1-3: de vereenvoudigde Gebruikers-tabel In het veld GroepsID wordt nu het nummer van de betreffende groep uit de tabel Groepen gezet. De velden GroepsID uit beide tabellen zjin aan elkaar gerelateerd. Op deze manier hoeft er veel minder informatie te worden opgeslagen. Door de GroepsID van een gebruiker kunnen we achterhalen wat de naam van de groep is en wat de omschrijving van die groep is door deze uit de tabel Groepen te lezen. Je plakt de twee tabellen dus als het ware achter elkaar: ID Naam 1 J. Jansen 2 GroepID 2 M. Gerritsen 1 Content Editors Voegt nieuwe content toe aan de site. 3 P. Fuijk 1 Tabel 1-4: Dit is een zeer beknopte beschrijving van een hoe het in een database toegaat en in werkelijkheid is het ook gecompliceerder dan hier beschreven. Het principe van elke relationele database werkt echter zoals in dit voorbeeld is uitgelegd De Contents-tabel In de database van een door Smartsite aangedreven site is de Contents-tabel de belangrijkste tabel. Alle informatie die door middel van items wordt Smartsite Content Management Server 3

12 Smartsite Data Model en Architectuur ingevoerd wordt in deze tabel opgeslagen. Elk item is dus eigenlijk een record, een rij, in deze tabel. De Contents-tabel bevat een heleboel velden. Zomaar een greep uit deze velden is bijvoorbeeld: Veldnaam Nr Title Body AddDate Parent CTSpecificInt1 CTSpecificVar3 Omschrijving Dit veld bevat het unieke nummer van een item. De titel van een item wordt in dit veld weggeschreven. De tekst die in het body-veld wordt getypt wordt in dit veld opgeslagen. De datum waarop een item werd aangemaakt en toegevoegd aan de Contents-tabel. Het nummer van het item waar dit item een kind van is, m.a.w. in welke folder dit item (zelf soms ook een folder) zit. Op deze manier wordt de hiërarchie van de boomstructuur gecreëerd. Een veld waarin numerieke waarden kunnen worden opgeslagen. Een veld waarin tekst kan worden opgeslagen. Tabel 1-5: Een greep uit de velden van de Contents-tabel Elk veld is van een bepaald veldtype en kan dienovereenkomstig een vastgestelde soort informatie herbergen; het veld Body is een uitgebreid tekstveld en kan grote hoeveelheden tekst bevatten, het veld AddDate is een veld dat alleen een datum accepteert en het veld CTSpecificInt1 accepteert alleen gehele getallen. Een speciaal veld is het veld Nr, dat een uniek nummer bevat en dat automatisch wordt opgehoogd elke keer dat er een nieuwe regel aan de tabel wordt toegevoegd. Alle items die in de Contents-tabel zijn aangemaakt hebben een relatie tot elkaar. Elk item in de tabel heeft een uniek nummer. Elk item heeft een veld genaamd Parent. Dit veld Parent verwijst naar het unieke nummer van een ander item. Het resultaat van deze verwijzing is een boomstructuur. Binnen Smartsite wordt gesproken over Parents (Ouders) en Children (Kinderen) en een daaruit resulterende Parent-Child relatie. Door deze Parent- Child relatie ontstaat er een hiërarchie in de opgeslagen informatie. De Parent-Child relatie wordt gebruikt om eigenschappen van een item door te geven aan een item dat een kind is van dat item. Dit doorgeven van eigenschappen wordt binnen Smartsite, net als in het echte leven, overerving genoemd. De hiërarchische boomstructuur die ontstaat door gebruik te maken van Parent-Child relaties wordt binnen Smartsite voor uiteenlopende doelen gebruikt: het vastleggen van een functionele indeling; het erven (doorgeven) van eigenschappen van items; Seneca BV

13 Content Data Model het dynamisch genereren van hyperlinks naar onderliggende en/of bovenliggende items; het toekennen van rechten aan gebruikers om delen van de boomstructuur wel of niet te mogen bewerken. In eerdere versies van Smartsite was er behoefte om extra velden aan de Contents-tabel toe te voegen om de invoer van informatie te structureren; het aantal benodigde velden was vaak groter dan het aantal in de database beschikbare velden. Omdat elke soort invoer van informatie weer andere velden noodzakelijk maakte, groeide het aantal velden in de database explosief. De Contents-tabel van Smartsite 5 bevat een groot aantal velden die voorzien zijn van een heel algemene naam zoals CTSpecificText1, CTSpecificBit3 of CTSpecificBinary1. Deze velden kunnen nu gebruikt worden om informatie in op te slaan. Om de velden effectief te gebruiken worden contenttypes gebruikt. Elk item in de Contents-tabel is daarvoor aan een contenttype gekoppeld Contenttypes Het aantal velden in de Contents-tabel bedraagt ongeveer vijftig. Wanneer een item wordt toegevoegd met behulp van de Smartsite Manager hoef je (gelukkig) niet al die velden in te vullen. Voor het invullen van die velden wordt namelijk gebruik gemaakt van zogenaamde contenttypes. Noot Het genoemde aantal van vijftig velden is een standaardsituatie. Omdat het datamodel van Smartsite uitbreidbaar is, is het mogelijk dat het aantal velden in de Contents-tabel groter is dan vijftig. " Contenttypes zijn definities van informatie. Een contenttype heeft een aantal velden waarin deze informatie kan worden ingevuld. De definitie van het contenttype koppelt deze velden aan de velden in de Contents-tabel. Heel basaal gezegd is een contenttype een masker dat over een regel in de Contents-tabel wordt gelegd om de invoer in deze tabel te vereenvoudigen - het laat alleen die velden zien die moeten worden ingevuld, terwijl de andere velden zijn afgedekt. Een contenttype stelt je dus in staat om eenvoudig informatie in te voeren. Je hoeft je alleen nog maar te beperken tot die velden die getoond worden. Maar wat gebeurt er eigenlijk met de overige velden die niet zichtbaar zijn? Voor die velden die niet zichtbaar zijn zijn er twee mogelijkheden: 1. De velden worden door Smartsite ingevuld. De datum en tijd dat een item wordt aangemaakt (AddDate) en het nummer van een item (Nr) zijn typisch velden waar Smartsite zorg voor draagt; 2. Het veld blijft simpelweg leeg. Niet alle velden hoeven verplicht te worden ingevuld. Smartsite Content Management Server 5

14 Smartsite Data Model en Architectuur Behalve dat een contenttype velden afschermt heeft een contenttype nog een functie: een contenttype kan het gedrag van een veld bepalen. Dat wordt gedaan door het toepassen van speciale hulpmiddelen op een veld - denk aan de webeditor - of door het afdwingen van bepaalde invoer - bijvoorbeeld het niet leeg mogen zijn van het titelveld. Verder is het zo dat er afgedwongen kan worden welke rollen een bepaald veld wel of niet mogen zien en/of bewerken. Het definiëren en implementeren van contenttypes gebeurt bij het opzetten van een site. Daar heeft een sitemanager in principe niets mee van doen. Smartsite heeft zelf al een groot aantal standaardcontenttypes die gebruikt worden voor de werking van de site, zoals bijvoorbeeld de contenttypes Channel, Rendertemplate en Workflow. Die bevatten respectievelijk de definitie van een channel, de opmaak van contenttypes in een bepaald channel en de definitie van de workflow. Om het zetten van de eigenschappen van de afzonderlijke velden zo eenvoudig mogelijk te houden zijn contenttypes gegroepeerd. Contenttypes die in dezelfde groep zitten hebben hetzelfde aantal velden. Of die velden ook zichtbaar zijn bij het bewerken van items van dat contenttype hangt helemaal van de eigenschappen af. Het ene contenttype uit een groep heeft misschien wel tien zichtbare velden, het andere contenttype heeft er zes. Omdat ze in dezelfde groep zitten hebben ze exact hetzelfde aantal velden, alleen bij het ene contenttype is aangegeven dat er vier velden méér zichtbaar zijn. Doordat de contenttypes wel in dezelfde groep zitten, is het wel mogelijk om de eigenschappen van in beide contenttypes zichtbare velden tegelijk te bepalen in plaats van voor elk contenttype afzonderlijk. " Dat contenttypes gegroepeerd zijn komt bijvoorbeeld terug in de actie Switch Contenttype. Bij niet-gegroepeerde contenttypes is deze actie niet bruikbaar. Noot Het is misschien goed om te onderstrepen dat contenttypes géén items zijn en ook geen zelfstandige objecten. Het zijn alleen maar hulpmiddelen om informatie in de contentstabel op een gestructureerde manier te manipuleren en weer te geven. Toch zal er in het verdere verloop van deze handleiding over contenttypes gesproken worden als waren het zelfstandige objecten die informatie bevatten. Voor de beeldvorming is dit ook een prima uitgangspunt, maar in sommige gevallen moet je je weer even realiseren dat de informatie niet in het contenttype is opgeslagen maar in de Contents-tabel De ContentVersions-tabel, workflow en versies In principe zijn alle items die in de Smartsite Manager worden aangemaakt onderworpen aan een workflow. Dat betekent dat een item een reeks stappen moet doorlopen voordat het item actief wordt en daarmee zichtbaar wordt aan de voorkant van de site. Daarnaast wordt er elke keer dat een item Seneca BV

15 Content Data Model wordt opgeslagen een nieuwe versie van een item opgeslagen. In een later stadium kan een oude versie van een item worden teruggehaald en opnieuw actief gemaakt worden. Het opslaan van de versies gebeurt in de ContentVersions tabel. De actieve content bevindt zich in de Contents-tabel. De Contents-tabel en de ContentVersions-tabel hangen nauw met elkaar samen. In onderstaande tabel wordt geprobeerd om de samenhang tussen deze twee tabellen en de levenscyclus van een item weer te geven: Actie Workflow Status Publication Status Contents-tabel ContentVersions tabel Busy Prepublished nieuw record nieuw record Busy Prepublished nieuw record Busy Prepublished nieuw record Busy Prepublished nieuw record Active Active bestaand record overschreven nieuw record Busy Active nieuw record Busy Active nieuw record Busy Active nieuw record Active Active bestaand record overschreven nieuw record Tabel 1-6: Samenhang Contents-tabel en ContentVersions-tabel In bovenstaande tabel zien we dat elke keer dat een item wordt bewerkt er een nieuw record, een nieuwe rij, in de ContentVersions-tabel wordt geplaatst. Pas wanneer een item een gehele workflow heeft doorlopen wordt de laatste versie van een item overgeheveld van de ContentVersions-tabel naar de Contents-tabel. Vanaf dat moment is de informatie ook zichtbaar aan de voorkant van de site. Noot In dit voorbeeld is gebruik gemaakt van de default workflow. In deze workflow zijn maar twee statussen zichtbaar, namelijk Busy en Active. Je zou het hele pad - met de cyclus van het aanmaken van een item tot het actief worden tot het opnieuw bewerken en opnieuw actief worden - natuurlijk ook langs een zeer uitgebreide workflow kunnen laten lopen. " De ContentVersions-tabel is dus een soort schaduwtabel van de Contentstabel. Het bevat bijvoorbeeld ook het veld Title en het veld Body. Er is echter een belangrijke kanttekening. Het hoeft niet zo te zijn dat alle velden uit de Contents-tabel ook in de ContentVersions-tabel bestaan. Die velden die niet Smartsite Content Management Server 7

16 Smartsite Data Model en Architectuur in de ContentVersions-tabel bestaan worden aangepast. direct in de Contents-tabel Een wijziging in de Contents-tabel betekent een directe wijziging van de actieve content en dat betekent vaak ook een direct resultaat aan de voorkant van de site. Wanneer je het veld Description van een item in de Contents-tabel verandert dan zal die verandering direct te zien zijn wanneer je het item aan de voorkant van de site opvraagt. Voor veel velden is het ook niet zo belangrijk om aan versiebeheer onderhevig te zijn. Het grote gevaar schuilt in de zogenaamde tekstvelden die aan de voorkant van de site gebruikt worden. Voorbeeld Stel dat het veld Title en het veld Body in de ContentVersions-tabel staan en het veld Description niet. Een redacteur bewerkt een item en typt in het Description-veld een vreemde tekst. De redacteur slaat het item op in de workflowstatus Busy. Hierbij gaat hij er vanuit dat de nieuwe informatie pas zichtbaar wordt als hij het item in de status Active opslaat en dat het niet erg is dat de tekst in de verschillende velden nog niet compleet is of tijdelijke en misschien wel gevoelige informatie bevat. Omdat het veld Description niet in de ContentVersionstabel staat zal de tekst in dit veld echter direct zichtbaar zijn aan de voorkant van de site zodra het item wordt opgeslagen, ook als dat in de workflowstatus Busy Editing is Seneca BV

17 Securitymodel 1.2 Securitymodel Het Securitymodel regelt de rechten van de gebruikers van de Smartsite Manager en de bezoekers van de door Smartsite aangedreven site. Het Securitymodel van Smartsite is veelomvattend en de mogelijkheden om rechten aan te passen en te verfijnen nemen in de oplopende edities van Smartsite (Standard, Professional en Enterprise) alleen maar toe. Bij de security-instellingen van Smartsite gaat het om rechten van gebruikers of bezoekers. Het gaat hierbij niet om zaken als firewalls, packet filters of virusscanners; deze maken geen deel uit van Smartsite zelf. Anders gezegd: het gaat niet om hekken met prikkeldraad om Smartsite heen, maar om de sloten op de deuren binnen Smartsite zelf Gebruikers, Groepen, Rollen, Acties Alle mogelijkheden die je binnen de Smartsite Manager hebt, zijn samengevat in acties en privileges. Je hebt acties als items toevoegen, contenttypes aanmaken en bewerken, bestanden importeren en je hebt privileges om folders aan te maken, de WebEditor te gebruiken of om items te verwijderen. De acties die er binnen de Smartsite Manager mogelijk zijn moeten worden gekoppeld aan de gebruikers die met de Smartsite Manager aan de slag gaan. Daarnaast willen we ook aangeven waar binnen de hiërarchische boomstructuur van de site acties mogen worden uitgevoerd. Voor het koppelen van de acties aan de gebruikers zijn er in Smartsite twee tussenstappen: rollen en groepen. De rollen worden gevuld met acties, de groepen worden gevuld met gebruikers. Daarna worden de rollen aan groepen toegekend. Figuur 1-1: De onderlinge samenhang van gebrukers, groepen, rollen en acties Smartsite Content Management Server 9

18 Smartsite Data Model en Architectuur De groepen spelen een centrale rol in de beveiliging en rechtenstructuur van de Smartsite Manager. De groepen worden gebruikt om het Waar, Wat en Hoe te definiëren. Groepen worden allereerst gebruikt om aan te geven op welk deel van de boomstructuur de groep recht heeft om items en folders te bewerken (Waar). De contenttypes die aan een groep zijn toegekend bepalen welke items en folders er bewerkt kunnen worden (Wat). De rol die aan een groep is toegekend bepaalt hoe de items en folders bewerkt kunnen worden (Hoe). Wanneer een gebruiker in een groep wordt geplaatst, betekent dat: dat hij een rol heeft die bepaalt welke acties hij mag uitvoeren; dat hij alleen items en folders van bepaalde contenttypes mag bewerken; dat hij alleen bepaalde folders op de file-server mag gebruiken. Dit is de basis van het securitymodel. Het model gaat echter verder. Gebruikers kunnen bijvoorbeeld niet in een enkele groep geplaatst worden maar in meerdere groepen tegelijk. Hierdoor kunnen gebruikers verschillende rollen aannemen waarmee hun rechten worden ingedamd of uitgebreid. Dit wordt Role-based Management genoemd. De groepenstructuur is hiërarchisch van opbouw. Deze hiërarchie is enerzijds van belang voor de workflow van items maar maakt het anderzijds ook mogelijk om rechten door te geven aan gebruikers op onderliggende niveaus. Dit principe wordt Delegated Security genoemd Role-based Management Role-based Management betekent dat een gebruiker bij het werken met de Smartsite Manager gebruik maakt van een bepaalde rol. De acties die aan een rol zijn toegekend bepalen in feite hoe je binnen de Smartsite Manager kunt werken Een gebruiker van de Smartsite Manager heeft een rol omdat hij in een bepaalde groep zit. Wanneer een gebruiker in meedere groepen zit dan zou het kunnen zijn dat hij in iedere groep een andere rol heeft. Is dat het geval dan betekent dat dat een gebruiker van rol kan wisselen. Het wisselen van rol betekent dus in feite dat de gebruiker in een andere groep terecht komt. In de hiërarchische boomstructuur van de website kan worden aangegeven welke groepen waar rechten hebben om hun acties uit te voeren. Door een deel van de boomstructuur aan een groep toe te kennen leg je de verantwoordelijkheid voor het onderhoud van de informatie in dat deel bij die groep. Wanneer een gebruiker dus meerdere rollen heeft dan kan het wisselen van rol betekenen dat hij in een andere groep terecht komt en dus op andere delen van de boomstructuur acties kan uitvoeren Seneca BV

19 Securitymodel Voorbeeld Een medewerker van een organisatie zit in de groep News Editors. Deze groep heeft de rol van Editor (redacteur). Dit betekent dat deze persoon items mag aanmaken in een bepaald deel van de site, bijvoorbeeld onder een folder met nieuwsitems. Voordat deze items kunnen worden gepubliceerd moeten deze, door de toegepaste workflow, ook nog langs de groepen Public Relations Management en Content Managers. Figuur 1-2: Voorbeeld van een hiërarchische groepenstructuur Deze persoon uit de groep News Editors is ook hoofd van de Sales afdeling. Alle berichten en informatie die te maken hebben met de verkoop en die worden aangemaakt door de redacteuren uit de twee subgroepen Sales Dep. Interntl. en Sales Dep. Local, worden eerst door deze persoon gecontroleerd alvorens ze de laatste stap naar de groep Content Managers maken. Aan de groep Sales Management is de rol van Chief Editor (Hoofdredacteur) gekoppeld. Deze gebruiker zit nu dus in twee groepen en heeft in beide groepen een andere rol. Wisselen van rol betekent in dit geval dat hij op andere delen van de boomstructuur andere acties kan uitvoeren. Niet alle edities van Smartsite ondersteunen bovenstaande volwaardige manier van Role-based management. In het kort ziet de situatie er als volgt uit: Editie Standard Edition Security model Een gebruiker kan maar in een groep zitten en aan een groep kan maar een rol worden toegekend. Professional Edition Een gebruiker kan in meerdere groepen zitten maar de acties uit de verschillende rollen worden allemaal samengevoegd. Enterprise Edition Een gebruiker kan in meerdere groepen zitten en in elke groep een compleet andere rol met andere acties spelen. Dat betekent dus dat volwaardig Role-based management alleen in deze editie mogelijk is. Tabel 1-7: overzicht Smartsite Content Management Server 11

20 Smartsite Data Model en Architectuur Delegated Security Dat een bepaalde groep van gebruikers meerdere rollen kan vervullen lijkt overbodig wanneer de inhoud van bepaalde rollen (de toegekende acties aan die rol) elkaar overlapt; dat een deelverzameling van de acties uit een hogere rol dus ook in de rol(len) op onderliggende niveau s zit. Smartsite maakt gebruik van het begrip Delegated Security. Het delegeren van een deel van jouw rechten kan wanneer je die rechten in verschillende rollen hebt ondergebracht. Dat betekent dat je nooit meer of andere rechten kunt uitdelen dan je zelf hebt. Als voorbeeld nemen we een standaardredactie waar de hoofdredacteur een aantal redacteuren onder zich heeft (Figuur 1-3:een elementaire hoofdredactie). De hoofdredacteur maakt in dit geval deel uit van de groep hoofdredacteuren, de redacteuren maken deel uit van de groep redacteuren. Figuur 1-3: een elementaire hoofdredactie Bij deze groepen horen de volgende rollen: Groep/Rol Hoofdredacteuren Hoofdredacteur Redacteur Redacteuren Tabel 1-8: groepen en rollen De groep hoofdredacteuren heeft dus de rollen Hoofdredacteur en Redacteur. Bij de rollen uit dit voorbeeld horen de volgende acties: Acties/Rol Hoofdredacteur Redacteur Add Item Edit Item Delete Configure Security, Edit Users Tabel 1-9: Rollen en acties Seneca BV

21 Securitymodel Acties/Rol Hoofdredacteur Redacteur Configure Security, Edit Groups Set Manager Access Tabel 1-9: Rollen en acties Noot Om het voorbeeld overzichtelijk te houden is de situatie vereenvoudigd. In werkelijkheid moeten naast de acties ook een aantal privileges worden toegekend. Deze maken het onder meer mogelijk toegang te krijgen tot de Manager, een folder aan te maken en direct op de site te publiceren. Afdeling A krijgt een nieuwe medewerker die ook aan de slag moet met de Smartsite Manager. De webmaster uit dit voorbeeld heeft geen tijd om zich bezig te houden met de personele wijzigingen op de redactie. Daarom heeft hij de Hoofdredacteur voorzien van de actie Gebruikers Bewerken (Edit Users). Met deze actie kan de hoofdredacteur een nieuwe gebruiker aanmaken en deze in een groep plaatsten. Hij plaatst deze nieuwe redacteur natuurlijk in de groep redacteuren. De webmaster zelf heeft de rechten Rollen bewerken (Edit Roles) Actielijst bewerken (Edit Action List). Daarmee is het mogelijk acties aan te maken en vast te leggen binnen rollen. Dit kan echter eenmalig gebeuren waarna wijzigingen in bezetting door de hoofdredacteur zijn op te lossen. Pas wanneer de organisatie drastisch wijzigt (en er nieuwe afdelingen bijkomen) wordt weer een beroep gedaan op de webmaster. Deze hoeft alleen een nieuwe folder voor een redactie aan te maken in de site naast de bestaande folders voor redacties. Binnen deze folder kan de nieuwe redactie items plaatsen. Stel dat de organisatie wordt uitgebreid en er in de nieuwe situatie sprake is van drie afzonderlijke hoofdredacties (A, B en C), elk verbonden aan een eigen productgroep. De drie redacties krijgen een afzonderlijk deel van de site toegewezen voor het publiceren van artikelen. Het is niet de bedoeling dat leden van een redactie de artikelen van een andere redactie bewerken of wissen of voor deze andere redactie artikelen toevoegen. Als de hoofdredacteur nu drie groepen aanmaakt voor hoofdredacteuren en daarnaast redacteuren hiervoor aanmaakt, krijgen deze alle dezelfde rechten. Om ervoor te zorgen dat de redacties gescheiden van elkaar zijn (m.b.t. de rechten) is het noodzakelijk met de actie Manager Rechten Instellen (Set Manager Access) rechten van toepassing zijn. en aan te geven op welk deel van de site de Smartsite Content Management Server 13

22 Smartsite Data Model en Architectuur Figuur 1-4: Een voorbeeld van een organisatiestructuur Het onderscheid welke rol in welk deel van de site mag worden uitgevoerd, wordt alleen volledig ondersteund door de Enterprise Edition. Binnen de overige edities is het wel mogelijk de hiërarchie op te bouwen en de plaats aan te geven waar een rol mag worden uitgevoerd, maar alle rollen waarover een gebruiker beschikt worden samengevoegd. Op het toegewezen gedeelte zijn dus alle acties uit alle rollen toegestaan. Stel dat iemand deel uitmaakt van Hoofdredactie A en Redactie C1. Zowel in de Professional als in de Enterprise Edition is het mogelijk de rollen in te stellen (rol HR en rol R bij Hoofdredactie A, rol R bij redactie C1). In de Professional edition worden alle toegekende rollen echter samengevoegd waardoor deze persoon ook over de rol HR beschikt op redactie C1. In de Enterprise Edition worden de rollen niet samengevoegd. Het is absoluut aan te raden de hiërarchie van het begin af aan goed op te bouwen (ook als je niet over de Enterprise Edition beschikt) om het werken met Smartsite te structureren en om eventuele upgrades te vergemakkelijken Seneca BV

23 Hardware-architectuur en Outscaling 1.3 Hardware-architectuur en Outscaling Smartsite is een server-side application - een applicatie die op een centrale (web)server draait en waarvoor geen apart programma op een lokale computer hoeft te worden geïnstalleerd. Het bewerken van de informatie die door Smartsite wordt beheerd en gepubliceerd gebeurt met behulp van de Smartsite Manager. De Smartsite Manager wordt geopend in de webbrowser en we kunnen dus zeggen dat de Smartsite Manager niets ander is dan een zeer geavanceerde website die jou in staat stelt om informatie te bewerken en te beheren. De opgeslagen informatie wordt gepubliceerd als deze informatie wordt opgevraagd de bezoekers van de site. Deze situatie zou als geschetst kunnen worden zoals in onderstaande figuur: Figuur 1-5: Client-Server model In Smartsitetermen noemen we deze architectuur een CMS-server en een Publicatie-server ineen. De redacteuren van de site die de informatie bewerken en de bezoekers die de informatie opvragen surfen naar dezelfde webserver. Wanneer er sprake is van een drukbezochte site waar op hetzelfde moment ook een groot aantal redacteuren en beheerders bezig is met het toevoegen, bewerken en beheren van (nieuwe) informatie, dan kun je je voorstellen dat de webserver het druk krijgt - de performance van de site komt onder druk te staan. Om de performance te verbeteren kan de architectuur van de site zodanig worden ingericht dat er verschillende stromen van elkaar worden gescheiden. Dit proces wordt Outscaling genoemd. Er zijn verschillende vormen van Outscaling. Waar het bij Outscaling op neer komt is dat je de taken gaat verdelen over verschillende servers: publicatieservers en CMSservers. De publicatieserver wordt benaderd door bezoekers terwijl de CMSserver wordt gebruikt voor het toevoegen en bewerken van nieuwe content. Smartsite zorgt voor de communicatie tussen de twee servers en zorgt ervoor dat de publicatieserver gevoed wordt met de laatste actieve content. Smartsite Content Management Server 15

24 Smartsite Data Model en Architectuur Figuur 1-6: Voorbeeld van outscaling Hoe beïnvloedt de architectuur nu het beheerproces van een Smartsite omgeving? Voor de sitemanagers die zich met het beheer van de content bezighouden zal een complexe architectuur nauwelijks merkbaar zijn. Smartsite is zodanig ingericht dat het beheer van de content op alle CMSservers hetzelfde verloopt. Je merkt niet of je eventueel op een andere CMSserver aan het werk bent. Met betrekking tot de publicatie zijn er echter wel een aantal zaken die de aandacht verdienen. Wanneer er sprake is van een aparte publicatieserver die met behulp van webservices wordt gevoed met de actieve content, kan er in het bijwerken van de publicatieserver een vertraging zijn ingebouwd. Hoe groot deze vertraging is, is instelbaar. Dat betekent dat de informatie soms pas na enige tijd zichtbaar is aan de publicatiekant van de site. Wanneer je het resultaat echter aan de voorkant van de CMS-server bekijkt dan zul je direct de juiste informatie zien Seneca BV

25 Hoofdstuk 2 Meta-informatie: thesauri en tabellen Een belangrijk onderdeel van een site is meta-informatie. Metainformatie is informatie die iets zegt over andere informatie - de categorie van een item, de sleutelwoorden of trefwoorden van een item, de auteur, het contenttype, het zijn allemaal elementen van een item die duiding geven over de feitelijke inhoud van een item. Een belangrijke taak voor site managers is het beheren van de meta-informatie opdat redacteuren altijd een juiste categorie of trefwoord kunnen selecteren. Deze metainformatie is voornamelijk opgeslagen in de thesaurus. Andere meta-informatie is terug te vinden in tabellen die in de database aanwezig zijn. Een thesaurus is een gestructureerde woordenlijst waarin tussen de termen die in deze lijst voorkomen relaties bestaan. Deze relaties kunnen van verschillende aard zijn: equivalent, hiërarchisch of associatief.

26 Meta-informatie: thesauri en tabellen 2.1 Inleiding over thesauri De Nederlandse vertaling van het latijnse woord Thesaurus is schatkamer. Dit geeft al aan welke waarde er aan een goed opgezette thesaurus gegeven kan worden; een goed opgezette thesaurus maakt het mogelijk om op een gestructureerde manier meta-informatie aan de content van een site toe te voegen. Door de onderlinge relaties van de meta-informatie kunnen we de inhoud van de site op een nog betere manier ontsluiten. In deze en volgende paragrafen wordt eerst een analyse gemaakt van de verschillende onderdelen van een thesaurus in het algemeen. Deze analyse is voornamelijk ontleend aan document van het amerikaanse instituut voor standaardisatie: NISO. Het document is getiteld: Guidelines for the Construction, Format, and Management of Monolingual Thesauri ANSI/NISO Z (Revision Z ) ISSN: ISBN: Dit document kunt u vinden op de website van de National Information Standards Organization (NISO): Een definitie die door de NISO wordt gegeven voor een thesaurus is: Een thesaurus is een gecontroleerde en geordende woordenlijst waarin equivalente, homografische, hiërarchische en associatieve relaties tussen termen eenduidig zijn vastgelegd door gestandaardiseerde relatie-indicators die ook omkeerbaar zijn. Het doel van een thesaurus is het bevorderen van consistentie bij het indexeren van documenten, voornamelijk bedoeld voor systemen voor het beheren en opslaan van informatie, en het faciliteren van zoekmogelijkheden door het verbinden van termen op basis van de relatie-indicators. Uit de definitie van de thesaurus kun je afleiden dat een thesaurus gebruikt wordt voor het toekennen van meta-informatie aan items. Meta-informatie speelt binnen Smartsite namelijk een belangrijke rol. Veel van de metainformatie die binnen Smartsite aan items wordt toegekend is geautomatiseerd. Daarbij kun je denken aan de datum waarop een item bewerkt is of het contenttype waar het item op is gebaseerd. Deze metainformatie zegt niets over de inhoud van het item - zij wordt alleen gebruikt voor de technische mogelijkheden van Smartsite: items kunnen gesorteerd worden weergegeven op datum van aanmaak of gegroepeerd per contenttype. Wil je iets kunnen zeggen over de inhoud van een item dan zul je gebruik moeten maken van woordenlijsten die bestaan uit verzameling algemene en conceptuele termen. Door deze termen toe te kennen aan items kunnen deze Seneca BV

27 Inleiding over thesauri items worden gecategoriseerd. Naast een lijst van algemene termen kan men ook gebruik maken van een lijst van steekwoorden (keywords). Dat zijn woorden die niet zozeer conceptueel van aard zijn, maar die de kern voor bepaalde delen van een tekst weergeven. Voor de duiding van de inhoud van een item zouden meerdere sleutelwoorden van toepassing kunnen zijn. Voor het toekennen van categorieën en sleutelwoorden aan items worden vaak afzonderlijke lijsten gebruikt. Dit wordt gedaan om de aangeboden hoeveelheid informatie - de hoeveelheid woorden in een lijst - overzichtelijk te houden. Met behulp van een thesaurus kunnen deze woordenlijsten gecombineerd worden. Het combineren van woordenlijsten tot een thesaurus heeft als voordeel dat er nu relaties bestaan tussen de woorden onderling. Het bestaan van deze relaties werkt twee kanten op. Op basis van een geselecteerde categorie kan de gebruiker een tweede lijst van subcategorieën worden aangeboden die het mogelijk maken het item nog duidelijker te specificeren. Deze lijst van subcategorieën wordt aangeboden op basis van een relatie die de termen in die lijst hebben met het woord dat is gekozen als categorie. Denk aan de categorie vervoermiddel en de subcategorieën auto, fiets en boot. Aan de andere kant kan bij het zoeken van informatie op een site ook gebruik gemaakt worden van de relaties tussen die woorden onderling. Op een eenvoudige manier kan bij een geselecteerde pagina in de site een overzicht gegeven worden van andere pagina s met gelijkwaardige of gelijksoortige informatie, dat alles op basis van de relaties die er tussen de meta-informatie van die pagina s bestaat. Smartsite Content Management Server 19

28 Meta-informatie: thesauri en tabellen 2.2 Relatie-indicatoren en term data Een van de belangrijke verschillen tussen een thesaurus en andere vocabulaire lijsten is dat de woorden in de lijst onderling gerelateerd zijn. Een ideale thesaurus bevat dan ook geen wezen - termen die op generlei wijze gerelateerd zijn aan enige andere term. Er worden drie typen relaties onderscheiden binnen een thesaurus: De equivalente relatie De hiërarchische relatie De associatieve relatie Elk van deze relaties heeft de eigenschap dat zij omkeerbaar is, d.w.z. elke relatie van term A naar term B heeft een corresponderende relatie van term B naar term A. De conventionele afkortingen voor de relatie-indicatoren zijn als volgt: Relatie Relatie indicator Afkorting Equivalentie (synoniem) USE U USED FOR UF Hiërarchie BROADER TERM BT NARROWER TERM NT Associatie RELATED TERM RT Tabel 2-1: Relatie-indicatoren en hun afkortingen De equivalente relatie Wanneer een bepaald concept beschreven kan worden door twee of meer termen dan moet een keuze gemaakt worden welke van deze termen de voorkeur krijgt boven de andere. De (quasi)synoniemen van de voorkeursterm zijn niet de woorden die in de hoofdwoordenlijst terecht dienen te komen. Deze woorden kunnen als ingang gebruikt worden, maar het is niet wenselijk dat deze termen ook andere relaties onderhouden met termen uit de hoofdwoordenlijst van de thesaurus. Die relaties worden alleen gelegd met de voorkeursterm. Welke term de voorkeursterm is wordt bepaald door de context van de thesaurus. Wanneer bijvoorbeeld een chemische thesaurus wordt gemaakt dan zullen de chemische termen de voorkeurstermen zijn, terwijl algemene omschrijving van die termen als equivalenten worden ingevoerd Seneca BV

29 Relatie-indicatoren en term data Voorbeeld Binnen een chemische thesaurus zullen de technische termen de voorkeursterm zijn: aspirine / acetylsalicylzuur zout / natriumchloride De voorkeurstermen zijn vet weergegeven. De voorkeurstermen zijn dus die termen die de behoefte van de meerderheid van de gebruikers van de thesaurus bevredigt. De beslissing welke term in een equivalente relatie de voorkeursterm wordt zal dus bij de opzet van de thesaurus genomen moeten worden. Noot Binnen de thesaurus van Smartsite wordt de equivalente relatie ondergebracht onder de kop Term Data. Term Data is aanvullende informatie op een term uit de thesaurus en deze aanvullende informatie zal geen onderdeel uitmaken van de hoofdwoordenlijst. Op deze manier komen de equivalenten van een woord niet in de hoofdwoordenlijst terecht en kunnen deze equivalente termen ook geen relaties onderhouden met andere termen uit de hoofdwoordenlijst De hiërarchische relatie Dit type relatie is de primaire eigenschap van een thesaurus die deze onderscheidt van een ongestructureerde woordenlijst. De hiërarchische relatie is gebaseerd op basis van niveau s van superioriteit en ondergeschiktheid van termen waarbij de algemenere termen een gehele klasse voorstellen en de specifiekere termen een deel of lid van die klasse zijn. Voor het beschrijven van de hiërarchische relatie worden de volgende relatie indicatoren gebruikt: BT (Broader Term) - label voor de algemenere term NT (Narrower Term) - label voor de specifiekere term Hiërarchische relaties tussen termen onderling kunnen worden onderscheiden in drie typische situaties: Hiërarchisch relatie type Omschrijving Generieke relatie Geheel - Onderdeel relatie Categoriserende relatie Een manier van beschrijven waarbij een klasse en zijn leden worden beschreven De ondergeschikte termen zijn een onderdeel van de bredere term die het geheel beschrijft De ondergeschikte termen zijn voorbeelden van de bredere term Tabel 2-2: overzicht van hiërarchische relatie types Smartsite Content Management Server 21

30 Meta-informatie: thesauri en tabellen De generieke relatie De generieke relatie beschrijft de verbanden tussen een klasse en de leden van die klasse. Een eenvoudige manier om te testen of deze hiërarchische relatie van toepassing is, is door gebruik te maken van de zin: [Narrower Term] is een [Broader Term] (de zogenaamde Allemaal - Sommige test). Let hierbij wel op de omkeerbaarheid van de relatie. Voorbeeld Een meer algemene term voor een cactus is vetplant. Ook woestijnplant lijkt op het eerste gezicht een bredere term voor een cactus. Maar omgekeerd geldt niet dat alle cactussen woestijnplanten zijn. Formeel gezien behoort de cactus daarom niet als ondergeschikte term van de categorie woestijnplanten te worden gedefinieerd. De geheel - deel relatie Deze hiërarchische relatie legt een verband tussen een geheel en de leden die tot dat geheel behoren. Een zeer duidelijk voorbeeld voor zo n type relatie is een overzicht van geografische lokaties: Nederland Zuid-Holland Den Haag Delft Rotterdam De categoriserende relatie Deze relatie legt het verband tussen een algemene categorie van dingen of gebeurtenissen en individuele voorbeelden van die categorie: Berggebieden Alpen Himalaya Pyreneeën Wanneer daar behoefte aan is kan binnen een thesaurus expliciet onderscheid gemaakt worden tussen deze drie situaties. Dat onderscheid kan worden gemaakt door aparte hiërarchische relaties, inclusief hun unieke relatie-indicatoren, te definiëren voor elk van de situaties Voorbeeld Uitgedrukt in de relatie-indicatoren zouden de volgende hiërarchische relaties kunnen zijn gedefinieerd: BT/NT BTG/NTG BTC/NTC Seneca BV

31 Relatie-indicatoren en term data Wanneer er sprake is van een hiërarchie tussen termen dan is er sprake van een structuur. Deze structuur kan verschillende vormen aannemen: Tree Type Maximaal aantal algemene termen Not Defined - - Path 1 1 Binary Tree 1 2 Tree 1 oneindig Network oneindig oneindig Maximaal aantal ondergeschikte termen Tabel 2-3: Types structuren voor hiërarchische relaties tussen termen in een thesaurus De associatieve relatie De lastigste relatie om te definiëren is de associatieve relatie. Deze relatie omvat die termen die noch equivalent, noch hiërarchisch tot elkaar in relatie staan. Toch staan deze termen op een of andere manier, conceptueel dan wel semantisch, in relatie tot elkaar. Voor het beschrijven van de associatieve relatie wordt de relatie-indicator RT (relational term) gebruikt. Binnen de associatieve relatie kunnen we nog onderscheid maken tussen relaties tussen termen uit dezelfde hiërarchie en termen uit verschillende delen van de hiërarchie. Voorbeeld Boten en Schepen zijn allebei termen die tot de klasse (BT) Voertuigen behoren. Voor beide kan een afzonderlijke complete beschrijving gemaakt worden omdat de termen Boten en Schepen zich binnen de scheepvaart duidelijk onderscheiden door bijvoorbeeld afmetingen en tonnage. Het is dus niet zo dat een de termen Boten en Schepen equivalent (U/UF) zijn. Conceptueel gezien staan deze termen echter wel in relatie tot elkaar. Een associatieve relatie (RT) tussen deze twee termen is dus op zijn plaats. Paarden, Ezels en Muilezels behoren allemaal tot de familie van de Equidae, net als bijvoorbeeld Zebra s. Tussen Paarden en Ezels bestaat er niet direct een verband anders dan hun beider relatie tot een bredere term: Equidae. Echter, voor beiden geldt dat er een relatie bestaat tot de Muilezel, een dier dat een kruising is tussen een paard en een ezel. Beide termen kunnen dus een associatieve relatie aangaan met de term Muilezel. Smartsite Content Management Server 23

32 Meta-informatie: thesauri en tabellen In bovenstaande voorbeelden vallen alle termen binnen een en dezelfde hiërarchie. Het is echter ook goed mogelijk dat er associatieve relaties bestaan tussen termen die uit een heel ander deel van de hiërarchie komen: Associatieve relatie Voorbeeld Processen en instrumenten Temperatuurbeheersing - Thermostaat Acties en hun producten Acties en hun doelen Causale relaties Concepten en eenheden Weven - Doek Boekbinden - Boek Sterfgeval - Dood Elektrische eenheid - Ampères Tabel 2-4: voorbeelden van associatieve relaties tussen termen niet in dezelfde hiërarchie Aanvullende informatie voor termen Binnen een thesaurus kan de behoefte bestaan om extra informatie aan termen te kunnen toevoegen. Je kunt daarbij denken aan: Een omschrijving van de term en welke termen er onder die termen worden verwacht (Scope Note); Een definitie van de term wanneer een term voor meerdere uitleg vatbaar is (Definition); Een code die aan een term wordt gekoppeld (Code). Deze aanvullende informatie wordt Term Data genoemd. Deze informatie wordt niet in de hoofdwoordenlijst opgeslagen maar als extra informatie in een aparte tabel weggeschreven. Dat deze informatie niet in de hoofdwoordenlijst voorkomt geeft al aan dat deze informatie niet gebruikt kan en mag worden in enige relatie. Eveneens wordt deze informatie niet gebruikt als uitgangspunt voor het doorzoeken van de thesaurus. Deze informatie wordt pas getoond in combinatie met de term waartoe deze extra data behoort. Binnen een equivalente relatie (U/UF) is er ook sprake van een term die in de hoofdwoordenlijst voorkomt en een of meerdere termen die daar niet in staan. Omdat deze relatie alle kenmerken van term data heeft wordt deze relatie ook onder deze noemer gedefinieerd Seneca BV

33 Een thesaurus beheren 2.3 Een thesaurus beheren Een thesaurus beheer je met de actie Thesaurus Bewerken (Edit Thesaurus). Deze actie kun je starten door in de boomstructuur het item van het contenttype Thesaurus te selecteren dat verwijst naar de thesaurus die je wilt bewerken. Deze actie wordt uitgevoerd in het actievenster. Figuur 2-1: Een thesaurus bewerken. Noot Wanneer je de Shift-toets ingedrukt houdt tijdens het starten van de actie Thesaurus Bewerken (Edit Thesaurus) dan wordt het item zelf geopend i.p.v. de thesaurus. " Data aan een thesaurus toevoegen Let op! Bij het werken met de thesaurus is het van belang dat je regelmatig de aangebrachte wijzigingen opslaat: Save Thesaurus. Let op!! Bij het bewerken van een thesaurus is allereerst het toevoegen (Term Toevoegen (Add Term) ), bewerken (Term bewerken (Edit Term) Smartsite Content Management Server 25

34 Meta-informatie: thesauri en tabellen ) en verwijderen (Term(en) verwijderen (Delete Term) ) van termen uit de hoofdwoordenlijst van de belang. Bij het toevoegen van een term wordt een dialoogvenster geopend: Figuur 2-2: Een term uit de thesaurus bewrerken Aan elke term kan een code worden toegevoegd. Dit is meteen een voorbeeld van term data die aan een term kan worden toegekend. Deze hoeft dus niet apart gedefinieerd te worden. Of er daadwerkelijk een code aan termen wordt gekoppeld, hangt natuurlijk helemaal af van de conventies die binnen jouw organisatie zijn bepaald met betrekking tot de thesaurus. Bij elke term die aan de hoofdwoordenlijst wordt toegevoegd kunnen ook de bijbehorende term data gedefinieerd worden. Welke term data je aan termen kunt toevoegen heeft uiteraard te maken met de definitie van de thesaurus. Het toevoegen van term data: 1. Selecteer de term in de hoofdwoordenlijst; 2. Selecteer in de dropdownlijst onder de kop Term Data het soort term data dat je aan de term wilt toekennen; 3. Klik op Term Toevoegen. Er wordt een dialoogvenster geopend; 4. Typ de term data die bij de geselecteerde term uit de hoofdwoorden-lijst hoort en klik op OK te voegen. Let op! om deze informatie toe Wanneer er een aantal termen zijn gedefinieerd kunnen er relaties tussen de termen gedefinieerd worden - afhankelijk van de vraag of deze binnen de definitie van de thesaurus aanwezig zijn Seneca BV

35 Het toevoegen van term data: 1. Selecteer de term in de hoofdwoorden-lijst; 2. Selecteer in de dropdownlijst onder de kop Relatie de relatieindicator die je wilt gebruiken; 3. Klik op Relatie toevoegen. Er wordt een dialoogvenster geopend. Dit venster toont alle overige termen uit de hoofdwoorden-lijst exclusief de geselecteerde term: Een thesaurus beheren H Figuur 2-3: Relaties tussen termen leggen 4. Selecteer een of meerdere termen die je aan de geselecteerde term wilt relateren. Gebruik de Shift en/of Control-toets voor het tegelijkertijd selecteren van meerdere termen; 5. Klik op OK. De termen worden nu toegevoegd aan de geselecteerde relatie-indicator uit de dropdownlijst. Let op! Smartsite Content Management Server 27

36 Meta-informatie: thesauri en tabellen 2.4 Door een thesaurus bladeren Met de actie Open Thesaurus (Browse Thesaurus) kun je door de thesaurus bladeren. Deze actie geeft een overzicht van alle termen en de relaties die er tussen deze termen bestaan. Ook geeft deze actie een overzicht aan van de term data die bij een term uit de hoofdwoorden-lijst van de geselecteerde thesaurus hoort. Figuur 2-4: Door een thesaurus bladeren Naast het bladeren kunnen ook de statistieken voor de thesaurus bekeken worden met de optie Statistieken Tonen (Show Statistics). De statistieken voor een thesaurus geven bijvoorbeeld een overzicht van het aantal termen en het aantal relaties per relatie-indicator Seneca BV

37 Een thesaurus exporteren of importeren 2.5 Een thesaurus exporteren of importeren De termen, relaties en term data die in een thesaurus zijn opgeslagen, kunnen worden geëxporteerd. Evenzo kunnen termen uit een andere thesaurus worden geïmporteerd. Voor het exporteren en importeren van thesauri wordt gebruik gemaakt van XML - een gestructureerde manier van gegevensopslag Exporteren Wanneer een thesaurus wordt geexporteerd dan zal het als een XML-bestand worden weggeschreven. De structuur van de data in dat bestand is eenvoudig. In Voorbeeldcode 2-1: Een simpele geëxporteerde thesaurus zie je een voorbeeld van zo n XML-bestand. In dit voorbeeld zijn er drie termen waartussen twee soorten relaties bestaan: een hierarchische (NT/BT) en een associatieve (RT). <?xml version="1.0"?> <thesaurus> <concept> <descriptor>term1</descriptor> <NT>term2</NT> <RT>term3</RT> </concept> <concept> <descriptor>term2</descriptor> <BT>term1</BT> </concept> <concept> <descriptor>term3</descriptor> <RT>term1</RT> </concept> </thesaurus Voorbeeldcode 2-1: Een simpele geëxporteerde thesaurus Het kan zo zijn dat op deze standaardexport nog een transformatie wordt toegepast - met behulp van een XSLT-bestand - waardoor het eindresultaat er heel anders uitziet. Vaak is deze transformatie zo ingesteld dat je het geëxporteerde bestand direct kunt gebruiken in een andere applicatie. Een (deel van de) thesaurus exporteren: 1. Gebruik de Shift en/of de Ctrl-toets om een aantal termen te selecteren of selecteer niets; H Smartsite Content Management Server 29

38 Meta-informatie: thesauri en tabellen 2. Start de optie Termen Exporteren (Export Terms) uit de knoppenbalk boven de thesaurus. Er verschijnt een dialoogvenster: Figuur 2-5: een thesaurus exporteren " 3. Selecteer of je alleen de geselecteerde termen of de gehele thesaurus wilt exporteren; 4. Typ in het veld Bestandsnaam (Filename) een naam voor de geëxporteerde thesaurus; 5. Typ in het veld Doel (Destination) de folder op de fileserver waar het bestand moet worden opgeslagen; 6. Klik op Exporteer (Export) om de de thesaurus te exporteren. Er verschijnt een dialoogvenster dat de voortgang van de export toont. Let op! Noot Het bestand wordt altijd weggeschreven als een XML-bestand Importeren Het importeren van termen uit een andere thesaurus is mogelijk. Om de termen, de relaties tussen de termen en de termdata goed te kunnen importeren dient het formaat van het te importeren bestand echter zodanig te zijn dat Smartsite het kan hanteren. Dat betekent dat niet elke willekeurige lijst van woorden zomaar geïmporteerd kan worden. Om een lijst van woorden te kunnen importeren moet deze eerst zodanig worden getransformeerd dat Smartsite de termen, relaties en term data kan onderscheiden en aan de thesaurus toevoegen Seneca BV

39 Een thesaurus exporteren of importeren De uiteindelijke structuur van de thesaurus die geïmporteerd wordt moet lijken op de structuur zoals die is afgebeeld in Voorbeeldcode 2-1: Een simpele geëxporteerde thesaurus. Wanneer we deze structuur heel simplistisch voorstellen dan ziet deze er als volgt uit: <?xml version="1.0"?> <thesaurus> <concept> <descriptor>term</descriptor> <relatie-indicator>term</relatie-indicator> </concept> </thesaurus Voorbeeldcode 2-2: Vereenvoudigde weergave van de structuur van een thesaurus in XML Binnen deze structuur is een concept een term uit de hoofdwoordenlijst van de thesaurus inclusief al zijn relaties met andere termen en/of term data. Deze relaties worden voorgesteld door een relatie-indicator. Deze relaties kunnen alleen geïmporteerd worden wanneer deze relatie-indicatoren binnen de defintie van de thesaurus in Smartsite bestaan! Voorbeeld Stel dat de thesaurus uit Voorbeeldcode 2-1: Een simpele geëxporteerde thesaurus geïmporteerd wordt. In dat geval moeten in de definitie van de thesaurus binnen Smartsite relaties gedefinieerd zijn die als relatie-indicatoren respectievelijk BT, NT en RT hebben. De relatie-indicatoren BT en NT worden toegekend aan een reciproke hiërarchische relatie en de relatie-indicator RT aan een associatieve relatie. Wanneer de definities van deze twee relaties andere relatie-indicatoren gebruiken dan kan Smartsite de relaties in het bestand niet matchen aan een relatie die is vastgelegd binnen de definitie van de thesaurus. Deze relaties worden dan niet geïmporteerd en de import resulteert in een enkele lijst van termen. Bij het importeren van een thesaurus komen dus nogal wat aspecten om de hoek kijken - de structuur van het te importeren bestand, de opzet van de thesaurus en de daarin vastgelegde relaties en termdata spelen allemaal een belangrijke rol. Een thesaurus importeren zal echter niet een dagelijkse bezigheid zijn en wanneer een externe thesaurus wordt geimporteerd zal vaak gebruik worden gemaakt van dezelfde bron. In dat geval zal bij de opzet van de site rekening gehouden zijn met de structuur van het bronbestand en zal er automatisch een transformatie plaatsvinden die er voor zorgt dat de thesaurus op een juiste manier wordt geïmporteerd. Een thesaurus importeren: 1. Start de optie Import Terms uit de knoppenbalk boven de thesaurus. Kies in het scherm het te importeren XML-bestand en klik H Smartsite Content Management Server 31

40 Meta-informatie: thesauri en tabellen op Volgende (Next) Er wordt een dialoogvenster geopend: Figuur 2-6: Een thesaurus importeren 2. Blader naar het bestand dat geïmporteerd moet worden; 3. Maak een keuze of je de huidige thesaurus wilt overschrijven of dat je de termen uit de te importeren thesaurus wilt toevoegen; 4. Klik op Voltooien (Finish). Er verschijnt een dialoogvenster dat de voortgang van de import laat zien. Let op! Seneca BV

41 De opzet van een thesaurus wijzigen 2.6 De opzet van een thesaurus wijzigen Over de opzet van een thesaurus is als het goed is vooraf lang en breed nagedacht. Er is een protocol geschreven waarin alle bijzonderheden met betrekking tot de thesaurus zijn vastgelegd. Je kunt hierbij denken aan: Het soort relaties dat gebruikt gaat worden; Het soort term data dat aan termen kan woorden toegekend; Of samengestelde termen (termen bestaande uit meer dan een woord) worden toegelaten; De regels met betrekking tot spelling, interpunctie en diakritische tekens. Verder zijn er regels opgesteld hoe men dient om te gaan met het toevoegen van nieuwe termen aan de thesaurus en wie daar de eindverantwoording voor heeft. Tijdens de implementatie van de site wordt de structuur van de thesaurus gebruikt om de contenttypes te voorzien van velden waar de meta-informatie die in de thesaurus wordt opgeslagen kan worden geselecteerd. Enerzijds kunnen we dus stellen dat door het toevoegen van termen en term data en het creëren van de onderlinge relaties tussen deze termen de thesaurus kan uitgroeien tot een complex organisme dat met veel zorg moet worden onderhouden. Anderzijds is de thesaurus een belangrijk mechanisme binnen de site die het mogelijk maakt om op een gestructureerde manier meta-informatie toe te voegen aan folders en items. De opzet van een thesaurus die in gebruik is kan op eenvoudige wijze gewijzigd worden door direct gebruik te maken van de optie Thesaurus configureren (Configure Current Thesaurus) of via de actie Thesauri Beheren (Manage Thesauri). Door het de-selecteren van relatie-types of term data types kan de structuur van een thesaurus eenvoudig gewijzigd worden. Bedenk echter dat wanneer deze wijzigingen worden doorgevoerd ook de data die bij deze relatie of term data hoorde wordt vernietigd. Bij onvoorzichtig handelen kan hiermee jaren van werk in een klap tenietgedaan worden. Let op! Door het de-selecteren van relatie-types of term data binnen een thesaurus kan jaren werk in een keer teniet gedaan worden. Wees daar alert op. Wees daarom voorzichtig met het toekennen van de actie Thesauri Beheren (Manage Thesauri) binnen jouw organisatie. Let op!! Smartsite Content Management Server 33

42 Meta-informatie: thesauri en tabellen 2.7 Een thesaurus definiëren Een thesaurus is dus een verzameling van relatie-indicatoren en term data. Deze relatie-indicatoren en term data types kunnen gedefinieerd worden en in meerder thesauri gebruikt worden. Het definiëren van relatie-indicatoren, term data types, boomstructuurtypes en de thesauri zelf gebeurt met de actie Thesauri Beheren (Manage Thesauri) geopend:. Wanneer deze actie wordt gestart wordt een dialoogvenster Figuur 2-7: Dialoogvenster voor het beheer van thesauri Binnen dit dialoogvenster zijn vier velden te onderscheiden die gebruikt worden voor de definitie van de thesaurus: veld Thesauri Tree Types Term Data Types Relation Types Omschrijving Lijst van gedefinieerde thesauri waarbij gebruik gemaakt wordt van de gedefinieerde Term Data Types en Relation Types. Lijst van gedefinieerde structuren die de hiërarchie kan aannemen. (Relationele) informatie die betrekking hebben op een term in de hoofdwoorden-lijst van de thesaurus. De informatie van dit type komt niet in de hoofdwoorden-lijst terug. Relatietypes die de onderlinge verbanden tussen de termen in de hoofdwoorden-lijst van de thesaurus beschrijven. Tabel 2-5: Beschrijving van de velden van het dialoogvenster voor het beheer van de thesauri Bij elk van deze velden zijn er drie opties: New, Open en Delete Seneca BV

43 Een thesaurus definiëren Definiëren van Term Data Types Term data is een verzamelnaam voor informatie die kan worden toegekend aan termen in de thesaurus. Het geeft meer informatie over de term zelf. Veelgebruikte term data binnen thesauri zijn Scope Note en Definition. Een Scope Note is een uitleg die je aan een term toekent waarin staat beschreven wat voor soort ondergeschikte termen er aan die term kunnen worden toegekend. Behalve voor de managers van de thesaurus kan zo n Scope Note ook gebruikt worden om aan de voorkant van de site duidelijk te maken welke termen er onder een bepaalde term verwacht kunnen worden. Het kan wenselijk zijn dat de termen in een thesaurus worden uitgebreid met een Definition. Deze term data geeft dus een definitie van een term. Dit kan praktisch zijn wanneer termen voor meerdere uitleg vatbaar zijn. Binnen Smartsite wordt onder de term data ook de equivalente relatie (U/UF) gedefinieerd. Ondanks dat er sprake is van een relatietype wordt deze hier aangemaakt omdat op deze manier de equivalenten van een term niet in de hoofdwoorden-lijst van de thesaurus terecht komen. Wanneer een nieuw type Term Data wordt toegevoegd (New Term Data Type ) wordt een dialoogvenster geopend: Figuur 2-8: Een nieuw type Term Data toevoegen Dit dialoogvenster heeft de volgende opties: Smartsite Content Management Server 35

44 Meta-informatie: thesauri en tabellen Veld Name Code Definition Allowed Entries Direction Type Omschrijving Een unieke naam voor de Term Data Type. Een unieke code voor de Term Data Type. Een omschrijving van de Term Data Type. Maak een keuze of aan een term in de hoofdwoorden-lijst een of meer termen of omschrijvingen kunnen worden toegekend. Definitie van de richting tussen de term en de termdata. Tabel 2-6: Overzicht van velden van de optie New Term Data Type De velden Name en Code zijn verplichte velden. Het Description-veld is optioneel. De overige velden zijn geheel afhankelijk van het soort term data dat wordt gedefinieerd. Wanneer er sprake is van een Scope Note of een Definition is het logisch dat er gekozen wordt voor maar één omschrijving per term uit de hoofdwoordenlijst - het is bijvoorbeeld niet logisch dat een term meerdere definities heeft. De richting die er bestaat tussen de term en de term data kan een van de volgende vormen aannemen: Direction Type Directed Undirected Reciprocal Omschrijving De term data is alleen gerelateerd aan de term. de term data en de term zijn wederkerig. Ze gebruiken allebei dezelfde relatie-indicator. Voor term data is dit type niet van belang. De term data en de term zijn omgekeerd evenredig met elkaar. De term en de term data gebruiken allebei een aparte relatieindicator. Tabel 2-7: Relaties tussen term en term data H De omkeerbaarheid van term data geldt alleen wanneer de term data gebruikt wordt als relatie. Wanneer je dit type wilt gebruiken voor een relatie gaat het om relaties waarbij een van de delen van de relatie niet in de hoofdwoorden-lijst dient te komen. Een goed voorbeeld daarvan is een equivalente relatie. Een equivalente relatie definiëren: 1. Klik op Nieuw Termdatatype (New Term Data Type) Het dialoogvenster wordt geopend; 2. Typ in het veld Naam (Name) Use For; 3. Typ in het veld Code UF; Seneca BV

45 Een thesaurus definiëren 4. Geef een omschrijving van deze Term Data in het veld Omschrijving (Description); 5. Selecteer Meerdere malen per term (Allow Multiple Entries per Term); 6. Selecteer Reciprocal uit de lijst Direction Type; 7. Typ op het tweede tabblad in het veld Name de naam van de tegenhanger van Use For, namelijk Use; 8. Typ in het veld Code U; 9. Typ een omschrijving van deze omkering in het veld Description. 10.Klik op OK Let op! om de equivalente relatie aan te maken. Noot Bij het definiëren van de equivalente relatie wordt geredeneerd vanuit de term in de hoofdwoorden-lijst - de Term Data wordt aan die term toegekend. Dat is de reden dat op het eerste tabblad Use For gedefinieerd wordt en op het tweede tabblad Use - vanuit de term in de hoofdwoorden-lijst gezien geef je aan voor welke andere termen die hoofdterm een synoniem is. " Definiëren van Relation Types Relation Types worden gebruikt voor het definiëren van de mogelijke relaties tussen termen onderling. De belangrijkste relatie die hier gedefinieerd wordt is de hiërarchische relatie. Deze relatie onderscheidt een thesaurus van een gewone woordenlijst. Wanneer een nieuwe relatie wordt aangemaakt met Nieuw Relatietype (New Relation Type) ) wordt er een dialoogvenster geopend: Figuur 2-9: Een nieuw relatietype definiëren Smartsite Content Management Server 37

46 Meta-informatie: thesauri en tabellen Het dialoogvenster heeft twee tabbladen. Elk tabblad impliceert een relatieindicator. Het eerste tabblad heeft de volgende velden: Veld Name Code Definition Tree Type Direction Type Omschrijving Een unieke naam voor de Relation Type. Een unieke code voor de Relation Type. Een omschrijving van de Relation Type. Maak een selectie op welke manier termen aan elkaar gerelateerd kunnen worden. definitie van de richting tussen de termen. Tabel 2-8: Overzicht van velden van de optie New Relation Type De velden Name en Code zijn verplichte velden. De naam en de code van een relatie-indicator moet uniek zijn. Het Description veld is optioneel. Het geselecteerde Tree Type bepaalt hoe vaak een relatie gelegd kan worden tussen termen onderling: Tree Type Path Omschrijving Binary Tree Tree Network Tabel 2-9: Tree types Seneca BV

47 Een thesaurus definiëren Het Direction Type van een relatie bepaalt de wederkerigheid van een relatie: Direction Type Omschrijving Directed Undirected Reciprocal Tabel 2-10: Tree types Een hiërarchische relatie definiëren: 1. Klik op Nieuw Relatietype (New Relation Type) Het dialoogvenster wordt geopend; 2. Typ in het veld Naam (Name) Narrower Term; 3. Typ in het veld Code NT; 4. Geef een omschrijving van deze relatie in het veld Omschrijving (Description); 5. Selecteer Network (NET) in het veld Boomtype (Tree Type); 6. Selecteer Enable Reciprocal; 7. Typ op het tweede tabblad in het veld Naam (Name) de naam van de tegenhanger van Narrower Term: Broader Term; 8. Typ in het veld Code BT; 9. Typ een omschrijving van deze omkering in het veld Omschrijving (Description). 10.Klik op OK Let op! Een associatieve relatie definiëren: om de hiërarchische relatie aan te maken. 1. Klik op Nieuw Relatietype (New Relation Type). Het dialoogvenster wordt geopend; 2. Typ in het veld Naam (Name) Narrower Term; 3. Typ in het veld Code RT; 4. Geef een omschrijving van deze relatie in het veld Omschrijving (Description); 5. Selecteer PATH (NET) in het Boomtype (Tree Type) veld; H H Smartsite Content Management Server 39

48 Meta-informatie: thesauri en tabellen 6. Selecteer Undirected in de lijst Direction Type; 7. Klik op OK om de associatieve relatie aan te maken. Let op! De thesaurus definiëren Als alle Term Data Types en Relation Types die in de thesauri moeten worden gebruikt zijn aangemaakt, kan de feitelijke thesaurus worden gedefinieerd. H Een thesaurus definiëren: 1. Klik op Nieuwe Thesaurus (New Thesaurus Type). Het dialoogvenster wordt geopend: Figuur 2-10: Een nieuwe thesaurus definiëren 2. Typ in het veld Naam (Name) een naam voor de thesaurus; 3. Typ in het veld Code een unieke code voor de thesaurus. Deze code wordt gebruikt om de thesaurus te benaderen wanneer er data uit gehaald dient te worden; 4. Geef een omschrijving van deze thesaurus in het veld Omschrijving (Description); 5. Maar een selectie uit de lijst van gedefinieerde Relation Types die je wilt gebruiken in de thesaurus; Seneca BV

49 Een thesaurus definiëren 6. Maak een selectie uit de lijst van gedefinineerde Term Data Types die je wilt gebruiken in de nieuwe thesaurus; 7. Klik op OK. Let op! Door het definiëren van de thesaurus is de datastructuur voor de nieuwe thesaurus vastgelegd. Om de termen te kunnen toevoegen moeten we een item toevoegen van het contenttype Thesaurus. Dit item is een soort van doorgeefluik van de gebruiker naar de thesaurus. Omdat het bewerken van de thesaurus via een item gaat, betekent dat dat er ook security op de thesaurus van toepassing is. Maar één gebruiker tegelijk kan het item openen en derhalve kan maar een iemand tegelijk de thesaurus bewerken. De thesaurus kan op een speciale plaats in de boomstructuur geplaatst worden waar alleen geselecteerde groepen rechten hebben. Let op! In tegenstelling tot alle andere items in Smartsite betekent dit niet dat er ook workflow en versiebeheer op de thesaurus van toepassing is. Een thesaurus heeft geen workflow en geen versiebeheer. Wijzigingen in een thesaurus kunnen daarom niet ongedaan gemaakt worden. Het item is alleen maar een doorgeefluik naar de feitelijke thesaurus. Let op!! Om de thesaurus te kunnen bewerken moet er dus een item van het contenttype Thesaurus worden aangemaakt. Het kan praktisch zijn om alle thesauri te groeperen in een aparte CMS-folder. Figuur 2-11: Een item van het contenttype Thesaurus Smartsite Content Management Server 41

50 Meta-informatie: thesauri en tabellen Het contenttype Thesaurus heeft drie velden waarvan er maar twee ingevuld hoeven te worden. In het Name-veld geef je een naam voor dit item. Het meest praktische is om dezelfde naam te gebruik van de thesaurus die geselecteerd wordt in het veld ThesaurusNr. De lijst in het veld ThesaurusNr bevat alle thesauri die met de actie Thesauri Beheren (Manage Thesauri) zijn aangemaakt. De code die is gegenereerd en die is weergegeven in het veld Code hoeft niet gewijzigd te worden. De code die bij de definitie van de thesaurus is gebruikt is van feitelijk belang voor het correct benaderen van de thesaurus in andere functionaliteit binnen Smartsite Seneca BV

51 Tabellen bewerken 2.8 Tabellen bewerken Meta-informatie hoeft niet alleen in thesauri te zijn opgeslagen. Er zijn ook andere bronnen waar termen in staan die gebruikt worden om items te classificeren. Deze termen staan dan in tabellen die hetzij in dezelfde Smartsite-database zijn opgeslagen, hetzij in een externe database. Deze tabellen kunnen echter onafhankelijk van de lokatie vanuit Smartsite worden bijgewerkt. Het verschil tussen de termen in een thesaurus en termen in een andersoortige tabel is dat er in die tabel geen relaties tussen de termen bestaan. Een tweede belangrijk verschil is dat die tabel vaak meer informatie bevat dan alleen de term. Een tabel afdelingen kan bijvoorbeeld naast de naam van de afdeling, die geselecteerd wordt als meta-informatie binnen een item, ook nog het telefoonnummer van die afdeling, de afdelingsmanager - wiens naam weer uit een andere tabel geselecteerd kan worden (zie Wat is een database) - en een omschrijving van die afdeling bevatten. Wanneer er tabellen zijn die bewerkt kunnen worden dan is dat gekoppeld aan een actie. De naamgeving van de actie verschilt natuurlijk van organisatie tot organisatie en het aantal velden dat moet worden ingevuld hangt van de definitie van de tabel af. De manier van werken is echter in alle gevallen dezelfde. Wanneer je bijvoorbeeld de actie Gebruikers Bewerken (Edit Users) uitvoert, bewerk je direct een tabel in de Smartsite-database. Smartsite Content Management Server 43

52 Meta-informatie: thesauri en tabellen Seneca BV

53 Hoofdstuk 3 Content Management Een belangrijke taak voor een sitemanager is het monitoren van de informatie die er in de site staat. Vanuit een helicopter view moet je als sitemanager de onderlinge samenhang van de content in de gaten houden en waar nodig redacteuren aansturen om informatie in items te herzien. Naast het herzien van individuele items zullen er ook wijzigingen moeten worden aangebracht in grote aantallen items tegelijk. De meta-informatie van meerdere items moet worden aangepast of een bepaald woord dat veelvuldig in de site voorkomt moet worden vervangen door een ander woord. Voor dit soort situaties zijn er acties die je in staat stellen om de benodigde wijzigingen door te voeren. Naast het toezien op de informatie in de items, zul je als sitemanager ook verantwoordelijk zijn voor de hiërarchische opbouw van de site. Als sitemanager ken je het belang van de hiërarchie voor overerving, security en de navigatiestructuur aan de voorkant. Je zorgt dat de boomstructuur zicht biedt op Translations, Images en Binaries zodat de overige gebruikers deze hulpmiddelen kunnen gebruiken in hun items.

54 Content Management 3.1 Praktische site-opbouw Een site wordt gekenmerkt door een hiërarchische opbouw. Deze opbouw vinden we terug in de boomstructuur van de site. De structuur van een site bestaat uit folders en items. Deze folders en items zijn ieder van een bepaald contenttype. De indeling van de boomstructuur wodt voor een aantal zaken gebruikt: Voor het logisch ordenen van informatie; Voor het instellen van rechten voor de verschillende groepen; Als basis voor de navigatiestructuur aan de voorkant van de site, zodat bezoekers van de site intuïtief op zoek kunnen naar de informatie; Standaard komen er met Smartsite een aantal contenttypes mee. Veel van deze standaardcontenttypes worden gebruikt als ondersteuning voor het beheren en publiceren van informatie. Deze contenttypes bevatten zelf geen informatie die gepubliceerd wordt. Je kunt hierbij bijvoorbeeld denken aan de contenttypes Rendertemplate, Channel en Workflow. Andere contenttypes, met als meest vooraanstaande het contenttype WebPage, bevatten de feitelijke informatie die in de site wordt opgeslagen. Dit zijn de contenttypes waar de redacteuren mee aan de slag moeten. Een standaardindeling van de boomstructuur is een opdeling in een contentgedeelte en een configuratiegedeelte. In het configuratiegedeelte zijn alle items verzameld die gebruikt worden voor het beheer en werking van de site. In het contentgedeelte staan de items en folders die de informatie bevatten. Figuur 3-1: Indeling boomstructuur Seneca BV

55 Praktische site-opbouw De structuur die gehanteerd wordt in het contentgedeelte van de site is vaak ook de basis van de navigatiestructuur aan de voorkant van de site. De folders worden aan de voorkant van de site getoond als elementen waaruit een bezoeker van de site zijn keuze kan maken wanneer hij een site bezoekt. In de boomstructuur van de Smartsite Manager zien we dan ook altijd een topfolder, vaak met de naam van de site, en daaronder een aantal subfolders. Deze subfolders zijn de hoofdrubrieken van de site. Om onder de topfolder nieuwe folders of items te plaatsen, ofwel het toevoegen van nieuwe rubrieken, werkt niet altijd even goed - soms is de voorkant van de site daarop niet berekend. De kans dat de nieuwe hoofdrubriek niet in de navigatiestructuur terugkomt of de navigatiestructuur verstoort is reëel. Binnen de folders die de hoofdrubrieken vormen kunnen natuurlijk wel nieuwe folders en items worden toegevoegd. Bij het toevoegen van nieuwe folders kan de hiërarchie steeds dieper worden. Ook nu moet je je afvragen of dat wenselijk is. Vaak werkt het niet bevorderlijk voor de inzichtelijkheid van de navigatiestructuur van een site en ook hier geldt dat de navigatiestructuur er niet altijd op berekend is. De situatie zoals hierboven beschreven is een indicatie van de relatie die de boomstructuur in de Smartsite Manager heeft met de navigatiestructuur aan de voorkant van de site. In jouw site kunnen deze dingen heel anders zijn ingericht. Als sitemanager is het belangrijk dat je een beeld hebt van de relatie tussen die twee. Buiten de relatie tussen de voor- en achterkant van de site is de boomstructuur ook nog van belang voor de rechten van de verschillende gebruikersgroepen van de Smartsite Manager. Deze relatie wordt in een later hoofdstuk verder uitgelegd CMS-folders Er is een aantal items dat door de verschillende redacteuren in de verschillende gebruikersgroepen gedeeld kunnen worden: Translations, Images, Binaries en References. Op zichzelf vormen deze items geen content, maar ze worden gebruikt binnen andere items. Je wilt niet dat dat dit soort items in de navigatiestructuur aan de voorkant van de site komen. Eerder zagen we al dat we eigenlijk ook geen extra folders willen aanmaken onder de topfolder van de site. Bij dat laatste is er een uitzondering in de vorm van een CMS-folder. Een CMS-folder is een apart contenttype. Een folder van dit contenttype heeft namelijk geen fysieke betekenis aan de voorkant van de site - het item kan niet gerenderd worden omdat deze folder geen content bevat. Natuurlijk staan er onder deze folder wel weer allemaal items die content bevatten. Smartsite Content Management Server 47

56 Content Management Figuur 3-2: Een CMS-folder aanmaken " CMS-folders kunnen gebruikt worden als een soort van container waarin items kunnen worden opgeslagen. Omdat CMS-folders geen fysieke betekenis hebben, worden ze automatisch ook niet zichtbaar in de navigatiestructuur aan de voorkant van de site. Deze folders zijn dus geschikt voor het verzamelen van items van contenttypes die niet op zichzelf getoond worden, maar altijd binnen de context van een ander contenttype, zoals Translations, References, Images en Binaries. Verder kunnen ze gebruikt worden als archieffolder of als tijdelijke folder voor geïmporteerde items of items die verwijderd waren en weer teruggeplaatst moeten worden in de site. Noot De CMS-folder zelf kan niet gerenderd worden en is dus niet opvraagbaar aan de voorkant van de site. De items die in die folder staan kunnen, indien deze wel gerenderd kunnen worden, wel worden opgevraagd aan de voorkant van de site. Bezoekers kunnen door het spelen met de querystring dus informatie bekijken die eventueel nog niet zichtbaar mocht zijn. Het plaatsen van een item in een CMS-folder wil dus niet automatisch zeggen dat het niet opvraagbaar zou zijn. Houd daar altijd rekening mee Seneca BV

57 Praktische site-opbouw Figuur 3-3: Een aantal CMS folders Translations Een Translation is een veelgebruikte tekst die wordt bijeengehouden door een verkorte code. Binnen andere items kan een Translation worden gebruikt door de code tussen blokhaken [ ] te plaatsen. Wanneer een item wordt opgevraagd zal Smartsite de tekst doorzoeken of er Translations worden gebruikt en zal het deze Translation vervangen door de bijbehorende tekst. Goede voorbeelden van Translations zouden een disclaimer of de bedrijfsnaam met adres of telefoonnummer van de organisatie kunnen zijn. Wanneer deze in een Translation worden geplaatst en de redacteuren deze Translations consequent gebruiken, dan hoeft bij een verandering van het adres alleen de Translation te worden aangepast. Er bestaan drie Translation-types: System, Global en Local. System Translations worden gebruikt voor items die bij het starten van de site al in het geheugen worden geladen, zoals bijvoorbeeld de Rendertemplates. Deze variant wordt dus vooral door sitebouwers gebruikt. Voor de Translations die gebruikt worden in de content van de site blijven dan de globale en de lokale varianten over. Een globale Translation wordt overal in de site op dezelfde manier vertaald. Echter, een globale Translation kan zodanig ingesteld worden dat deze kan worden vervangen door een lokale Translation binnen alle items die in dezelfde folder of onderliggende folders staan als de lokale Translation. Voorbeeld Er bestaat een globale Translation [TEL] die het algemene telefoonnummer van het bedrijf voorstelt. De boomstructuur van de site is zodanig ingericht dat elke afdeling zijn eigen folder heeft. Wanneer deze afdelingen verwijzen Smartsite Content Management Server 49

58 Content Management naar een telefoonnummer verwijzen ze door middel van de Translation [TEL] naar het algemene telefoonnummer. Na verloop van tijd wil men eigenlijk direct naar het nummer van de afdeling verwijzen. In plaats van alle bestaande Translations te vervangen door een nieuwe Translation [TELafd] kun je nu ook een lokale Translation [TEL] in de folder van deze afdeling aanmaken met het telefoonnummer van de afdeling Geneste Translations Translations kunnen genest worden. Dat betekent dat binnen de ene Translation een andere Translation gebruikt kan worden. Voorbeeld In dit voorbeeld zie je hoe de contactgegevens van Smartsite Software BV zijn opgebouwd uit verschillende Translations: Code Vervangen door [Adres] Smartsite Software B.V. <br /> Elektronicaweg 33 <br /> 2628 XG Delft <br /> T: [Tel] <br /> E: [ ] <br /> W: [Website] <br /> [Tel] +31 (0) [ ] <a href= [Website] <a href= >www.smartsite.nl</a> Tabel 3-1: Voorbeeld van geneste translations Ook nu kan er gebruik gemaakt worden van lokale varianten van een Translation. " Noot Het is niet mogelijk om een globale Translation in een lokale Translation te nesten Geparametriseerde Translations Translations kunnen ook voorzien worden van parameters. Door het gebruik van een parameter kun je het resultaat van de Translation beïnvloeden. Parameters worden binnen een Translation geschreven als {translationparam(<nr>)}. De parameters worden meegegeven aan de Translation door ze tussen haakjes en gescheiden door komma s achter de naam van de Translation te schrijven Seneca BV

59 Praktische site-opbouw Voorbeeld Code [Adres] Vervangen door Smartsite Software B.V. {translationparam(1)} Tabel 3-2: Voorbeeld van een geparametriseerde translation De Translation kan nu aangeroepen worden met behulp van parameters: Translation Resultaat [Adres] Smartsite Software B.V. [Adres((Support))] Smartsite Software B.V. (Support) Tabel 3-3: Resultaat van een Translation met parameters Ook van een Translation met parameters kan een lokale variant bestaan. Deze lokale Translation hoeft echter niet hetzelfde aantal parameters te ondersteunen als de globale variant. Wanneer er gebruik wordt gemaakt van de lokale Translation en er parameters worden gebruikt die niet in deze lokale Translation zijn gedefinieerd, zullen deze parameters geen invloed hebbben op de Translation Afbeeldingen en Binary s Afbeeldingen en documenten worden over het algemeen opgeslagen als bestanden op de fileserver. De contenttypes Image en Binary bieden echter de mogelijkheid om afbeeldingen en documenten als een item op te slaan. De data wordt dan in de Contents-tabel van Smartsite opgeslagen. De afbeeldingen en documenten kunnen eenvoudig in andere items gebruikt worden door te verwijzen naar het item in plaats van te verwijzen naar een bestand op de server. Het opslaan van een bestand of afbeelding als item heeft alle voordelen die er ook bestaan voor andere items - er kan workflow op worden toegepast, er is sprake van versiebeheer en met behulp van de veiligheidsinstellingen kun je er voor zorgen dat niet iedereen de items kan wijzigen die de afbeeldingen en documenten bevatten. Het belangrijkste voordeel is dat er security aan toegekend kan worden voor de bezoekers van de site. Daar waar bestanden op de fileserver niet afgeschermd kunnen worden voor bezoekers, kunnen afbeeldingen en bestanden die als item zijn opgeslagen wel worden afgeschermd. Smartsite Content Management Server 51

60 Content Management Een nadeel van het opslaan van afbeeldingen en bestanden als Image of Binary in de database is dat de inhoud van het item veel groter is dan de inhoud van een item dat alleen tekst bevat. Daarnaast kan het zo zijn dat het veld ook nog eens aan versiebeheer is onderworpen. In dat geval betekent het dat elke keer dat je een item van het contenttype Image of Binary opslaat, er een nieuw record aan de ContentVersions tabel wordt toegevoegd inclusief alle binaire informatie. Door het regelmatig opruimen van oude versies is dat echter goed te beheren. Daarnaast is de grootte van databases in de afgelopen jaren steeds minder cruciaal geworden. Bij items van dit contenttype is het van belang om rekening te houden met de servercache van deze items. Zonder in dit stadium diep in te gaan op wat servercache is volgt onderstaand een korte uitleg. Wanneer een item met afbeeldingen wordt opgevraagd en die afbeeldingen zijn items van het contenttype Image, dan moet in principe al die informatie uit de database worden gelezen. Wanneer dat elke keer dat het bewuste item wordt opgevraagd zou moeten gebeuren, kan dat invloed hebben op de performance - er moet te vaak te veel data uit de database gehaald worden. Servercache maakt van de opgevraagde items een pagina en plaatst deze in de een aparte folder op de server. Bij het opvragen van deze pagina hoeft er nu geen data meer uit de database te worden gelezen. Om dit te bereiken moet de servercache van binaire items op Until Item Update worden gezet. Het al of niet gebruiken van de contenttypes Image en Binary is dus een afweging die gemaakt moet worden. Er zijn voordelen en er zijn nadelen. Niet alle afbeeldingen hoeven als item van het contenttype Image te worden opgeslagen. Ook documenten hoeven niet allemaal als item van het contenttype Binary te worden opgeslagen. Door te begrijpen welke mogelijkheden er zijn en welke invloed het heeft op de achterliggende database kan er een keuze gemaakt worden voor het gebruik van deze contenttypes Folders op orde houden Voor het op orde houden van de folders kun je gebruik maken van de acties Sorteer Folder (Sort Folder), Knippen (Cut), Kopiëren (Copy) en Plakken (Paste). Dit zijn acties die voornamelijk door hoofdredacteuren en sitemanagers worden gebruikt omdat zij voor een belangrijk deel bepalen hoe de site er aan de voorkant uitziet en hoe de informatie voor de bezoeker is geordend. Dat komt natuurlijk omdat de boomstructuur vaak de basis is voor de navigatiestructuur aan de voorkant van de site Seneca BV

61 Sturen van content 3.2 Sturen van content Als sitemanager ben je voortdurend bezig om vanuit een helicopter view de structuur en inhoud van de site te monitoren. Je bewaakt de structuur van de hiërarchische boomstructuur, je sorteert folders, verplaatst items en misschien ben je ook een schakel - misschien zelfs de laatste schakel - in een uitgebreide workflow waardoor je ook actief bezig bent met de informatie in items. Tegelijkertijd ben je ook bezig met het controleren van de content van de site. Items waaraan een workflow gekoppeld is kunnen bijvoorbeeld door ziekte van een redacteur onnodig lang stil blijven staan. In dat geval is het jouw taak om er voor te zorgen dat anderen de verantwoordelijkheid over dat item kunnen overnemen Overzicht van items in een worfklow Voor het monitoren van de workflow van items maak je gebruik van de actie Workflow Beheren (Manage Workflow). Deze actie is voor elke gebruiker van de Smartsite Manager van praktisch nut omdat het een snel overzicht geeft welke items er aan jou zijn toegekend (tabblad Assigned) of toegekend aan de gebruikersgroep waar jij inzit (tabblad Called Out). Echter, als site manager heb je vaak ook de beschikking over een extra tabblad: Overzicht (Overview). Met dit tabblad krijg je een compleet overzicht van alle items die op dat moment gekoppeld zijn aan een gebruiker. Figuur 3-4: Overzicht van alle items die aan een workflow gekoppeld zijn Smartsite Content Management Server 53

62 Content Management " Noot De actie Workflow Beheren (Manage Workflow) is gevoelig voor de context waarin deze gestart wordt - de actie kijkt welke folder er geselecteerd is en geeft een overzicht van alle items die aan een worfklow zijn gekoppeld onder die folder en onderliggende folders. Het tabblad Overzicht (Overview) is verdeeld in een aantal kolommen: Kolomnaam Omschrijving Nr Title User Workflow ModDate Het nummer van het betreffende item De titel van het betreffende item Status De workflow status van het item De gebruiker of gebruikersgroep die op dat moment verantwoordelijk is voor het item De workflow die op het item van toepassing is. De datum dat het item voor het laatst bewerkt is. Tabel 3-4: Kolommen op het tabblad Overview Vooral de kolom ModDate geeft een goed beeld van wat er gebeurt met items die aan een workflow gekoppeld zijn. Door de kolom te sorteren op ModDate krijg je snel een beeld of er items zijn die aan een workflow zijn gekoppeld en tegelijkertijd al een tijd niet bewerkt zijn. Wanneer dat het geval is, is het misschien nodig dat er actie wordt ondernomen. Je zou de gebruiker die op dat moment voor het item verantwoordelijk is er op kunnen aanspreken of je maakt gebruik van de actie Workflow Zetten (Set Workflow) om het item aan iemand anders binnen dezelfde gebruikersgroep toe te wijzen of de workflow van het item te halen. In het laatste geval is het echter belangrijk er een nieuwe workflow aan toe te kennen - deze zorgt er namelijk voor dat het item wordt toegewezen aan een gebruiker en niet per ongeluk kan worden bewerkt door een andere redacteur Items aan gebruikers toekennen Wanneer jij eindverantwoordelijk bent voor de informatie die binnen een site is opgeslagen zonder daadwerkelijk al die informatie te beschrijven, dan zul je redacteuren moeten aansturen om bepaalde items te herzien en de inhoud van die items aan te passen. In extreme gevallen kan een site zodanig zijn ingericht dat redacteuren niet zelfstandig items kunnen bewerken maar alleen wanneer iemand hoger in de hiërarchie, dus een hoofdredacteur of een contentmanager, het item aan de redacteur toekent. Het toekennen van items gebeurt met de actie Workflow Zetten (Set Workflow). Met deze actie kun je aan items die nog niet gekoppeld zijn een workflow toekennen. Bij het koppelen van een workflow kun je het item Seneca BV

63 Sturen van content aan een complete gebruiker. Items toekennen: gebruikersgroep toekennen of aan een specifieke 1. Selecteer de items en folders die je wilt koppelen aan een workflow; 2. Klik op de actie Workflow Zetten (Set Workflow). Er wordt een dialoogvenster geopend: H Figuur 3-5: Een workflow toekennen 3. Selecteer de workflow die je op de selectie van items en folders wilt toepassen en klik op Volgende (Next) ; 4. Selecteer een gebruikersgroep en eventueel een gebruiker aan wie je de items wilt toekennen; 5. Klik op Voltooien (Finish). Let op! In de definitie van de workflow kan zijn opgenomen dat op het moment dat een item wordt toegekend aan een gebruiker of een gebruikersgroep, deze persoon of personen automatisch een taak of een mailtje krijgen. Op deze manier worden zij op de hoogte gebracht van het feit dat zij een item moeten bewerken. Ook redacteuren moeten natuurlijk de actie Workflow Beheren (Manage Workflow) gebruiken om te zien welke items er aan hen persoonlijk zijn toegekend of aan de gebruikersgroep waar zij onderdeel van uitmaken. Het gebruik van de actie Workflow Zetten (Set Workflow) dus in staat om de levenscyclus van items actief te sturen. stelt je De workflow van een item halen Wanneer de actie Workflow Zetten (Set Workflow) gestart wordt, wordt er een dialoogvenster getoond. Een van de mogelijkheden kan zijn dat je de workflow van een item afhaalt door de optie (None) te kiezen. Smartsite Content Management Server 55

64 Content Management " Wanneer een item dat actief is tegelijkertijd gekoppeld is aan een workflow, dan betekent dat dat er een actieve versie van het item in de Contents-tabel staat en dat er in de workflowcyclus nieuwe versies van het item zijn aangemaakt. Deze nieuwe versies bevinden zich in de ContentVersions-tabel. Wanneer de workflow van een item wordt afgehaald worden de versies in de ContentVersions-tabel niet opgeruimd. Wanneer het item, nu zonder workflow, opnieuw wordt bewerkt, dan worden de velden van het item gevuld met de informatie in de ContentVersions-tabel - er ontstaat dus een discrepantie met wat er aan de voorkant van de site zichtbaar is - dat is immers de actieve versie in de Contents-tabel - en de informatie die zichtbaar is als het item wordt bewerkt. Noot Deze discrepantie treedt natuurlijk alleen op voor die velden die in de ContentVersionstabel bestaan. Wanneer je een workflow van een item afhaalt dan moet je dus in alle gevallen het item onmiddelijk weer toekennen aan iemand zodat de wijzigingen alsnog doorgevoerd kunnen worden. Vaak is het daarom beter om gebruik te maken van de optie ReAssign binnen de actie Workflow Zetten (Set Workflow). Het verwijderen van de workflow van een item is in principe alleen zinvol op het moment dat je het item daarna verwijdert met de actie Verwijderen (Delete) Seneca BV

65 Content publiceren en archiveren 3.3 Content publiceren en archiveren Elk item heeft altijd een publicatiestatus. De publicatiestatus van een item bepaalt of het item zichtbaar is aan de voorkant van de site. Er zijn vijf publicatiestatussen te onderscheiden: Publicatiestatus Omschrijving Prepublished/Inactive Een item is niet zichtbaar aan de voorkant van de site. Active Archived Template Deleted Een item is actief en zichtbaar aan de voorkant van de site. Een item dat gearchiveerd is, is niet meer zichtbaar aan de voorkant van de site en kan ook niet meer bewerkt worden. Het staat nog wel in de boomstructuur. Een item wordt gebruikt als basis voor andere items en is niet zichtbaar aan de voorkant van de site. Een item is verwijderd, derhalve niet meer zichtbaar aan de voorkant en in de Smartsite Manager. Het item bestaat echter nog wel in de database. Tabel 3-5: Overzicht van publicatie statussen De publicatiestatus Active heeft nog twee varianten: Awaiting Activation en Expired. Deze twee varianten worden bepaald door de datums die in de velden ShowFrom en ShowUntil staan. Ligt de datum in het ShowFrom-veld in de toekomst, dan zal het item nog niet zichtbaar zijn aan de voorkant van de site. Ligt de datum in het ShowUntil-veld in het verleden, dan is het item niet meer zichtbaar aan de voorkant. De status Prepublished krijgt elk item dat voor het eerst wordt aangemaakt en zich nog in de workflow bevindt. Op het moment dat het item door middel van de workflow actief wordt gemaakt, zal ook de publicatiestatus van het item veranderen van Prepublished in Active. Ook items die gekopieerd of geïmporteerd worden, die verwijderd waren en weer worden teruggezet of anderszins (op)nieuw in de boomstructuur van de Smartsite Manager verschijnen zullen deze status aannemen. Items die de status Archived hebben zijn nog steeds zichtbaar in de boomstructuur van de site. Deze items zijn echter niet zomaar te bewerken. Gearchiveerde items moeten eerst een andere status krijgen, bijvoorbeeld Inactive, voordat deze weer bewerkt kunnen worden. Op deze manier kunnen items uit het het CMS-proces gehaald worden, maar zijn zij nog steeds zichtbaar zodat ze in een later stadium weer teruggezet, bewerkt en geactiveerd kunnen worden. Het belangrijke verschil tussen items met de status Inactive en items die de status Archived hebben, is het feit dat de laatste niet bewerkt kunnen worden. Wanneer het recht om de status van gearchiveerde items te wijzigen niet aan elke gebruiker van de Smartsite Manager is toegekend, dan is het een uitstekend middel om items (tijdelijk) uit de roulatie te nemen. Items die Smartsite Content Management Server 57

66 Content Management de status Inactive hebben kunnen namelijk vaak wel bewerkt worden door redacteuren. Wanneer een item wordt verwijderd met de actie Verwijderen (Delete) krijgt het de publicatiestatus Deleted. Vanaf dat moment is het item niet meer zichtbaar in de boomstructuur. Het item is echter nog steeds aanwezig in de Contents-tabel. Het voordeel hiervan is dat items eventueel nog teruggehaald kunnen worden wanneer bij nader inzien het verwijderen van het item niet terecht was. Wanneer een item de publicatiestatus Template heeft, dan wordt de inhoud van dat item gebruikt voor andere items van hetzelfde contenttype. Het template-item kan bijvoorbeeld gebruikt worden om het bodyveld van een item te vullen met een in de template vastgelegde hoeveelheid informatie. Je kunt bijvoorbeeld denken aan een vastgelegde indeling aan de hand van paragraaftitels. Welk item als template is gemarkeerd, is bij de opzet van de site vastgelegd door de sitebouwers. Zomaar een ander item als template markeren werkt daarom niet omdat er heel expliciet wordt verwezen naar het nummer of de code van een item dat als template wordt gebruikt Publicatiestatus instellen De publicatiestatussen Prepublished, Active, Awaiting Activation, Scheduled en Expired worden bereikt door het bewerken van een item en de workflow die op het item wordt toegepast of door het verstrijken van de tijd. De levenscyclus van een item begint bij het aanmaken waarbij het item de status Prepublished krijgt. Aan het eind van de cyclus heeft het item de status Active. Indien het ShowFrom of ShowUntil veld is ingevuld dan worden de statussen Awaiting Activation en Expired ook automatisch bereikt. H Het is echter niet altijd wenselijk om te wachten op de uitkomst van de workflow. Soms is direct ingrijpen op de publicatie-status van een item wenselijk. Daarvoor is de actie Zet Item Status (Set Item State). Met deze actie verander je direct de publicatiestatus van een item - ongeacht of het item aan een workflow is gekoppeld. De publicatiestatus aanpassen: 1. Selecteer in de boomstructuur de folders en items waarvan je de publicatiestatus wilt aanpassen en start de actie Zet Item Status (Set Seneca BV

67 Content publiceren en archiveren Item State). Er wordt een dialoogvenster geopend: Figuur 3-6: Zet item status 2. Selecteer een publicatiestatus. Wanneer je de publicatiestatus Active kiest kun je ook een datum instellen wanneer het item gepubliceerd of of gedepubliceerd moet worden. 3. Klik op OK om de nieuwe publicatiestatus in te stellen. Let op! Noot Of je een bepaalde publicatiestatus kunt kiezen, hangt samen met je rol. Wanneer jij een bepaalde publicatiestatus niet in je rol hebt, kun je deze in de actie Zet Item Status (Set Item State) niet selecteren. " Wanneer alles goed gaat hoef je de actie Zet Item Status (Set Item State) niet vaak te gebruiken. De content voltooit keer op keer zijn levenscyclus, al dan niet gestuurd, en de juiste informatie is altijd zichtbaar aan de voorkant van de site. Deze actie gebruik je wanneer er bijvoorbeeld onverhoopt informatie te vroeg zichtbaar is op de site. Dan gebruik je deze actie om de ShowFrom-datum van het item aan te passen of door de status te veranderen in Inactive. Het veranderen van de publicatiestatus van een item gebeurt direct op de Contents-tabel; de wijziging wordt direct doorgevoerd op het actieve item, ook wanneer dat item aan een workflow is gekoppeld. Indien noodzakelijk is dit zonder probleem te doen. Er is echter een uitzondering waarin je de publicatiestatus liever niet moet veranderen: wanneer een item aangemaakt is en nog in een workflow zit. Gebruik deze actie bij items die in een workflow zitten dus alleen als de nood aan de man komt. Smartsite Content Management Server 59

68 Content Management Wanneer een item wordt aangemaakt en de belangrijkste velden, zoals Title en Body, aan versiebeheer onderhevig zijn, dan zal bij het aanmaken een nulversie (Prepublished) in de Contents-tabel gezet worden en alle opeenvolgende versies worden in de ContentVersions-tabel bewerkt. Wanneer het item aan het eind van de workflow de status Active krijgt wordt de complete informatie overgeheveld naar de Contents-tabel en wordt deze informatie gepubliceerd. Wanneer nu met de actie Zet Item Status (Set Item State) de publicatiestatus van het nieuwe item op Active wordt gezet, dan wordt in feite de nulversie van het item geactiveerd. Er is een grote kans dat je hiermee een lege of onvolledige versie activeert en dat er noninformatie aan de voorkant van de site verschijnt. Het probleem in deze is dat de publicatiestatus Prepublished van een nieuw item visueel niet te onderscheiden is van een item dat de publicatiestatus Inactive heeft. Bij twijfel is het altijd beter om items die de publicatiestatus Prepublished/ Inactive hebben via de workflow actief te laten worden. Let op! Activeer geen items die de publicatiestatus Prepublished hebben en die zich nog in een workflow bevinden Let op! Seneca BV

69 Content actualiseren 3.4 Content actualiseren Het actueel houden van de content gebeurt natuurlijk voornamelijk door de redacteuren. Al dan niet gestuurd door een uitgebreide workflow, dragen zij zorg voor de inhoud van de afzonderlijke items. Wanneer de items op deze manier worden bewerkt, zal er over het algemeen aandacht worden besteed aan het gehele item, dus de de tekst maar bijvoorbeeld ook de metainformatie. Het kan zo zijn dat er op een gegeven moment nieuwe meta-informatie beschikbaar is. Tegelijkertijd zou deze meta-informatie moeten worden toegepast op de bestaande items in de boomstructuur - dat betekent dus dat er in een keer meerdere items aangepast moeten worden. Wanneer dit voor elk item afzonderlijk zou moeten gebeuren dan zou dat, zeker naarmate het aantal items toeneemt, veel werk zijn en dus veel tijd kosten. Een andere situatie die zou kunnen optreden is een naamsverandering van bijvoorbeeld een product of de organisatie. Wanneer bij het opzetten van de site geen gebruik is gemaakt van Translations en de product- of bedrijfsnaam is altijd volledig uitgeschreven, dan zal bij een verandering van die naam alle content moeten worden herzien. Elk item moet doorzocht worden of deze informatie in het item aanwezig is en indien dat het geval is dan moet deze informatie worden aangepast. Voor bovenstaande situaties zijn er twee verschillende acties: Meerdere Items Aanpassen (Update) en Tekst Vervangen (Replace Text). De actie Meerdere Items Aanpassen (Update) is bedoeld voor velden die meta-informatie bevatten en de actie Tekst Vervangen (Replace Text) is voor het zoeken en vervangen van tekst in items Meta-informatie wijzigen Met de actie Meerdere Items Aanpassen (Update) kun je een of meerdere velden van een of meerdere items tegelijk wijzigen. Velden die met deze actie gewijzigd worden bevatten over het algemeen meta-informatie - het zijn velden die een lijst van keuzemogelijkheden aanbieden waaruit een gebruiker kan kiezen zoals bijvoorbeeld een lijst van voorgedefinieerde categorieën. De actie Meerdere Items Aanpassen (Update) wijzigt de complete inhoud van een veld. Daarom is deze actie niet geschikt voor het aanpassen van bijvoorbeeld het titelveld van meerdere items - meerdere items met dezelfde titel is immers meestal niet de bedoeling. Welke velden er kunnen worden aangepast met deze actie is bij de opzet van de site vastgelegd - van elk veld van een contenttype kun je aangeven of dat veld de eigenschap BulkUpdatable heeft. Dat betekent dus ook dat bijvoorbeeld een veld Keywords uit het contenttype Web Page wel met de actie Meerdere Items Aanpassen (Update) kan worden aangepast Smartsite Content Management Server 61

70 Content Management en een veld Keywords uit een ander contenttype niet. Dit alles is namelijk op contenttype-niveau geregeld. H Velden van meerdere items tegelijk bijwerken: 1. Maak een selectie van items in de boomstructuur en start de actie Meerdere Items Aanpassen (Update). Er verschijnt een dialoogvenster: Figuur 3-7: meta informatie aanpassen 2. Selecteer de velden waarvan je de waarde wilt aanpassen door ze naar rechts te verplaatsen en klik op Volgende (Next) ; 3. Selecteer nieuwe waarden voor de geselecteerde velden; 4. Selecteer de optie Include Children wanneer je de aanpassingen niet alleen op de geselecteerde items wilt uitvoeren maar ook op de ondergelegen kinderen van die items; 5. Klik op Voltooien (Finish) om de velden aan te passen. Klik op Vorige (Back) om terug te gaan en andere velden te selecteren. Klik op Sluiten (Close) om de actie af te sluiten zonder de wijzigingen door te voeren. Let op! Wanneer je een selectie hebt gemaakt en je start de actie Meerdere Items Aanpassen (Update) dan kun je soms deze melding krijgen: Seneca BV

71 Content actualiseren Figuur 3-8: Geen gerelateerde contenttypes Deze melding treedt op op het moment dat de selectie van items meerdere contenttypes bevat, terwijl die contenttypes niet in dezelfde groep zitten. Wanneer je deze actie gebruikt dan kun je deze het beste toepassen op items van hetzelfde contenttype. Let op! Wanneer je toch meerdere contenttypes in de selectie hebt, let dan op dat de implementatie op de velden gelijk is. Twee contenttypes kunnen wel in dezelfde groep zitten maar bijvoorbeeld een andere thesaurus gebruiken op het veld Keywords. Let op!! Wanneer in de selectie van items, waarop je de actie Meerdere Items Aanpassen (Update) wilt uitvoeren, meerdere contenttypes aanwezig zijn dan zullen alleen de velden getoond worden die in beide contenttypes aanwezig zijn. Voorbeeld Het contenttype Web Page heeft drie velden die aangepast kunnen worden met de actie Meerdere Items Aanpassen (Update) : ShowFrom, ShowUntil en Keywords. Een ander contenttype uit dezelfde groep heeft maar twee velden die met deze actie kunnen worden aangepast: ShowFrom en ShowUntil. Bij het starten van de actie zullen daarom alleen de velden ShowFrom en ShowUntil getoond worden wanneer er items van beide contenttypes in de selectie zitten. Wanneer de actie wordt uitgevoerd worden de velden van alle geselecteerde items gewijzigd. Waneer een van deze velden ook aan versiebeheer Smartsite Content Management Server 63

72 Content Management onderhevig is, betekent dat in feite dat er een nieuwe versie van het item is gemaakt. Een nieuwe versie van een item moet eerst een workflow doorlopen voordat het item actief gemaakt kan worden Tekst in meerdere items aanpassen Velden als het titelveld, het bodyveld en het descriptionveld bevatten tekst. Wanneer je in deze tekst iets wilt vervangen dan moet je allereerst het item openen, de tekst doorzoeken op de woorden die je wilt vervangen en daarna het item opslaan. Vaak is er dan ook nog sprake van een workflow die het item moet doorlopen en pas wanneer die is afgerond wordt de gewijzigde content zichtbaar. De hierboven beschreven levenscyclus van een item is redelijk omslachtig als je een bepaalde term in meer dan een item wilt vervangen. Met de actie Tekst Vervangen (Replace Text) is dat een stuk eenvoudiger. H Tekst in meerdere items tegelijkertijd vervangen: 1. Start de actie Tekst Vervangen (Replace Text) of maak eerst een selectie van items die waarin je wilt zoeken en vervangen. Er wordt een dialoogvenster geopend: Figuur 3-9: Tekst zoeken en vervangen 2. Typ in het veld Zoeken (Search) de tekst die je wilt zoeken; Seneca BV

73 Content actualiseren 3. Selecteer de contenttypes die je wilt doorzoeken en selecteer de velden die je wilt doorzoeken; 4. Pas de instellingen op het tabblad Advanced aan en klik op Zoeken (Search). Het dialoogvenster toont een lijst van items die voldoen aan de zoekcriteria; 5. Selecteer de items waarin je de tekst wilt vervangen en typ in het veld Vervangen (Replace) de nieuwe tekst; 6. Klik op Vervangen (Replace). De gezochte tekst wordt nu vervangen. Let op! Het tabblad Advanced toont een aantal instellingen die je kunt gebruiken bij het zoeken naar de tekst die je wilt vervangen: Parameter Channel Omschrijving Er kan heel specifiek op content worden gezocht die alleen in een bepaald channel bestaat. Modified From Alleen die content wordt doorzocht die na een bepaalde datum is bewerkt. Modified to Only my items Alleen die content wordt doorzocht die voor een bepaalde datum is bewerkt. Alleen items die door jou zijn aangemaakt worden doorzocht. Tabel 3-6: Instellingen voor het zoeken en vervangen van tekst. Let op! Deze actie moet met de nodige zorgvuldigheid worden gebruikt. Het verkeerd of onzorgvuldig gebruiken van deze actie kan enorme gevolgen hebben voor de site. Let op!! De actie Tekst Vervangen (Replace Text) heeft een aantal kanten die maken dat je deze actie met de nodige zorgvuldigheid moet toepassen: 1. Allereerst houdt deze actie geen rekening met hoofdletters en kleine letters. Bij het vervangen van de tekst wordt de gevonden tekst, al dan niet met een hoofdletter, vervangen door de tekst die je in het veld Replace hebt opgegeven; 2. Afhankelijk van hoe je je zoekterm definieert wordt er geen rekening mee gehouden of het een heel woord betreft of een deel van een woord. Wanneer je bijvoorbeeld zoekt op site dan resulteert dat in woorden als Smartsite, site en sitebezoekers. Wanneer ik nu de tekst vervang door website dan heeft dat in twee van de drie gevallen een goed resultaat. Dat Smartsite door Smartwebsite wordt vervangen is duidelijk niet de bedoeling. Dit kun je voorkomen door in je zoekcriteria ook spaties op te nemen. Wanneer je als zoekterm bijvoorbeeld site gebruikt, dan zullen Smartsite en sitebezoekers niet aan dat patroon voldoen; Smartsite Content Management Server 65

74 Content Management 3. Alle tekst die aan de zoekcriteria voldoet wordt vervangen - ook wanneer die tekst in een macro staat. Een macro is een bouwsteen die een pagina dynamisch maakt. Een macro genereert bijvoorbeeld automatisch verwijzingen naar kinderen van een folder of toont een sitemap. Een veelgebruikte macro is XLinks, die verwijzingen naar onderliggende kinderen toont. Wanneer in items veelvuldig gebruik gemaakt wordt van de term links en je wilt deze tekst vervangen door het woord referentie dan moet je bij het selecteren van de items goed in de gaten houden dat in de selectie van items waarin je wilt zoeken en vervangen niet de macro Links voorkomt. Deze tekst wordt dan ook vervangen door Referentie, maar een XReferentie-macro is niet bekend. Bij het doorzoeken van de tekst kun je opgeven of je alleen de geselecteerde items, alle items die in de geselecteerde view zitten of de gehele boomstructuur wilt doorzoeken (optioneel). Het moge duidelijk zijn dat de eerste optie de minste kans op fouten heeft, zoals het onverhoopt vervangen van tekst die niet vervangen had moeten worden. Ook nu geldt dat, wanneer de actie wordt uitgevoerd en de tekst die wordt vervangen in een veld staat dat aan versiebeheer onderhevig is, het item toegekend wordt aan diegene die deze actie uitvoert. De items moeten nu eerst een workflow doorlopen, en kunnen daardoor gecontroleerd worden, voordat zij actief worden en de wijzigingen daadwerkelijk zijn doorgevoerd aan de voorkant van de site Gewijzigde items versneld activeren Wanneer een groot aantal items is gewijzigd met de actie Meerdere Items Aanpassen (Update) of met de actie Tekst Vervangen (Replace Text) dan worden deze items toegekend aan de gebruiker die de actie heeft uitgevoerd. Deze items moeten nu dus eerst een workflow doorlopen voordat zij actief worden. Dit natuurlijk onder het voorbehoud dat een van de velden waarin een wijziging is aangebracht ook onderhevig is aan versiebeheer. Met de actie Workflow Zetten (Set Workflow) kun je nu de items onder verschillende redacteuren verdelen en hen de opdracht geven om de items te controleren. Wanneer je er echter van overtuigd bent dat de wijzigingen goed zijn dan is het traject van het toekennen aan verschillende redacteuren en het doorlopen van een workflow onnodig werk. In dat geval gebruik je de actie Workflow Beheren (Manage Workflow). Op het eerste tabblad Assigned vind je de items terug die aan jou zijn toegekend. Wanneer je deze items met behulp van de Ctrl- en/of Shift-toets en je muis selecteert en je klikt op de rechter muisknop, dan kun je voor al deze items een nieuwe workflowstatus kiezen. Op deze manier kun je items versneld activeren door de workflowstatus Active te kiezen Seneca BV

75 Hoofdstuk 4 Data Management Wanneer een site volop in bedrijf is zal de hoeveelheid data die in de Smartsite-database wordt opgeslagen groter en groter worden. Een groot gedeelte van de informatie die is opgeslagen heeft betrekking op de actieve content. Echter, wanneer de actieve content regelmatig wordt bewerkt zullen er evenredig meer versies van items in de database worden opgeslagen - versies die misschien helemaal niet meer relevant zijn om te bewaren. Met de tijd kan het ook zijn dat items worden verwijderd uit de boomstructuur. Wanneer een item uit de boomstructuur wordt verwijderd wordt het niet uit de database verwijderd. Er bestaat dus nog altijd een mogelijkheid om deze items terug te halen. Over het algemeen zal dat niet nodig zijn en daarom zullen deze verwijderde items na enige tijd onnodige beslag leggen op de database. Soms zal het echter nodig zijn, bijvoorbeeld om juridische redenen, om verwijderde en vervallen content lang te bewaren. Hierover moeten in je organisatie afspraken worden gemaakt. Voor het beheer en opschonen van de database met betrekking tot content die zijn relevantie heeft verloren (oude versies, verwijderde items) heeft Smartsite een actie: Data Beheerder (Data Management).

76 Data Management 4.1 Wat is data management? Aan een dynamische site wordt voortdurend content toegevoegd. Deze content doorloopt een cyclus van het aanmaken tot het publiceren en van het creëren van nieuwe versies van een item tot het opnieuw publiceren van deze versies. Alle data wordt in de Smartsite-database opgeslagen. De belangrijkste tabel waarin deze content is opgeslagen is de Contents tabel. Deze bevat alle actieve, inactieve en verwijderde content die aan de hiërarchie van de site zijn toegevoegd. Daarnaast staan in de ContentVersions tabel alle versies die van de verschillende items in de site zijn aangemaakt. Elke keer waneer een gewijzigd item wordt opgeslagen wordt er een nieuwe regel aan deze tabel toegevoegd. In een actieve site kan veel gebruik worden gemaakt van taken. Verschillende gebruikersgroepen kunnen voor zichzelf, andere leden van de groep of voor (leden van) andere groepen taken aanmaken waarin men verzoeken tot bepaalde handelingen opneemt. Ook vanuit de workflow worden er voortdurend taken gegenereerd waarin gebruikers van de Smartsite Manager op de hoogte worden gesteld van het feit dat er handelingen met betrekking tot een specifiek item van hen worden verwacht. Taken worden ook in de database opgeslagen. Na verloop van tijd kan het zijn dat een groot deel van de data die in de database is opgeslagen niet meer relevant is; items met de CMS-status Deleted, tussenversies van items die een aanloop tot de gepubliceerde versie van het item vormden alsmede alle taken die afgesloten en gearchiveerd zijn. De Data Management-hulpmiddelen stellen je in staat om deze toevoegingen aan de verschillende tabellen op te ruimen. Overbodige informatie wordt definitef uit de database verwijderd. Het moge duidelijk zijn dat deze actie onomkeerbaar is en dat het verkeerd uitvoeren van deze actie grote gevolgen kan hebben. Je zou kunnen zeggen bij het mislukken van deze actie teruggegrepen kan worden op een back-up van de database maar tussen het moment van het mislukken van de actie en het terugzetten van de database kan door de verschillende gebruikers van de site alweer veel nieuwe informatie zijn toegevoegd die dan verloren gaat. Het is daarom verstandig om voor het gebruik van deze actie een protocol te hanteren waarin duidelijke afspraken zijn gemaakt Seneca BV

77 Een site labelen 4.2 Een site labelen Op enig moment in de tijd kan de site een bepaalde waarde hebben waar men zeer tevreden over is - (een deel van) de actieve content vertegenwoordigt een bepaalde kwaliteit waar men in een later stadium eventueel op terug zou willen vallen. Je kunt op dat moment (delen van) de hiërarchie voorzien van een label. Wanneer op een later tijdstip blijkt dat de kwaliteit van de site vermindert, om wat voor reden dan ook, dan is het mogelijk om een rollback uit te voeren om een eerder gelabelde versie van de site weer actief te maken. Om het terugdraaien van wijzigingen te vereenvoudigen kun je een groep van items en folders voorzien van een label. Dit doe je met de actie Items Labelen (Label Items). Wanneer je in een later stadium weer terug wilt, gebruik je het label om die versies van items weer terug te halen die aan de kwaliteitseis voldeden. Er kunnen alleen items gelabeled worden die in de historie van versies een actieve versie hebben. Impliciet betekent dat dus dat items die de CMS-status Prepublished hebben niet van een label voorzien kunnen worden - er is nog geen actieve versie van dit item. Omgekeerd betekent dit ook dat items die de CMS-status Archived hebben wel weer voorzien kunnen worden van een label mits er in de versie historie van het gearchiveerde item een actieve versie is. Items die verwijderd zijn kunnen niet worden voorzien van een label om het simpele feit dat deze items niet meer geselecteerd kunnen worden in de boomstructuur Gelabelde versies terugzetten Wanneer (delen van) de site zijn voorzien van een label dan is het mogelijk om de versies die dat label dragen weer terug te zetten. In plaats van elk item afzonderlijk te openen en het de gelabelde versie terug te zetten kun je gebruik maken van de actie Data Beheerder (Data Management). Ga naar het tabblad Versie Labels (Version Labels). Wanneer de gelabelde versies worden teruggezet zullen deze versies niet direct actief zijn. Een kopie van de gelabelde versie wordt bovenaan de lijst van versies van het item geplaatst. Daarnaast wordt de workflow-status van het item op Assigned gezet en dus is de gebruiker die de actie Date Beheerder (Data Management) - Versie Labels (Version Labels) gestart heeft, vanaf dat moment verantwoordelijk voor de items. Nu kan men de items een voor een openen en de de workflow-status veranderen in Active. Beter is het natuurlijk om de actie Workflow Beheren (Manage Workflow) te gebruiken. Wanneer een nieuwe versie van een item op het moment van terugzetten van een gelabelde versie is onderworpen aan een workflow dan zal de gelabelde versie bovenaan de lijst worden geplaatst. Smartsite Content Management Server 69

78 Data Management Het is niet altijd mogelijk om een versie terug te zetten. Wanneer een item bijvoorbeeld verwijderd is dan wordt de gelabelde versie van dat item niet teruggezet. Wanneer het verwijderde item daarna met de actie Data Beheerder (Data Management) - Verwijderde items (Deleted Items) wordt teruggezet dan zal bij het bewerken blijken dat de laatst actieve versie nog steeds geldig is en niet de gelabelde versie. Ook wanneer een item op het moment van terugzetten wordt bewerkt door een andere gebruiker dan is het niet mogelijk om de gelabelde versie van dat item terug te plaatsen. Bij het starten van de optie Herstellen (Restore) wordt daar ook voor gewaarschuwd. Het aantal items dat in gebruik is ( locked ) zal in het dialoogvenster worden getoond. Gezien bovenstaande obstakels die kunnen optreden bij het terugzetten van versies die voorzien zijn van een label kan de volgende praktische overweging misschien van nut zijn: Probeer altijd een folder én zijn kinderen te voorzien van een label. Op deze manier kun je bij het terugzetten van een gelabelde versie toegangsrechten op die folder en onderliggende items en folders blokkeren. Op dat moment weet je dat er geen items geblokkeerd zijn en dat alle van een label voorziene versies zonder problemen teruggeplaatst kunnen worden. Wanneer een nieuwe versie van een item onderhevig was aan een workflow, stel dan iedereen op de hoogte dat er een oude versie is teruggezet, anders ontstaat er misschien verwarring onder de redacteuren Seneca BV

79 Verwijderde items 4.3 Verwijderde items Wanneer een item wordt verwijderd met de actie Verwijderen (Delete) dan bestaat dit nog steeds in de database - alleen de waarde van de CMSstatus is aangepast waardoor het item niet meer in de boomstructuur in het viewvenster wordt afgebeeld. Zolang deze verwijderde items nog in de database staan ben je in staat om deze items weer terug te plaatsen in de hiërarchie. Dit mechanisme is te vergelijken met de Prullenbak (Recycle Bin) van Microsoft Windows. Noot Naast het verwijderen van items uit de hiërarchie met de actie Verwijderen (Delete) kan de de CMS-status van items ook op Archived worden gezet. Het is niet de bedoeling van de actie Verwijderen (Delete) om items even tijdelijk uit het zicht te parkeren om ze daarna weer terug te zetten. Gebruik dan de actie Item Status Instellen (Set Item State) om het item te archiveren en zorg dat de rechten op deze status alleen bij een select aantal gebruikersgroepen liggen. Anderzijds kan na verloop van tijd blijken dat verwijderd uit de hiërarchie ook echt betekent dat de items niet meer nodig zijn. In dat geval hoeven deze items ook niet meer in de database te worden opgeslagen. Voor beide situaties kun je gebruik maken van de actie Data Beheerder (Data Management). Wanneer deze actie gestart wordt en je selecteert het tabblad Verwijderde items (Deleted Items) dan krijg je een overzicht van alle items die verwijderd zijn. Door items te selecteren in de lijst en te kiezen voor ofwel de optie Verwijderen Ongedaan Maken (Undelete) ofwel de optie Definitief Verwijderen (Purge) kunnen deze items respectievelijk teruggezet worden of defintief worden verwijderd. Wanneer items worden teruggezet met de actie Verwijderen Ongedaan Maken (Undelete) wordt er een dialoogvenster geopend waarin het nummer van de folder kan worden opgegeven waarin de items moeten worden geplaatst. Wanneer alle items uit dezelfde folder komen en de betreffende folder bestaat nog in de boomstructuur dan zal het nummer van die folder al in het tekstvak staan. Komen de items uit verschillende folders of bestaat de folder niet meer, dan dien je zelf een folder op te geven. Smartsite Content Management Server 71

80 Data Management Figuur 4-1: Een folder selecteren om de eerder verwijderde items terug te zetten. Items die worden teruggezet krijgen de CMS-status Prepublished maar er wordt geen workflow toegekend aan deze items. Er moet nu een besluit worden genomen of de inhoud van deze eerder verwijderde items van zodanige kwaliteit is dat ze direct de CMS-status Active kunnen krijgen met behulp van de actie Item Status Instellen (Set Item State) Let op! of dat deze items eerst een workflow Workflow Zetten (Set Workflow) ) moeten doorlopen voordat zij actief kunnen worden. Wanneer items niet op hun oude plaats in de hiërarchie konden worden gezet zul je ze waarschijnlijk eerst moeten verplaatsen naar de juiste folder. Wanneer er een deel van de hiërarchie is verwijderd doordat je bijvoorbeeld een folder en een aantal onderliggende items en/of folders hebt verwijderd, dan kan de optie Include Children helpen bij het terugzetten van dit complete deel van de hiërarchie. Wanneer je in de lijst van de verwijderde items de folder selecteert en zorgt dat de optie Include children is aangevinkt dan zullen bij het terugzetten van de folder alle kinderen recursief worden teruggezet: niet alleen de direct onder deze folder aanwezige items en folders zullen worden teruggeplaatst maar ook alle items die in de onderliggende folders staan worden teruggeplaatst in de boomstructuur. Naast het terugzetten van items met de CMS-status Deleted in de boomstructuur kunnen de items met deze status ook definitief uit de database worden verwijderd. Daarvoor wordt de optie Definitief Verwijderen (Purge) gebruikt in de actie Data Beheerder (Data Management) op het tabblad Verwijderde Items (Deleted Items). Wanneer deze optie wordt gestart worden alle geselecteerde items in de lijst permanent verwijderd. Let op! Met deze optie worden de items definitief uit de Contents-tabel in de database verwijderd. Ook alle bij dit item horende versies in de ContentVersions-tabel zullen worden verwijderd. Deze actie kan niet ongedaan gemaakt worden anders dan het terugzetten van een back-up van de database. Echter, tussen het verwijderen en het terugzetten van de back-up kunnen er wijzigingen op de site plaatsvinden die door het terugzetten van de back-up teniet gedaan worden Seneca BV

81 Gearchiveerde taken opruimen 4.4 Gearchiveerde taken opruimen Taken die met de actie Taken Beheren (Manage Tasks) zijn gearchiveerd kunnen met de actie Data Beheerder (Data Management) - Gearchiveerde Taken (Archived Tasks) worden opgeruimd. Er zijn verschillende soorten taken en deze actie geeft de mogelijkheid om deze selectief op te ruimen. Figuur 4-2: Het verwijderen van taken Voor een overzicht van hoeveel taken er gearchiveerd zijn kun je gebruik maken van de optie Statistics. Wanneer je hier op klikt, krijg je een overzicht van de taken die gearchiveerd zijn. Een overzicht van gearchiveerde taken kun je ook weer terugvinden op tabblad Archive van de actie Taken Beheren (Manage Tasks) Smartsite Content Management Server 73

82 Data Management Figuur 4-3: Een overzicht van gearchiveerde taken Nadat je een selectie hebt gemaakt van het soort taken dat je wilt verwijderen en hebt aangegeven van voor welke datum je de taken weg wilt gooien, klik je op Definief Verwijderen (Purge) nu permanent uit de database verwijderd.. De gearchiveerde taken worden Seneca BV

83 Versies opruimen 4.5 Versies opruimen Items en folders in de site worden steeds weer opgenomen in de content lifecycle - de informatie in items wordt voortdurend aangepast en door de toegepaste workflow verandert de status van het item voortdurend wanneer anderen in de organisatie zich over de inhoud buigen. Elke keer wanneer er wijzigingen in het item worden aangebracht en het item wordt opgeslagen zal er een nieuwe versie van het item in de ContentVersions-tabel in de Smartsite-database worden aangemaakt. Ook wanneer de workflowstatus van een item wordt aangepast wordt er een nieuwe versie aan deze tabel toegevoegd. Na verloop van tijd kan het aantal versies van een item aanzienlijk worden en kun je je afvragen hoeveel waarde er nog aan die versies gehecht dient te worden. Wanneer een redacteur tijdens het bewerken van een item deze regelmatig opslaat met de workflowstatus Busy en daarna verder gaat waar hij gebleven was, ontstaat er elke keer een nieuwe versie die in feite geen waarde heeft: het zijn maar tussenversies. Echter, wanneer een redacteur besluit om het item naar een volgende status in de workflow te sturen, bijvoorbeeld Ready For Approval, dan betekent dat hoogst waarschijnlijk dat de informatie in het item compleet is. Wanneer het item uiteindelijk de workflowstatus Active krijgt is de informatie in het item volledig en gecontroleerd. Bij het verwijderen van versies zullen we zien dat het verschil, of juist het ontbreken daarvan, tussen de workflowstatus waarmee een versie van een item wordt geopend en de workflowstatus waarmee het item wordt opgeslagen leidend is bij het opruimen van oude versies. Het is duidelijk dat niet alle versies die tijdens deze cyclus zijn aangemaakt bewaard hoeven te worden. De actie Data Beheerder (Data Management) helpen. - Content Versies (Content Versions) kan daarbij Allereerst dient er een keuze gemaakt te worden welke versies verwijderd moeten worden. Er zijn drie mogelijkheden: Verwijdert alleen tussenversies (Only purge intermediate versions): verwijdert alle versies waarvan de workflowstatus niet veranderd is; Voorbeeld Een item heeft de workflow status Busy en wordt bewerkt. Bij het opslaan wordt het item weer met de status Busy opgeslagen. De workflowstatus is dus niet gewijzigd. Verwijdert controlepaden, behoud Actieve versies (Purge Audit Trails, keep Activated versions): Alle versies van items die zijn opgeslagen met de workflowstatus Active zullen worden bewaard. De overige versies zullen worden verwijderd; Smartsite Content Management Server 75

84 Data Management Verwijdert alle versies (Purge al versions): Alle versies voor die versie die het laatst de workflowstatus Active heeft bereikt worden verwijderd. Standaard wordt er gekeken vanuit de laatste versie die de workflow-status Active heeft bereikt. Alle versies die eerder zijn aangemaakt komen in aanmerking om verwijderd te worden. Deze randvoorwaarde kan worden aangepast door te kiezen voor een ander tijdstip. Er kan gekozen worden voor een bepaalde termijn (week, maand, jaar) of er kan heel expliciet een datum worden opgegeven. Wanneer een startdatum wordt gekozen, dan moet een versie aan beide voorwaarden voldoen voordat deze opgeruimd wordt. Er wordt nu niet gekeken naar de eerstvolgende versie vanaf de geselecteerde datum die actief is geweest, maar alle versies die aan én de datum én de overige selectiecriteria voldoen worden verwijderd Seneca BV

85 Hoofdstuk 5 Formulieren Formulieren zijn hulpmiddelen waarmee informatie kan worden verkregen van mensen die een site bezoeken. Een formulier biedt de bezoeker een verzameling velden die hij dient in te vullen, waarna deze informatie verzonden kan worden. Na ontvangst van deze informatie kan deze op verschillende manieren verwerkt worden: bijvoorbeeld als item, als of als record in een aparte tabel van de Smartsite-database. Omdat steeds meer administratieve handelingen via het web worden afgehandeld nemen Formulieren een steeds grotere plaats in. Bij het definiëren van een formulier kun je gebruik maken van elementen die je ook binnen de Smartsite Manager tegenkomt, zoals tekstvelden, dropdownlijsten, HTML-tekstvelden en de kalender. Deze velden zijn op een eenvoudige manier toe te voegen en door het aanpassen van de eigenschappen van zo n veld kun je het gedrag bepalen. De invoer in een veld kan bijvoorbeeld aan een maximum aantal tekens gebonden worden of de informatie in een veld moet voldoen aan een bepaald patroon voordat de informatie kan worden verstuurd. Nadat het formulier is gedefinieerd, moet het in een item worden ingevoegd. Daarvoor maak je gebruik van een Macro. Deze macro (ofwel de Insert Macro->Add Renderform macro, ofwel de aparte Add Renderform macro) maakt het eenvoudig om het formulier in een item te plaatsen. Je bent niet gebonden aan een enkel item. Je kunt het formulier, door het gebruik van de macro, ook in meerdere items gebruiken. Afhankelijk van de gekozen databinding wordt de informatie van het verstuurde formulier verder verwerkt. De basis van elk verzonden formulier is echter dat de informatie in ieder geval in XML formaat wordt opgeslagen. Hierdoor is de informatie altijd makkelijk te transformeren naar een ander formaat, zodat de informatie op vele manieren verwerkt kan worden.

86 Formulieren 5.1 Wat zijn formulieren Een formulier gebruik je aan de voorkant van je site om informatie van bezoekers te verkrijgen. Welke informatie er gevraagd wordt kan van organisatie tot organisatie verschillen. Je kunt bijvoorbeeld denken aan een reactieformulier, een aanvraag voor een informatiepakket maar ook een formulier waarin men een aanvraag doet voor een inlognaam en wachtwoord om een afgeschermd gedeelte van de site te mogen bezoeken. Figuur 5-1: Een formulier De opbouw van een formulier bestaat uit verschillende velden die door een bezoeker moeten worden ingevuld. Om er voor te zorgen dat de bezoeker zoveel mogelijk correcte informatie invult, zijn deze velden vaak voorzien van een zogenaamde validatie; een veld mag bijvoorbeeld niet leeg zijn of een veld mag niet leeg zijn en de inhoud moet voldoen aan een bepaald patroon - denk bijvoorbeeld aan een postcode. Deze validatie van velden vindt plaats op het moment dat de bezoeker de velden heeft ingevuld en het formulier gaat verzenden; de informatie wordt vervolgens teruggestuurd naar de server waarna Smartsite deze informatie kan gaan verwerken. Indien bij het verzenden de velden niet correct waren ingevuld - als de inhoud van de velden niet gevalideerd kan worden aan de opgelegde regels - dan krijgt de bezoeker een waarschuwing en moet hij deze velden opnieuw invullen. Indien de velden wel correct zijn ingevuld wordt de bezoeker vaak doorverwezen naar een pagina waarin hij bijvoorbeeld bedankt wordt voor het invullen, waar hij kan lezen welke vervolgacties er worden ondernomen of waar hij een samenvatting krijgt van de ingevulde gegevens Seneca BV

87 Wat zijn formulieren Figuur 5-2: Niet alle velden zijn correct ingevuld De informatie die wordt teruggestuurd naar de server moet worden opgeslagen, zodat deze gebruikt kan worden. Er zijn verschillende manieren om de informatie op te slaan. De informatie van het formulier kan: als naar een (lijst van) geadresseerde(n) worden gestuurd; in een tabel worden opgeslagen; in een item worden opgeslagen; door een speciaal component op andere wijze worden afgehandeld; vooralsnog geen afhandeling meekrijgen. Dit gebeurt bij bijvoorbeeld subformulieren. Die worden altijd gebruikt als onderdeel van een ander formulier en krijgen daarom de afhandeling van het hoofdformulier. Een formulier bestaat uit verschillende velden. Alle velden die je bij het werken met de Smartsite Manager gebruikt, zijn ook te gebruiken in een formulier: bijvoorbeeld tekstvelden, uitgebreide tekstvelden (textarea s), datumselectie, multiselectlijsten (duallists), keuzevakjes (checkboxen) enz. Deze velden kunnen, analoog aan contenttypes, over meerdere tabbladen worden verdeeld. Op deze manier krijgt de bezoeker een overzichtelijk formulier gepresenteerd om in te vullen. De definitie van een formulier wordt vastgelegd in een item van het contenttype Form. Wanneer een formulier is gedefinieerd kun je het gebruiken in andere items. Om een formulier in een item te plaatsen maak je gebruik van een SmartEmbedding Macro, ook wel SE Macro of kortweg macro genoemd. Deze macro is in feite niets anders dan een verwijzing naar het betreffende item dat de definitie van het formulier bevat. Daarnaast kunnen er in een macro nog extra instellingen worden gedaan. Smartsite Content Management Server 79

88 Formulieren 5.3 Een nieuw formulier toevoegen Een nieuw formulier maak je aan met de actie Formulier Toevoegen (Add Form). Vaak is er voor de formulieren een speciale CMS-folder aangemaakt waar de veschillende definities van formulieren worden geplaatst. Wanneer je de actie Formulier Toevoegen (Add Form) start verschijnt er een dialoogvenster. Figuur 5-3: Een keuze maken voor de afhandeling van de data In dit dialoogvenster krijg je een lijst van mogelijke vormen van databindingen. Dat is een technische term voor wat er moet gebeuren met de informatie in het formulier wanneer het verzonden wordt. Er zijn zes mogelijkheden: Databinding Standaard binding (Default Source) Opslaan in item (Save as Item) Opslaan in item, in het veld body (Save as Item, Field Body) Stuur (Send e- mail) Omschrijving Wanneer een formulier verzonden wordt, wordt het alleen in de tabel PostedFormData in de Smartsite database opgeslagen. De informatie wordt opgeslagen in de afzonderlijke velden van een item van een bepaald contenttype én in de tabel PostedFormData. De informatie wordt opgeslagen in een item van een contenttype dat je selecteert én in de tabel PostedFormData. De informatie die door de bezoeker is ingevuld wordt in XML-formaat in het bodyveld van het item weggeschreven. Deze vorm wordt niet veel meer gebruikt, omdat Save as XML min of meer hetzelfde doet, op een manier die vaak wat handiger is. De informatie wordt per verzonden aan een of meer geadresseerden én in de tabel PostedFormData. De informatie wordt in XML-formaat in de body van de geplaatst. Eventueel kan hier nog opmaak op toegepast worden. Tabel 5-1: Vormen van databinding Seneca BV

89 Een nieuw formulier toevoegen Databinding Opslaan als XML (Save as XML) Database tabel Omschrijving De ingevulde informatie wordt als XML weggeschreven in een veld dat groot genoeg is om die op te slaan én in de tabel PostedFormData. Bij het maken van het formulier wordt gekozen in welk veld de informatie wordt opgeslagen. De informatie wordt opgeslagen in de afzonderlijke velden van een tabel in de Smartsite database én in de tabel PostedFormData. Tabel 5-1: Vormen van databinding Afhankelijk van de keuze die je maakt voor een bepaald type databinding krijg je een vervolgscherm. Gevoelsmatig kunnen we nu al zeggen dat bij bijvoorbeeld Save as Item, field Body een dialoogvenster wordt verwacht wat ons een keuze laat maken welk contenttype we daarvoor willen gebruiken. Bij de keuze voor het type databinding Database Table wordt er een lijst van tabellen getoond worden waaruit we een keuze kunnen maken Default Source Wanneer gekozen wordt voor Default Source wordt de data in de tabel PostedFormData in de Smartsite-database opgeslagen. Beter gezegd: de data wordt in het veld FormData van een nieuw record in de tabel PostedFormData opgeslagen. De overige velden van deze tabel bevatten informatie over bijvoorbeeld de datum van verzending van het formulier of welk formulier het betreft. Feitelijk is het zo dat elk formulier dat wordt verstuurd, ongeacht het type databinding, in deze tabel wordt opgeslagen. Alle hierna volgende opties met betrekking tot het opslaan van de formulieren zijn uitbreidingen die de data van het formulier ook nog op een andere manier presenteren, bijvoorbeeld als item van een bepaald contenttype of als aparte tabel. Deze toegevoegde mogelijkheden bieden weer extra mogelijkheden zoals het toepassen van een workflow wanneer een ingevuld formulier als item wordt toegevoegd. De informatie die in het item staat kan nu langs een aantal personen geleid worden die op hun beurt iets met die informatie kunnen doen Save as Item Wanneer je een formulier aan een compleet contenttype koppelt, dan wordt elke keer dat een formulier wordt verstuurd een nieuw item van dat contenttype aangemaakt. De informatie uit de verschillende velden van het formulier worden in de overeenkomstige velden van het contenttype geplaatst. Smartsite Content Management Server 81

90 Formulieren Figuur 5-4: Databinding met een contenttype Veld Contenttype Workflow toekennen Force assignment of unassigned items Gebruiker Rol Omschrijving Het contenttype dat gebruikt wordt voor de verstuurde informatie. Bij de opbouw van het formulier kun je specifieke velden selecteren die binnen dit contenttype zijn gedefiniëerd. De workflow die op het item moet worden toegepast op het moment dat het item met de verstuurde informatie wordt toegevoegd. Als er een item wordt opgevraagd zonder workflow, wordt die alsnog toegekend. Daarmee wordt voorkomen dat gebruikers kunnen wijzigen in bestaande items. De gebruiker waaraan het item moet worden toegekend. De groep die aan die gebruiker is toegekend. Tabel 5-2: Instellingen voor databinding met een contenttype Wanneer voor deze optie wordt gekozen, gebruik je over het algemeen een contenttype dat speciaal hiervoor gemaakt is. Het heeft geen praktisch nut om bijvoorbeeld het contenttype WebPage te gebruiken; daarmee zou je bezoekers aan de voorkant van de site de mogelijkheid bieden om informatie toe te voegen. Deze optie kan door sitebouwers gebruikt worden als basis voor bijvoorbeeld een discussieforum, maar ook om mensen content te laten toevoegen via webformulieren. Het is overigens mogelijk om naast de velden uit het contenttype nog andere velden aan het formulier toe te voegen. De Seneca BV

91 Een nieuw formulier toevoegen informatie van deze velden zal dat echter niet in het item worden opgeslagen worden, maar alleen in de eerder besproken tabel PostedFormData Save as Item, field Body Wanneer een formulier aan het bodyveld van een item wordt gekoppeld dan betekent dit dat er, elke keer wanneer een formulier wordt verzonden, een nieuw item wordt aangemaakt. Dit item is van een bepaald contenttype en dit item moet worden aangemaakt onder een bepaalde folder. Verder moet er aan dit item een workflow gekoppeld worden zodat een gebruiker van de Smartsite Manager op de hoogte wordt gebracht dat er een nieuw item is aangemaakt waarin informatie staat. Figuur 5-5: Formulieren binden aan het Bodyveld van een item Veld Ouder Contenttype Omschrijving Alle door het formulier aangemaakte items worden in deze map geplaatst Het contenttype dat gebruikt wordt voor de verstuurde informatie. Omdat de informatie als XML in het Bodyveld wordt opgeslagen heeft het contenttype XML de voorkeur. In elk geval moet het veld groot genoeg zijn om alle informatie te bevatten. Tabel 5-3: Databinding met het Bodyveld van een item Smartsite Content Management Server 83

92 Formulieren Veld Workflow toekennen Selecteer Gebruikersgroep Selecteer Gebruiker Locatie meegestuurde bestanden Omschrijving De workflow die op het item moet worden toegepast op het moment dat het item met de verstuurde informatie wordt toegevoegd. De groep waarbinnen het item aan iemand moet worden toegekend. De gebruiker waaraan het item moet worden toegekend. De map op de server waar bestanden, die als onderdeel van het formulier worden meegezonden, moeten worden geplaatst. Dit kan afbeeldingen betreffen, maar vaker documenten. Denk aan cv s bij een sollicitatieformulier. Tabel 5-3: Databinding met het Bodyveld van een item " Noot Omdat de informatie die vanuit het formulier verzonden wordt als XML wordt opgeslagen in het Bodyveld van het item, is het contenttype XML een praktisch contenttype om hiervoor te gebruiken Send Een formulier kan gekoppeld worden aan een . In dat geval wordt de informatie die in het formulier is ingevuld en opgestuurd per doorgestuurd aan een of meer geadresseerden. De informatie wordt in XMLformaat in de body van het bericht opgeslagen. Figuur 5-6: Databinding met een De ontvangers van de het bericht worden in het veld Recipient ingevoerd. De verschillende adressen worden door puntkomma s van elkaar Seneca BV

93 Een nieuw formulier toevoegen gescheiden. De titel van het bericht typ je in het veld Bericht Onderwerp Format (Message Subject Format). In de titel van het bericht kun je de informatie van een van de velden weergeven door deze als %fieldname% in de titel te vermelden. Voorbeeld Een formulier voor het aanvragen van informatie bevat het veld Name. De titel van het bericht is: %Name% wil een informatiepakket. Wanneer de heer J. Jansen het formulier invult en verstuurt dan wordt de titel van het mailtje J. Jansen wil een informatiepakket. Bij Sender Address kan een ander adres worden ingevuld, dat dan als antwoord- adres zal dienen. Bij Send Rendered Item kan verwezen worden naar een ander item, bijvoorbeeld een Application Page, waarin de XML uit het formulier wordt bewerkt alvorens het aan de body van het bericht wordt toegevoegd. De kan dan bijvoorbeeld in HTML worden afgebeeld Database-tabel Een formulier dat gekoppeld is aan een tabel kan velden van de tabel aan de bezoeker te tonen. De informatie die de bezoeker via het formulier verstuurt, wordt weer in die betreffende velden van de tabel opgeslagen. Bij het toevoegen van een formulier moet je dus een keuze maken welke tabel je hiervoor wilt gebruiken. Figuur 5-7: Een formulier aan een tabel in de database koppelen Analoog aan formulieren die gekoppeld zijn aan een contenttype, geldt nu ook dat dit soort formulieren vaak al bij de opzet van de site worden geïmplementeerd. Voor het uitlezen van de tabel moet je namelijk weer een aparte actie maken, die het mogelijk maakt om de wijzigingen in de tabel te volgen. Daar zijn binnen Smartsite voldoende mogelijkheden voor, maar het valt buiten het kader van deze handleiding. Smartsite Content Management Server 85

94 Formulieren Databinding eigenschappen wijzigen De keuze voor de soort databinding die bij het aanmaken van het formulier wordt gemaakt kan in een later stadium niet meer gewijzigd worden. Wel kunnen de eigenschappen van de gekozen databinding later nog gewijzigd worden. De menubalk van het item bevat de knop Eigenschappen (Configure data binding). Wanneer je daarop klikt, wordt het dialoogvenster geopend dat bij de gekozen databinding hoort Seneca BV

95 Het formulier definiëren 5.3 Het formulier definiëren Nadat de keuze voor de databinding van het formulier is gekozen moet het formulier zelf gedefiniëerd worden. De acties Formulier Toevoegen (Add Form) en Formulier Bewerken (Edit Form), worden in het actievenster uitgevoerd. Figuur 5-8: Een formulier opzetten De basis van een formulier is een lege tabel met twee kolommen en vier rijen. Het is de bedoeling dat de afzonderlijke cellen van de tabel gevuld worden met elementen. Er zijn twee elementen: Element Omschrijving Naam (Name) Bijschrift /Caption Een invoerveld op het formulier Een bij een veld behorende titel die duidelijk maakt welke informatie er in dat veld verwacht wordt. Tabel 5-4: Formulier elementen Voor dat je het formulier gaat maken geef je het item van het contenttype Form eerst een titel en een FormID. Standaard wordt een zeer complexe FormID gegenereerd. Deze kun je eenvoudig vervangen door je eigen code. Wanneer je het formulier met behulp van een macro gaat toevoegen aan een item kun je op twee manieren dit formulier aanroepen: 1. op basis van het nummer van het item dat het formulier bevat; 2. op basis van de code die je aan het formulier hebt meegegeven. Smartsite Content Management Server 87

96 Formulieren Het spreekt voor zich dat de code van het formulier uniek moet zijn, omdat er anders conflicten ontstaan. Wanneer je een code gebruikt die al in een ander item wordt gebruikt dan zul je daar voor gewaarschuwd worden. Bij gebruik van de Add Renderform Macro kun je het toe te voegen formulier uit een lijst kiezen en heb je de FormId in principe niet nodig. Toch is het verstandig om, met het oog op verdere implementatie, een korte en heldere code te kiezen Elementen toevoegen De basis van een formulier is een tabel. Elke cel van een tabel kan gevuld worden met een element. Een Field-element voeg je toe met de optie Add Field. Een Caption-element met de optie Add Caption. Omdat een caption onlosmakelijk is verbonden aan een Field-element kun je pas een Captionelement toevoegen op het moment dat je een Field-element hebt toegevoegd. H Elementen toevoegen: 1. Selecteer een cel in de tweede kolom; 2. Klik op de optie Veld Toevoegen (Add Field) in de knoppenbalk of in het contextmenu (rechter muisknop) of dubbelklik op de geselecteerde cel. Er verschijnt een dialoogvenster: Figuur 5-9: Een Field-element selecteren 3. Selecteer een element dat je wilt toevoegen uit de lijst op het tabblad Library en klik op Volgende (Next) ; Seneca BV

97 Het formulier definiëren 4. Geen het veld een naam (zonder spaties!) en een bijschrift en klik op Voltooien (Finish). Het veld wordt nu in de cel geplaatst; 5. De caption wordt automatisch in de cel links hiervan geplaatst, wanneer dat veld nog leeg is. Het toevoegen van de caption kan ook in een later stadium nog handmatig gebeuren. Selecteer hiervoor de cel links van de cel waarin je het Field-element hebt geplaatst; 6. Klik op de optie Bijschrift Toevoegen (Add Caption) in de knoppenbalk of in het contextmenu. Er wordt een dialoogvenster geopend: Figuur 5-10: Een Caption-element selecteren 7. Selecteer de bij het Field-element horende Caption en klik op OK. Het Caption-element wordt nu in de cel geplaatst. Let op! Wanneer je nu op het tabblad Preview kijkt krijg je een indruk van hoe het formulier eruit gaat zien: Figuur 5-11: Een formulier met een veld en een bijschrift Dit is de manier waarop Field-elementen en Caption-elementen worden toegevoegd. In bovenstaand voorbeeld hebben we een vrij logische indeling Smartsite Content Management Server 89

98 Formulieren gehanteerd waarbij het Caption-element en het Field-element op één regel in de tabel staan en waarbij het Caption-element links van het Field-element staat. De celindeling van de tabel kan echter compleet worden aangepast. Dat betekent dat je helemaal vrij bent om de indeling van het formulier aan te passen omdat je de Field- en Caption-elementen in willekeurige cellen van de tabel kunt plaatsten. Voor het aanpassen van de tabel zijn er een aantal opties die je kunt gebruiken voor bijvoorbeeld het teoveoegen of verplaatsen van kolommen of rijen in de tabel. Deze worden hier niet besproken omdat ze algemeen bekend worden verondersteld. Daarnaast bestaat er de mogelijkheid om Cascading Style Sheets (CSS, opmaakbestanden) en Javascript te koppelen aan dit specifieke formulier. Daarmee kunnen eigenschappen en gedrag van velden beinvloed worden zonder enig ander formulier te beïnvloeden. Om CSS of Javascript toe te voegen kunnen de items met de CSS-code respectievelijk het Javascript gekozen worden op het tabblad Extra Velden. "! De velden van het formulier kunnen ook over meerdere tabbladen worden verdeeld. Wanneer je de eerste keer op Tab Toevoegen (Add Tab) klikt wordt de bestaande tabel omgezet in een tabblad. De volgende keer dat je op Tab Toevoegen (Add Tab) klikt wordt er een nieuwe tabel toegevoegd. Elk van deze tabellen heeft nu linksboven de naam van het tabblad. Noot Elk tabblad moet een unieke naam hebben. Wanneer je met de rechtermuisknop op de naam van de tab klikt krijg je een contextmenu te zien. Met de opties in het tabblad kun je een tabblad toevoegen, verwijderen, hernoemen en verplaatsen. Let op! Wanneer je een tabblad verwijdert worden ook alle op dat tabblad geplaatste elementen verwijderd. De preview van een formulier is niet precies WYSIWYG (What You See Is What You Get). Immers, het uiterlijk van het formulier zal voor een niet onbelangrijk deel worden bepaald door de pagina waar op het formulier straks zal worden geplaatst. Let op! Seneca BV

99 Eigenschappen van elementen 5.4 Eigenschappen van elementen Wanneer een Field-element wordt toegevoegd met de optie Veld Toevoegen (Add Field) wordt er een hele lijst getoond van mogelijke elementen die kunnen worden ingevoegd. Elk element, binnen Smartsite worden ze ook wel webcontrols genoemd, kan worden aangepast door zijn eigenschappen te veranderen. Door de gewijzigde eigenschappen zal het element zich anders gedragen. De eigenschappen van een Field-element kun je wijzigen door op het geplaatste element te dubbelklikken of door het element te selecteren en de optie Veld Bewerken (Edit Field) te selecteren. Er wordt dan een dialoogvenster geopend met de eigenschappen van het geselecteerde Fieldelement. De Field-elementen zijn in een aantal categorieën te verdelen: Field-elementen waarin tekst getypt moet worden; Field-elementen waarin een keuze kan worden gemaakt uit een vooraf gedefinieerde lijst; Overige Field-elementen. Let op: niet alle elementen (ook wel controls genoemd) zullen in elke browser werken. Sommige controls, zoals bijvoorbeeld de Webeditor, zijn gebouwd op technologie die alleen in Internet Explorer ondersteund wordt. Er zijn overigens wel steeds controls beschikbaar die een alternatief zijn voor andere browsers. Een overzicht van controls en compatibiliteit met diverse browsers is te vinden op de supportsite: Tekstelementen De volgende Field-elementent zijn voorbeelden van tekstelementen: Textbox TextArea box Postcode Password. Een Textbox heeft onder andere de volgende eigenschappen: Smartsite Content Management Server 91

100 Formulieren Eigenschap Maximum lengte Invoervalidatie (Input validation) Validatiefoutmelding (Validation failure message) CSS Class Bijschrift (Caption) Standaard waarde (Default value) Lege waarde toestaan (Allow Empty) Bewerken toestaan (Allow edit) Breedte (Width) Mark as required Omschrijving Het maximum aantal karakters dat in de Textbox kan worden getypt.dit is dus iets anders dan de lengte van de Textbox zelf! Een patroon waaraan de invoer moet voldoen voordat het formulier verstuurd kan worden. De melding die moet worden gegeven wanneer de ingevoerde informatie in dit veld niet aan het patroon voldoet. Hiermee kan een vooraf ingestelde opmaak voor het veld gekozen worden. Het bijschrift van een Field-element. Het bijschrift kan ook gewijzigd worden door het bijschrift in de tabel te selecteren en op Bijschrift Bewerken (Edit Caption) te klikken. De waarde die wordt afgebeeld in het veld nog voor de gebruiker iets heeft gekozen of ingevoerd. Hiermee bepaal je of een veld verplicht ingevuld dient te worden voordat het formulier vestuurd wordt of dat het leeg mag blijven. Hier kan ingesteld worden of de gebruiker de inhoud van het veld mag wijzigen. Een hier ingevulde breedte zal vanaf versie 5.3 niet langer invloed hebben op de breedte van de cel waarin de Textbox staat. Vanaf deze versie is het namelijk mogelijk namelijk breedte op kolommen te gebruiken en is het bovendien mogelijk om CSS zodanig te koppelen dat het slechts invloed heeft op het betreffende formulieren. Als dit veld op True staat, dient de invoer aan de validatie te voldoen. Let op: een leeg veld wordt geacht aan de validatie te voldoen. Bij Lege Waarde True en Mark as required True is geen invoer dus valide. Tabel 5-5: Eigenschappen van een tekstveld De overige Field-elementen zijn afgeleiden van de de Textbox. Enkele eigenschappen zijn al ingevuld waardoor het gedrag anders is. Voorbeeld Het element TextArea is een TextBox met meerdere regels waarbij de tekst automatisch overgaat naar de volgende regel wanneer de zin het einde van het tekstveld bereikt. Het element Postcode is een element dat maximaal 7 karakters kan bevatten en waarbij de invoer moet voldoen aan het patroon 1234 AB. De lastigste eigenschap van een tekstelement is de Input validation. Met behulp van een Input validation bepaal je het patroon waaraan de invoer moet voldoen voordat het formulier verstuurd kan worden. Deze validaties maak je met behulp van regular expressions. De syntax van regular expressions is niet uit te leggen in een kort tijdbestek. Op het World Wide Seneca BV

101 Eigenschappen van elementen Web is er een groot aantal sites die zich in deze materie verdiepen en die je een goed beeld geven van de mogelijkheden Lijstelementen Lijstelementen bevatten een lijst van voorgedefineerde opties waaruit een keuze gemaakt moet worden. De volgende elementen gedragen zich als lijstelement: CheckBoxList RadioButtonList DropDownList DualList DropdownCombo. Wanneer je de eigenschappen van een lijstelement gaat bewerken wordt je in staat gesteld om de verschillende opties aan de lijst toe te voegen. Dat kan door hard gecodeerde opties in de control of door de control te laten vullen vanuit de database door middel van een SQL-query. Figuur 5-12: Opties toevoegen aan een lijst Het toevoegen, bewerken, verplaatsen en verwijderen van opties doe je met de verschillende knoppen. Bij het toevoegen van opties moet je een Bijschrift (Caption) en een Waarde (Value) opgeven. Het Bijschrift (Caption) van een optie wordt afgebeeld in de lijst, de Waarde (Value) van een optie wordt verstuurd. Smartsite Content Management Server 93

102 Formulieren Voorbeeld Een RadioButtonList wordt gebruikt om een Ja/Nee situatie te creëren op het formulier. Daartoe worden er twee opties toegevoegd aan de RadioButtonList. Optie een heeft als Caption Ja en als Value J. Optie twee heeft als Caption Nee en als Value N. In het formulier worden deze twee opties afgebeeld als Ja en Nee. Wanneer het formulier echter wordt verstuurd dan zullen de waarden J of N verstuurd worden Overige elementen Naast tekst- en lijstelementen zijn er nog een aantal andere elementen die gebruikt kunnen worden op een formulier: Element WebEditor htmledit Label FileInput Datepicker Submit Reset Cancel Validation Summary Omschrijving Een uitgebreid tekstveld voorzien van diverse knoppen en stijlen, waarmee tekst snel van standaardopmaak, links, afbeeldingen etc. kan worden voorzien. Een uitgebreid tekstveld waarmee de tekst op een eenvoudige manier kan worden voorzien van opmaak. Een label wordt gebruikt voor het afbeelden van een verklarende tekst. Met dit veld kan er met het formulier een bestand worden meegestuurd. Een kalender waaruit een datum geselecteerd kan worden. (Let op: alleen voor Internet Explorer, voor andere browsers dient gekozen te worden voor de Date Dropdown Box of de Date Text Box.) De knop waarmee het formulier verstuurd wordt. De knop waarmee het formulier gewist wordt. De knop waarmee het invullen voortijdig beeindigd kan worden. Een element dat niet wordt afgebeeld op het formulier, maar er bij verzending van het formulier leesbaarder foutmeldingen genereert. Tabel 5-6: Overige elementen WebEditor element Het WebEditor-element voegt een uitgebreid tekstveld toe waarin de tekst kan worden vormgegeven. Hiervoor is het tekstveld uitgebreid met een knoppenbalk, opmaakstijlen en een contextmenu. Vaak zal dit element terugvallen op een vooraf gedefinieerde knoppenbalk en contextmenu. Soms kun je deze eigenschappen wijzigen. Je kiest dan een XML bestand waarin de definitie van de knoppenbalk of het contextmenu is vastgelegd Label element Het Label-element wordt gebruikt om een verklarende tekst neer te zetten. Een label bestaat uit een Bijschrift (Caption) en een Waarde (Value) Seneca BV

103 Eigenschappen van elementen Wanneer je een Label-element gebruikt zul je over het algemeen niet het Caption-element op het formulier plaatsen omdat dit Bijschrift (Caption) al binnen het Field-element gebruikt wordt FileInput element Het FileInput element maakt het mogelijk om bij het formulier een bestand mee te sturen. Wanneer het formulier wordt verstuurd dan zal het bestand toegevoegd worden en in een map op de fileserver worden geplaatst of als binaire data in de XML van het verstuurde formulier. Een van de eigenschappen ven een FileInput-element is het filteren van mogelijke bestanden. De eigenschap filter is een door puntkomma s gescheiden lijst van extensies. Voorbeeld Met behulp van het FileInput-element mogen Microsoft Word-documenten en PDF-documenten geselecteerd worden. De eigenschap Filter wordt dan gedefinieerd als *.doc;*.pdf. Bij het selecteren van het bestand worden alleen deze bestanden getoond zodat er ook geen ander bestand gekozen kan worden Submit-, Reset- en Cancel-buttonelementen Elk formulier wordt standaard voorzien van een Submit-knop. Met deze knop wordt het formulier verstuurd nadat de informatie gevalideerd is. De plaats van de Submit-knop is links onder het formulier. Wanneer je de Submit-knop op een andere plaats wilt, dan kun je dit Field-element in je formulier plaatsen in de cel waar jij vindt dat de knop hoort. Deze toevoeging zorgt ervoor dat de standaardknop niet meer wordt getoond. Met de Resetknop kunnen alle velden in het formulier worden geleegd, de Cancel-knop beeindigt het invullen van het formulier zonder het te verzenden Subformulieren Bepaalde delen van formulieren keren in een organisatie misschien regelmatig terug. Om onnodige handelingen te voorkomen kunnen deze deelformulieren reeds zijn aangemaakt. Deze zijn dan als subformulier toe te voegen aan een nieuw formulier. Voorgedefinieerde subformulieren vind je op het tabblad Subformulieren wanneer je een nieuw Field-element op het formulier plaatst. Het subformulier wordt geplaatst in de geselecteerde cel. Bij het toevoegen van een formulier kun je de optie In kader tonen / Add as frame kiezen. Wanneer je een subformulier als frame toevoegt wordt het omkaderd weergegeven: Smartsite Content Management Server 95

104 Formulieren Figuur 5-13: Een subformulier als frame weergeven Opmaak van elementen Met de eigenschappen van Field-elementen wordt het gedrag van deze elementen bepaald. Ze bepalen echter niet de opmaak van deze elementen. Wanneer je een element op het formulier plaatst, dan zal het element de opmaak aannemen die is vastgelegd in de stijl van de site. Tekst- en achtergrondkleur, letterhoogte, omlijning en andere opmaakeigenschappen zijn niet per element te wijzigen. Bij het invoegen van het formulier in een item geef je op welke stijlen er in dat item op het formulier van toepassing zijn. Zo kun je hetzelfde formulier op meerdere plaatsen gebruiken maar door het toekennen van een andere stijl toch een eigen uiterlijk geven Seneca BV

105 Formulieren gebruiken 5.5 Formulieren gebruiken Het definiëren van een formulier en het beschikbaar maken van het formulier op de website zijn twee verschillende dingen. Nadat het formulier is gedefinieerd moet dit formulier in een (of meerdere) items ingevoegd worden om het op die manier zichtbaar te maken aan de voorkant van de site. Het invoegen van een formulier in een item gebeurt door middel van een Smart Embedding Macro, ook wel SE Macro of kortweg macro genoemd. Daarvoor zijn twee methodes beschikbaar: ten eerste via de Add Macrobutton en dan kiezen voor Add Renderform en ten tweede via de Add Renderform Macro, feitelijk een snellere toepassing van de eerste methode. De werkwijze verschilt weinig, dus we zullen hier slechts de laatste methode bespreken. De macro die je gebruikt voor het plaatsen van een formulier in een item heet Add RenderForm. Macro s zijn bouwstenen die een website dynamisch maken. Een macro is een functie met een aantal variabelen die op basis van de variabelen een bepaald resultaat toont. De macro RenderForm wordt gebruikt om een item van het contenttype Form binnen een ander item te tonen. Daarnaast zijn er een aantal parameters die bepalen hoe het formulier er uitziet en wat er gebeurt op het moment dat het formulier verstuurd wordt en ontvangen op de server. Voor het invoegen van een macro bestaat er binnen de webeditor een optie. Met deze optie wordt het plaatsen van een formulier in een item relatief eenvoudig. Noot Ook zonder hulp van de webeditor kun je een macro invoegen. Het valt echter buiten het kader van deze handleiding om daar dieper op in te gaan omdat deze materie meer van toepassing is voor sitebouwers. Derhalve zullen ook niet alle parameters van de macro RenderForm behandeld worden. Een formulier invoegen in een item met behulp van de webeditor: 1. Plaats de cursor in het veld (meestal een WebEditor veld) waar je het formulier wilt invoegen; 2. Selecteer uit de icoontjes direct boven de tabs in het actievenster de optie Add Renderform Macro. Er wordt een scherm geopend " H Smartsite Content Management Server 97

106 Formulieren waarin alle beschikbare formulieren worden getoond: Figuur 5-14: Keuze van het het formulier 3. Klik op Volgende (Next) en pas in de volgende schermen de parameters van het formulier aan; 4. Klik op Voltooien (Finish). De macro wordt nu ingevoegd op de plaats van de cursor. Let op! De macro wordt afbeeld door middel van en icoontje met de tekst <se... Een kenmerk van een macro is dat deze pas wordt uitgevoerd op het moment dat de pagina wordt opgevraagd. Het formulier wordt daarom pas definitief ingevoegd op het moment dat de pagina gerenderd wordt. Wanneer je het icoontje selecteert en de eigenschappen van de macro opvraagt, dan wordt het dialoogvenster opnieuw geopend en kun je de parameters van de macro wijzigen. De parameters van de macro Add RenderForm zijn over meerdere tabbladen verdeeld. Voor het plaatsen van het formulier in het item zullen alleen de parameters op het eerste tabblad behandeld worden. De overige parameters doen of niet terzake of zijn te geavanceerd om in deze handleiding te behandelen. De parameters die van belang zijn voor het invoegen van het formulier zijn: Seneca BV

107 Formulieren gebruiken Parameter CSS ForceSubmit FormId LoadRecord StartWorkflow WorfklowParams FormClass FormStyle FeedbackMessage Redirect Omschrijving Het nummer of de code van het item van het contenttype CSS dat de Cascading Style Sheet (CSS) bevat waarin de opmaak van de formulierelementen is vastgelegd. Dit veld doet in feite hetzelfde als het CSSInclude-veld op de tab Extra Fields. De laatste methode is eenvoudiger terug te vinden en verdient derhalve de voorkeur. Deze optie zorgt ervoor dat het formulier altijd een Submit knop heeft, ook als je deze niet hebt toegevoegd in de formulierdefinitie. Het nummer of de code van het item van het contenttype Form dat de formulierdefinitie bevat. Wanneer een formulier op een pagina getoond wordt (gerenderd), kan het gevuld worden met informatie uit de gekozen databinding. Het in te vullen itemnummer verwijst naar een item dat met de betreffende databinding is gecreeerd. Bij de databindings Default Source en Send is geen sprake van een item waarin informatie wordt opgeslagen en zal met een nummer in LoadRecord niets worden gedaan. Onafhankelijk van de databinding van het formulier kan er een workflow gestart worden om personen te attenderen op een nieuw formulier of om de de verstuurde data te verwerken. Hiervoor wordt een speciale workflow gebruikt, een zogenaamde Application Workflow. Wanneer zo n workflow is gedefinieerd dan kun je door middel van het nummer of de code van het item dat de Application Worfklow bevat een koppeling leggen tussen het formulier en de workflow. De parameters die de werking van de Application Workflow bepalen. Hiermee kun je het een Class-attribuut op het Form-element zetten. Hiermee kun je een Style-attribuut aan het Form-element toevoegen. Een boodschap die wordt weergegeven wanneer het formulier is verstuurd. Deze boodschap komt op de plaats van het formulier te staan. In plaats van een boodschap kun je na het insturen van een formulier ook naar een andere pagina in de site springen. Geef het nummer of de code van het item op waar naar toe gesprongen dient te worden. Tabel 5-7: Parameters voor de RenderForm macro Met alleen het gebruik van de parameters FormId en Redirect of FeedbackMessage kun je op een eenvoudige manier een formulier invoegen. De overige parameters zijn wat geavanceerder en vereisen kennis van HTML of een diepere kennis van workflow en workflowparameters. Smartsite Content Management Server 99

108 Formulieren 5.6 Verstuurde formulieren bekijken Elk formulier dat wordt ingestuurd wordt als nieuw record aan de tabel PostedFormData toegevoegd. Verder wordt op basis van het gekozen type databinding een vervolgactie uitgevoerd. Dat kan betekenen dat er een nieuw item wordt aangemaakt, dat er een verzonden wordt of dat de informatie ook in een andere tabel wordt opgeslagen. Afhankelijk van het type bekijk je de informatie op een andere manier. Wanneer er voor gekozen is om de informatie op te slaan in het Bodyveld van een item of wanneer de informatie als wordt verstuurd, zal de verzonden informatie in XML-formaat worden weergegeven. Deze XML is op een eenvoudige manier uit te lezen: <?xml version="1.0"?> <postedform> <chooseaccomodation type="xsd:string"> <![CDATA[486]]> </chooseaccomodation> <name type="xsd:string"> <![CDATA[Smartsite Software]]> </name> <address type="xsd:string"> <![CDATA[Elektronicaweg 33]]> </address> <postcode type="xsd:string"> <![CDATA[2628 XG]]> </postcode> <city type="xsd:string"> <![CDATA[Delft]]> </city> < type="xsd:string"> </ > <depart type="xsd:datetime"> t00:00:00.000</depart> <duration type="xsd:string"> <![CDATA[14]]> </duration> <numberofguests type="xsd:string"> <![CDATA[8]]> </numberofguests> <cardtype type="xsd:string"> <![CDATA[Mastercard]]> </cardtype> <cardnumber type="xsd:string"/> <expirationdate> </expirationdate> < nr type="xsd:string"> <![CDATA[722]]> </ nr> < formid type="xsd:string"> <![CDATA[BOOKING]]> </ formid> < title type="xsd:string"> <![CDATA[Bookings]]> </ title> </postedform> Voorbeeldcode 5-1: XML-formaat van verstuurde informatie Seneca BV

109 Verstuurde formulieren bekijken In bovenstaand voorbeeld zien we een formulier in XML-formaat. XML kun je lezen als een tabel. Tussen de elementen <postedform> en </postedform> zien we de afzonderlijke velden van het formulier. Elk veld opent met <veldnaam> en sluit met </veldnaam>. Daartussen staan de data die zijn ingevuld. Er zijn drie extra velden toegevoegd nr, formid en title. Deze drie velden verwijzen naar het item in de boomstructuur dat de formulierdefinitie bevat. Smartsite Content Management Server 101

110 Formulieren Seneca BV

111 Hoofdstuk 6 Import en export Met behulp van de Import is het mogelijk externe content, zoals bijvoorbeeld Microsoft Word-documenten of XML-bestanden in Smartsite te importeren. Met export kan een site of een deel daarvan naar bestanden worden geschreven. De exportfunctie is alleen in de Enterprise Edition beschikbaar.

112 Import en export 6.1 Import-functies Met de Import-functie is het bijvoorbeeld mogelijk een Microsoft Worddocument te converteren naar zo compact mogelijke HTML en vervolgens op de site te plaatsen. Het is hierbij noodzakelijk dat Microsoft Word 2000 op de webserver is geïnstalleerd. Vanuit de Import Wizard wordt Microsoft Word aangestuurd om een bestand als HTML op te slaan; de Import-functie reduceert de omvang van het HTML-bestand vervolgens aanzienlijk terwijl de inhoud nagenoeg hetzelfde blijft. Allerlei overbodige stijlelementen worden weggefilterd zodat het item niet botst met de huisstijl. De geïmporteerde documenten zijn vervolgens als item te bewerken binnen Smartsite.! Microsoft Word-documenten worden na import in Smartsite anders weergegeven. Omdat een Smartsite-item geen papieren pagina is maar wordt afgebeeld op een beeldscherm, vervallen paginanummers, headers en footers van de te importeren documenten. Ook onderdelen zoals kantlijnen en regelafstanden die kunnen botsen, worden verwijderd bij de import. Let op! De import-functies moeten niet worden verward met de import-macro's die vanuit de WebEditor kunnen worden uitgevoerd. Deze clientside import-macro's openen het document en converteren het naar HTML maar plaatsen de afbeeldingen niet in een aparte directory op de server. Om deze clientside macro's uit te kunnen voeren is het noodzakelijk Microsoft Word op de client geïnstalleerd te hebben. Het is niet de bedoeling vanuit Word Copy/Paste-acties naar de WebEditor of SmartEditor uit te voeren. Dit levert onnodig grote HTML-bestanden op (er is geen gelegenheid geweest voor opschonen van de HTML). Het resultaat van de onnodig grote HTML-bestanden is dat de server traag wordt of dat de pagina's niet goed worden weergegeven en mogelijk botsen met de huisstijl. Daarnaast kan het onverwachte resultaten opleveren bij verdere bewerking van de content. Om toch dergelijke HTML te kunnen gebruiken is de macro Cleanup beschikbaar in de SmartEditor. Binnen de webeditor kun je gebruik maken van de optie Remove Formatting. Dit macro haalt zoveel mogelijk niet gebruikte HTML-tags weg. Let op! De hier behandelde importfuncties worden meestal gebruikt voor het importeren van grotere hoeveelheden documenten. Voor het importeren van één document zijn de SmartEditor- en Webeditor-macro's beter geschikt. Die macro's worden lokaal uitgevoerd en zorgen daardoor niet voor extra serverbelasting Importmogelijkheden De importfaciliteit is aanwezig bij alle Smartsite-edities. Import wordt gebruikt om een willekeurig document te importeren in de Smartsite Contents-tabel. Voor deze import wordt gebruik gemaakt van Smartsite XML. De import bestaat uit twee stappen. In de eerste stap moet een brondocument Seneca BV

113 Import-functies geconverteerd worden naar Smartsite XML. In de tweede stap wordt het naar Smartsite XML geconverteerde brondocument geïmporteerd in de Contents-tabel. Smartsite XML wordt gegenereerd op basis van de structuur van de Contents-tabel. Van een XML-bestand met de beschrijving van een boek met daaronder de naar Smartsite XML geconverteerde versie: <boek> <titel>the Lord of the Rings</titel> <subtitel>fellowship of the Ring</subtitel> <auteur>j.r.r. Tolkien</auteur> <ISBN nummer> </isbn nummer> <samenvatting>sauron, the Dark Lord, has gathered to him the Rings of Power - the means by which he will be able to rule the world. All he lacks in his plan for dominion is the Ruling Ring.</samenvatting> <inhoud>...</inhoud> </boek> <page> <title>the Lord of the Rings - Fellowship of the Ring</title> <author>j.r.r. Tolkien</author> <description>sauron, the Dark Lord, has gathered to him the Rings of Power - the means by which he will be able to rule the world. All he lacks in his plan for dominion is the Ruling Ring.</description> <body>...</body> </page> Voorbeeldcode 6-1: Conversie naar Smartsite XML Van een willekeurige XML wordt een afbeelding op de Smartsite XML gemaakt. Met het filter wordt bepaald welke informatie uiteindelijk in welke Contents velden terecht zal komen. In bovenstaand voorbeeld zien we dat het ISBN-nummer niet in de Contents tabel wordt geïmporteerd en dat titel en subtitel samengevoegd in het title veld geïmporteerd zullen worden. De broncode voor de conversie van de ondersteunde formaten naar Smartsite XML is openbaar (en beschikbaar op de supportsite); de code voor de Smartsite XML-Import naar de Contents tabel (de tweede stap) niet. Doordat de code voor de eerste stap openbaar is, is het voor Smartsite Value Added Resellers en voor eindgebruikers met een SDK-licentie mogelijk de werking van de conversie volledig af te stemmen op de specifieke kenmerken van de documenten bij de organisatie waar Smartsite wordt ingezet. Tijdens het importeren moet er een belangrijke keuze gemaakt worden, namelijk hoe wordt omgegaan met de nieuwe items. De beschikbare opties zijn: Create new items (maak nieuwe items aan) Remove all children before import (verwijder eerst alle kinderen, start daarna met importeren) Keep existing children, update newer only (behoud de bestaande kinderen, ververs daarna alleen de nieuwere) Keep existing children, always update (behoud de bestaande kinderen, ververs daarna in alle gevallen). Smartsite Content Management Server 105

114 Import en export De stappen van import zijn hieronder schematisch aangegeven: Figuur 6-1: De import-stappen Word-documenten importeren Bij het importeren van een Word-document worden tien stappen doorlopen. De wizard die wordt gebruikt om de stappen te doorlopen zal de op de server geïnstalleerde Microsoft Word 2000 gebruiken om de geselecteerde documenten als HTML op te slaan. Vervolgens wordt het resultaat opgeschoond met het Office 2000 HTML-filter om overbodige HTML-tags te verwijderen. Een bijkomend voordeel van dit filter is dat de omvang van de HTML-bestanden sterk (in het algemeen met een factor 5 tot 10) zal verminderen.! Na deze stap wordt het HTML-bestand omgezet in een XHTML-bestand. Er kan voor gekozen worden dit bestand in meerdere delen op te splitsen, waarbij elk deel uiteindelijk als een afzonderlijk Smartsite item wordt geïmporteerd. Het filter zorgt ervoor dat de Smartsite XML wordt gegenereerd die vervolgens in de Contents tabel wordt geïmporteerd. Let op! Om de actie op te starten is het noodzakelijk EERST een folder in het linkerdeel van de Smartsite Manager te kiezen en vervolgens de actie Import Word Documents te starten. Let op! Het is ook mogelijk in plaats van een Word-document een Zip-bestand te selecteren. Het Zip-bestand moet dan uiteraard Word-bestanden bevatten. Het Zip-bestand wordt automatisch uitgepakt in een tijdelijke map. Alle Word-documenten in deze tijdelijke map worden geselecteerd voor import. Voor het importeren van bestanden die lokaal (op de eigen computer, niet op de server) aanwezig zijn is het noodzakelijk dat deze bestanden (met de Seneca BV

115 Import-functies Upload-actie naar de server worden verzonden. Wat betreft het overnemen van eigenschappen uit Word is het mogelijk: helemaal geen eigenschappen uit Microsoft Word over te nemen te kiezen voor standaardeigenschappen (zoals auteur en titel) te kiezen voor het gebruik van zelf aangemaakte eigenschappen zowel zelf aangemaakte als standaardeigenschappen in de XML op te nemen. Het Word-document wordt geconverteerd naar XML die aan het algemene Smartsite XML-Import-schema voldoet. Vervolgens moet worden aangegeven hoe wordt omgegaan met bestaande kinderen binnen de parent-folder waarin de nieuwe items terechtkomen. Wanneer een Word-document voor de eerste keer wordt geïmporteerd moet altijd de optie Create as new items worden gekozen. Als het Word-document vervolgens wordt aangepast en de eerder d.m.v. import gemaakte items moeten worden vernieuwd, is het belangrijk te weten dat bestaande items aan de hand van de titel worden aangepast. De titel wordt gebruikt om de koppeling te leggen tussen de XML en de items binnen Smartsite. Let op! Zeker in de gevallen waarin één document in meerdere items wordt gesplitst is het noodzakelijk dat titels in het document niet veranderen en uniek blijven. De titels moeten zowel in het document als binnen de parent-folder uniek zijn. Let op!! Pas op met de optie Remove all children.alle kinderen van een item worden daardoor weggehaald en er is geen undo-functie beschikbaar Tekst- en HTML-documenten importeren Tekst- en HTML-documenten dienen - net als Microsoft Word documenten - eerst omgezet te worden naar XML voordat import in Smartsite mogelijk is. Bij het importeren is het mogelijk bestanden d.m.v. de actie Upload naar de server te versturen. Het converteren van tekst naar XML verloopt volledig automatisch. Vervolgens wordt de XML-Import Wizard gestart om de informatie in Smartsite op te nemen. Tijdens het converteren van HTML naar XML kan worden aangegeven of alleen de inhoud van de body moet worden opgenomen, of dat het hele HTML-document moet worden geïmporteerd. Nadat dit is aangegeven wordt de HTML in XML omgezet en de XML-Import gestart. Smartsite Content Management Server 107

116 Import en export! Let op! Het importeren van HTML-documenten is niet hetzelfde als het converteren van een website naar de Smartsite-omgeving. Let op! 6.2 Export-functies De Export-functies zijn toegankelijk via het File menu. De exportfunctionaliteit is alleen bij de Enterprise Edition aanwezig. De Export Wizard leidt de gebruiker door een aantal stappen, met de volgende vragen: Worden alleen de geselecteerde items geimporteerd of ook hun kinderen? Worden bestanden waarnaar wordt gelinkt in het item, zoals bestanden met Javascript of opmaakstijlen (CSS), ook geëxporteerd? Via welk channel worden de items geëxporteerd? Worden de items als een enkel item geëxporteerd of wordt van elk afzonderlijk item een exportbestand gemaakt? (Dit geldt alleen voor het RAW-channel) Waar worden de geëxporteerde bestanden geplaatst? Worden de exportbestanden gecomprimeerd en als zip-bestand in de doelmap geplaatst? De Advanced Settings in de Export Wizard Allereerst kunnen usernaam en wachtwoord worden ingevoerd. Standaard zullen gebruikt worden de usernaam en het wachtwoord van de gebruiker die de export verricht. Mocht deze meer rechten nodig hebben, dan kan het vinkje bij Use current account uitgezet worden en kunnen een andere usernaam en wachtwoord worden ingevuld. Deze kunnen overigens alleen bij deze export worden gebruikt. De gebruiker die de export verricht krijgt elders in de Manager uiteraard niet de rechten van de rol van deze andere gebruiker. Bij Base URL staan de gegevens van de URL van de site van waaruit de items worden geexporteerd.deze kan desgewenst worden aangepast - bijvoorbeeld een niveau verder gespecificeerd - wanneer dat handig is vanwege de structuur van de site waarin de items weer moeten worden geimporteerd. Standaard zullen de actieve items worden geexporteerd. Dat betekent dat bijvoorbeeld inactieve versies en latere versies van actieve (dus items die nog in bewerking zijn) niet zullen worden geexporteerd. Door Export CMS Version aan te vinken zullen niet de actieve versies, maar de laatste versies van elk item - dus ook inactieve versies - worden meegenomen in de export Seneca BV

117 Import-functies Door Replace item-number in URL s with item-code aan te vinken zullen de items niet met het betreffende itemnummer, maar met de itemcode worden geexporteerd. Dat vergemakkelijkt de export naar andere sites, vooropgesteld dat daarin ook vooral met itemcodes is gewerkt Importeren of verwijzen De keuze van het importeren van een document of het verwijzen (met een hyperlink of een Reference) naar het document is sterk afhankelijk van de situatie waarin Smartsite wordt ingezet. In het geval van import wordt het bestand of document omgezet in Smartsite items. In het geval van een Microsoft Word document worden ook de afbeeldingen opgenomen in Smartsite. Wanneer je verwijst naar een bestand blijft het helemaal intact; het wordt op de server geplaatst en is beschikbaar door het klikken op een link. Hieronder wordt een aantal aandachtspunten genoemd voor het maken van de keuze tussen importeren en verwijzen: Wanneer het belangrijk is dat de opmaak van een document niet wordt aangepast is het beter de Upload-actie te gebruiken en een verwijzing naar het document te maken. De bezoeker moet het document dan wel eerst downloaden (en over Microsoft Office beschikken) voor het gelezen kan worden. Ook is het niet mogelijk de inhoud van het document te doorzoeken voordat een bezoeker het op zijn eigen computer heeft staan. Het kan belangrijk zijn dat er van een bepaald document slechts één versie bestaat. In dat geval mag het niet worden geïmporteerd omdat dan altijd een kopie wordt gemaakt. Wanneer meerdere mensen het document mogen aanpassen en deze personen op het zelfde Intranet zijn aangesloten is het handig een Reference aan te maken met het pad naar het bestand. Op deze manier is het voor iedereen mogelijk het document te openen en te wijzigen. Tevens wordt een waarschuwing gegeven als het document door een tweede persoon wordt geopend. Als een document vaak wordt gewijzigd, kan een verwijzing handiger zijn omdat dan niet steeds de Import Wizard hoeft te worden doorlopen. In de gevallen dat de informatie uit het document is samengesteld uit een database (bijvoorbeeld een Excel-sheet met databasekoppeling) is het verstandig even te onderzoeken of deze gegevens ook met een SE ODBC macro zijn op te halen. In dat geval kan Smartsite de gegevens rechtstreeks lezen. Microsoft Indexserver maakt het mogelijk te zoeken binnen gerefereerde tekst, HTML- en Office-documenten. Met behulp van een plugin van Indexserver is het ook mogelijk in PDF-documenten te zoeken. Na het uploaden van een bestand is het tevens mogelijk een harde link i.p.v. een Reference op te nemen. Dit is echter af te raden omdat: Smartsite Content Management Server 109

118 Import en export Bij harde links geen meta-informatie kan worden opgeslagen Harde links niet door een macro kunnen worden gevonden (het is mogelijk een lijst met referenties weer te geven met behulp van een macro) Seneca BV

119 Hoofdstuk 7 Rechten en Security Voor een sitemanager is het ook een taak om de instellingen bij te houden die te maken hebben met de rechten die de verschillende gebruikers hebben bij het werken met de Smartsite Manager. De rechten die gebruikers hebben zijn vastgelegd in verschillende rollen. Gebruikers en rollen zijn met elkaar verbonden via groepen. In dit hoofdstuk wordt uitgelegd hoe je gebruikers, groepen en rollen beheert. Naast het regelen van de security aan de achterkant van de site, de security binnen de Smartsite Manager, is het ook van belang om de security aan de voorzijde van de site te regelen. Bepaalde delen van de site kunnen zo ingesteld zijn dat deze alleen voor geautoriseerde bezoekers toegankelijk zijn. Hoe je bepaalde delen van de site afschermt en hoe je de rechten uitdeelt om deze pagina s te mogen bezoeken wordt ook in dit hoofdstuk besproken.

120 Rechten en Security 7.1 Smartsite Console Alle instellingen die te maken hebben met het aanmaken en beheren van gebruikers, groepen, acties en rollen zijn terug te vinden in de actie Beveiliging Configureren (Configure Security) wordt gestart verschijnt er een dialoogvenster:. Wanneer deze actie Figuur 7-1: Dialoogvenster Beveiliging Configureren Aan de linkerkant van het dialoogvenster vind je in de map Smartsite Console een aantal opties die je kunt gebruiken voor het instellen van de security: Sessions Gebruikers bewerken (Edit Users) Bezoekers bewerken (Edit visitors) Groepen bewerken (Edit Groups) Rollen bewerken (Edit Roles) geeft een overzicht van de gebruikers die op dit moment van de Smartsite Manager gebruik maken. met deze opties kunnen nieuwe gebruikers worden toegevoegd. met deze opties kunnen nieuwe bezoekers worden toegevoegd (d.w.z. de rechten aan de voorkant van de site) met deze optie kunnen nieuwe groepen worden aangemaakt en kunnen rollen aan deze groepen worden toegekend. met deze optie worden rollen aangemaakt en worden acties aan de rollen toegevoegd. Tabel 7-1: Overzcht opties binnen de actie Beveiliging Configureren Seneca BV

121 Smartsite Console Actielijst bewerken (Edit Actions) Bestandsbeveiliging (File Security) CMS-statussen (CMS States) Matrix Groepen/Paden Matrix Groepen/Gebruikers Matrix Groepen/Rollen Matrix Groepen/ Contenttypes met deze optie worden acties gedefinieerd. met deze optie kunnen de verschillende paden worden gedefinieerd om aan groepen toe te kennen. Hiermee kan verder verfijnd worden wat de gebruiker wel of niet mag zien of bewerken. hiermee kan worden bepaald in welke rollen welke workflowstatussen gebruikt kunnen worden. toont een overzicht op welke delen van de server de verschillende groepen bestanden kunnen opslaan en/of lezen. toon een overzicht in matrix-vorm van welke gebruikers in welke groepen zitten. toont een overzicht van welke rollen aan welke groepen zijn gekoppeld. met deze optie kan bepaald worden in welke rollen welke contenttypes gebruikt kunnen worden. Tabel 7-1: Overzcht opties binnen de actie Beveiliging Configureren Ook op het configureren van de security is security toegepast. Dat klinkt wat eigenaardig, maar is bij nadere beschouwing logisch. Wanneer in de Smartsite Enterprise Edition gebruik wordt gemaakt van Delegated Security, dan zal bij het delegeren van rechten alleen datgene te zien zijn dat bij de rol van diegene hoort die de rechten gaat uitdelen. Dit betekent ook dat iemand met minder rechten de opties Rollen bewerken (Edit Roles) en Actielijst bewerken (Edit Actions) niet mag gebruiken, omdat hij daarmee zijn eigen security-instellingen zou kunnen aanpassen. Smartsite Content Management Server 113

122 Rechten en Security 7.2 Gebruikers aanmaken en beheren Open de actie Beveiliging Configureren (Configure Security) en klik in de Smartsite Console op Edit Users. Het rechterdeel van het scherm toont een lijst van alle gebruikers die reeds zijn aangemaakt. Voor het toevoegen en beheren zijn er een aantal opties: Icoon Omschrijving New: met deze optie maak je een nieuwe gebruiker aan. Open: met deze optie open je de gebruiker die je in de lijst hebt geselecteerd. Duplicate: Maak een kopie van een bestaande gebruiker om daarna de eigenschappen aan te passen. Delete: Verwijder de in de lijst geselecteerde gebruiker. Filter: Gebruik een filter om de getoonde lijst te filteren. Typ bijvoorbeeld de beginletter en klik op Filter. Alleen de namen van gebruikers met die beginletter worden getoond. Find. Geef een (deel van een) naam op om een gebruiker te vinden. Refresh. Gebruik deze optie om de lijst opnieuw te laden. Tabel overzicht opties binnen de actie Edit Users Wanneer je een nieuwe gebruiker aanmaakt of een bestaande gebruiker bewerkt wordt er een nieuw dialoogvenster geopend: Figuur 7-2: Een gebruiker aanmaken of bewerken Seneca BV

123 Gebruikers aanmaken en beheren Loginnaam De gebruikersnaam geeft in combinatie met het wachtwoord toegang tot de Smartsite Manager. Wachtwoord (Password) Het wachtwoord dat gebruikt wordt wanneer de gebruiker zich aanmeldt bij de Smartsite Manager. Wanneer de gegevens van een bestaande gebruiker worden bekeken staan hier tien sterretjes, ongeacht de werkelijke lengte van het ooit ingevulde wachtwoord. Volledige naam (Full Name) De volledige naam van de gebruiker. Deze kan bijvoorbeeld gebruikt worden als auteursnaam aan de voorkant van de site. adres Het adres van de gebruiker. Dit adres kan gebruikt worden om berichten aangaande de workflow van items, nieuwe taken of algemene mededelingen te doen. Gebruikersgroepen (UserGroups) Selecteer de groepen waar de gebruiker deel van uitmaakt. Een gebruiker moet in minimaal één groep zitten. Noot Het toevoegen van gebruikers aan groepen kan ook via de optie Beveiliging Configureren (Configure Security) - Groepen bewerken (Edit Groups). " Primary Group Wanneer een gebruiker maar in een groep zit, is de primaire groep gelijk aan die groep. Wanneer een gebruiker in meerdere groepen is geplaatst moet een van deze groepen als primaire groep ingesteld worden Een apart soort gebruiker: de visitor Naast de gebruikers van de Smartsite Manager is er nog een aparte groep gebruikers van de site: de bezoekers. Het hoeft niet altijd zo te zijn dat alle informatie op de site vrijelijk toegankelijk is voor alle bezoekers; bepaalde delen kunnen informatie bevatten die alleen voor een selecte groep beschikbaar is. Bezoekers worden in de databse in een aparte tabel opgeslagen. Met de actie Beveiliging Configureren (Configure Security) - Bezoekers Bewerken (Edit Visitors) bezoekers worden aangemaakt. kunnen profielen voor de verschillende Het voordeel van deze aanpak is dat een lijst van bezoekers niet de lijst van gebruikers van de Smartsite Manager vervuilt. Bezoekers worden ook in aparte groepen ingedeeld om ze te onderscheiden van de gebruikers van de Smartsite Content Management Server 115

124 Rechten en Security Smartsite Manager. Met de actie Browserechten instellen (Set Browse Access) kunnen de rechten voor de bezoekers worden ingesteld Seneca BV

125 Groepen aanmaken en beheren 7.3 Groepen aanmaken en beheren Open de actie Beveiliging Configureren (Configure Security) en klik in de Smartsite Console op Groepen bewerken (Edit Groups). Het rechterdeel van het scherm toont een lijst van alle groepen die reeds zijn aangemaakt. Noot Het Securitymodel van Smartsite is ook geldig op de actie Beveiliging Configureren (Configure Security). Dit heeft te maken met de Delegated Security. Rechten kunnen alleen doorgegeven worden door een gebruiker die die rechten zelf ook heeft en zo geldt het ook voor het aanmaken van groepen. " Voor het toevoegen en beheren van groepen zijn er een aantal opties: Icoon Omschrijving Toevoegen (New): met deze optie maak je een nieuwe groep aan. Open: met deze optie open je de groep die je in de lijst hebt geselecteerd. Kopieren (Duplicate): Maak een kopie van een bestaande groep om daarna de eigenschappen aan te passen. Verwijderen (Delete): Verwijder de in de lijst geselecteerde groep. Filter: Gebruik een filter om de getoonde lijst te filteren. Typ bijvoorbeeld de beginletter en klik op Filter die beginletter worden getoond.. Alleen de groepen met Filter Leegmaken (Empty Filter). Haalt de filtering weg, na vernieuwen verschijnt de ongefilterde lijst. Zoek (Find). Geef een (deel van een) naam op om een groep te vinden. Ver nieuwen (Refresh). Gebruik deze optie om de lijst opnieuw te laden. Tabel overzicht opties binnen de actie Groepen Bewerken Wanneer je een nieuwe groep aanmaakt of een bestaande groep wijzigt wordt er een nieuw dialoogvenster geopend: Figuur 7-3:Een bestaande groep bewerken. Naam Een unieke naam voor de groep. Voor de duidelijkheid is het handig om meervoudsvormen te gebruiken voor de groepsnamen. Hoofdredacteuren, Redacteuren, Webmasters (en Hoofdredacteuren Nieuws, Hoofdredacteuren Intranet, etc). Voor de rollen is het daarentegen handig overeenkomstige enkelvouden gebruiken. Ouder (Parent) Door het opgeven van een Parentgroep kun je een hiërarchie in de groepen aanmaken. Deze hiërarchie wordt gebruikt voor bijvoorbeeld het uitdelen van Smartsite Content Management Server 117

126 Rechten en Security rechten. Tevens heeft de hiërarchische groepsindeling invloed bij het opzetten van workflows. Figuur 7-3: Een bestaande groep bewerken ContentTypes Ken contenttypes toe aan de groep. De leden van een groep kunnen alleen items aanmaken van de contenttypes die hier geselecteerd zijn. Folder Beveiliging Overerven (Inherit Folder Security) Met de actie Manager Rechten Instellen (Set Manager Access) kan ingesteld worden welke groepen rechten hebben om in een folder items aan te maken en te bewerken. Met de actie Browse Rechten Instellen (Set Browse Access) kan worden ingesteld welke groepen aan de voorkant van de site rechten hebben om de inhoud van bepaalde folders te zien. De optie Folder Beveiliging Overerven (Inherit Folder Security) zorgt ervoor dat de toegangsrechten op andere folders die met bovenstaande acties zijn ingesteld door alle folders onder deze folder geërfd worden. Rollen (Roles) Selecteer de rollen die aan deze groep gekoppeld worden. Een gebruiker uit een groep die in die groep meerdere rollen heeft, kan deze rollen uitdelen aan anderen. Dit principe wordt Delegated Security genoemd. Leden (Members) Hier kan worden bekeken (en eventueel gewijzigd) welke Gebruikers (Users) en Bezoekers (Visitors) rechten hebben in deze Groep. Bestandsbeveiliging (File Security) Selecteer de mappen op de server die deze groep kan benaderen. Noot Wanneer je een groep definieert die speciaal is gericht op bezoekers ken je aan zo n groep natuurlijk geen rollen en paden toe. De groep is er dan puur op gericht om aan de voorkant van de site een indeling te maken om afgeschermde gedeeltes van de site te Seneca BV

127 Groepen aanmaken en beheren bezoeken. Zo n groep heeft dus geen instellingen nodig die betrekking hebben op het gebruik van de Smartsite Manager. Users Op het tabblad Users geef je aan welke gebruikers in deze groep horen. Noot Het toekennen van gebruikers aan groepen kan natuurlijk ook met de actie Beveiliging Configureren (Configure Security) - Gebruikers Bewerken (Edit Users). Het hangt af van welk overzicht je wilt hebben. Met de optie Groepen bewerken (Edit Groups) krijg je een snel overzicht welke gebruikers in een bepaalde groep zitten. Met de optie Gebruikers Bewerken (Edit Users) krijg je een snel overzicht in welke groepen een bepaalde gebruiker zit. " Voor een goed overzicht van de combinatie groepen/gebruikers, groepen/ rollen en groepen/paden kun je achtereen volgens gebruik maken van de opties Matrix - Groepen/Gebruikers, Matrix - Groepen/Rollen, Matrix - Groepen/Paden en Groepen/Contenttypes binnen de actie Configure Security. Wanneer je deze opties start wordt in het rechterdeel van het dialoogvenster een matrix getoond waarin de relaties op een heldere manier getoond worden. Figuur 7-4: Matrix m.b.t. relaties tussen groepen en rollen Smartsite Content Management Server 119

128 Rechten en Security 7.4 Rollen aanmaken en beheren Open de actie Beveiliging Configureren (Configure Security) en klik in de Smartsite Console op Rollen bewerken (Edit Roles). Het rechterdeel van het scherm toont een lijst van alle rollen die reeds zijn aangemaakt. Ook voor het beheren van rollen is er een aantal opties: Icoon Omschrijving Toevoegen (New): met deze optie maak je een nieuwe rol aan. Open: met deze optie open je de rol die je in de lijst hebt geselecteerd. Kopieren (Duplicate): Maak een kopie van een bestaande rol om daarna de eigenschappen aan te passen. Verwijderen (Delete): Verwijder de in de lijst geselecteerde rol. Filter: Gebruik een filter om de getoonde lijst te filteren. Typ bijvoorbeeld de beginletter en klik op Filter beginletter worden getoond.. Alleen de rollen met die Filter Leegmaken (Empty Filter). Haalt de filtering weg, na vernieuwen verschijnt de ongefilterde lijst. Zoeken (Find). Geef een (deel van een) naam op om een groep te vinden. Ver nieuwen (Refresh). Gebruik deze optie om de lijst opnieuw te laden. Tabel overzicht opties binnen de actie Rollen Bewerken Wanneer je een nieuwe rol gaat maken of een bestaande rol bewerkt wordt er een dialoogvenster geopend: Seneca BV

129 Rollen aanmaken en beheren Figuur 7-5: Een bestaande rol bewerken Voor een rol is een aantal instellingen nodig: Naam (Name) Een naam voor de rol. Voor rollen gebruik je, in tegenstellingen tot bij groepen, vaak enkelvoudsvormen zoals Hoofdredacteur, Redacteur, Contentmanager etc. (Let op: geen Redacteur Nieuws, want waar iemand mag werken wordt in de Groepen geregeld.) Omschrijving (Description) Een omschrijving van de rol. UserGroups Hiermee kun je de rol aan verschillende groepen toekennen. Dit kun je natuurlijk ook doen met de actie Beveiliging Configureren (Configure Security) - Groepen Bewerken (Edit Groups). Het hangt af van het overzicht dat je wenst welke actie het best uitkomt; het resultaat is gelijk. Status Rechten (Status Rights) Alle items die worden bewerkt zijn onderhevig aan een workflow. Gebruikers kunnen, afhankelijk van hun rol, bepaalde delen van de workflow aansturen door het selecteren van workflow-statussen, ook wel CMS-statussen. Deze CMS-statussen zijn dus gekoppeld aan een rol. Selecteer hier welke CMSstatussen bij deze rol horen. Hoe workflow en CMS-statussen met elkaar samenhangen en hoe je die het best aan welke rol kunt koppelen wordt nader uitgelegd in Hoofdstuk 8 Workflow. Acties (Actions) Elke rol wordt gekenmerkt door acties. De acties bepalen de mogelijkheden Smartsite Content Management Server 121

130 Rechten en Security die gebruikers hebben om binnen de Smartsite Manager bepaalde handelingen te verrichten. Welke acties je aan een bepaalde rol toekent is helemaal afhankelijk van de functie die de rol moet gaan vervullen. Een sitemanager geef je veel rechten - voor beheer en security, terwijl je een redacteur alleen die acties geeft die te maken hebben met het genereren van content. Naast acties zijn er ook privileges die je aan een rol kunt koppelen. Privileges worden door Smartsite herkend. Een privilege is niet zozeer iets wat je kunt doen, maar meer iets wat je wel of niet mag. Het belangrijkste privilege dat aan alle rollen moet worden toegekend is bijvoorbeeld Privilege - Access to Smartsite Manager. Wanneer een rol niet over dit privilege beschikt dan zal de gebruiker die over deze rol beschikt nooit in de Smartsite Manager terecht kunnen komen Seneca BV

131 Wie, waar, wat 7.5 Wie, waar, wat Wanneer alle groepen zijn gedefinieerd en aan die groepen rollen zijn toegekend is het van belang om te bepalen welke gebruiker van de Smartsite Manager waar mag werken. Ook wil je misschien bepaalde delen van de site aan de voorkant afschermen. Dan heeft niet elke bezoeker heeft het recht om die pagina s te bekijken. Voor deze instellingen kun je gebruik maken van de acties Manager Rechten Instellen (Set Manager Access) Browse Rechten Instellen (Set Browse Access). en Gebruik van de Smartsite Manager Met de actie Manager Rechten Instellen (Set Manager Access) bepaal je welke gebruikers welke delen van de site kunnen bewerken. Deze actie wordt uitgevoerd op een of meer geselecteerde folders. De rechten op folders instellen voor gebruikersgroepen: 1. Selecteer de folder(s) waarvoor je de toegangsrechten wilt aanpassen voor bepaalde gebruikersgroepen; 2. Start de actie Manager Rechten Instellen (Set Manager Access). Er wordt een nieuw dialoogvenster geopend: H Figuur 7-6: dialoogvenster vooer het instellen van folderrechten Smartsite Content Management Server 123

132 Rechten en Security 3. Selecteer de groepen waarvoor je de nieuwe rechten wilt instellen; 4. Selecteer welke rechten je de geselecteerde groepen wilt geven op de geselecteerde folders; 5. Maak een keuze of je deze instellingen wilt uitvoeren op de geselecteerde folders of dat deze instellingen ook van toepassing zijn op alle subfolders van de geselecteerde folders; 6. Klik op Finish om de nieuwe instellingen door te voeren; 7. Klik nu op Back om voor andere groepen instellingen op de geselecteerde folders in te stellen. Let op! Je kunt vier verschillende instellingen aan folders meegeven: Optie Geen toegang (None) Bekijken (List) Toevoegen (Show Folder) Wijzigen (Edit) Omschrijving De geselecteerde groepen hebben geen enkele rechten meer op de folders. De folders zijn derhalve niet meer zichtbaar voor deze groepen. De geselecteerde groepen kunnen wel de hiërarchie van de folders en items zien, maar kunnen geen items aanmaken of bewerken. Gebruikers uit de geselecteerde groepen kunnen de hiërarchie van folders en items zien en kunnen onder de folders items en nieuwe folders aanmaken. De folder waarop deze rechten toegekend zijn, kan echter niet worden bewerkt. Gebruikers uit de geselecteerde groepen kunnen alle handelingen uitvoeren op de folders. Tabel 7-5: Instellingen voor folder-security De gebruikersgroepen waarvoor de instellingen zijn gedaan kunnen deze instellingen herkennen aan een icoontje: Een gebruiker mag alleen bladeren door folders maar heeft geen rechten om items aan te maken of te bewerken. Dit wordt aangegeven met een rood icoontje achter de folders en items; Een gebruiker mag door folders bladeren en mag items aanmaken, maar niet bewerken. Dit wordt aangegeven met een geel icoontje folders en items. achter de Een overzicht van de rechten die de verschillende gebruikersgroepen hebben om bepaalde delen van de site te kunnen bewerken krijg je met behulp van de actie Toegangsrechten bekijken (View Access Permissions). Voordat je deze actie start, selecteer je eerst de folders waarvan je een overzicht wilt hebben. Als je dan deze actie start krijg je een matrix te zien die de relatie tussen groepen en folderrechten weergeeft: Seneca BV

133 Wie, waar, wat Figuur 7-7: Overzicht van folderrechten van de gebruikersgroepen Bladeren door de site Het kan wenselijk zijn om bepaalde delen van de site alleen toegankelijk te laten zijn voor een geselecteerde groep bezoekers. De bezoekers van een site kunnen we in eerste instantie in twee groepen onderscheiden: Bezoekers van de eigen organisatie die ook met de Smartsite Manager werken; Bezoekers die geen relatie hebben met de organisatie en/of die niet met de Smartsite Manager mogen werken. Wanneer bepaalde delen van de site afgeschermd moeten worden doe je dat door dat gedeelte van de site restricted te maken en aan bepaalde groepen het recht te geven om door dat afgeschermde deel te bladeren. Alle gebruikers die gebruik maken van de Smartsite Manager zijn al onderverdeeld in groepen. Deze groepen kunnen direct gebruikt worden om toegang te verlenen tot het afgeschermde gedeelte. Bezoekers kunnen als een apart soort User worden aangemaakt (7.2.1 Een apart soort gebruiker: de visitor). Daarnaast kunnen deze gebruikers dan worden geplaatst in een aparte groep. Noot Gebruikersgroepen die het recht hebben om het deel van de site te bewerken m.b.v. de Smartsite Manager hebben automatisch het recht om door dat deel van de site te bladeren, ook wanneer de instellingen voor dat deel van de site op restricted zijn gezet. " Smartsite Content Management Server 125

134 Rechten en Security H Om een deel van de site af te schermen: 1. Selecteer de folders die moeten worden afgeschermd; 2. Start de actie Browse Rechten Instellen (Set Browse Access). Er wordt een dialoogvenster geopend: Figuur 7-8: Browserechten voor de site instellen 3. Selecteer als Actie (Action) de optie Beveiliging Zetten (Set security); 4. Selecteer de groepen die je toegang wilt geven tot een bepaald deel van de site; 5. Zet de Beveiligingsrechten (Security Rights) op Browse rechten zetten; 6. Maak een selectie of deze instelling ook voor alle subfolders geldt of alleen voor de geselecteerde folders; 7. Klik op Finish. Let op! Wanneer deze actie is uitgevoerd, wordt voor alle items en folders die geselecteerd zijn de de waarde van het veld Restricted aangezet. Tegelijkertijd wordt er voor de geselecteerde groepen een uitzondering vastgelegd dat zij deze tot pagina s gerenderde folders en items aan de voorkant van de site mogen bezoeken. Wanneer een gebruiker uit de geselecteerde groepen naar de bewuste pagina bladert, dan zal hij een inlogscherm te zien krijgen waar in de inlognaam en het wachtwoord moet worden opgegeven Seneca BV

135 Wie, waar, wat Wil je bepaalde groepen niet langer het recht geven om het afgeschermde deel van de site te bekijken, dan herhaal je de actie Browse Rechten Instellen (Set Browse Access) maar zet je in stap 5 de waarde van Beveiligingsrechten (Security Rights) op Browse Rechten verwijderen (Remove Browse Access). De geselecteerde gebruikersgroepen hebben dan geen recht meer om door het afgeschermde deel van de site te bladeren. Wil je de afscherming in zijn geheel verwijderen, dan herhaal je de actie Browse Rechten Instellen (Set Browse Access) op die folders waarvan je de restrictie wilt verwijderen. Selecteer dan in stap 3 in Actie (Action) de optie Verwijderen Beveiliging (Remove security). Nu wordt de restrictie-vlag van alle items en folders verwijderd en zijn de geselecteerde delen van de site weer vrij toegankelijk voor eenieder om doorheen te bladeren. Noot De actie Meerdere Items Aanpassen (Update) geeft ook de mogelijkheid om de restrictie-vlag van folders en items aan te zetten. Je hebt dan echter wel aangegeven dat een deel van de site afgeschermd is, maar je hebt nog niet vastgelegd welke groepen dat deel van de site mogen bezoeken. Daarvoor moet je alsnog de actie Browse Rechten Instellen (Set Browse Access) uitvoeren. " Smartsite Content Management Server 127

136 Rechten en Security Seneca BV

137 Hoofdstuk 8 Workflow In dit hoofdstuk wordt een uitgebreide uitleg gegeven over workflow binnen Smartsite. Deze kennis is voornamelijk bedoeld als achtergrondinformatie die moet leiden tot een beter inzicht in de mogelijkheden. Workflow is verweven met de security-instellingen van Smartsite. Elke rol heeft een aantal workflowstatussen. Deze statussen maken het mogelijk om een Transition te starten van de ene naar de andere Activity. Bij het lezen zul je dus een goed inzicht moeten hebben in het securitymodel, en dan met name met betrekking tot rollen en de hiërarchische groepsindeling. Workflow is complex. Zoals gezegd is dit hoofdstuk bedoeld als achtergrondinformatie. Het is geen aanmoediging om zomaar wijzigingen aan te brengen in een bestaande workflow. Bij de opzet van de site is daar immers uitgebreid aandacht aan besteed. Wanneer het securitymodel binnen de site niet ingrijpend verandert is het niet nodig om wijzigingen in een workflow aan te brengen.

138 Workflow 8.1 Definitie Workflow Binnen Smartsite zijn er twee soorten workflow te onderscheiden: CMS-workflow Application Workflow Wanneer je in abstracte zin een definitie van workflow geeft zou deze er zo uit kunnen zien: Workflow is een IT-technologie die gebruik maakt van elektronische systemen om bedrijfsprocessen te beheren en te monitoren. Workflow maakt het mogelijk om de coordinatie van het pad, dat een werk tussen de verschillende personen en/of afdelingen aflegt, te definiëren en te volgen. Deze definitie laat meteen al een aantal kenmerken zien: Er wordt een afgebakende eenheid van werk gevolgd; Het werk doorloopt een keten van stappen langs een verzameling van personen en/of afdelingen; De keten van stappen volgt uit de bestaande bedrijfsprocessen; Het proces kan door het gebruik van een elektronisch systeem gevolgd en beheerd worden. Een simpeler definitie zou kunnen zijn: De workflow is de reeks stappen die content moet doorlopen op weg naar publicatie. Binnen Smartsite is het stuk werk dat gevolgd moet worden een item. Het item is binnen de gehele workflow een atomaire eenheid; het item kan niet in stukken gehakt kan worden, maar moet in zijn totaliteit het gehele workflow proces doorlopen, en kan zich op enig moment maar op een plek in de workflow bevinden. Het item doorloopt dus in zijn geheel een keten van stappen langs een aantal personen en/of afdelingen. Binnen Smartsite zijn deze personen en afdelingen vastgelegd met behulp van de security-instellingen. De indeling in gebruikers, gebruikersgroepen en rollen, die vaak al is gemodelleerd volgens de bestaande bedrijfshierarchie, wordt binnen de workflow als basis gebruikt om de paden te bepalen die een item kan afleggen. Vooral de hierarchie die in de groepen is aangebracht speelt een belangrijke rol in het workflowproces. De workflow van items kan beheerd en gevolgd worden. Te allen tijde kan de workflowstatus van een item, binnen Smartsite ook wel CMS-status genoemd, bekeken worden. Deze workflowstatus wordt vaak al in het viewvenster achter het item weergegeven. Verder kun je gebruik maken van de actie Workflow Beheren (Manage Workflow) van een item te monitoren en te beheren. om de workflow Internationaal is er de laatste jaren getracht om het workflow-proces te standaardiseren. Het Workflow Managment Consortium (WfMC) heeft zich Seneca BV

139 Definitie Workflow als organisatie opgeworpen om deze standaard vorm te geven. Dat heeft geleid tot een definitie die is vastgelegd in een nieuwe taal: XML Processing Description Language (XPDL). XPDL is een op XML gebaseerde taal waarin alle aspecten die met workflow te maken hebben zijn vastgelegd in een internationale standaard. Smartsite heeft deze internationale standaard omarmd en maakt voor het definieren van de workflow binnen Smartsite gebruik van een subset van XPDL. Omdat deze taal is gebaseerd op XML is de subset die Smartsite gebruikt eenvoudig te vertalen naar een algemene, op XPDL gebaseerde workflow en vice versa. Noot Voor meer informatie over het WfMC kun je terecht op " Smartsite Content Management Server 131

140 Workflow 8.2 Hoe werkt workflow Een workflow is opgebouwd uit elementen van het type Activity (Activiteit) en Transition (Overgang). Wanneer we kijken naar een simpele workflow zoals in onderstaand schema, dan kunnen we daarin een vijftal elementen van het type Activitiy onderscheiden: Start Assign Edit Activate Complete Figuur 8-1: Een eenvoudige workflow Tussen deze vijf activiteiten zijn er vier overgangen. Er is een vijfde Transition toegevoegd die direct een overgang toestaat van de activiteit Start naar de activiteit Complete. Deze verzameling van Activities en Transitions beschrijft de workflow die een item moet doorlopen vanaf het moment dat het wordt aangemaakt tot het moment dat het wordt geactiveerd. Voordat een item naar een nieuwe Activity kan gaan, moet eerst de huidige Activity zijn afgerond. Binnen Smartsite zijn veel activiteiten afhankelijk van de gebruikers. De Activity Edit betekent bijvoorbeeld dat er door een gebruiker informatie aan een item moet worden toegevoegd. De verantwoordelijkheid voor het afronden van deze activiteit ligt dus geheel in handen van die gebruiker die met het item bezig is. Dat betekent ook dat alleen die gebruiker een bepaalde activiteit kan afronden en het item naar de volgende activiteit kan sturen. De workflow op items is daarmee geen autonoom proces; er is interactie van de gebruikers vereist om het proces aan te sturen. In welke richting het proces kan worden gestuurd wordt en wie dat doet, wordt bepaald door de definitie van de workflow en de daarin vastgelegde Activities en Transitions. " Noot Er zijn overigens wel delen van een workflow die als autonoom proces kunnen worden gedefinieerd. Vaak zal zo n autonoom proces echter eindigen bij iemand die een controle uitvoert op het uitgevoerde proces, zodat op dat moment weer een gebruikersinteractie plaatsvindt Seneca BV

141 Hoe werkt workflow CMS-statussen Voor de interactie van de gebruiker met de workflow zijn er binnen Smartsite zogenaamde CMS-statussen gedefinieerd. De CMS-statussen zijn gedefinieerd in de tabel Status in de Smartsite database: Nr. Naam -3 Scheduled -2 Busy Editing -1 Archived 0 Active 1 Prepublished 2 Deleted 3 Template 10 Assigned 11 Unassigned Tabel 8-1: CMS-statussen binnen Smartsite Er zijn twee soorten CMS-statussen te onderscheiden: Allereerst zijn er CMS-statussen die worden gebruikt om de publicatiestatus van een item te beschrijven: Nr. Naam Omschrijving -1 Archived Het item is gearchiveerd. 0 Active Het item is actief. 1 Prepublished Het item is nog nooit actief geweest. 2 Deleted Het item is verwijderd. 3 Template Het item is een sjabloon voor andere items van hetzelfde contenttype. Tabel 8-2: CMS-statussen voor publicatie Deze statussen hebben dus betrekking op de gepubliceerde versie van een item en worden derhalve in het veld Status van de Contents-tabel opgeslagen. Daarnaast zijn er CMS-statussen die worden gebruikt voor de workflow van een nieuwe versie van een item: Nr. Naam Omschrijving -3 Scheduled De versie wordt op opgegeven datum actief. -2 Busy Editing De versie is in behandeling. 0 Active De versie is actief. Tabel 8-3: CMS-statussen voor workflow Smartsite Content Management Server 133

142 Workflow Nr. Naam Omschrijving 10 Assigned De versie is toegekend aan een gebruiker of een gebruikersgroep. 11 Unassigned De versie is aan niemand toegekend. Tabel 8-3: CMS-statussen voor workflow Deze statussen, die betrekking hebben op de workflow en die van toepassing zijn op een nieuwe versie van een item worden in het veld Status van de ContentVersions-tabel opgeslagen.! De CMS-statussen kunnen met de actie Beveiliging Configureren (Configure Security) - CMS-Statussen beheerd en bewerkt worden. Met behulp van deze actie kun je ook je eigen CMS-statussen toevoegen aan de Status-tabel uit de Smartsite database die vervolgens weer binnen een workflow gebruikt kunnen worden. Je kunt alleen statussen toevoegen die op workflow van toepassing zijn. Let op! De CMS-statussen zoals die gedefinieerd zijn in Tabel 4-1 -CMS-statussen binnen Smartsite zijn de systeem-statussen. Deze mogen niet verwijderd worden omdat zij anders de werking van Smartsite nadelig kunnen beïnvloeden. Let op! CMS-Statussen en interactie Hoe sturen de CMS-statussen nu het workflow-proces aan? Wanneer een item wordt aangemaakt zal Smartsite, op basis van het contenttype waarop het item is gebaseerd, een workflow aan het item verbinden. In de definitie van het content-type is namelijk vastgelegd wat de standaard workflow is die bij dit content-type hoort. Direct daarna zal Smartsite de workflowstatus van het item op Assigned zetten. Het item wordt toegekend aan de gebruiker die het item opent. Daarvoor worden in de Contents-tabel de velden AssignedUserID en AssignedGroupID gevuld met de waarden die behoren bij de betreffende gebruiker. Deze waarden zorgen ervoor dat die gebruiker de verantwoordelijkheid over het item houdt tijdens het verdere proces dat het item met behulp van de workflow doorloopt. In de dropdownlijst die de verschillende workflow-statussen weergeeft, zou je nu de term Assigned zien. De activiteit waarin het item zich nu bevindt is Assign. " Assigned Noten Formeel gesproken bevindt het item zich nu in de activiteit Assign en is de workflowstatus van het item. Praktisch gezien zitten we nu al in de Seneca BV

143 Hoe werkt workflow activiteit Edit en zou de workflowstatus van het item Busy Editing moeten zijn. De activeit Assign is echter nodig om het workflow-proces in gang te kunnen zetten. We zullen later zien hoe we de informatie over deze activiteit voor de gebruikers kunnen verhullen en hoe we direct naar de activiteit Edit kunnen springen. Echter, in het kader van dit voorbeeld doen we de werkelijkheid enigszins geweld aan; Een bestaand item kan ook aan iemand worden toegekend met de actie Workflow Zetten (Set Workflow). Met deze actie geef je aan welke workflow van toepassing is en welke groep of gebruiker de verantwoordelijkheid over het item krijgt. Om nu in de activiteit Edit terecht te komen maken we gebruik van een workflowstatus. De dropdownlijst geeft altijd de huidige workflowstatus van een item weer en de eerstvolgende workflowstatus. Wanneer het item wordt opgeslagen met de workflowstatus die het item op dat moment heeft, blijft het item in dezelfde activiteit. Kies je de eerstvolgende workflowstatus, dan wordt een overgang in gang gezet van de ene activiteit naar de volgende activiteit. Noten De lijst wordt gevoed door de workflow-engine. Deze workflow-engine kijkt alleen vooruit. Dat betekent dat alleen die statussen worden weergegeven die na de huidige workflowstatus komen plus de huidige workflowstatus; In de dropdownlijst van mogelijke workflowstatussen die aan een item kunnen worden toegekend kunnen ook meer workflowstatussen dan alleen de huidige en de eerstvolgende status worden weergegeven. Dit heeft te maken met een zogenaamd Extended Attribute van een Activity, waarop later wordt teruggekomen; Welke workflowstatussen er voor een gebruiker zichtbaar zijn in het lijstje wordt ook bepaald door de rol die de gebruiker heeft. Deze instellingen doe je met de actie Configure Security - Edit Roles. " De workflowstatus die is gekoppeld aan de Transition met id = 2, van activiteit Assign naar de activiteit Edit, is de status Busy Editing. Wanneer deze workflowstatus wordt gekozen en het item wordt opgeslagen, zal het item zich de eerstvolgende keer dat het geopend wordt, in de activiteit Edit bevinden. Wanneer het item wordt geopend in de activiteit Edit dan zullen er weer twee workflow-statussen worden weergegeven: Busy Editing, de huidige status, en Active, de eerstevolgende status. Wanneer een gebruiker alle informatie aan het item heeft toegevoegd zet hij de status van het item op Active en slaat het item op. Door het kiezen van deze workflowstatus wordt er binnen de workflow een overgang bewerkstelligd van de activiteit Edit naar de activiteit Activate. Aan de laatste Transition, de Transition met id = 4, van Activate naar Complete is geen workflowstatus toegekend. Omdat deze Transition niet afhankelijk is van een interactie van een gebruiker zal de workflow-engine van Smartsite deze stap automatisch nemen. In de activiteit Complete is nu een actie opgenomen die deze versie van het item publiceert. De informatie van deze versie van het item worden gekopieerd van de tabel Smartsite Content Management Server 135

144 Workflow ContentVersions naar de Contents-tabel. De workflowstatus van het item wordt Active. " Noot Activiteiten kunnen worden ondersteund door acties. Deze acties automatiseren bepaalde handelingen zoals bijvoorbeeld het aanmaken van taken, het versturen van mail, het kopiëren van informatie van de ContentVersions-tabel naar de Contents-tabel, etc. Wat we in bovenstaand voorbeeld gezien hebben is het volgende: Door het veranderen van de workflowstatus van een item wordt een Transition in gang gezet die het item bij een nieuwe activiteit brengt. De workflowstatus geeft tevens aan in welke activiteit van de workflow het item zich op dat moment bevindt; Wanneer een Transition niet gekoppeld is aan een workflowstatus, dan zal de workflow-engine alle volgende stappen automatisch uitvoeren totdat er een Transition wordt bereikt die interactie van de gebruiker vereist of totdat de workflow voorbij is; Binnen activiteiten kunnen acties gedefinieerd worden die een aantal handelingen kunnen automatiseren. Deze acties zijn speciale workflowcomponenten die de IWorkflowComponent Interface implementeren en derhalve ook zelf te maken zijn Seneca BV

145 Analyse Workflow 8.3 Analyse Workflow We gaan de Default workflow analyseren. Deze standaardworkflow is de workflow waar Smartsite op terugvalt wanneer er aan een item geen andere workflow is toegekend: Figuur 8-2: Smartsite Default workflow Smartsite Content Management Server 137

146 Workflow De code van de Default workflow ziet er als volgt uit: <?xml version="1.0" encoding="utf-8"?> <WorkflowProcesses> <WorkflowProcess Id="1" Name="Default Publication Workflow AccessLevel="PUBLIC"> <Activities> <Activity Id="1" Name="start"> <Implementation/> </Activity> <Activity Id="2" Name="Assign"> <ExtendedAttribute Name="TransitionEndPoint" Value="False"/> <Implementation/> </Activity> <Activity Id="3" Name="Edit"> <ExtendedAttribute Name="TransitionMode" Value="Optional"/> <Implementation/> </Activity> <Activity Id="4" Name="Activate"> <Implementation/> </Activity> <Activity Id="99" Name="Complete"> <Implementation> <Action Type="UnAssign"/> </Implementation> </Activity> </Activities> <Transitions> <Transition Id="1" From="1" To="2"> <Condition Type="STATUSCHANGE">ASSIGNED</Condition> </Transition> <Transition Id="2" From="2" To="3"> <Condition Type="STATUSCHANGE">Busy Editing</Condition> </Transition> <Transition Id="3" From="3" To="4"> <Condition Type="STATUSCHANGE">ACTIVE</Condition> </Transition> <Transition Id="4" From="4" To="99"/> <Transition Id="5" From="1" To="99"> <Condition Type="STATUSCHANGE">UNASSIGNED</Condition> </Transition> </Transitions> </WorkflowProcess> </WorkflowProcesses> Voorbeeldcode 8-1: Default workflow Workflows worden in Smartsite helemaal in XML geschreven. De opbouw van het XML-document is vastgelegd in een zogenaamde XML Schema Definition (XSD). Dat betekent dat de verschillende elementen van het XML-document aan bepaalde randvoorwaarden moeten voldoen die in het schema zijn vastgelegd. Het Workflow Management Consortium (WfMC) heeft zich de afgelopen jaren sterk gemaakt voor het standaardiseren van workflows. Dat heeft geleid tot het zogenaamde XML Processing Description Language (XPDL). Dit is een op XML gebaseerde taal waarin alle definities die gebruikt kunnen worden binnen een XPDL-document zijn vastgelegd in een schema. Door bij de opbouw van een XPDL-document de regels uit het schema te volgen creëer je een workflow volgens de internationale standaard Seneca BV

147 Analyse Workflow Het schema dat Smartsite gebruikt voor de workflows is een subset van het schema dat bij een XPDL-document hoort. Niet alle in dat internationale schema gedefinieerde elementen konden een praktische toepassing vinden binnen Smartsite. Omdat er sprake is van een subset van het internationale XPDL-schema kan een workflow die in Smartsite is gedefinieerd echter eenvoudig worden omgezet naar het XPDL-formaat De basis van een workflow Een workflow bestaat uit activiteiten (Activity) en overgangen (Transition). Wanneer we de default workflow ontdoen van een groot deel van de code zien we meteen de basisstructuur van de workflow: <?xml version="1.0" encoding="utf-8"?> <WorkflowProcesses> <WorkflowProcess Id="1" Name="Default Publication Workflow AccessLevel="PUBLIC"> <Activities>... </Activities> <Transitions>... </Transitions> </WorkflowProcess> </WorkflowProcesses> Voorbeeldcode 8-2: Default workflow ( uitgekleed ) Bovenstaand uittreksel van de Smartsite workflow kunnen we ook als volgt weergeven: Figuur 8-3: Basis van een Smartsite workflow Hieruit kunnen we aflezen dat er binnen het element WorkflowProcesses 0 tot oneindig veel afzonderlijke elementen van het type WorkflowProcess kunnen worden gedefinieerd. Elk element van het type WorkflowProcess bestaat weer uit een verzameling van 0 tot oneindig elementen van het type Activity en Transition. Smartsite Content Management Server 139

148 Workflow Binnen een Smartsite workflow is er altijd minimaal één element van het type WorkflowProcess. Uit de voorgaande voorbeeldcode van een default workflow ( uitgekleed ) kunnen we aflezen dat het element WorkflowProcess een aantal attributen heeft. Een van deze is het attribuut AccessLevel. Wanneer er meerdere WorkflowProcess-elementen worden gedefinieerd dan mag altijd maar een van deze elementen het attribuut AccessLevel = PUBLIC hebben. De overige elementen hebben dan het attribuut AccessLevel = PRIVATE. Het nut van meerdere elementen van het type WorkflowProcess is dat je delen van een uitgebreide workflow kan onderbrengen in een zogenaamde subflow. Binnen de publieke workflow wordt dan een sprong gemaakt naar een subflow (AccessLevel = PRIVATE). Wanneer de sublow is afgerond keert deze terug naar de basis-workflow (AccessLevel = PUBLIC) en wordt het proces daar voortgezet. Het element WorkflowProcess bevat twee elementen: Activities en Transitions. Per element WorkflowProcess kunnen deze elementen maar een keer voorkomen. Binnen het element Activities worden de afzonderlijke activiteiten gedefinieerd. Binnen het element Transitions liggen de definities van de overgangen vast De definitie van activiteiten Activiteiten zijn de verschillende stappen binnen het workflow-proces. Elke activiteit wordt als element Activity gedefinieerd binnen het element Activities.... <Activities> <Activity Id="1" Name="start"> <Implementation/> </Activity> <Activity Id="2" Name="Assign"> <ExtendedAttribute Name="TransitionEndPoint" Value="False"/> <Implementation/> </Activity> <Activity Id="3" Name="Edit"> <ExtendedAttribute Name="TransitionMode" Value="Optional"/> <Implementation/> </Activity> <Activity Id="4" Name="Activate"> <Implementation/> </Activity> <Activity Id="99" Name="Complete"> <Implementation> <Action Type="UnAssign"/> </Implementation> </Activity> </Activities>... Voorbeeldcode 8-3: Activiteiten binnen een workflow Seneca BV

149 Analyse Workflow Het element Activities bevat dus een verzameling van alle activiteiten die binnen het workflow-proces plaatsvinden. De activiteiten hoeven niet per se chronologisch te zijn gedefinieerd. De volgorde waarin de activiteiten worden uitgevoerd wordt namelijk bepaald door de Transitions. We kunnen die code ook weergeven in een diagram: Figuur 8-4: diagram van de activiteiten binnen workflow Een Activity element heeft twee attributen: Id en Name. Het Id-attribuut is een verplicht attribuut voor een Activity. Dit attribuut wordt namelijk gebruikt binnen een Transition om aan te geven welke activiteiten door een Transition worden verbonden. Het attribuut Name dient om een Activity te voorzien van een duidelijke naam Uitgebreide attributen voor activiteiten Aan een Activity kunnen elementen van het type ExtendedAttribute worden toegevoegd. Deze elementen worden gebruikt om extra, uitgebreide attributen aan een activiteit toe te voegen die de werking van de activitieit beïnvloeden. Noot Elementen van het type ExtendedAttribute kunnen ook binnen andere elementen worden gedefinieerd. Het ExtendedAttribute-element wordt gebruikt om aan een element complexe attributen mee te geven. " Een ExtendedAttribute-element bevat verder geen elementen. Het ExtendedAttribute-element heeft echter wel twee eigen attributen. De attributen van het ExtendedAttribute vormen een naam-waarde-paar. Het eerste attribuut is de Name. Deze is verplicht voor een ExtendedAttribute. Het tweede attribuut is Value. Het Activity-element kent twee elementen van het type ExtendedAttribute: TransitionMode TransitionEndPoint Smartsite Content Management Server 141

150 Workflow Het uitgebreide attribuut TransitionEndpoint Wanneer een item wordt geopend bevindt het zich in een bepaalde activiteit. Bij die activiteit hoort een workflowstatus. Wanneer het item wordt opgeslagen met diezelfde workflowstatus dan blijft het item in die activiteit. Wordt er een volgende workflowstatus gekozen dan wordt een overgang in werking gesteld en springt het item naar de volgende status. Het is niet altijd wenselijk om een item weer op te slaan met de workflowstatus die het item op dat moment heeft. Dat betekent immers dat het item zich op dat moment nog steeds binnen die activiteit bevindt. Acties die aan die activiteit gekoppeld zijn worden dan ook weer opnieuw uitgevoerd. Voorbeeld Een workflow bevat de volgende activiteiten en workflowstatussen: Activiteit Edit ToBeApproved Approving IsApproved Workflow-status Busy Editing Ready for Approval Busy Approving Approved Tabel 8-4: Een deel van een uitgebreide workflow Als het item wordt opgeslagen met de workflowstatus Ready for Approval, springt de workflow naar de activiteit ToBeApproved. Binnen deze activiteit is er een actie opgenomen die een aantal mensen op de hoogte brengt dat er een item klaar staat voor goedkeuring. Wanneer een van hen het item opent, dan moet die gebruiker ook daadwerkelijk met het item aan de slag. Deze gebruiker mag het item niet meer opslaan met de workflowstatus Ready for Approval, want dan blijft het item in de activiteit ToBeApproved en krijgt dezelfde groep mensen opnieuw een bericht dat dat item klaar staat voor goedkeuring. De gebruiker die het item geopend heeft mag het item dus alleen opslaan met de workflowstatus Busy Approving. De workflowstatus Ready for Approval mag niet meer zichtbaar zijn. Om de mogelijkheid uit te sluiten dat een item wordt opgeslagen met dezelfde workflowstatus als waarmee het wordt geopend, wordt gebruik gemaakt van het ExtendedAttribute TransitionEndPoint = False <Activity Id="2" Name="Assign"> <ExtendedAttribute Name="TransitionEndPoint" Value="False"/> </Activity> Voorbeeldcode 8-4: het ExtendedAttribute TransitionEndPoint Seneca BV

151 Analyse Workflow Binnen de Default Workflow wordt dit ExtendedAttribuut gebruikt voor de activiteit Assign. Wanneer een item wordt aangemaakt, kent Smartsite direct de in het contenttype gedefinieerde workflow toe en springt naar de eerste activiteit Assign. Wanneer een van de gebruikers aan wie het item is toegekend het item opent, mag deze het niet meer opslaan binnen die activiteit. De workflowstatus Assigned wordt daarom niet meer getoond. De geselecteerde workflowstatus is automatisch de eerstvolgende: Busy Editing. Bij het opslaan van het item vindt dus de overgang plaats van de activiteit Assign naar de activiteit Edit Het uitgebreide attribuut TransitionMode Een workflow wordt stap voor stap doorlopen. Wanneer het item zich binnen een activiteit bevindt kan het item alleen naar de volgende activiteit springen. Wanneer het item is geopend geeft de lijst van workflowstatussen alleen de huidige status en de eerstvolgende status weer. Als het item wordt opgeslagen en de eerstvolgende workflowstatus is geselecteerd wordt er een Transition in gang gezet en zal het item naar de volgende activiteit in de workflow springen. Bij het opnieuw openen van het item ben je dan met die activiteit bezig. Voorbeeld Stel dat je een workflow hebt met een n-tal activiteiten: AC1, AC2, etc. Deze activiteiten worden verbonden door de overgangen TR0-1, TR1-2, TR2-3, TR3-4, etc. workflowstatus bij openen item Huidige activiteit binnen workflow Te kiezen workflowstatussen TR0-1 AC1 TR0-1 TR1-2 TR1-2 AC2 TR1-2 TR2-3 TR2-3 AC3 TR2-3 TR3-4 etc. workflowstatus bij opslaan item TR1-2 TR2-3 TR3-4 Tabel 8-5: een workflow doorlopen Nieuwe activiteit binnen workflow AC2 AC3 AC4 Elke keer dat het item wordt geopend kun je dus alleen kiezen uit de huidige workflowstatus - waardoor er niets verandert wanneer het item daarmee wordt opgeslagen - en de eerstvolgende workflowstatus - waarmee het item naar de volgende activiteit in de workflow springt. Je kunt je voorstellen dat het wenselijk zou kunnen zijn om een belangrijke gebruiker (bijvoorbeeld een contentmanager) de mogelijkheid te geven om direct van bijvoorbeeld activiteit AC1 naar activiteit AC6 te laten springen. De tussenliggende stappen, bijvoorbeeld controles door anderen, kunnen heel belangrijk zijn. De contentmanager is echter zelf het laatste controlepunt en kan daarom besluiten om de tussenliggende controles over te slaan. Smartsite Content Management Server 143

152 Workflow Het verspringen naar een activiteit die verderop in de keten van stappen van de workflow ligt, kan alleen als de bij die activiteit behorende workflowstatus ook zichtbaar is wanneer het item getoond wordt; de contentmanager moet die workflowstatus kunnen kiezen en het item daarmee opslaan om in die activiteit terecht te komen. Om dit mogelijk te maken maak je gebruik van het element ExtendedAttribute met de naam TransitionMode. Het ExtendedAttribute TransitionMode kan twee waarden aannemen: Connectable Optional Door gebruik te maken van deze ExtendedAttributes laat je de workflowengine verder vooruit kijken. De workflow-engine ziet nu niet alleen de workflowstatus die bij de volgende activiteit hoort, maar - indien die volgende activiteit het ExtendedAttribute TransitionMode = Connectable/ Optional heeft - ook de workflowstatus van de daaropvolgende activiteit. Wanneer die volgende activiteit ook het element ExtendedAttribute TransitionMode = Connectable/Optional heeft wordt de workflowstatus van de daaropvolgende activiteit ook weer getoond. Dit gaat zo verder totdat er een activiteit komt die niet meer voorzien is van het ExtendedAttribute TransitionMode = Connectable/Optional <Activity Id="3" Name="Edit"> <ExtendedAttribute Name="TransitionMode" Value="Optional"/> </Activity> Voorbeeldcode 8-5: Het ExtendedAttribute TransitionMode De waarden die het ExtentedAttribute TransitionMode kan aannemen, Connectable en Optional, maken het dus mogelijk om direct naar een verder in de workflow liggende activiteit te springen. Het verschil tussen de waarde Connectable en Optional is dat bij de waarde Connectable alle acties die in tussenliggende activiteiten zijn geïmplementeerd ook worden uitgevoerd. Wanneer de waarde Optional is worden de binnen de activiteit gedefinieerde acties niet uitgevoerd. Binnen de default workflow is de activiteit Edit voorzien van het ExtendedAttribute TransitionMode = Optional. Wanneer een item wordt aangemaakt bevindt zich het in de activiteit Assign. Omdat de activiteit Assign is voorzien van een ExtendedAttribute TransitionEndPoint = False, zal het item niet meer de workflowstatus Assigned laten zien maar alleen de workflowstatus Busy Editing. Omdat de activiteit Edit het ExtendedAttribute TransitionMode = Optional heeft wordt ook de workflowstatus van de daaropvolgende activiteit (Activate) getoond: Active. Na het aanmaken van een item kan de gebruiker het item dus opslaan met de workflowstatus Busy Editing of met de workflowstatus Active Seneca BV

153 Analyse Workflow Acties binnen Activiteiten Binnen een activiteit kunnen een aantal acties worden uitgevoerd. Je kunt hierbij denken aan het sturen van berichten, het aanmaken van taken, het importeren of exporteren van een item etc. In de default workflow wordt er een actie, UnAssign, uitgevoerd binnen een activiteit Complete: <Activity Id="99" Name="Complete"> <Implementation> <Action Type="UnAssign"/> </Implementation> </Activity> Voorbeeldcode 8-6: Acties binnen een workflow Uit het diagram van de activiteiten binnen de workflow hiervoor, kun je aflezen dat een een element van het type Actie (Action) binnen het element Implementation wordt gedefinieerd. Het element Implementation heeft geen attributen. Er kunnen binnen het element Implementation meerdere elementen van het type Action worden gedefinieerd. De opbouw van een action kun je aflezen uit Figuur 4-5 -diagram van het element Action. Het element action heeft een verplicht attribuut Type en kan verschillende elementen bevatten. Figuur 8-5: diagram van het element Action Het attribuut Type verwijst naar een entry in het Windows-register: Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\POINTER\SmartSite\Sites\[SiteName]\Workf low\comp onents\unassign] "Enabled"="1" "Object"="PS5Workflow.UnAssi gn" Voorbeeldcode 8-7: Registerinstellingen voor workflow-acties

154 Smartsite Content Management Server 145

155 Workflow De registersleutel UnAssign is gekoppeld aan een object dat de IWorkflowComponent Interface implementeert. Het object kan worden gevoed met parameters om het resultaat naar je hand te zetten. Parameters worden gedefinieerd in het element Parameter. Alle parameters die je als het element Parameter definieert worden samengevoegd in het element Parameters. Een parameter heeft twee verplichte attributen: Name en Value. Een voorbeeld van zo n parameter-element is: <Parameter Name="ToGroup" Value="%AssignedGroupId%.parentgroup"/> Voorbeeldcode 8-8: Voorbeeld van een parameter-element De actie UnAssign, die gekoppeld is aan het object PS5Workflow.UnAssign, wordt gestart wanneer het item in de activiteit Complete komt. De activiteit Complete volgt na de activiteit Activate. Op het moment dat het item is geactiveerd zijn de bewerkingen klaar en is het een van de vele items die actief zijn en geen workflow hebben, en dus ook niet meer onder de verantwoordelijkheid van iemand vallen. Wanneer een volgende gebruiker met het item aan de slag gaat mag deze het openen omdat het niet langer aan iemand is toegekend. Het workflowproces start opnieuw op en het item wordt aan deze nieuwe gebruiker toegekend. " Noot Smartsite beschikt al over een groot aantal objecten die kunnen worden gebruikt binnen het element Action. In dit deel wordt de globale werking van de workflow besproken aan de hand van de default workflow. Daarom wordt er in dit deel niet uitgebreid ingegaan op alle mogelijheden van het element Actions. Dit wordt verderop in deze handleiding besproken Transitions Transitions bepalen hoe een workflow er uit ziet. Je kunt een heleboel activiteiten definieren waarin ook weer allerlei acties zijn gedefinieerd, maar wanneer je niet aangeeft hoe en onder welke condities je naar de volgende activiteit springt, zal een workflow niet kunnen werken Seneca BV

156 Analyse Workflow De overgangen tussen de verschillende activiteiten binnen de default workflow zien er als volgt uit:... <Transitions> <Transition Id="1" From="1" To="2"> <Condition Type="STATUSCHANGE">ASSIGNED</Condition> </Transition> <Transition Id="2" From="2" To="3"> <Condition Type="STATUSCHANGE">Busy Editing</Condition> </Transition> <Transition Id="3" From="3" To="4"> <Condition Type="STATUSCHANGE">ACTIVE</Condition> </Transition> <Transition Id="4" From="4" To="99"/> <Transition Id="5" From="1" To="99"> <Condition Type="STATUSCHANGE">UNASSIGNED</Condition> </Transition> </Transitions>... Voorbeeldcode 8-9: Transitions binnen de Default workflow Het element Transitions, dat verder geen attributen heeft, bevat een verzameling elementen van het type Transition. Het Transition-element heeft drie verplichte attributen - Id, From en To - en een optioneel attribuut - Name. Het Id-attribuut zorgt ervoor dat een Transition uniek is. De attributen From en To bevatten een verwijzing naar het Id-attribuut van Activity-elementen waar de Transition een relatie tussen legt. Het element Transition kan een aantal elementen bevatten: Condition, Description en ExtendedAttribute. De opbouw van het Transition-element is samengevat in een diagram: Figuur 8-6: Schema van een Transition-element Op dit moment heeft het Transition-element nog geen ExtendedAttributeelementen die aan een Transition kunnen worden toegekend - dit in tegenstelling tot het Activity-element. Het Description-element is een optioneel element dat je kunt gebruiken om een uitgebreide beschrijving van de overgang tussen elementen toe te voegen. Smartsite Content Management Server 147

157 Workflow De voorwaarden voor een Transition Een overgang tussen twee activiteiten kan afhangen van bepaalde condities. Wanneer er aan een Transition geen condities zijn gekoppeld dan zal de workflow-engine de Transition zonder meer uitvoeren. In de voorgaande code Transitions binnen de Default workflow gebeurt dat bijvoorbeeld bij de Transition met Id=4 van activiteit met Id = 3 (Activate) naar de activiteit met Id = 99 (Complete). Wanneer de activiteit Activate is bereikt ziet de workflowengine dat er geen voorwaarden zijn verbonden aan de overgang naar de activiteit Complete en de workflow-engine zal deze stap daarom onmiddelijk uitvoeren. Een belangrijke voorwaarde voor een overgang is de voorwaarde dat deze kan worden geïnitieerd door een gebruiker. Door het kiezen van een workflowstatus wordt een bepaalde Transition in werking gesteld. Het element Condition heeft een verplicht attribuut: Type. Dit attribuut bepaalt onder welke voorwaarden de overgang in werking wordt gesteld. De voorwaarde dat de gebruiker die overgang aangeeft wordt ingesteld door het type STATUSCHANGE. De waarde van het Condition-element bevat in dat geval de code van de workflowstatus die aan deze Transition moet worden gekoppeld. Door deze workflowstatus te selecteren wordt de betreffende Transition uitgevoerd. <Condition Type="STATUSCHANGE">Busy Editing</Condition> Voorbeeldcode 8-10: Gebruikers-interactie als voorwaarde voor een Transition " Noot Er zijn andere Conditions die gebruikt kunnen worden om bepaalde overgangen te voorzien van voorwaarden. Deze Conditions komen in een later stadium aan bod Bijzondere Transitions in de Default workflow De Default workflow kent een tweetal bijzondere elementen van het type Transition: Transtion id = 1 van Activity id = 1 (Start) naar Activity id = 2 (Assign); Transition id = 5 van Activity id = 1 (Start) naar Activity id = 99 (Complete). Ten aanzien van de relatie van een item tot workflow zijn er twee mogelijkheden:: Er is een workflow aan het item toegekend; Er is geen workflow aan het item toegekend Seneca BV

158 Analyse Workflow Wanneer er een workflow aan het item is gekoppeld zal elke keer als het item wordt geopend, de workflow verdergaan waar deze was gebleven. De informatie hiervoor wordt gehaald uit de velden AssignedUserID en AssignedGroupID van de Contents-tabel en het veld Status uit de tabel ContentVersions. Wanneer er geen workflow aan het item is toegekend zal bij het openen van het item (en natuurlijk bij het aanmaken van een nieuw item) een workflow aan het item worden gekoppeld - gebaseerd op de definitie van het contenttype - en zal het item moeten worden toegekend aan de gebruiker die het item opent c.q. aanmaakt. Het toekennen van het item aan de betreffende gebruiker betekent dat er een Transition wordt uitgevoerd. Alleen in dit geval wordt de Transition niet door een gebruiker uitgevoerd, maar door Smartsite. Virtueel gezien klikt Smartsite de workflowstatus Assigned aan. Wanneer deze Transition niet is gedefinieerd in de workflow, dan kan deze ook niet uitgevoerd worden, wat weer betekent dat het item niet geopend of aangemaakt kan worden. Noot Het virtueel aanklikken van de status Assigned doe je ook wanneer je gebruik maakt van de actie Workflow Zetten (Set Workflow). " Wanneer je een CMS-workflow definieert, een workflow die de controle over een item houdt, zijn de activiteiten Start en Assign en de Transition tussen deze twee activiteiten met de Condititon STATUSCHANGE = ASSIGNED dus noodzakelijk. De Transition van de activiteit Start naar de activiteit Complete doet op zich enigszins overbodig aan. Uit de vorige paragrafen blijkt dat Smartsite, in geval van een CMS-workflow, de Transition uitvoert die gekoppeld is aan de workflowstatus Assigned. De Transition met de workflowstatus UnAssigned wordt dus niet uitgevoerd. Toch is deze Transition belangrijk binnen de opzet van een workflow. De workflow op een item kan worden afgebroken met de actie Workflow Zetten (Set Workflow). Wanneer een workflow wordt afgebroken, wordt de workflowstatus UnAssigned geselecteerd waarmee de bijbehorende Transition wordt uitgevoerd. In de besproken default workflow is dat de Transition met ID = 5. Door deze Transition wordt de activiteit Complete gestart. Binnen de activiteit Complete wordt een actie UnAssign uitgevoerd die er voor zorgt dat het het ontkoppelen van de workflow netjes gebeurt. Smartsite Content Management Server 149

159 Workflow Seneca BV

160 Hoofdstuk 9 Channels, Rendertemplates en Macro s Informatie is allang niet meer verbonden aan een bepaald medium. Men heeft steeds meer de wens om dezelfde informatie langs verschillende kanalen te ontvangen, afhankelijk van de plaats en de locatie waar men zich op dat moment bevindt. De content die met behulp van Smartsite wordt beheerd is dus niet meer louter voor publicatie op het internet. De content moet ook gepubliceerd kunnen worden via bijvoorbeeld mobiele telefoons, drukwerk en CD-ROM s. Voor het publiceren naar deze verschillende mediums maakt Smartsite gebruik van channels en rendertemplates. In dit hoofdstuk wordt uitgelegd hoe een channel is opgebouwd en hoe de content in de verschillende contenttypes aan de channels wordt gekoppeld door middel van rendertemplates. Verder wordt een simpele macro behandeld die gebruikt kan worden om eenvoudig een overzicht te genereren van alle kinderen van een folder.

161 Channels, Rendertemplates en Macro s 9.1 Wat zijn channels? Bezoekers kunnen Informatie die in een Smartsite-database is opgeslagen, benaderen langs verschillende kanalen (channels). Smartsite reageert hierop door de gevraagde informatie te genereren op een wijze die afhankelijk is van het aangesproken kanaal. Dat gebeurt door middel van rendertemplates, waardoor de bezoeker de gevraagde informatie ook daadwerkelijk krijgt in het formaat dat geschikt is voor het medium waarvoor de informatie wordt opgevraagd. Een voorbeeld van zo n channel zou i-mode kunnen zijn. Wanneer informatie naar een mobiele telefoon moet worden gestuurd, dan vraagt dat een heel andere opmaak dan wanneer de informatie naar een webpagina moet worden gestuurd. Channels zijn gekoppeld aan contenttypes. Dat betekent dat per channel kan worden aangegeven welke soort content er zichtbaar gemaakt kan worden. Dat kan ook betekenen dat een deel van de informatie uit zo n contenttype op het ene kanaal wel en op het andere kanaal niet wordt weergegeven. Om de informatie van een item van een zeker contenttype weer te geven wordt gebruikt gemaakt van rendertemplates Opbouw van een channel Het aanmaken van een nieuw channel is een actie die niet snel door een sitemanager zal worden gedaan. Channels worden in de implementatiefase gedefinieerd en ingesteld. Voor een compleet overzicht wordt echter wel ingegaan op channels en hoe zij zijn opgebouwd. Het aantal channels dat voor de Smartsite edities Standard, Professional en Enterprise beschikbaar is, is beperkt tot respectievelijk 1, 4 en 7 channels. Er kunnen bij de Enterprise Edition overigens extra channels worden gekocht. Channels zijn items van het contenttype channel. Dit contenttype is een van de basis-contenttypes van Smartsite en heeft als code CH. Alle eigenschappen van een channel zijn verenigd in het contenttype. Channels kunnen worden gedefinieerd door een nieuw item aan te maken van het contenttype Channel: Naam (Name) Een naam die gebruikt wordt voor dit channel. Omschrijving (Description) Een omschrijving die beschrijft wat dit channel doet. Contenttypes Maak een selectie van de contenttypes die door dit kanaal kunnen worden Seneca BV

162 Wat zijn channels? opgevraagd. De keuze betreft natuurlijk alleen contenttypes die informatie weergeven die daadwerkelijk gepubliceerd moet worden. Het contenttype Channel hoeft zelf natuurlijk nooit weergegeven te worden en hoeft derhalve niet aan de lijst te worden toegevoegd. Code Het request voor bepaalde informatie door een bepaald channel wordt gedaan door middel van de querystring van de URL: In bovenstaande querystring wordt een aanvraag gedaan voor item nummer 251 via het channel met de code DEF. Wanneer dezelfde informatie via een ander kanaal wordt opgevraagd kan men de querystring aanpassen: Noot Het in dit voorbeeld genoemde item is van een bepaald contenttype. Dat contenttype moet natuurlijk wel een representatie in het channel hebben, anders zal er een foutmelding verschijnen. " Het standaardkanaal waarlangs informatie wordt opgevraagd is in te stellen in het register van Windows. Hiervoor wordt gebruikt gemaakt van URLMunging ; het automatisch aanvullen met een ingestelde waarde van parameters in querystrings. De querystring-parameters die automatisch moeten worden aangevuld zijn in te stellen als tekstwaarde in de sleutel {Sitenaam}\URLMunging in het Windowsregister. Noot Het mungen van querystrings kan voor veel meer doeleinden worden gebruikt dan alleen het instellen van een default-channel. Het wijzigen van deze instellingen in het register valt meer in het kader van de sitebouwers dan van de sitemanagers. " BrowseStartPage Wanneer een redirect of een request naar een bepaalde site over een bepaald channel plaatsvindt zonder dat in de querystring een item-parameter is meegegeven dan wordt het item dat is vermeld in dit veld getoond. Daarmee wordt het als het ware de startpagina van het channel. Wanneer de opzet van een site gebruik maakt van frames, dan wordt verwezen naar de het item dat de frame-definitie bevat. Binnen deze framedefinitie is de verdeling van de informatie over de verschillende frames opgenomen. Locale Wanneer een site meerdere talen ondersteunt aan de voorkant van de site - Smartsite Content Management Server 153

163 Channels, Rendertemplates en Macro s dus niet de meertaligheid van de Smartsite Manager - dan kan hier een selectie worden gemaakt welke taal er moet worden getoond. ServerCache-gebruik Per Channel kan de servercache worden ingesteld: Servercache Omschrijving Level I Level II Level I + II met precaching Items worden door de Smartsite renderengine gecached. Wanneer een item wordt opgevraagd zal het item niet meer gerenderd hoeven te worden maar is tussenkomst van Smartsite nog wel noodzakelijk. Items worden door de Smartsite renderengine gecached als platte HTML. Alle verwijzingen naar andere items worden hierbij omgezet. Wanneer een item wordt opgevraagd is tussenkomst van Smartsite niet meer nodig. Bij deze instelling zal de Smartsite server zelf items gaan cachen als daar capaciteit voor is. Deze items staan dus al gecached klaar wanneer een gebruiker ze opvraagt. Tabel 9-1: Servercache instellingen De feitelijke servercache wordt bepaald door de instellingen van de afzonderlijke items. Wanneer een item als servercache instelling Until Item Update heeft dan wordt de servercache van een item verwijderd op het moment dat een item opnieuw actief wordt gemaakt. Waneer een item als servercache instelling Never heeft dan wordt er nooit gebruik gemaakt van servercache voor dat betreffende item. Servercache is een manier om de belasting van de server te verdelen. Wanneer items al gecached zijn hoeft Smartsite minder (Level I-cache) of geen (Level II-cache) werk meer te verrichten als een item wordt opgevraagd. DefaultDocument en IDParameter Standaard ziet de volledige querystring van een pagina er zo uit: Met behulp van de instellingen in de velden DefaultDocument en IDParameter kun je de querystring van een pagina ook op deze manier weergeven: of met behulp van twee willekeurige waarden: Secure Van afzonderlijke items kun je aangeven dat ze Restricted zijn. Standaard is een item dat niet, maar wanneer je de optie verwerkt in het contenttype dan kunnen gebruikers deze optie aanvinken. Wanneer een pagina als restricted is aangemerkt betekent dat dat een bezoeker van dit tot pagina gerenderd item een loginnaam en een wachtwoord nodig heeft. Met de optie Secure Seneca BV

164 Wat zijn channels? scherm je in een keer het hele channel af. Elke pagina zit nu achter een beveiliging. Deze instelling overheerst de instelling van de afzonderlijke items. Let op! Wanneer een item in een ander channel ook gebruikt wordt dan kan het item daar natuurlijk wel bekeken worden. Let op!! LogonHandlerProgID Dit is een verwijzing naar het component waarin de afhandeling van de authenticatie van bezoekers van de site wordt geregeld. Smartsite Content Management Server 155

165 Channels, Rendertemplates en Macro s 9.2 Wat zijn Rendertemplates? Rendertemplates werden in eerdere versies van Smartsite stijlen genoemd. Zij bepalen de opmaak van de content van de site. Een rendertemplate legt verbinding tussen een channel en een contenttype; wanneer via een bepaald channel informatie van een zeker contenttype wordt opgevraagd zal deze gevraagde informatie van het contenttype worden vormgegeven door de rendertemplate die bij dat channel hoort. Deze vertaalslag wordt het renderen genoemd. De rendertemplate is een verzameling van (X)HTML, XML, Cascading Style Sheets, JavaScript, DHTML, Flash, Smartsite Translations en verwijzingen naar de informatie in de verschillende velden van het contenttype door middel van Smartsite Embedded (SE) Macro s. Omdat de opmaak op vele manieren te definiëren is kunnen door middel van verschillende rendertemplates per channel verschillend gebruik en/of verschillende opmaak gerealiseerd worden. Door op een slimme manier gebruik te maken van de meta-informatie van items kunnen de rendertemplates intelligent gemaakt worden. Er wordt dan gebruik gemaakt van voorwaardelijke opmaak; informatie uit een item wordt alleen getoond wanneer de meta-informatie van een item aan bepaalde voorwaarden voldoet. Ook Translations kunnen gebruikt worden om een rendertemplate dynamisch te maken Opzet van Rendertemplates Een rendertemplate definieert hoe een item van een bepaald contenttype wordt weergegeven in een bepaald channel. Het definieren en opzetten van de rendertemplates is een taak die buiten de werkzaamheden van de sitemanagers valt. We beschrijven dat rendertemplates hier toch, om een compleet beeld te krijgen van de functionaliteit van Smartsite. Een rendertemplate definieert welke velden uit de database moeten worden weergegeven en hoe dat er uit moet zien. Hierbij wordt gebruik gemaakt van Translations, Cascading Style Sheets, JavaScript, Flash, DHTML etc. etc. Niets staat de ontwerper van de lay-out van de site in de weg om de site vorm te geven. De kern van rendertemplates is dat ze de informatie in de velden van de Contents-tabel in de Smartsite database transformeren, opmaken en weergeven in een bepaald channel. Een rendertemplate wordt gecreëerd door een item van het contenttype Rendertemplate aan te maken. Een rendertemplate bevat de volgende eigenschappen: Seneca BV

166 Wat zijn Rendertemplates? Naam (Name) Een naam voor de rendertemplate. Inhoud (Body) De definitie hoe, en welke, velden van een item worden weergeven. Afhankelijk van het kanaal waarvoor deze rendertemplate bedoeld is wordt een mark-up language gebruikt (zoals XHTML) om de uitvoer vorm te geven. Per Rendertemplate kunnen de servercache-intellingen aangepast worden: Servercache Omschrijving Geen Normaal (Level I) Beide(Level II) Elk item dat gebruik maakt van dit Rendertemplate zal steeds opnieuw worden gerenderd. Items worden door de Smartsite renderengine gecached. Wanneer een item wordt opgevraagd zal het item niet meer gerenderd hoeven te worden, maar is tussenkomst van Smartsite nog wel noodzakelijk. Items worden door de Smartsite renderengine gecached als platte HTML. Alle verwijzingen naar andere items worden hierbij omgezet. Wanneer een item wordt opgevraagd is tussenkomst van Smartsite daarvoor niet meer nodig. Tabel 9-2: Servercache-instellingen XSLT Wanneer de rendertemplate een XML-formaat heeft, dan wordt dat met de geselecteerde XSL Transformation omgezet naar de uiteindelijke opmaak van de data. Hiervan kan gebruik gemaakt worden door aan een webdesigner een XML-schema te overhandigen. Met de elementen uit het schema kan een webdesigner een opmaak genereren. Door gebruik te maken van een XSL Transformatie zal de XML die resulteert uit de weergave van een item met deze rendertemplate vertaald worden naar de uiteindelijke opmaak. EditCSS Binnen de WebEditor kan in het bodyveld vaak gebruik worden gemaakt van stijlen om de tekst te formatteren. Het gebruik van deze zogeheten in-line stijlen wordt over het algemeen niet aangemoedigd maar er bestaat soms behoefte om de tekst in een item nauwkeuriger te kunnen markeren met stijlen. De hier geselecteerde Cascading Style Sheet wordt gebruikt om de inline stijlen vorm te geven. CT-CH Mappings Hier kan worden ingesteld welke combinaties van contenttype en channel gebruik maken van dit rendertemplate. Meerdere van deze combinaties van channel en contenttype kunnen ditzelfde rendertemplate gebruiken. (Let op: andersom kan er voor elke combinatie van channel en contenttype slechts eenmaal een rendertemplate worden toegewezen.) Hyperlink Formaat waarmee interne hyperlinks geformatteerd worden. Dit is van belang voor de SmartEmbedding macro Links. Deze macro kan worden gebruikt om links naar de actieve kinderen van een item (folder) snel en eenvoudig af te beelden. Hoe deze links getoond wordt ligt in deze definitie vast. Voor de Smartsite Content Management Server 157

167 Channels, Rendertemplates en Macro s kop- en voettekst van de hyperlinks wordt gebruik gemaakt van de velden HyperlinkHeader en HyperlinkFooter. HyperlinkHeader Hoort bij Hyperlink. Voordat links naar actieve kinderen worden afgebeeld worden, wordt eerst deze kop afgebeeld. Indien er geen (actieve) kinderen zijn dan wordt deze kop niet afgebeeld. HyperlinkFooter Hoort bij hyperlink. HyperlinkFooter wordt onder de actieve kinderen getoond die met de SE Macro Links worden weergegeven. Ook hier geldt weer dat deze niet wordt weergegeven indien er niets wordt afgebeeld Simpele HTML Rendertemplate Rendertemplates die de inhoud van een item vertalen naar HTML maken veel gebruik van Cascading Style Sheets, Javascript, Translations en SE Macro s. Noot Bij gebruik van XHTML in plaats van HTML geldt vrijwel ongewijzigd wat in deze paragraaf behandeld wordt. Daarom zullen we hier slechts voorbeelden met HTML tonen. Een simpel voorbeeld van een HTML Rendertemplate: <html> <body> <h1><se property= Title ></se></h1> <hr></hr> <se property= Body ></se> </body> </html> Voorbeeldcode 9-1: Een simpele HTML Rendertemplate In dit voorbeeld zien we de we de SE Macro Property. Deze macro wordt gebruikt om de velden Title en Body van het bewuste contentitem uit de Contents-tabel te halen. Deze twee velden worden ingebed in een stukje HTML-code. In de gerenderde pagina zal de informatie uit het veld Title van het de informatie uit het veld Body gescheiden worden door een horizontale lijn (<hr>). Binnen de HTML-code wordt gebruik gemaakt van opmaaktags. In bovenstaand voorbeeld is dat bijvoorbeeld de tag <h1>. De definities van de opmaak van deze tags worden vastgelegd in Cascading Style Sheets (CSS). Er is een contenttype voor Cascading Style Sheets: CSS. CSS-bestanden kunnen binnen Smartsite dus als item worden aangemaakt. In de body van de rendertemplate kan dan een verwijzing worden gemaakt naar dit item. Hetzelfde geldt voor script-functionaliteit zoals JavaScript: Seneca BV

168 Wat zijn Rendertemplates? <html> <head> <link rel="stylesheet" type="text/css" href="[url]?id=60"> <script language="javascript1.2 "type="text/javascript1.2" src="[url]?id=213"></script> </head> <body> <h1><se property= Title ></se></h1> <hr></hr> <p> <b>van onze correspondent in [Stadsnaam]</b><br> <se property= Body ></se> </p> </body> </html> Voorbeeldcode 9-2: voorbeeld van verwijzingen naar CSS en Javascript Complexe rendertemplates Het voorbeeld van een rendertemplate zoals beschreven in de vorige paragraaf Simpele HTML Rendertemplate, staat in geen verhouding tot de mogelijkheden die Smartsite in zich heeft. Naast de traditionele manier van een opmaakdefinitie in HTML, ondersteunt Smartsite ook een opmaak gebaseerd op de XML in combinatie met XSLT. Deze manier van opmaak maakt het makkelijker om bijvoorbeeld de definitie van de lay-out door een extern bureau te laten doen, zonder dat dit buro enige kennis van Smartsite hoeft te hebben. Ook het gebruik van macro s biedt legio mogelijkheden om de content en de relaties daartussen weer te geven aan de voorkant van de site. Met behulp van macro s kan op een eenvoudige manier een sitemap, navigatie tussen pagina s onderling op basis van hiërarchie of een uittreksel uit de database worden weergegeven aan de voorkant van de site. Smartsite Content Management Server 159

169 Channels, Rendertemplates en Macro s 9.3 XLinks-Macro Smartsite kent veel macro s die gebruikt kunnen worden om een site intelligent en dynamisch op te zetten. Het zou buiten de scope van deze handleiding vallen om ze allemaal te beschrijven. Toch is er een macro die onder de aandacht gebracht dient te worden omdat deze voor sitemanagers van nut kan zijn: de XLinks- macro. Een macro is een element dat wordt ingevoegd in bijvoorbeeld het Business Logic-veld van een item. Een macro heeft een naam en kan door middel van parameters aangestuurd worden. Wanneer een pagina wordt gerenderd zal op de plaats waar de macro is ingevoegd het resultaat van de macro worden getoond. " De XLinks-macro is een macro die een lijst van items kan tonen, bijvoorbeeld alle kinderen van een folder. Neem bijvoorbeeld een folder Nieuws. Onder deze folder worden allemaal nieuwsitems aangemaakt. De content van een nieuwsitem is geen probleem maar welke tekst zet je nu in de folder zelf? Feitelijk wil je dat wanneer deze folder wordt gerenderd - wordt opgevraagd aan de voorkant van de site - dat er een overzicht wordt getoond van alle nieuwsitems. Daarvoor is de XLinks-macro. Deze macro toont dynamisch een lijst van alle kinderen van de nieuwsfolder. Noot In een goede site is deze dynamiek vaak al aanwezig en vastgelegd in de rendertemplates, al dan niet met behulp van deze macro. Het gebruik van deze macro is voor sitemanagers dan ook vaak niet nodig Een XLinks-macro invoegen H De XLinks-macro kun je invoegen met de optie Macro. Deze optie is onder andere te vinden in de het menu Insert van de WebEditor. De macro wordt ingevoegd op de plaats van de cursor. Een XLinks-macro invoegen: 1. Plaats de cursor op de plaats waar de macro moet worden ingevoegd; 2. Klik op de optie Macro. Er wordt een dialoogvenster geopend; 3. Selecteer XLinks in de lijst en klik op Volgende (Next). Het dialoogvenster verandert en je krijgt een overzicht van alle parameters die Seneca BV

170 XLinks-Macro kunnen worden ingevuld: Figuur 9-1: De parameters van de XLinks macro 4. Vul de parameters in die noodzakelijk zijn en klik op Voltooien (Finish). De macro wordt nu als icoontje ingevoegd:. Let op! Er zijn verschillende soorten parameters die kunnen worden ingevuld. Het is echter niet noodzakelijk om alle parameters te kennen. De belangrijkste parameters worden hier toegelicht: Parameter Parent Omschrijving Het nummer of de code van de folder waarvan de kinderen moeten worden afgebeeld. UseSecurity Bij het afbeelden van de lijst van items wordt rekening gehouden met de security-instellingen; alleen die items worden getoond waar de bezoeker recht op heeft. Dit geldt alleen voor zogenaamde restricted gedeeltes van een site. Header Format Footer Geavanceerde parameter voor het bepalen van de opmaak van de lijst van items. Geavanceerde parameter voor het bepalen van de opmaak van de lijst van items. Geavanceerde parameter voor het bepalen van de opmaak van de lijst van items. Tabel 9-3: Parameters van de XLinks macro Smartsite Content Management Server 161

171 Channels, Rendertemplates en Macro s De eenvoudigste manier om de XLinks-macro te gebruiken is door geen enkele parameter toe te voegen. Wanneer deze macro dan geplaatst is in het bodyveld van een folder, dan zal deze macro op de plaats waar deze is ingevoegd een lijst van alle kinderen van die folder weergeven. Wanneer je in een item of een folder de kinderen van een andere folder wilt weergeven als lijst dan gebruik je de Parent-parameter. De opmaak van de lijst van items wordt bepaald door de opmaak die is vastgelegd in de rendertemplate. Over het algemeen hoef je hier niets aan te veranderen. Wanneer je van een afwijkende opmaak wilt dan zul je enige kennis van HTML moeten hebben. De opmaak wordt dan bepaald door de Header, Format en Footer parameters. In HTML wordt een lijst als volgt gedefinieerd: <ul> <li>listitem</li> <li>listitem</li>..etc... <li>listitem</li> <li>listitem</li> </ul> Voorbeeldcode 9-3: HTML code van een ongesorteerde lijst Als we deze HTML zouden toepassen binnen de XLinks-macro dan willen we op de plaats van de listitems de titels van de kinderen van een folder zien. Nog beter zou het zijn als deze kinderen als hyperlinks worden weergegeven. Om de resultaten van de XLinks-macro als lijst weer te geven zien de parameters Header, Format en Footer er ongeveer zo uit: Header <ul> Alles voorafgaand aan de lijst van items Format <li></li> De opmaak van de afzonderlijke items Footer </ul> Alles na de de lijst van items Tabel 9-4: Header-, Format- en Footer-parameters Nu gaat het er eigenlijk alleen nog om om de titel van de items op de plaats van de listitems te krijgen. Daarvoor kun je gebruik maken van twee zogenaamde placeholders : %title% en %nr%. De Format-parameter kan er dan bijvoorbeeld zo uit zien: <li>%title%</li> Voorbeeldcode 9-4: De titels van items worden als lijstitems afgebeeld of - nog beter - in de vorm van hyperlinks: Seneca BV

172 XLinks-Macro <li><a href= [item]=%nr% >%title%</a></li> Voorbeeldcode 9-5: De items worden als hyperlinks weergegeven in de lijst Noot Gebruik altijd enkele quotes in de Header, Format en Footer parameters. " Bovenstaand voorbeeld is de standaardmanier zoals die in Smartsite is ingebouwd. Wanneer er geen enkele opmaak voor de XLinks-macro is gedefinieerd dan valt Smartsite hier op terug. De Header-, Format- en Footer-parameters kunnen ook per rendertemplate zijn gedefinieerd. Hieronder vind je nog een voorbeeld hoe de resultaten als een tabel kunnen worden weergegeven: Parameter Header Format Footer Waarde <table><tr><th>item</th><th>title</th></th> <tr><td>%nr%</td><td><a href='[item]=%nr%'>%title%</a></td></tr> </table> Tabel 9-5: De resultaten van de XLinks macro in een tabel weergeven. Smartsite Content Management Server 163

173 Channels, Rendertemplates en Macro s Seneca BV

174 Hoofdstuk 10 Contenttype Management Contenttypes zijn de basis voor het toevoegen van nieuwe content aan de site. Elk item dat wordt aangemaakt is van een bepaald contenttype. Door het gebruik van een contenttype kun je de gevraagde informatie structureren, zodat het voor een gebruiker helder is welke informatie er wordt verlangd. De manier waarop contenttypes worden weergegeven kun je tot op zekere hoogte aanpassen met de actie Content Management Configureren (Setup Content Management). De actie Contenttypes Beheren (Manage ContentTypes) gaat nog veel verder en geeft je nog meer mogelijkheden om de werking van een contenttype aan te passen.

175 Contenttype Management 10.1 Weergave van een contenttype aanpassen Wanneer de actie Item Toevoegen (Add Item) of Item Bewerken (Edit Item) wordt gestart, wordt de interface van een contenttype zichtbaar. De verschillende velden van het contenttype worden weergegeven op verschillende tabbladen of kunnen zelfs in een apart dialoogvenster zijn ondergebracht. Deze gebruikte indeling wordt de Manager Style van een contenttype genoemd. De Manager Style van een contenttype kan worden aangepast: de verdeling over tabbladen of dialoogvenster van de velden, de namen van de velden, het uiterlijk van de velden, etc. Het is zelfs mogelijk om per rol aan te geven hoe de Manager Style er uit ziet. Er zijn velden die door overerving automatisch gevuld kunnen worden. Deze velden hoeven redacteuren niet te zien, maar een hoofdredacteur moet daar misschien in sommige gevallen wijzigingen in aan kunnen brengen. De Manager Style van een contenttype is dan zodanig ingesteld dat de hoofdredacteur deze velden wel ziet en kan wijzigen. H " Het wijzigen van een Manager Style gebeurt met de actie Content Management Configureren (Setup Content Management). Deze actie is een wizard die je stap voor stap de verschillende instellingen voor de Manager Style van een contenttype laat instellen. Om de Manager Style van een contenttype aan te passen: 1. Start de actie Content Management Configureren (Setup Content Management) ; 2. Selecteer in de lijst het contenttype dat je wilt aanpassen en klik op Volgende (Next) ; 3. Kies in het scherm de één of meer rollen waar de aangepaste Manager Style op van toepassing is. Klik op Volgende (Next) ; Noot De overige rollen zullen de originele Manager Style van het contenttype blijven gebruiken 4. Creëer, hernoem of verwijder tabbladen voor de Manager Style. Sorteer de tabbladen in de juiste volgorde. Klik op Volgende (Next) ; 5. Creëer, hernoem of verwijder tabbladen voor de eigenschappen dialoog. Sorteer de tabbladen in de juiste volgorde. Klik op Volgende (Next) ; Seneca BV

176 Weergave van een contenttype aanpassen Noot Wanneer er geen tabbladen voor het dialoogvenster zijn geselecteerd zal de knop " Properties ook niet worden getoond in de Manager Style. 6. Verplaats de velden van het contenttype naar het geselecteerde tabblad van de Manager Style of het dialoogvenster. Sorteer vervolgens de velden. Klik op Volgende (Next) ; Noten Gebruik de opties om het doel te kiezen; Selecteer eerst het tabblad waar de velden moeten komen; Je kunt meerdere velden tegelijk verplaatsen. " 7. Wijzig de veld-eigenschappen en klik op Voltooien (Finish). De wijzigingen in de Manager Style van het contenttype worden nu doorgevoerd; Noot Het doorvoeren van de wijzigingen kan enige tijd in beslag nemen. Je krijgt een melding wanneer de aanpassingen zijn voltooid. " 8. Klik op Close. Let op! In stap 7 van de actie Content Management Configureren (Setup Content Management) kunnen eigenschappen van de velden (Content Type Field Properties, CTFP s) worden aangepast. Dat doe je door telkens een contenttypeveld te selecteren en daarna de bij dat contenttype veld behorende eigenschappen aan te passen: Caption Voor het invoerveld staat de veldtitel. Standaard wordt hier de (logische) veldnaam voor gebruikt. Je kunt een veldtitel ook zelf bepalen. De logische veldnamen van contenttypes geven vaak al aan welke informatie er in een veld verwacht wordt. Voor verschillende rollen kan er echter meer duidelijkheid gecreëerd worden door de veldtitel aan te passen. Style Het uiterlijk van een veld kan gewijzigd worden door er in beperkte mate een HTML-opmaak op los te laten. Bijvoorbeeld: Width=50%; Height=300px; De verschillende HTML-opmaakattributen worden van elkaar gescheiden door een puntkomma. Smartsite Content Management Server 167

177 Contenttype Management Apply in Het al dan niet zichtbaar zijn van velden en het al dan niet kunnen bewerken daarvan kan ingesteld worden voor de acties Add Item en Edit Item en de actie Edit Item wanneer een Item een folder is. Een titelveld kan bijvoorbeeld in de actie Add Item bewerkbaar zijn, maar in de actie Edit Item niet meer worden gewijzigd. Het bodyveld is misschien niet interessant genoeg om te laten zien wanneer een item is geconverteerd naar een folder. De actie Content Management Configureren (Setup Content Management) biedt mogelijkheden om een stuk beheer uit te voeren op de gebruikte contenttypes in de site. De eigenschappen van contenttypes en de contenttypevelden kan op technisch niveau veel meer worden gestructureerd met de actie Contenttypes Beheren (Manage ContentTypes) Seneca BV

178 Eigenschappen van een contenttype 10.2 Eigenschappen van een contenttype De eigenschappen van een contenttype kunnen worden bekeken met de actie Contenttypes Beheren (Manage ContentTypes) deze actie gebruik je de optie Contenttype Properties eigenschappen van een contenttype aan te bekijken.. Binnen om de Niet alle eigenschappen kunnen zonder gevaar gewijzigd worden. Wijzigingen van bepaalde eigenschappen kan betekenen dat de de werking van de site ernstig verstoord wordt en dat er informatie niet meer op de juiste manier wordt opgeslagen, wat tot verlies van deze informatie kan leiden. Daarom worden hieronder alleen die eigenschappen beschreven die zonder gevaar voor de werking van de site gewijzigd kunnen worden. Description Een korte omschrijving van het contenttype. Icon Selecteer een icoon dat wordt gebruikt in de boomstructuur in het viewvenster. Contenttypes kunnen als items, gesloten folders en als open folders worden weergegeven: Icoon Bestandsnaam xml.gif xmlf.gif xmlo.gif Tabel 10-1: item- en foldericonen voor contenttypes Door de een naamgeving te hanteren zoals in Tabel 10-1:item- en foldericonen voor contenttypes wordt getoond kun je er voor zorgen dat er nog steeds gebruik wordt gemaakt van door jou gekozen iconen als een item van dit contenttype geconverteerd wordt naar een folder. Noten Het bestandstype voor iconen die gebruikt worden in de boomstructuur moet van het type GIF zijn; Je selecteert het Item-icoon. De andere twee iconen moeten in dezelfde map op de server staan; De afmeting van de iconen moet 16x16 pixels zijn. Andere afmetingen zijn wel mogelijk maar Smartsite zal deze afmetingen (nog) niet converteren naar een hanteerbaar formaat. Grote iconen worden ook groot afgebeeld in de boomstructuur, wat een vervormd beeld kan geven. " Default Workflow Selecteer een workflow die standaard op items en folders van dit Smartsite Content Management Server 169

179 Contenttype Management " contenttype van toepassing is. De workflow op afzonderlijke items kan aangepast worden met de actie Zet Workflow (Assign Workflow). Noot Het wijzigen van de standaardworkflow voor items van het contenttype verstoort de werking van de site niet. Het kan echter wel de kwaliteit van de informatie beinvloeden, bijvoorbeeld indien een workflow wordt gekozen waarmee redacteuren direct kunnen publiceren. Inheritance Het is soms wenselijk om onder een folder van een specifiek contenttype een item aan te maken van een heel ander contenttype, bijvoorbeeld een referentie (contenttype Reference) of een afbeelding (contenttype Binary). Selecteer in de lijst Inheritance de contenttypes die onder folders van dit type aangemaakt kunnen worden met de actie Add Specified Item. Eigenschappen die je met de nodige voorzichtigheid kunt wijzigen zijn Default Workflow en Inheritance. Eigenschappen waarvan een wijziging de werking van de site niet beïnvloeden zijn Description en Icon Contenttype velden Wanneer je een contenttype met de optie Open overzicht van de velden van het contenttype: opent krijg je een Seneca BV

180 Eigenschappen van een contenttype Figuur 10-1: De velden van een contenttype Om de werking van de site niet te verstoren mag je geen velden verwijderen of toevoegen. Het toevoegen of verwijderen van velden aan een contenttype kan namelijk veel invloed hebben en kun je daarom beter overlaten aan de sitebouwers. Wanneer je een veld opent met de optie Open aantal eigenschappen van zo n veld wijzigen. kun je echter wel een Aanpassen van veldeigenschappen van een Contenttype De eigenschappen van een veld van een contenttype kunnen worden aangepast. De makkelijkste manier voor het aanpassen van de velden is door het gebruik van de actie Content Management Configureren (Setup Content Management). Een aantal eigenschappen die je met die actie bewerkt zie je vaak ook terug wanneer je de eigenschappen van een veld opvraagt met de actie Contenttypes Beheren (Manage ContentTypes). Smartsite Content Management Server 171

181 Contenttype Management Het wijzigen van de eigenschappen van een veld loopt van eenvoudig tot zeer complex. Voor nadere informatie over dit onderwerp verwijzen we je daarom ook naar de supportsite van Smartsite: support5.smartsite.nl Seneca BV

182 Hoofdstuk 11 Servercache en AIM Voor een content management systeem is een goede bewaking van de afhankelijkheid tussen objecten van groot belang. Doelen hierbij zijn het bewaken van de relaties die items onderling met elkaar hebben, het bewaken van relaties tussen items en bestanden op de fileserver en het verkrijgen van inzicht in de structuur van de site. Naast het bewaken van de afhankelijkheid tussen de objecten is het van belang dat een content management systeem zo efficient mogelijk werkt. Een content management systeem kenmerkt zich door de scheiding van inhoud en opmaak en het samenvoegen van deze twee elementen kost rekentijd op de webserver. Er moet een goede balans bestaan tussen de dynamiek van de site en de hoeveelheid rekenkracht die gebruikt wordt om pagina s elke keer opnieuw te renderen. Hiervoor maakt Smartsite gebruik van een geavanceerd cachemechanisme. Door het inzicht in de structuur van de site op basis van de onderlinge relaties kan het cachemechanisme optimaal worden benut; omdat de afhankelijkheden tussen items bekend zijn weet Smartsite welke items er opnieuw gecached moeten worden nadat er wijzigingen zijn aangebracht in een item.

183 Servercache en AIM 11.1 AIM en Externe Verwijzingen Active Integrity Management, kortweg AIM, is het mechanisme dat de onderlinge afhankelijkheid tussen objecten bewaakt. Het is een systeem dat op de achtergrond items doorzoekt op verwijzingen naar andere items, bestanden op de server of verwijzingen naar externe bronnen. Figuur 11-1: Relaties van een item met andere items Overzicht van verwijzingen Op het tabblad References van de actie Details (Details) (ook bereikbaar door te dubbelklikken op een itemtitel in de boom) vind je, naast de AIM-status, een overzicht van verwijzingen: Type verwijzing Uitgaande verwijzingen (Outgoing references) Inkomende verwijzingen (Incoming references) Verwijzingen naar bestanden (File references) Resource verwijzingen (Resource references) Omschrijving Verwijzingen in het item naar andere item. Andere items die naar het item verwijzen Verwijzingen in het item naar bestanden op de server Verwijzingen naar resource-bestanden (bestanden die bij de installatie door Smartsite zijn geplaatst) Tabel 11-1: Overzicht van verwijzingen Seneca BV

184 AIM en Externe Verwijzingen Type verwijzing Verwijzingen buiten de sites (External references) Ongeldige verwijzingen (Invalid references) Omschrijving Verwijzingen naar externe adressen Verwijzingen die een foutmelding opleveren, en dus opgelost moeten worden Tabel 11-1: Overzicht van verwijzingen De verwijzingen kunnen worden verdeeld in twee soorten: softlinks en hardlinks. Een hardlink is een directe verwijzing naar een ander item of een bestand op de server in bijvoorbeeld het bodyveld. Wanneer dat item wordt verwijderd zal de link in het bodyveld resulteren in een foutpagina, met de melding dat de pagina niet gevonden kan worden (een zogeheten dode link ). Er bestaat dus een directe relatie tussen de twee items. Evenzo geldt dat voor verwijzingen naar bestanden op de server. Een softlink is een relatie waarin het verwijderen van een van de gerelateerde items niet in een conflict resulteert voor de bezoekers van de site. Een voorbeeld hiervan is een dynamisch gegenereerde lijst van kinderen onder een folder. Wanneer een van de kinderen in die folder wordt verwijderd betekent dat dat de lijst moet worden aangepast. Omdat dit dynamisch gebeurt ontstaat er geen verwijzing naar een niet-bestaande pagina AIM in de praktijk Smartsite gebruikt deze informatie over het soort verwijzing bijvoorbeeld bij de actie Verwijderen (Delete). Wanneer een item wordt verwijderd controleert Smartsite eerst of er geen harde verwijzingen bestaan naar dit item. Is dat wel het geval dan kan het item niet verwijderd worden en zul je eerst de link in het andere item moeten aanpassen. Dit geldt ook voor bestanden op de server. Een bestand kan niet verwijderd worden als er een relatie bestaat tussen dat bestand en een item. Op deze manier wordt de integriteit van een site bewaakt en wordt de kans op niet bestaande verwijzingen voor de bezoekers van een site geminimaliseerd. Daarnaast krijg je door AIM een goed overzicht van de structuur van de site. Het is eenvoudig na te gaan welke items bijvoorbeeld een bepaalde Translation gebruiken of welke items verwijzen naar een item van het contenttype Image. AIM is zowel een synchroon proces als een achtergrondproces. Elke keer dat een item wordt bewerkt zal bij het opslaan van een item gekeken worden naar de relaties met andere items, bestanden of externe bronnen. Tegelijkertijd wordt op de achtergrond continu gescand of de relaties nog valide zijn. Binnen Smartsite kan immers de publicatiedatum van een item zonder tussenkomst van een gebruiker verlopen, waardoor er een verbroken Smartsite Content Management Server 175

185 Servercache en AIM verwijzing in een ander item kan ontstaan. Buiten Smartsite kan een site opgeheven worden of naar een ander adres overgaan. De actie AIM (AIM) in de actie System Panel (System Panel) geeft een overzicht van de status van verwijzingen in de site. Met deze actie kun je het achtergrondproces stoppen en je kunt een compleet nieuwe scan van alle items afdwingen. Deze opties zul je in principe nooit nodig hebben Seneca BV

186 Servercache 11.2 Servercache Servercache is het bewaren van gerenderde pagina s zodat bij een nieuw verzoek van een bezoeker van de site voor dezelfde pagina niet de complete pagina opnieuw gerenderd hoeft te worden. Per item kan worden ingesteld wat de servercache van dat item is; deze kan variëren van Never tot een bepaalde tijdsduur tot Until Item Update. Het resultaat van goed gebruik van servercache is dat een webserver de verzoeken sneller kan afhandelen waardoor de performance van een site zo optimaal mogelijk wordt. Om een nog betere respons te genereren kan er gebruik gemaakt worden van precaching. Zodra de server rekenkracht overheeft, worden op de achtergrond pagina s gerenderd nog voordat ze worden opgevraagd. Deze staan dan al klaar op het moment dat de eerste bezoeker die pagina opvraagt. Voorbeeld De servercache van een item is ingesteld op Never. Dat betekent dat bij elk verzoek voor dat item Smartsite de pagina moet renderen. Stel dat deze pagina 6000 keer in een uur wordt opgevraagd. Smartsite moet dan 6000 keer een deel van zijn capaciteit gebruiken om het gevraagde item te renderen. Wanneer de servercache van het item op 10 minuten wordt ingesteld, zal deze pagina nog maar 6 keer per uur gerenderd worden. De eerste bezoeker krijgt een vers gerenderde pagina. Binnen de volgende 10 minuten krijgen de overige bezoekers binnen een tijdspanne van 10 minuten de pagina direct uit de servercache. Pas de eerste bezoeker na die periode van 10 minuten krijgt een pagina die opnieuw gerenderd is en gecached. Smartsite hoeft nu nog maar 6 keer per uur het item samen te voegen met zijn opmaak Servercache instellen De servercache kan per item worden ingesteld. Over het algemeen zal de servercache van een item worden geërfd van zijn ouder. Hierdoor hoeven redacteuren zelf geen instellingen te doen. Wat is nu een goede instelling voor servercache? Voor veel items in een site is de optie Until Item Update de ideale instelling. De inhoud van het item is niet afhankelijk van andere bronnen en elke keer dat een item wordt bewerkt en geactiveerd zal de servercache van het item worden weggegooid. De eerste bezoeker die het item opvraagt zal dan een opnieuw gerenderde pagina krijgen, waarin de laatste wijzigingen direct zichtbaar zijn. Er zijn echter items die gebruik maken van macro s, die normaal gesproken worden uitgevoerd op het moment dat het item gerenderd wordt. Stel dat Smartsite Content Management Server 177

187 Servercache en AIM een XLinks-macro in een item wordt gebruikt. De eerste keer dat het item wordt gerenderd tot een pagina, wordt een lijst van alle kinderen samengesteld. Wanneer de servercache van dit item op Until Item Update wordt gezet zal elke bezoeker die deze pagina opvraagt de versie uit de servercache krijgen. De pagina wordt niet gerenderd en derhalve wordt de macro niet opnieuw uitgevoerd. Eventuele items die later onder deze folder als nieuwe kinderen worden toegevoegd zullen dus niet in de lijst verschijnen. Er zal dus wellicht een andere servercache moeten worden ingesteld. De vraag wat nu een goede instelling is voor de servercache van een item kan in dit geval dus beantwoord worden met een wedervraag: hoe actueel wil je zijn? Als de servercache van het item dat de macro bevat wordt ingesteld op 2 hours dan zullen alle items die in het tijdsbestek van twee uur worden toegevoegd pas in de lijst verschijnen nadat de pagina opnieuw wordt gerenderd. De maximale vertraging is dus twee uur. Voor een pagina met vacatures binnen het bedrijf, die niet continu veranderen, is dat waarschijnlijk prima. Voor een nieuwssite, die voor alles actueel hoort te zijn, is 2 uur onwerkbaar lang. " Noten De nieuw aangemaakte items zijn natuurlijk wel direct beschikbaar op het moment dat ze worden aangemaakt. Alleen de lijst die in de folder staat wordt niet direct bijgewerkt omdat die pagina niet veranderd is en daarom niet wordt gerenderd. Sommige macro s hebben een postprocess parameter. Dat betekent dat Smartsite het deel van het item dat de macro bevat wel opnieuw rendert. De actie Cache Status Bekijken (View Cache Status) geeft een goed overzicht de servercache van items. Door een aantal items in de boom te selecteren en deze actie te starten krijg je een overzicht: Seneca BV

188 Servercache Figuur 11-2: Overzicht servercache instellingen van items Met de actie Meerdere Items Aanpassen (Update) kun je de servercache instellingen van een groot aantal items direct aanpassen Servercache en AIM De noodzaak tot het beheren en monitoren van de servercache door sitemanagers is afgenomen met de introductie van Active Integrity Maintenance (AIM). AIM zorgt ervoor dat er de onderlinge relaties van items bekend zijn. Wanneer nu een item wordt bijgewerkt kan op basis van deze onderlinge relaties ook bepaald worden voor welke items nieuwe servercache gegenereerd moet worden; van alle items die een zogenaamde softlink onderhouden met het item dat is bijgewerkt, die dus bijvoorbeeld het item afbeelden in een lijst met behulp van een macro, moet de servercache worden weggegooid. Voorbeeld Folder A gebruikt de XLinks macro om een lijst van alle kinderen af te beelden. Wanneer onder Folder A een nieuw item B wordt toegevoegd dan zal AIM een relatie detecteren tussen item B en folder A. Op het moment dat item B actief wordt gemaakt, moet de servercache van folder A worden Smartsite Content Management Server 179

189 Servercache en AIM weggegooid, zodat bij een volgende rendering van die folder A een nieuwe complete lijst van kinderen wordt gegenereerd. Op basis van dit voorbeeld zou je kunnen stellen dat het nu niet meer uitmaakt wat de servercache-instelling van een pagina is - door het gebruik van AIM worden toch alle gerelateerde gecachete items weggegooid, dus elk item zou de waarde Until Item Update kunnen krijgen. Dit is niet helemaal waar. Naast de genoemde XLinks-macro zijn er nog veel meer macro s die gegevens kunnen verzamelen en afbeelden. Deze gegevens hoeven niet uit andere items te komen maar kunnen ook verzameld worden uit externe databases of van externe websites. Wanneer er bijvoorbeeld mutaties in de externe database plaatsvinden dan kan Smartsite daar niet van op de hoogte zijn. Pas op het moment dat een pagina gerenderd wordt zullen de laatste gegevens uit de database worden gelezen. een servercache instelling van Until Item Update is hier dus geen juiste waarde. Echter, dit soort items worden vaak bij de opzet van de site aangemaakt. De juiste cache instellingen worden op dat moment aan het item meegegeven en deze zullen daarna over het algemeen ook niet meer veranderd hoeven worden. Servercache wordt dus door overerving ingesteld. Redacteuren hoeven zich, door de verbeterde cachemogelijkheden van Smartsite, helemaal niet meer druk te maken over servercache. Voor sitemanagers is het van belang dat ze het mechanisme begrijpen. Veranderingen aanbrengen in de instellingen is niet tot nauwelijks nodig Level I- en Level II-cache Het oorspronkelijke servercache-mechanisme van Smartsite bewaart een kopie van een gerenderd item. Wanneer een pagina opnieuw wordt opgevraagd en de servercache van het achterliggende item is nog niet verlopen dan wordt het item uit de servercache gehaald en weergegeven; het item hoeft niet opnieuw gerenderd te worden. Echter, ondanks het niet hoeven renderen is tussenkomst van Smartsite nog steeds noodzakelijk. Deze vorm van servercache wordt Level I-cache genoemd. Met de komst van Smartsite 5.1 hebben de Professional Edition en de Enterprise Edition van Smartsite een tweede vorm van servercache gekregen: Level II-cache. Level II-cache onderscheidt zich van Level I-cache door het feit dat er geen tussenkomst van Smartsite meer nodig is wanneer een pagina wordt opgevraagd. De pagina s worden nu als platte HTML-bestanden opgeslagen en een bezoeker springt van HTML-pagina naar HTML-pagina. Welke vorm van cache gebruikt wordt, hangt af van de instellingen van het Channel (zie Opbouw van een channel). Er zijn drie mogelijkheden: Geen cache Level I-cache Level I- en Level II-cache Seneca BV

190 Servercache Om ook daadwerkelijk Level II-cache te genereren moet dit per item worden ingesteld door de optie UseExternalServercache aan te vinken. Noot De optie UseExternalServercache is een contenttypeveld. Deze optie bestaat dus alleen binnen het contenttype als het daar ook daadwerkelijk is gedefinieerd. In meest voorkomende gevallen staat deze optie altijd aan en wordt het door overerving gevuld. " Wanneer een item aan de voorkant van de site wordt opgevraagd dan ziet de querystring van het item er bijvoorbeeld als volgt uit: Wanneer items als Level II-cache gegenereerd worden dan zal dat anders zijn: Elk item dat als Level II-cache wordt gegenereerd zal als {itemnummer}.html bestand worden aangemaakt. Alle verwijzingen naar andere items worden ook omgezet naar dit formaat. Noot Dit geldt alleen als het item waarnaar wordt verwezen ook als Level II-cache wordt gegenereerd. Indien dat niet gebeurt wordt de referentie in de standaard- Smartsitenotatie gehouden. " Alle verwijzingen naar HTML-bestanden kunnen nu louter door de webserver worden afgehandeld en tussenkomst door Smartsite is niet meer noodzakelijk. Smartsite houdt echter wel in de gaten of de servercache van items verloopt. Indien dat het geval is genereert Smartsite automatisch nieuwe Level II-cache. Het Level II-cache mechanisme biedt enorm veel mogelijkheden: betere performance, betere balans tussen de CMS-kant en de publicatiekant van een site, het invoegen van ASP en het publiceren op een webserver waarop Smartsite niet voorhanden is. In alle gevallen zal in een lopende site veel door Smartsite, geheel geautomatiseerd, worden afgehandeld zonder dat enige tussenkomst van de sitemanager noodzakelijk is Externe Verwijzingen Bij externe verwijzingen kan Smartsite niet voorkomen dat er links ontstaan die foutmeldingen opleveren. Er kan immers buiten Smartsite om een plaatje worden verwijderd van de fileserver of een externe site kan opgeheven worden. Om toch overzicht te hebben of externe verwijzingen nog valide zijn, is er de actie Externe Verwijzingen. Wanneer je de actie gebruikt, wordt het volgende dialoogvenster geopend: Smartsite Content Management Server 181

191 Servercache en AIM Figuur 11-3: Externe Verwijzingen Met dit tabblad kun je in de hele site of in gedeelten ervan zoeken op links en verwijzingen die tot een foutmelding leiden. Door dubbel te klikken op de melding in het scherm krijg je extra informatie over de soort link (hardlink of softlink), de volledige verwijzing en het item waarin de onjuiste verwijzing te vinden is Seneca BV

Site Management Handleiding

Site Management Handleiding Site Management Handleiding Onderhouden en beheren van een door Smartsite 5 aangedreven site Smartsite Software BV Copyright 2004 Smartsite Software B.V. Alle rechten voorbehouden. Niets uit deze uitgave

Nadere informatie

Site Management Handleiding

Site Management Handleiding Site Management Handleiding Onderhouden en beheren van een door Smartsite 5.0 aangedreven site Erwin Rijss Smartsite Software BV Copyright 2003 Smartsite Software B.V. Alle rechten voorbehouden. Niets

Nadere informatie

Whitepaper Thesauri en Smartsite

Whitepaper Thesauri en Smartsite Whitepaper Thesauri en Smartsite HET GEBRUIK VAN THESAURI 2 INLEIDING 2 METADATA EN SMARTSITE 2 THESAURI EN LIJSTEN 3 OPBOUW THESAURUS 3 Relatie-indicatoren 3 De hiërarchische relatie BT/NT 3 De equivalente

Nadere informatie

Firewall. Facebook Blokkering

Firewall. Facebook Blokkering Firewall Facebook Blokkering Facebook Blokkering In deze handleiding laten wij u zien hoe u simpel Facebook kunt blokkeren voor uw privé en/of zakelijk netwerk. Hierbij moet u een aantal stappen doorlopen

Nadere informatie

Redacteuren Handleiding. Achtergronden en gebruik van de Smartsite Manager Release 5.2

Redacteuren Handleiding. Achtergronden en gebruik van de Smartsite Manager Release 5.2 Redacteuren Handleiding Achtergronden en gebruik van de Smartsite Manager Release 5.2 Copyright 2008 Seneca B.V. Alle rechten voorbehouden. Niets uit deze uitgave mag worden verveelvoudigd, opgeslagen

Nadere informatie

Redacteuren Handleiding. Achtergronden en gebruik van de Smartsite Content Management Server Release 5.3 en Smartsite ixperion Release 1.

Redacteuren Handleiding. Achtergronden en gebruik van de Smartsite Content Management Server Release 5.3 en Smartsite ixperion Release 1. Redacteuren Handleiding Achtergronden en gebruik van de Smartsite Content Management Server Release 5.3 en Smartsite ixperion Release 1.0 Copyright 1997-2009 Seneca B.V. Alle rechten voorbehouden. Niets

Nadere informatie

WebHare Professional en Enterprise

WebHare Professional en Enterprise WebHare Professional en Enterprise Publicatie module Site inrichting handleiding Datum 19 november 2002 Aantal pagina s: 31 Versie: 2.01 Doelgroep Sysops Gebruikers met site aanmaak rechten Gebruikers

Nadere informatie

De stappenhandleiding is in hoofdstappen verdeeld, de volgende stappen zullen aan bod komen:

De stappenhandleiding is in hoofdstappen verdeeld, de volgende stappen zullen aan bod komen: VOORWOORD In deze handleiding wordt de module Vacature van OnderneemOnline stap voor stap uitgelegd. In de inhoudsopgave vindt u exact terug hoe u de module Vacature kunt beheren. De stappenhandleiding

Nadere informatie

Met de functie 'Bind IP to MAC' heeft u meer controle over het gebruik van LAN IP-adressen die in het netwerk worden gebruikt.

Met de functie 'Bind IP to MAC' heeft u meer controle over het gebruik van LAN IP-adressen die in het netwerk worden gebruikt. Bind IP to MAC Met de functie 'Bind IP to MAC' heeft u meer controle over het gebruik van LAN IP-adressen die in het netwerk worden gebruikt. Het is lastig om in de router functies toe te passen op IP

Nadere informatie

Website maker. Bezoek je domein om de Website maker in te stellen. De volgende melding zal zichtbaar zijn.

Website maker. Bezoek je domein om de Website maker in te stellen. De volgende melding zal zichtbaar zijn. Aan de slag met de Bezoek je domein om de in te stellen. De volgende melding zal zichtbaar zijn. Volg de url 'administratie paneel' om in te loggen en de vervolgens in te stellen. Als eerst krijg je de

Nadere informatie

HANDLEIDING. WordPress LAATSTE VERSIE: 29-12-2011 RODER!CKVS WEBDESIGN & WEBHOSTING

HANDLEIDING. WordPress LAATSTE VERSIE: 29-12-2011 RODER!CKVS WEBDESIGN & WEBHOSTING HANDLEIDING WordPress LAATSTE VERSIE: 29-12-2011 RODER!CKVS WEBDESIGN & WEBHOSTING Inhoudsopgave Inloggen... 3 Een nieuw bericht plaatsen... 5 Aan een nieuw bericht beginnen... 5 Je bericht bewaren, een

Nadere informatie

Central Station. CS website

Central Station. CS website Central Station CS website Versie 1.0 18-05-2007 Inhoud Inleiding...3 1 De website...4 2 Het content management systeem...5 2.1 Inloggen in het CMS... 5 2.2 Boomstructuur... 5 2.3 Maptypen... 6 2.4 Aanmaken

Nadere informatie

Mach3Framework 5.0 / Website

Mach3Framework 5.0 / Website Mach3Framework 5.0 / Website Handleiding Mach3Builders Inhoudsopgave 1 Inloggen...5 1.1 Ingelogd blijven...6 1.2 Wachtwoord vergeten...7 2 Applicatie keuzescherm...8 2.1 De beheeromgeving openen...9 3

Nadere informatie

Inhoud van de website invoeren met de ContentPublisher

Inhoud van de website invoeren met de ContentPublisher Inhoud van de website invoeren met de ContentPublisher De inhoud van Muismedia websites wordt ingevoerd en gewijzigd met behulp van een zogenaamd Content Management Systeem (CMS): de ContentPublisher.

Nadere informatie

Firewall URL Content Filter

Firewall URL Content Filter Firewall URL Content Filter URL Content Filter Met URL Content Filter heeft u de mogelijkheid om een white- en blacklist op te stellen met URLs (Uniform Resource Locator) die wel of niet bezocht mogen

Nadere informatie

Redacteuren Handleiding

Redacteuren Handleiding Redacteuren Handleiding Achtergronden en gebruik van de Smartsite Manager 5.0 Erwin Rijss Smartsite Software BV Copyright 2003 Smartsite Software B.V. Alle rechten voorbehouden. Niets uit deze uitgave

Nadere informatie

15 July 2014. Betaalopdrachten web applicatie gebruikers handleiding

15 July 2014. Betaalopdrachten web applicatie gebruikers handleiding Betaalopdrachten web applicatie gebruikers handleiding 1 Overzicht Steeds vaker komen we de term web applicatie tegen bij software ontwikkeling. Een web applicatie is een programma dat online op een webserver

Nadere informatie

REDACTEUREN HANDLEIDING

REDACTEUREN HANDLEIDING V1.2 8/5/2009 Vertaling: John Sim 2 Inhoudsopgave De inhoud van een document bewerken... 11 Een nieuwe document aanmaken... 12 Het aanmaken van een nieuwe document gaat als volgt:... 12 Een pagina publiceren...

Nadere informatie

HANDLEIDING DMS. Handleiding DMS. Dit document is de handleiding voor het DMS (Document Management Systeem) op drie verschillende niveau s:

HANDLEIDING DMS. Handleiding DMS. Dit document is de handleiding voor het DMS (Document Management Systeem) op drie verschillende niveau s: HANDLEIDING DMS Dit document is de handleiding voor het DMS (Document Management Systeem) op drie verschillende niveau s: Gebruiker Coördinator Administrator end2end solutions pagina 1 Op het DMS van Ieper

Nadere informatie

Het Wepsysteem. Het Wepsysteem wordt op maat gebouwd, gekoppeld aan de gewenste functionaliteiten en lay-out van de site. Versie september 2010

Het Wepsysteem. Het Wepsysteem wordt op maat gebouwd, gekoppeld aan de gewenste functionaliteiten en lay-out van de site. Versie september 2010 Het Wepsysteem Het Wepsysteem is een content management systeem, een systeem om zonder veel kennis van html of andere internettalen een website te onderhouden en uit te breiden. Met het Content Management

Nadere informatie

Handleiding Intranet Versie 1.0

Handleiding Intranet Versie 1.0 Handleiding Intranet Versie 1.0 Auteur: Roger van Santen Pagina: 1 van 12 1 VERSIEBEHEER Versie Datum Auteur(s) Aanleiding Wijzigingen 1.0 10-01-2006 Roger van Santen Installatie intranet nvt Auteur: Roger

Nadere informatie

LAN Setup middels Tag Based VLAN. DrayTek Vigor 2960 & 3900 icm G2240 & P2261

LAN Setup middels Tag Based VLAN. DrayTek Vigor 2960 & 3900 icm G2240 & P2261 LAN Setup middels Tag Based VLAN DrayTek Vigor 2960 & 3900 icm G2240 & P2261 Tag Based VLAN DrayTek Vigor 2960 & 3900 In deze handleiding zullen wij uitleggen hoe u de DrayTek Vigor 2960 en 3900 producten

Nadere informatie

Projecten & Objectenmodule

Projecten & Objectenmodule Projecten & Objectenmodule De Projecten & Objecten module is speciaal ontwikkeld voor o.a. makelaars, projectontwikkelaars en bouwbedrijven. Deze module geeft u de mogelijkheid projecten en objecten te

Nadere informatie

In het CMS is het mogelijk om formulieren aan te maken. Voorafgaand een belangrijke tip:

In het CMS is het mogelijk om formulieren aan te maken. Voorafgaand een belangrijke tip: FORMULIEREN In het CMS is het mogelijk om formulieren aan te maken. Voorafgaand een belangrijke tip: belangrijk Importeer formulierdata uit een CSV-bestand precies zoals verderop beschreven. 1. Gedrag

Nadere informatie

Webonderdelen (Web Parts)

Webonderdelen (Web Parts) Webonderdelen (Web Parts) Een SharePoint pagina is opgedeeld in een aantal zones op het scherm. In elke zone kunnen Webonderdelen, veelal Web Parts genoemd, geplaatst worden. Deze Web Parts zijn kleine

Nadere informatie

Firewall Configuratie

Firewall Configuratie Firewall Configuratie Firewall Configuratie In deze handleiding gaan we een aantal voorbeelden geven hoe u een bepaalde situatie kunt oplossen door middel van een aantal Filter Rules. Situatie 1 U maakt

Nadere informatie

Cerium CMS versie 4.0. Wat is nieuw in versie 4.0. www.cerium.nl

Cerium CMS versie 4.0. Wat is nieuw in versie 4.0. www.cerium.nl Cerium CMS versie 4.0 Wat is nieuw in versie 4.0 www.cerium.nl Bijgewerkt februari 2014 Cerium BV 2014 Inhoudsopgave 1. Inleiding 3 2. Nieuwe onderhouds URL 4 3. Drag and drop upload 5 4. Spring naar item

Nadere informatie

Handleiding Joomla! 1.5

Handleiding Joomla! 1.5 Handleiding Joomla! 1.5 Versie :0.1 2/20 Inhoud 2. Aanmelden... 4 3. Artikelbeheer... 5 3.1 Nieuw artikel toevoegen... 5 3.2 Bestaand artikel wijzigen/verwijderen... 6 3.2.1 Front end editing... 7 4. Sectie

Nadere informatie

Globale kennismaking

Globale kennismaking Globale kennismaking Kennismaking Tesla CMS 1. Dashboard 2. pagina beheer - pagina aanmaken - pagina aanpassen - pagina verwijderen - pagina seo opties - zichtbaarheid pagina 3. subpagina beheer - subpagina

Nadere informatie

HANDLEIDING BEHEER WEBSITE. Vrouwen van Nu

HANDLEIDING BEHEER WEBSITE. Vrouwen van Nu HANDLEIDING BEHEER WEBSITE Vrouwen van Nu Versie 1.3 11 Oktober 2012 VERSIE INFO Versie Datum Auteur Omschrijving 1.0 25 September 2012 Rudi van Es 1.1 2 Oktober 2012 Maarten Rütten 1.2. 3 Oktober 2012

Nadere informatie

Release datum: 11 juni 2012

Release datum: 11 juni 2012 Highlights 1 HSExpert versie 5.2 Begin juni is versie 5.2 van HSExpert gereleased. In versie 5.2 zijn vooral wijzigingen op het RiAxion (Arbo) dossier doorgevoerd. Daarnaast zijn er wat kleinere wijzigingen

Nadere informatie

Handleiding WIS TM Live-editing Live editing is een WIS TM module

Handleiding WIS TM Live-editing Live editing is een WIS TM module Handleiding WIS TM Live-editing Live editing is een WIS TM module Live-edit 1. Inleiding De nieuwe versie van WIS tm beschikt over een aantal nieuwe functionaliteiten, waarvan vooral liveediting als nieuwe

Nadere informatie

HvA CMS: Hippo. Concept

HvA CMS: Hippo. Concept HvA CMS: Hippo Concept Deze uitgave wordt uitsluitend voor persoonlijk gebruik aan cursisten meegegeven. Alle rechten worden voorbehouden. Niets uit deze uitgave mag door fotokopieën of op enige andere

Nadere informatie

module 5 2008 Instruct, Postbus 38, 2410 AA Bodegraven - 1 e druk: november 2008

module 5 2008 Instruct, Postbus 38, 2410 AA Bodegraven - 1 e druk: november 2008 Europees Computer Rijbewijs module 5 ACCESS 2007 2008 Instruct, Postbus 38, 2410 AA Bodegraven - 1 e druk: november 2008 ISBN: 978 90 460 0493 7 Alle rechten voorbehouden. Niets uit deze uitgave mag worden

Nadere informatie

Firewall Traffic Control

Firewall Traffic Control Firewall IPv4 Firewall IPv4 Setup In deze handleiding kunt u informatie vinden over alle mogelijke Firewall instellingen van de DrayTek Vigor 2130 en 2750. Hierin zullen wij alle algemene instellingen

Nadere informatie

Smartsite ixperion Faceted Search

Smartsite ixperion Faceted Search dinsdag 26 oktober 2010 Smartsite ixperion Faceted Search Marc Derksen Uitgangspunten 2 woensdag 27 oktober 2010 Wat is Faceted Search? Nieuwe krachtige zoekomgeving voor Smartsite ixperion Zoekexpressies

Nadere informatie

ACCEPETEREN RESERVERING

ACCEPETEREN RESERVERING E-mail Templates In i-reserve is het mogelijk gestandaardiseerde e-mails te verzenden. Het verzenden van dergelijke mails kan volledig worden geautomatiseerd: u maakt dan gebruik van zogenaamde automatische

Nadere informatie

VPN LAN-to-LAN PPTP. Vigor 1000, 2130 en 2750 serie

VPN LAN-to-LAN PPTP. Vigor 1000, 2130 en 2750 serie VPN LAN-to-LAN PPTP Vigor 1000, 2130 en 2750 serie VPN LAN-to-LAN PPTP De DrayTek producten beschikken over een geïntegreerde VPN server. Hierdoor kan een VPN tunnel gemaakt worden naar uw netwerk, zonder

Nadere informatie

CMS Made Simple eenvoudig uitgelegd CMS MADE SIMPLE- Eenvoudig uitgelegd

CMS Made Simple eenvoudig uitgelegd CMS MADE SIMPLE- Eenvoudig uitgelegd CMS Made Simple eenvoudig uitgelegd CMS MADE SIMPLE- Eenvoudig uitgelegd Introductie Deze handleiding heeft tot doel een eenvoudige stap voor stap handleiding te zijn voor eindgebruikers van CMS Made Simple

Nadere informatie

Mach3Framework 5.0 / Website

Mach3Framework 5.0 / Website Mach3Framework 5.0 / Website Handleiding Mach3Builders Inhoudsopgave 1 Inloggen...4 1.1 Ingelogd blijven...5 1.2 Wachtwoord vergeten...6 2 Applicatie keuzescherm...7 2.1 De beheeromgeving openen...8 3

Nadere informatie

Met deze module heeft u de mogelijkheid om gemakkelijk, snel en efficiënt uw documenten als naslag in Unit 4 Multivers te koppelen.

Met deze module heeft u de mogelijkheid om gemakkelijk, snel en efficiënt uw documenten als naslag in Unit 4 Multivers te koppelen. Handleiding Scan+ Introductie Met Scan+ gaat een lang gekoesterde wens voor vele gebruikers van Unit 4 Multivers in vervulling: eenvoudig koppelen van documenten in relatiebeheer of documentmanagement

Nadere informatie

Als je naar ERIC gaat kom je automatisch bij Basic Search (eenvoudig zoeken).

Als je naar ERIC gaat kom je automatisch bij Basic Search (eenvoudig zoeken). ZOEKEN IN ERIC EENVOUDIG ZOEKEN ZOEKRESULTAAT: SORTEREN EN VERFIJNEN (FILTERS) GEAVANCEERD ZOEKEN SEARCH HISTORY DE THESAURUS (wat is het?) ZOEKEN MET DE THESAURUS EEN TWEEDE THESAURUSTERM TOEVOEGEN EENVOUDIG

Nadere informatie

Sparse columns in SQL server 2008

Sparse columns in SQL server 2008 Sparse columns in SQL server 2008 Object persistentie eenvoudig gemaakt Bert Dingemans, e-mail : info@dla-os.nl www : http:// 1 Content SPARSE COLUMNS IN SQL SERVER 2008... 1 OBJECT PERSISTENTIE EENVOUDIG

Nadere informatie

SUBSITE BEHEREN. 1. Verticale navigatie maken

SUBSITE BEHEREN. 1. Verticale navigatie maken SUBSITE BEHEREN 1. Verticale navigatie maken In de hoofdnavigatiemappen kunnen subnavigatiemappen worden aangemaakt. Deze mappen worden als ze content bevatten als verticale navigatieknoppen in het linkerschermdeel

Nadere informatie

HANDLEIDING DOIT BEHEER SYSTEEM

HANDLEIDING DOIT BEHEER SYSTEEM HANDLEIDING DOIT BEHEER SYSTEEM ALGEMENE INFORMATIE Het Doit beheer systeem is een modulair opgebouwd systeem waarin modules makkelijk kunnen worden toegevoegd of aangepast, niet iedere gebruiker zal dezelfde

Nadere informatie

Wijzigingen UNIT4 Audition 10.0

Wijzigingen UNIT4 Audition 10.0 Wijzigingen UNIT4 Audition 10.0 UNIT4 Accountancy B.V. Bastion 4 Postbus 755 3900 AT Veenendaal Telefoon algemeen: 0318-581600 Telefoon Servicedesk: 0318-581750 E-mail: servicedesk.accountancy@unit4.com

Nadere informatie

Installatiehandleiding. ixperion Word Import. voor Windows 2008 R2 64bit. Smartsite ixperion WordImport Implementatie. Copyright 2010-2011

Installatiehandleiding. ixperion Word Import. voor Windows 2008 R2 64bit. Smartsite ixperion WordImport Implementatie. Copyright 2010-2011 Installatiehandleiding ixperion Word Import voor Windows 2008 R2 64bit Copyright 2010-2011 Versie 1.0.0 Seneca 2011 1 Auteur: ing. Silvio Bosch Versiebeheer: Versie Status Datum Omschrijving en wijzigingen

Nadere informatie

Handleiding. Verlinde Net@Price Website

Handleiding. Verlinde Net@Price Website Handleiding Verlinde Net@Price Website Inhoudsopgave Inleiding 2 Hoofdstuk 1. Maak een nieuwe configuratie 4 Hoofdstuk 2. Bekijk een bestaande configuratie 13 Hoofdstuk 3. Levertijden 13 1 Inleiding De

Nadere informatie

Drupal. Handleiding voor medewerkers. Wim Hambrouck V1.1 (januari 2011)

Drupal. Handleiding voor medewerkers. Wim Hambrouck V1.1 (januari 2011) Drupal Handleiding voor medewerkers Wim Hambrouck V1.1 (januari 2011) * + INHOUDSTAFEL Inhoudstafel... 2 1. Inloggen... 3 2. Menu opties... 3 3. Inhoud aanmaken... 4 3.1 Algemene instellingen voor nieuwe

Nadere informatie

De tekstverwerker. Afb. 1 de tekstverwerker

De tekstverwerker. Afb. 1 de tekstverwerker De tekstverwerker De tekstverwerker is een module die u bij het vullen van uw website veel zult gebruiken. Naast de module tekst maken onder andere de modules Aankondigingen en Events ook gebruik van de

Nadere informatie

Handleiding Afdrukken samenvoegen

Handleiding Afdrukken samenvoegen Handleiding Afdrukken samenvoegen Versie: 1.0 Afdrukken Samenvoegen Datum: 17-07-2013 Brieven afdrukken met afdruk samenvoegen U gebruikt Afdruk samenvoegen wanneer u een reeks documenten maakt, bijvoorbeeld

Nadere informatie

Met deze module heeft u de mogelijkheid om gemakkelijk, snel en efficiënt uw documenten als naslag in Unit 4 Multivers te koppelen.

Met deze module heeft u de mogelijkheid om gemakkelijk, snel en efficiënt uw documenten als naslag in Unit 4 Multivers te koppelen. Handleiding Office+ Introductie Met de module Office+ gaat een lang gekoesterde wens voor vele gebruikers van Unit 4 Multivers in vervulling: eenvoudig koppelen van documenten in relatiebeheer of documentmanagement

Nadere informatie

Website van het openbaar ministerie Korte gebruikershandleiding voor Content Managers

Website van het openbaar ministerie Korte gebruikershandleiding voor Content Managers Website van het openbaar ministerie Korte gebruikershandleiding voor Content Managers De website van het openbaar ministerie is momenteel (tijdelijk) te vinden op volgende intranetadres: http://10.241.132.229.

Nadere informatie

Handleiding Wordpress

Handleiding Wordpress Handleiding Wordpress Inhoudsopgave 1. Inloggen 2. Berichten en Pagina s 3. Afbeeldingen en video s 4. Weblinks 1. Inloggen 1.1 Inloggen bij Wordpress We starten met het inloggen op je WordPress gebaseerde

Nadere informatie

Handleiding Joomla CMS

Handleiding Joomla CMS Handleiding Joomla CMS Inhoudsopgave Inloggen bij de beheeromgeving 3 Artikelen 4 Prullenbak bekijken 4 Nieuw artikel maken / bewerken 5 Afbeelding toevoegen aan artikel 6 Link in een artikel plaatsen

Nadere informatie

Schoolwebsite.nu. Snel aan de slag met uw website. Versie 4.0

Schoolwebsite.nu. Snel aan de slag met uw website. Versie 4.0 Schoolwebsite.nu Snel aan de slag met uw website Versie 4.0 Inhoudsopgave Inhoudsopgave... 2 1 Inleiding... 3 2 Voor dat u begint... 4 3 Teksten op de website... 6 4 Groepspagina s... 8 5 De groepspagina...

Nadere informatie

Darts. Versie 1.21 23 september 2010 Reinier Vos. CS Engineering Brugweg 56 Postbus 235 2740 AE Waddinxveen

Darts. Versie 1.21 23 september 2010 Reinier Vos. CS Engineering Brugweg 56 Postbus 235 2740 AE Waddinxveen Darts Versie 1.21 23 september 2010 Reinier Vos CS Engineering Brugweg 56 Postbus 235 2740 AE Waddinxveen Inhoud HOOFDSTUK 1 - INLEIDING... 3 1.1 DOEL VAN DIT DOCUMENT... 3 1.2 DOELGROEP VOOR DIT DOCUMENT...

Nadere informatie

Quick Guide VivianCMS

Quick Guide VivianCMS Quick Guide VivianCMS Contactformulier creëren Versie: 1.0 Startdatum: 24 juli 2006 Datum laatste wijziging: 24 juli 2006 Opmerking: Gepubliceerd op http://www.viviancms.nl Inhoud 1 Inleiding...3 1.1 Contactformulier

Nadere informatie

In deze handleiding gaan we een voorbeeld geven hoe u een bepaalde situatie kunt oplossen doormiddel van een aantal Firewall >> Filter Rules.

In deze handleiding gaan we een voorbeeld geven hoe u een bepaalde situatie kunt oplossen doormiddel van een aantal Firewall >> Filter Rules. Firewall Cases Firewall Cases In deze handleiding gaan we een voorbeeld geven hoe u een bepaalde situatie kunt oplossen doormiddel van een aantal Firewall >> Filter Rules. Situatie: Bedrijf U heeft van

Nadere informatie

Bandwidth Management

Bandwidth Management Bandwidth Management Bandwidth Management Setup In deze handleiding kunt u informatie vinden over alle mogelijke Bandwidth instellingen. We beschrijven in deze handleiding alle standaard functionaliteiten,

Nadere informatie

Advies - Algemeen concept_software

Advies - Algemeen concept_software Met de invoering van de WFT is het advies van met name complexe producten niet meer hetzelfde. Aan de ene kant stelt de WFT dat het noodzakelijk is dat de adviseur een klantprofiel opstelt. Maar aan de

Nadere informatie

Technische nota AbiFire5 Rapporten maken via ODBC

Technische nota AbiFire5 Rapporten maken via ODBC Technische nota AbiFire5 Rapporten maken via ODBC Laatste revisie: 29 juli 2009 Inhoudsopgave Inleiding... 2 1 Installatie ODBC driver... 2 2 Systeeminstellingen in AbiFire5... 3 2.1 Aanmaken extern profiel...

Nadere informatie

Bestek nr. 16EN/2003/8. Het ontwerpen, ontwikkelen en instandhouden van een webstek Schelderadarketen: www.schelderadar.net.

Bestek nr. 16EN/2003/8. Het ontwerpen, ontwikkelen en instandhouden van een webstek Schelderadarketen: www.schelderadar.net. Ministerie van de Vlaamse Gemeenschap Departement Leefmilieu en Infrastructuur Administratie Waterwegen en Zeewezen afdeling Scheepvaartbegeleiding en Ministerie van Verkeer en Waterstaat afdeling Verkeer

Nadere informatie

ZOEKEN IN BUSINESS SOURCE PREMIER

ZOEKEN IN BUSINESS SOURCE PREMIER ZOEKEN IN BUSINESS SOURCE PREMIER ZOEKEN IN BUSINESS SOURCE PREMIER EENVOUDIG ZOEKEN ZOEKRESULTAAT: SORTEREN EN VERFIJNEN (FILTERS) GEAVANCEERD ZOEKEN SEARCH HISTORY ZOEKEN NAAR LANDENINFORMATIE ZOEKEN

Nadere informatie

Systeemontwikkeling, Hoofdstuk 4, Tabellen maken in MS Access 2010

Systeemontwikkeling, Hoofdstuk 4, Tabellen maken in MS Access 2010 4 Tabellen maken in MS Access In dit hoofdstuk starten we met de bouw van ons informatiesysteem met de belangrijkste bouwstenen: de tabellen. 4.1 Starten met MS Access Als je het programma Microsoft Access

Nadere informatie

Uitleg CMS Utrecht Your Way Button 1. Inloggen

Uitleg CMS Utrecht Your Way Button 1. Inloggen Uitleg CMS Utrecht Your Way Button 1. Inloggen Met jouw login gegevens kun je inloggen via http://button.utrechtyourway.nl/cms 2. Dashboard Na inloggen wordt het dashboard van het CMS zichtbaar. Of te

Nadere informatie

15 July 2014. Betaalopdrachten web applicatie beheerders handleiding

15 July 2014. Betaalopdrachten web applicatie beheerders handleiding Betaalopdrachten web applicatie beheerders handleiding 1 Overzicht Steeds vaker komen we de term web applicatie tegen bij software ontwikkeling. Een web applicatie is een programma dat online op een webserver

Nadere informatie

www.dubbelklik.nu Handleiding Access 2010

www.dubbelklik.nu Handleiding Access 2010 www.dubbelklik.nu Handleiding Access 2010 Deze handleiding is onderdeel van Dubbelklik, een lesmethode Technologie, ICT/ Loopbaanoriëntatie en Intersectoraal Alle rechten voorbehouden. Niets uit deze uitgave

Nadere informatie

Technisch Ontwerp W e b s i t e W O S I

Technisch Ontwerp W e b s i t e W O S I Technisch Ontwerp W e b s i t e W O S I WOSI Ruud Jungbacker en Michael de Vries - Technisch ontwerp Website Document historie Versie(s) Versie Datum Status Omschrijving / wijzigingen 0.1 20 nov 2008 Concept

Nadere informatie

2.ouderbeleid.3.plaatsingsprocedure werk admini Pagina 1 van 14

2.ouderbeleid.3.plaatsingsprocedure werk admini Pagina 1 van 14 2.ouderbeleid.3.plaatsingsprocedure werk admini Pagina 1 van 14 In deze werkinstructies kan alles vinden wat te maken heeft met het onderhoud van het kdadmin programma. Je kunt deze onderdelen vinden in

Nadere informatie

Migreren naar Access 2010

Migreren naar Access 2010 In deze handleiding Het uiterlijk van Microsoft Access 2010 verschilt aanzienlijk van Access 2003. Daarom hebben we deze handleiding gemaakt, zodat u niet te veel tijd hoeft te besteden aan het leren werken

Nadere informatie

Protocol: Bij het tabblad Protocol kunt u bepaalde protocollen blokkeren.

Protocol: Bij het tabblad Protocol kunt u bepaalde protocollen blokkeren. Firewall CSM CSM Profile Met de functie CSM Profile kunt u bepaalde soorten verkeer standaard blokkeren, bijvoorbeeld IM-programma's, P2P-programma's, Skype. Desgewenst kunt u hier een bepaald tijdschema

Nadere informatie

LAN Multiple Subnet Tag Based VLAN. Vigor2960/3900 icm VigorSwitch G1241

LAN Multiple Subnet Tag Based VLAN. Vigor2960/3900 icm VigorSwitch G1241 LAN Multiple Subnet Tag Based VLAN Vigor2960/3900 icm VigorSwitch G1241 Tag Based VLAN DrayTek Vigor 2960 & 3900 icm VigorSwitch G1241 In deze handleiding zullen wij uitleggen hoe u de DrayTek Vigor 2960

Nadere informatie

LAN Multiple Subnet Tag Based VLAN. Vigor2860/2925 icm VigorSwitch G1241

LAN Multiple Subnet Tag Based VLAN. Vigor2860/2925 icm VigorSwitch G1241 LAN Multiple Subnet Tag Based VLAN Vigor2860/2925 icm VigorSwitch G1241 Tag Based VLAN DrayTek Vigor 2860 & 2925 icm VigorSwitch G1241 In deze handleiding zullen wij uitleggen hoe u de DrayTek Vigor 2860

Nadere informatie

Portfolio Handleiding / faq

Portfolio Handleiding / faq Portfolio Handleiding / faq Wat is een portfolio? Waar vind ik het portfolio? Wat vind ik allemaal op mijn portfoliopagina? Hoe pas ik mijn introductietekst aan? Wat zijn portfoliomappen en portfolio-items?

Nadere informatie

Systeembeheerder Module

Systeembeheerder Module Systeembeheerder Module I Systeembeheerder Module Inhoudsopgave Hoofdstuk 1 Systeembeheerder module 1 1.1 Applicatie... 2 1.2 Database... Basis 4 1.3 Brieven... en Rapporten 7 1.4 Actielijst... 8 1.5 Beveiliging...

Nadere informatie

R5.0 Deel IV F Werken met Uitgebreide enquete

R5.0 Deel IV F Werken met Uitgebreide enquete R5.0 Deel IV F Werken met Uitgebreide enquete Gebruikershandleidingen Clixmaster Studio Handleiding 1/19 Deel IV F - Werken met Uitgebreide Enquête 2010 Clixmaster BV Alle rechten voorbehouden. Niets uit

Nadere informatie

Factuur Lay-out / Factuur Template

Factuur Lay-out / Factuur Template Factuur Lay-out / Factuur Template In i-reserve is het mogelijk facturen te verzenden. De facturen worden als pdf bijlage per e-mail naar de klant verzonden. In deze tutorial wordt beschreven hoe u een

Nadere informatie

ZOEKEN IN SPORTDISCUS

ZOEKEN IN SPORTDISCUS ZOEKEN IN SPORTDISCUS EENVOUDIG ZOEKEN ZOEKRESULTAAT: SORTEREN EN VERFIJNEN (FILTERS) GEAVANCEERD ZOEKEN SEARCH HISTORY DE THESAURUS (wat is het?) ZOEKEN MET DE THESAURUS EENVOUDIG ZOEKEN Als je naar SPORTDiscus

Nadere informatie

Quick Guide VivianCMS

Quick Guide VivianCMS Quick Guide VivianCMS Gastenboek creëren Versie: 1.0 Startdatum: 24 juli 2006 Datum laatste wijziging: 24 juli 2006 Opmerking: Gepubliceerd op http://www.viviancms.nl Inhoud 1 Inleiding...3 1.1 Contactformulier

Nadere informatie

Excel 2013 Snelstartgids

Excel 2013 Snelstartgids Beknopte handleiding Microsoft Excel 2013 ziet er anders uit dan de vorige versies. Daarom hebben we deze handleiding gemaakt, zodat u sneller vertrouwd raakt met het programma. Pagina 1 van 6 Aan de slag

Nadere informatie

Zeon PDF Driver Trial

Zeon PDF Driver Trial Zakelijke software voor verkoop, dienstverlening en administratie Handleiding module Document Uitgaande correspondentie genereren Uitgaande correspondentie terugvinden Persoonlijk geadresseerde mailings

Nadere informatie

E-MAILS VERZENDEN MET AFDRUK SAMENVOEGEN

E-MAILS VERZENDEN MET AFDRUK SAMENVOEGEN E-MAILS VERZENDEN MET AFDRUK SAMENVOEGEN Met E-mail samenvoegen voor Word en Outlook kunt u o.a. een brochure of nieuwsbrief maken en deze per e-mail verzenden naar uw Outlook-lijst met contactpersonen

Nadere informatie

EBUILDER HANDLEIDING. De Ebuilder is een product van EXED internet www.exed.nl. info@exed.nl EXED CMS UITLEG

EBUILDER HANDLEIDING. De Ebuilder is een product van EXED internet www.exed.nl. info@exed.nl EXED CMS UITLEG EBUILDER HANDLEIDING De Ebuilder is een product van EXED internet www.exed.nl info@exed.nl 1 INHOUDSOPGAVE Inleiding Een korte introductie over het Ebuilder» Navigatie» Snelnavigatie Pagina s Hier vind

Nadere informatie

MA!N Rapportages en Analyses

MA!N Rapportages en Analyses MA!N Rapportages en Analyses Auteur Versie CE-iT 1.2 Inhoud 1 Inleiding... 3 2 Microsoft Excel Pivot analyses... 4 2.1 Verbinding met database... 4 2.2 Data analyseren... 5 2.3 Analyses verversen... 6

Nadere informatie

HANDLEIDING Content Management Systeem de Fertilizer 4

HANDLEIDING Content Management Systeem de Fertilizer 4 HANDLEIDING Content Management Systeem de Fertilizer 4 1 INHOUDSOPGAVE 1. INLEIDING 3 2. BEHEER 5 2.1 Site structuur 6 2.2 Afdelingen 7 2.3 Beheerders 8 2.3.1 Rechten 9 2.3.1.1 Rechten Beheer 9 3. INSTELLINGEN

Nadere informatie

USB Storage Hoe werkt USB storage

USB Storage Hoe werkt USB storage USB Storage USB Storage Hoe werkt USB storage Een USB opslag medium, zoals een USB stick of een externe hardeschijf met een USB aansluiting, kan worden aangesloten op de USB poort van de 2910 en kan dan

Nadere informatie

v.1.48 Genkgo Handleiding Genkgo Events Professioneel evenement management in Genkgo

v.1.48 Genkgo Handleiding Genkgo Events Professioneel evenement management in Genkgo v.1.48 Genkgo Handleiding Genkgo Events Professioneel evenement management in Genkgo Inhoud Voordat u begint...3 In dit document...3 Boom...3 Instellingen...4 Tenaamstelling... 4 Adres... 4 Contactgegevens...

Nadere informatie

Handleiding voor de applicatiebeheerder van Business Assistent

Handleiding voor de applicatiebeheerder van Business Assistent Handleiding voor de applicatiebeheerder van Business Assistent Wijzigingsgeschiedenis Versie Datum Omschrijving Status 0.1 02-10-2014 Eerste opzet van het installatie Concept document. 0.2 14-10-2014 Lezerscorrectie

Nadere informatie

Logging voor Support

Logging voor Support Logging voor Support Wireshark Het computerprogramma Wireshark is een packet sniffer en protocol analyzer, een programma dat gebruikt wordt om gegevens op een computernetwerk op te vangen en te analyseren.

Nadere informatie

Navigator CMS 2009. Beknopte handleiding v1.0

Navigator CMS 2009. Beknopte handleiding v1.0 Navigator CMS 2009 Beknopte handleiding v1.0 Inhoudsopgave 1. Inleiding... 3 2. Inloggen... 4 3. Menustructuur... 5 4. Document Verkenner... 6 5. Mappen beheren... 7 5.2 Map hernoemen... 7 5.3 Map verplaatsen...

Nadere informatie

5. Documenten Wat kan ik met Documenten? 1. Over LEVIY. 5.1 Documenten terugvinden Uitleg over vinden van documenten.

5. Documenten Wat kan ik met Documenten? 1. Over LEVIY. 5.1 Documenten terugvinden Uitleg over vinden van documenten. Versie 1.0 23.03.2015 02 1. Over LEVIY Wat doet LEVIY? 08 5. Documenten Wat kan ik met Documenten? 2. Algemene definities Behandelen van terugkerende definities. 09 5.1 Documenten terugvinden Uitleg over

Nadere informatie

Handleiding beheerders gebruikersgroep NETQ Internet Surveys

Handleiding beheerders gebruikersgroep NETQ Internet Surveys Handleiding beheerders gebruikersgroep NETQ Internet Surveys Utrecht, December 2010 NetQuestionnaires Nederland BV Ondiep Zuidzijde 6 Postbus 10058 3505 BW UTRECHT T +31 (0)30 261 81 00 F +31 (0)30 261

Nadere informatie

In deze handleiding gaan we een aantal voorbeelden geven hoe u een bepaalde situatie kunt oplossen door middel van een aantal Filter Rules.

In deze handleiding gaan we een aantal voorbeelden geven hoe u een bepaalde situatie kunt oplossen door middel van een aantal Filter Rules. Firewall Cases Firewall Cases In deze handleiding gaan we een aantal voorbeelden geven hoe u een bepaalde situatie kunt oplossen door middel van een aantal Filter Rules. Situatie 1: Bedrijf U heeft van

Nadere informatie

Bitrix Site Manager gebruikershandleiding BureauZuid

Bitrix Site Manager gebruikershandleiding BureauZuid Bitrix Site Manager gebruikershandleiding BureauZuid Introductie Deze gebruikershandleiding geeft gedetailleerde basisinformatie over hoe te werken met Bitrix Site Manager. Deze handleiding is bedoeld

Nadere informatie

Offective > CRM > Vragenlijst

Offective > CRM > Vragenlijst Offective > CRM > Vragenlijst Onder het menu item CRM is een generieke vragenlijst module beschikbaar, hier kunt u zeer uitgebreide vragenlijst(en) maken, indien gewenst met afhankelijkheden. Om te beginnen

Nadere informatie

Inleiding. - Teksten aanpassen - Afbeeldingen toevoegen en verwijderen - Pagina s toevoegen en verwijderen - Pagina s publiceren

Inleiding. - Teksten aanpassen - Afbeeldingen toevoegen en verwijderen - Pagina s toevoegen en verwijderen - Pagina s publiceren Inleiding Voor u ziet u de handleiding van TYPO3 van Wijngaarden AutomatiseringsGroep. De handleiding geeft u antwoord geeft op de meest voorkomende vragen. U krijgt inzicht in het toevoegen van pagina

Nadere informatie

Altijd op de hoogte van de laatste ontwikkelingen.

Altijd op de hoogte van de laatste ontwikkelingen. Beheer Webredactie dashboard Het webredactie dashboard geeft u in één oogopslag een overzicht van de beheersmogelijkheden van uw website. Daarnaast blijft u via het dashboard gemakkelijk op de hoogte van

Nadere informatie