1 Site Management Handleiding Onderhouden en beheren van een door Smartsite 5.0 aangedreven site Erwin Rijss Smartsite Software BV2 Copyright 2003 Sma...
Dit is de eerste opzet voor de handleiding voor Site Managers. Op het moment van dit schrijven is deze handleiding nog lang niet af, waarvoor onze excuses. Wij zullen proberen op zeer korte termijn de volledige handleiding aan u te presenteren waarin u alle onderdelen voor het succesvol beheren van een door Smartsite 5.0 aangedreven site kunt terugvinden.
Content Data Model De Contents Tabel Content-types Meta-informatie Erven van (meta-)informatie Folder indeling en meta-informatie Security model Gebruikers, Groepen, Rollen, Acties Role Based Management Site-indeling en groepshiërarchie Delegated Securtity Security in de Smartsite Standard Edition Security in de Smartsite Professional Edition Security in de Smartsite Enterprise Edition
Deze handleiding is een voorpublicatie en derhalve nog niet compleet!
2.1 Content Data Model 2.1.1 De Contents Tabel De contents-tabel is de één van de belangrijke tabellen uit de database die een door Smartsite aangedreven site ondersteunen. In de contents-tabel wordt alle informatie opgeslagen die met de inhoud maar ook met de opzet van de site te maken heeft. Alle informatie die binnen de Smartsite Manager wordt aangemaakt wordt opgeslagen in de Contents-tabel. Voor het opslaan van informatie heeft deze tabel een ruime hoeveelheid velden beschikbaar:
Elk veld is van een bepaald veldtype en kan dienovereenkomstig een bepaald soort informatie herbergen; het veld Body is een uitgebreid tekstveld en kan grote hoeveelheden tekst bevatten, het veld AddDate is een veld dat alleen datums 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. Elke regel in de Contents-tabel wordt binnen Smartsite een item genoemd. Een item is dus een brok informatie en die informatie is opgeslagen in de Contents-tabel. Elk onderdeel van het brokje informatie wordt in een apart veld weggeschreven. Informatie bestaat er in veel vormen. Binnen Smartsite is er bijvoorbeeld sprake van informatie die gepubliceerd moet worden, informatie die gebruikt wordt om het publiceren te ondersteunen en informatie die gebruikt wordt om andere informatie terug te vinden. 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:
Smartsite Dynamic Web System®
Deze handleiding is een voorpublicatie en derhalve nog niet compleet!
5
Binnen Smartsite wordt gesproken over Parents (Ouders) en Children (Kinderen) en een daaruit resulterende Parent-Child relatie (Ouder-Kind relatie). Door deze Parent-Child relatie ontstaat er een hiërarchie in de informatie die is opgeslagen. 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, en 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; • 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 versie van Smartsite was er behoefte om extra velden aan de Contents-tabel toe te voegen om de invoer van informatie te structureren; de hoeveelheid in voeren velden was vaak groter dan het aantal beschikbare velden die in de database voorkwam. Het aantal velden in de database groeide daarom explosief omdat elke soort invoer van informatie weer andere velden noodzakelijk maakte. De Contents-tabel van Smartsite 5 bevat een groot aantal velden die voorzien zijn van een hele algemene naam zoals CTSpecificText1, CTSpecificBit3 en CTSpecificBinary1. Deze velden kunnen nu gebruikt worden om informatie in op te slaan. Om de velden effectief te gebruiken worden content-types gebruikt. Elk item in de Contents-tabel is daarom aan een content-type gekoppeld.
2.1.2 Content-types Om bij het gebruik van de Smartsite Manager onderscheid te maken tussen de verschillende soorten informatie, de verschillende items, die in de Contents-tabel van de database zijn opgeslagen wordt gebruik gemaakt van content-types. Content-types zijn definities van informatie. Een content-type heeft een aantal velden waarin deze informatie kan worden ingevuld. De definitie van het content-type koppelt deze velden aan de velden in de Contents-tabel. Heel basaal gezegd is een content-type een masker dat over de Content-tabel wordt gelegd om de invoer in deze tabel te vereenvoudigen. De definitie van een Content-type geeft ons de mogelijkheid om de fysieke veldnamen uit de Contents-tabel te hernoemen met een relationele veldnaam. De kracht van deze relationele veldnamen is dat deze ook gebruikt kunnen worden voor het doorzoeken van de Contents-tabel. Wanneer je binnen de Smartsite Manager informatie uit een item in de Contents-tabel wilt halen door middel van een query-string, dan hoef je niet te we-
Deze handleiding is een voorpublicatie en derhalve nog niet compleet!
ten in welk fysiek veld van de Contents-tabel de informatie staat, maar je kunt gewoon de relationele veldnaam gebruiken.
Er wordt gebruik gemaakt van een Content-type Nieuws. Dit Content-type gebruikt 3 velden uit de Contents-tabel: Title, Body en CTSpecificBinary1. De relationele veldnamen in het Content-type zijn Kop, Nieuwsbericht, Afbeelding en deze veldnamen zijn gekoppeld aan bovengenoemde fysieke veldnamen. Wanneer een item getoond moet worden in de site, dan kan men in de macrodefinities voor het weergeven van informatie uit de Contents-tabel gebruik maken van de relationele veldnamen, Kop, Nieuwsbericht en Afbeelding.
Smartsite komt met een aantal vooraf gedefinieerde content-types om de contents-tabel te vullen: Code Naam
Omschrijving
WP
Webpage
Content-type voor het invoeren van informatie die gepubliceerd moet worden.
TRA
Translation
Items van het het content-type Translation kunnen binnen het body-veld van een ander item een code vervangen door een in de Translations vastgelegde tekst.
BIN
Binary
Items van dit type kunnen binaire informatie bevatten, zoals afbeeldingen, muziek, video etc, die in andere items gebruikt kan worden.
RT
Render Template
In rendertemplates is de opmaak gedefinieerd wanneer items worden opgevraagd in een bepaald Channel (het internet bijvoorbeeld).
CF
CMS Folder
Folders van dit type worden nooit gerenderd. Deze folders zijn bedoeld om informatie logisch te groeperen
CH
Channel
Definieert channels waardoor de informatie kan worden getoond (web, I-mode, print).
REF
Reference
Referenties naar items binnen de site, op het www of naar bestanden op de server.
THS
Thesaurus
In items van dit content-type wordt de definitie van een thesaurus vastgelegd. Items van dit type worden automatisch met een aparte actie geopend om de thesaurus te vullen met informatie.
IMG
Image
Content-type dat alleen afbeeldingen kan bevatten
WFD
Workflow Definition
Items van dit content-type bevatten de CMS-worfklow definities.
WFA
Application Workflow Een apllication workflow wordt gebruikt voor het automatiseren van het onderhoud van de site.
JS
Javascript
Javascript code die bij het renderen van de items wordt gebruikt.
CSS
CSS
Cascading Syle Sheet definities die bij het renderen van items wordt gebruikt.
XML
XML Data
Content-type voor XML
XSL
XSLT
Content-type voor XSLT
XSD
XML Schema
Content-type voor XML-schemas Tabel 2-2 - Overzicht standaard content-types
Smartsite Dynamic Web System®
Deze handleiding is een voorpublicatie en derhalve nog niet compleet!
7
Noot Het is misschien goed om te onderstrepen dat content-types géén items zijn en ook geen zelfstandige objecten want het zijn alleen maar hulpmiddelen om informatie in de contents-tabel op een gestructureerde manier te manipuleren en weer te geven. Toch zal er in het verdere verloop van deze handleiding over content-types gesproken worden als ware 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 content-type zit maar in de contents-tabel.
Naast deze ingebouwde content-types kun je natuurlijk ook je eigen contenttypes aanmaken. Voor het beheren en aanmaken van content-types biedt de Smartsite Manager uitgebreide functionaliteit die is ondergebracht in de actie Manage ContentTypes (content-types beheren) . Content-types worden gebruikt om de gevraagde informatie van de gebruikers van de Smartsite Manager te structuren en om op een hanteerbare manier informatie aan de Contents-tabel toe te voegen. Echter, bij het gebruik van content-types wil je misschien ook onderscheid maken tussen de verschillende soorten gebruikers. Sommige velden binnen een content-type zijn toegankelijk voor iedereen, terwijl andere velden alleen door specifieke gebruikers mogen worden bewerkt. Sterker nog, misschien wil je sommige velden niet eens laten zien aan een bepaalde groep van gebruikers. Het koppelen van het mogen invoeren van informatie in de velden van een item en de gebruikers wordt geregeld met de actie Setup Content Management (Content Management Configureren) . Daarin kan het gebruik van een content-type door de verschillende soorten gebruikers(groepen) verfijnd worden.
2.1.3 Meta-informatie De informatie die in een item is opgeslagen is te onderscheiden in inhoudelijke informatie en meta-informatie. De inhoudelijke informatie is de tekst in de een item van het content-type webpage, de afbeelding in een item van het type Binary of de code in een item van het content-type CSS. Er zit echter nog veel meer informatie in een item. Deze informatie bepaalt de kenmerken van de informatie in het item; wat voor item is het, waar gaat het over, wanneer is het aangemaakt, etc. Deze informatie wordt meta-informatie genoemd. De kenmerken die worden opgeslagen in een item zijn zelf gekozen. Bij het opzetten van een content-type kunnen vrije velden zodanig worden ingericht dat zij waardevolle informatie kunnen bevatten die de inhoud van het item kan toelichten. Het effect van een goede opzet van de meta-informatie groeit naarmate de hoeveelheid gegevens die in de database is opgeslagen verder toeneemt. Daarom is het van groot belang in een vroegtijdig stadium zorgvuldig te beslissen wat als meta-informatie wordt opgenomen.
Deze handleiding is een voorpublicatie en derhalve nog niet compleet!
Meta-informatie wordt ingezet om het groeperen, vinden en relateren van content te ondersteunen. Het is bijvoorbeeld mogelijk automatisch een lijst met verwijzingen (hyperlinks) naar items aan te maken op basis van meta-informatie of hiërarchie. De meta-informatie binnen Smartsite kan zo worden ingesteld dat alleen het toevoegen van een item al voldoende is om het in de overzichten met verwijzingen te laten verschijnen. De meta-informatie is tevens zeer goed bruikbaar voor het zoeken naar informatie binnen de site. Daarnaast kan meta-informatie gebruikt worden om te bepalen hoe de (inhoudelijke) informatie van een item gepresenteerd wordt. Belangrijk bij het gebruik van meta-informatie is de motivatie tot invullen. Het moet duidelijk zijn dat de meta-informatie gebruikt wordt bij het zoeken en bij het opbouwen van links. Zonder goede meta-informatie is een item niet te vinden of staat het op de verkeerde plaats. Zonder meta-informatie is het niet mogelijk automatisch een lijst te maken met links naar de nieuwste items of om de items per categorie weer te geven. Als de motivatie voor het nauwkeurig invullen van meta-informatie ontbreekt ontstaat er na verloop van tijd steeds meer ruis binnen de meta-informatie. Voor het toekennen van meta-informatie moeten eenvoudige en heldere regels zijn opgesteld. Daarnaast kan men ook gebruik maken van de mogelijkheid dat items eigenschappen erven van de folder waarin zij worden geplaatst. Op deze manier kan meta-informatie worden geërfd en kan een deel van de verantwoordelijkheid tot het invullen van deze informatie bij de gebruikers weggenomen worden en geautomatiseerd worden.
2.1.4 Erven van (meta-)informatie Een van de doelen van Content Management is het minimaliseren van handelingen. Als een item wordt toegevoegd in een bepaalde folder zal een aantal eigenschappen van de folder waarschijnlijk ook gelden voor het nieuwe item. Smartsite biedt de mogelijkheid om het item de meta-informatie van de folder te laten erven. Welke informatie (welke velden uit de contents-tabel) er geërfd wordt (worden) wordt bepaald bij het opzetten van content-types. Het erven van metainformatie hoeft natuurlijk niet altijd zichtbaar te gebeuren. Het is goed mogelijk om bepaalde eigenschappen (velden) van een item alleen via overerving toe te kennen en verder niet meer te laten zien. Op deze manier wordt het aantal handelingen dat de gebruiker moet verrichten om informatie toe te voegen geminimaliseerd. Wanneer gebruik wordt gemaakt van overerving is het belangrijk in de ontwerpfase van de site na te gaan welke gegevens nodig zijn. Wanneer met te weinig meta-informatie rekening wordt gehouden is het mogelijk dat later problemen optreden met het groeperen en zoeken van gegevens. Daarentegen kan teveel meta-informatie leiden tot het vertragen van de site. Het op een later moment toevoegen van meta-informatie is altijd mogelijk. Dit kan echter tijdrovend zijn omdat dan alle reeds bestaande items opnieuw moeten worden voorzien van de nieuw-toegevoegde meta-informatie. Dit is gelukSmartsite Dynamic Web System®
Deze handleiding is een voorpublicatie en derhalve nog niet compleet!
kig eenvoudig op te lossen door de ingebouwde manageractie Update eigenschappen van meerdere items tegelijk kan wijzigen.
9
die
Items erven dus meta-informatie van folders waarin zij worden aangemaakt als dat zo is ingesteld. Echter, wanneer items worden gekopieerd of verplaatst naar andere folders wordt de meta-informatie van die items niet aangepast. De items erven dus niet van de folder waarheen zij verplaatst of gekopieerd worden, maar behouden hun eigen eigenschappen. Ook nu biedt de actie Update een oplossing om de meta-informatie aan te passen
2.1.5 Folder indeling en meta-informatie Het kan erg nuttig zijn extra folders aan te maken zodat de meta-informatie geërfd wordt in plaats van dat het handmatig wordt ingesteld wanneer er een item wordt aangemaakt. Dit maakt het beheer ook eenvoudiger als het aantal items toeneemt.
Figuur 2-1 - Organiseren van folders
De bovenstaande figuur laat twee verschillende indelingen van een site zien. In het linker deel van de figuur zijn alle nieuwsitems binnen dezelfde folder geplaatst. Daardoor is het erven van meta-informatie minder goed mogelijk. In het rechter deel van de figuur is ook de afdeling waartoe de berichten behoren opgenomen. Daardoor is het erven meta-informatie hier beter mogelijk. Met de linker opzet moet bij de aanmaak meer informatie worden ingesteld, in dit geval of het bericht van afdeling A of van afdeling B is, dan in de rechter opzet. Daar wordt namelijk aan elk item onder de folder Afdeling A de eigenschap toegekend dat het een nieuwsbericht van Afdeling A is.
Deze handleiding is een voorpublicatie en derhalve nog niet compleet!
2.2 Security model Het Security Data model regelt de rechten van de gebruikers van de Smartsite Manager en de bezoekers van de door Smartsite aangedreven site. Het Security Model van Smartsite is veelomvattend en de mogelijkheden om rechten nauwkeurig aan te passen 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 virus scanners; 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.
2.2.1 Gebruikers, Groepen, Rollen, Acties Alle mogelijkheden die je binnen de Smartsite Manager hebt zijn samengevat in acties en privileges. Je kunt items toevoegen, content-types aanmaken en bewerken, bestanden importeren en je hebt de privileges om folders aan te maken, de webEditor te gebruiken of om items te verwijderen. Aan de andere kant heb je de gebruikers die met de Smartsite Manager aan de slag gaan om de inhoud van de site te bewerken. 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 hierarchische 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. Deze rollen en groepen worden respectievelijk gevuld met acties en met gebruikers. Daarna worden de rollen aan groepen toegekend. De groepen en rollen spelen een centrale rol in de beveiliging en rechtenstructuur van de Smartsite Manager: • Gebruikers kunnen verschillende rollen aannemen waarmee hun rechten worden ingedamd of uitgebreid. Dit wordt Role Based Management genoemd. • De opbouw van de groepen maakt het mogelijk om rechten door te geven aan “lagere” gebruikers. Dit principe wordt Delegated Security genoemd
Het aanmaken en beheren van Gebruikers, Groepen, Rollen en acties gebeurt met de actie Configure Securtity .
2.2.2 Role Based Management In de hierarchische 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. Het
Smartsite Dynamic Web System®
Deze handleiding is een voorpublicatie en derhalve nog niet compleet!
11
uitdelen van de rechten aan groepen om delen van de site te bewerken doe je met de actie Set Manager Access . Wanneer een gebruiker in twee groepen is ingedeeld dan betekent dat, dat hij verantwoordelijk is voor meerdere delen van de site. Een verdere verfijning die je kunt uitvoeren is het toekennen van content-types aan groepen. Binnen het deel van de site waar een groep rechten heeft om items te bewerken kunnen zij alleen de items bewerken van het content-type dat zij toegewezen hebben gekregen. Door de indeling van groepen is het mogelijk om aan te geven wie wat waar mag bewerken. Welke delen van de site moet een groep onderhouden en welke content-types mogen worden aangemaakt of bewerkt. Het instellen van deze rechten gebeurt met de actie Configure Security - Edit Groups . Aan een groep zijn één of meerder rollen toegekend. Een rol kan gebruikt worden om het werken met een content-type te verfijnen. Binnen de definitie van een content-type kan namelijk worden aangegeven welke velden door een bepaalde rol bewerkt mogen worden. Informatie kan dus afgeschermd worden voor gebruikers die (over het algemeen) een lagere rol hebben. Dit is voornamelijk (meta-)informatie die wordt geërfd bininen een ouder-kind relatie. Deze instellingen kunnen op twee niveau’s worden aangepast: met de actie Setup Content Management en met de actie Manage Content-types . Aan rollen worden acties toegekend. Dat betekent dat bij een bepaalde rol maar een beperkt aantal acties horen. Op deze manier kunnen de verantwoordelijkheden voor het beheer en onderhoud van de site verdeeld worden. Een ieder krijgt door zijn rol alleen die acties toegewezen die bij zijn functie horen. Door gebruikers aan meerdere groepen toe te kennen en aan deze groepen een bepaalde rol of meerder rollen te koppelen is het mogelijk om een gebruiker in verschillende delen van de site andere verantwoordelijkheden te geven. In één deel van de site mag een gebruiker alleen maar items toevoegen en bewerken terwijl in een ander deel ook de verantwoordelijkheid van het archiveren en eventueel verwijderen tot de beschikking van deze gebruiker staan. Bij het gebruik van Smartsite kiezen gebruikers voor een rol. De keuze van de rol bepaalt wat wat gebruikers mogen doen (acties - rollen), waar zij die acties mogen uitvoeren in de site (groepen/content-types - rollen) en hoeveel zij van een bepaald content-type te zien krijgen (content-type velden - rollen). Dit principe wordt Role Based Management genoemd. Een overzicht van het Security model van Smartsite wordt getoond in Figuur 2-2 -Overzicht security model
Deze handleiding is een voorpublicatie en derhalve nog niet compleet!
Gebruikers
Groepen
Set edit access Set browse access Setup content management (Templates)
Rollen
Folder
Contenttype
Acties en Privilleges
Items
Restricted
Figuur 2-2 - Overzicht security model
2.2.3 Site-indeling en groepshiërarchie De indeling van groepen heeft ook een hiërarchische opbouw. Deze opbouw is nauw gerelateerd aan de opbouw van de site. De groepshiërarchie is ook van belang voor workflow, taken en het verzenden van berichten.
2.2.4 Delegated Securtity 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; een deelverzameling van de acties uit een “hogere” rol zit ook in de “lagere” rol. 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. Het maximale wat je kunt uitdelen zijn de rechten die je zelf bezit. Als voorbeeld nemen we een standaard redactie waar de hoofdredacteur een aantal redacteuren onder zich heeft (figuur 2-3). De hoofdredacteur maakt in dit geval deel uit van de groep hoofdredacteuren, de redacteuren maken deel uit van de groep redacteuren.
Hoofdredactie A
Redactie A1
Redactie A2
Figuur 2-3 - een elementaire hoofdredactie
Smartsite Dynamic Web System®
Deze handleiding is een voorpublicatie en derhalve nog niet compleet!
13
Bij deze groepen horen de volgende rollen: Groep/Rol
Hoofdredacteur Redacteur
Hoofdredacteuren Redacteuren Tabel 2-3 - groepen en rollen
De groep hoofdredacteuren heeft dus de rollen Hoofdredacteur en de rol Redacteur Bij de rollen uit dit voorbeeld horen de volgende acties: Acties/Rol
Hoofdredacteur Redacteur
Add Item Edit Item Delete Configure Security, Edit Userrs Configure Security, Edit Groups Set Edit Access Tabel 2-4 - 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, de SmartEditor te starten, een folder aan te maken en direct op de site te publiceren.
Afdeling A krijgt een nieuwe medewerker die ook gebruik 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 Edit users actie. 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 Edit roles en Edit actions. 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.
Deze handleiding is een voorpublicatie en derhalve nog niet compleet!
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 Set edit access aan te geven op welk deel van de site de rechten van toepassing zijn.
Hoofdredactie Bedrijf
Set edit access
Hoofdredactie A
Redactie A1
Redactie A2
Hoofdredactie B
Redactie B1
Redactie B2
Rol HR
Rol R
Hoofdredactie C
Redactie C1
Rol HR
Redactie C2
Rol R
Rol R
Figuur 2-4 - Een voorbeeld van een organisatiestructuur
Figuur 2-1: Een voorbeeld van een organisatiestructuur. Het aangeven van de plaats waar één rol mag worden uitgevoerd zodat op verschillende plaatsen de acties uit verschillende rollen zijn toegestaan 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 worden samengevoegd. Dus op de plaats die je aangeeft zijn 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 updates te vergemakkelijken.
2.2.5 Security in de Smartsite Standard Edition De security instellingen in de Smartsite Standard Edition zijn minder uitgebreid dan in de andere versies. De security wordt beperkt door het feit dat er maar één rol aan één groep kan worden gegeven. Eigenlijk worden de acties daardoor direct aan een groep gekoppeld.
2.2.6 Security in de Smartsite Professional Edition Informatie over de security in de Smartsite Professional Edition wordt in latere uitgaven van deze handleiding uitgebreid behandeld.
Smartsite Dynamic Web System®
Deze handleiding is een voorpublicatie en derhalve nog niet compleet!
15
2.2.7 Security in de Smartsite Enterprise Edition De Smartsite Enterprise Edition biedt de meeste functionaliteit om de rechten in de site te regelen. Het belangrijkste voordeel van de Enterprise Edition is het gebruik van Role Based Management en Delegated Security.
2.2.7.1 Rolebased Management/Delegated Security In de Enterprise Edwin kunnen gebruikers onderdeel uitmaken van meerdere groepen. Aan deze groepen kunnen één of meerdere rollen zijn toegekend. Dit betekent dus dat een gebruiker meerdere rollen heeft en dus van rol kan veranderen. Omdat de rollen aan groepen zijn gekoppeld en deze groepen maar rechten hebben in bepaalde delen van de site, zal de keuze van een rol door de gebruiker meteen zijn rechten beperken tot delen van de site. Kort gezegd: afhankelijk van zijn rol kan een gebruiker de bij die rol horende acties uitvoeren een deel van de site. En omgekeerd natuurlijk: in bepaalde delen van de site kan een gebruiker maar een bepaalde rol, met bijbehorende acties, uitoefenen. Eén rol gekoppeld aan één groep lijkt dus voldoende om de security van een site te managen. Dus waarom nou meerdere rollen aan een groep geven? In een grote organisatie is het niet wenselijk dat er maar één iemand verantwoordelijk is voor de alle security instellingen en voor het toekennen van deze instellingen aan gebruikers. Smartsite maakt daarom gebruik van Delegated Security. Delegated Security maakt het mogelijk je eigen rechten (of minder) door te geven aan anderen! Dat betekent dat niet één iemand meer alle security instellingen hoeft bij te houden. Hij kan deze instellingen op hoofdlijnen opzetten en dan een deel van zijn rechten uitdelen aan anderen die op hun beurt weer sub-onderdelen van de security regelen, waarbij zij weer een deel van hun rechten uitdelen, aan anderen die op hun beurt...etc. Binnen een organisatie is de security helemaal gedefinieerd. Ergens binnen de organisatie is de afdeling A die is opgebouwd uit Hoofdredactie A en de Redacties A1 en A2. De gebruikers van de hoofdredactie A en de redacties A1 en A2 zitten in de groep Afdeling A, waarmee hun rechten zijn beperkt tot het deel van de site waar de informatie van afdeling A staat. Redactie A2 krijgt een nieuwe medewerker. Wanneer er geen Delegated Security bestond dan had de Redactie A2 aan Hoofdredactie A moeten vragen of zij contact wilden opnemen met het Hoofd Security Smartsite om een nieuwe gebruiker toe te voegen in Redactie A2. Een omslachtige route. De hoofdredacteur van Hoofdredactie A heeft echter de mogelijkheid om gebruikers aan te maken. Zelf beschikt hij over de rollen Hoofdredacteur en Redacteur. Wanneer er nu een nieuwe medewerker op afdeling A2 komt, kan de Hoofdredacteur deze nieuwe medewerker als gebruiker registreren, hem indelen in en hem de rol van Redacteur toekennen.
Deze handleiding is een voorpublicatie en derhalve nog niet compleet!
3.1 Smartsite Application 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 Configure Security (Beveiliging Configureren) [icoon]. Wanneer deze actie wordt gestart verschijnt er een dialoogvenster: [afbeelding dialoogvenster] Aan de linkerkant van het dialoogvenster vind je in de map Smartsite Console een aantal opties die je kan gebruiken voor het instellen van de security:
LogOn Peeker
geeft een overzicht van de gebruikers die op dit moment van de Smartsite Manager gebruik maken
Edit Users
met deze opties kunnen nieuwe gebruikers worden toegevoegd
Edit Groups
met deze optie kunnen nieuwe groepen worden aangemaakt en kunnen rollen aan deze groepen worden toegekend
Edit Roles
met deze optie worden rollen aangemaakt en worden acties aan de rollen toegevoegd
Edit Actions
met deze optie worden acties gedefinieerd.
Show Groups/Paths relations toont een overzicht op welke delen van de server de verschillende groepen bestanden kunnen opslaan en/of lezen Show Groups/Users relations toon een overzicht in matrix-vorm welke gebruikers in welke groepen zitten Show Groups/Roles relations toont een overzicht van welke rollen aan welke groepen zijn gekoppeld. Tabel 3-1 -
Ook op het configureren van de security is security toegepast. Dit klinkt wat eigenaardig maar is vrij 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 Edit Roles en Edit Actions niet mag gebruiken omdat hij of zij daarmee zijn eigen security-instellingen kan aanpassen.
Smartsite Dynamic Web System®
Deze handleiding is een voorpublicatie en derhalve nog niet compleet!
19
3.2 Gebruikers aanmaken/beheren Open de actie 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:
New User (Nieuwe gebruiker). met deze optie maak je een nieuwe gebruiker aan Open User (Gebruiker bewerken). Met deze optie open je de gebruiker die je in de lijst hebt geselecteerd Copy User (Gebruiker kopieren). Maak een kopie van een bestaande gebruiker om daarna de eigenschappen aan te passen. Save User (Gebruiker opslaan). Delete User (Gebruiker verwijderen). Verwijder de in de lijst geselecteerde gebruiker Find Username (Gebruiker zoeken). Geef een (deel van een) naam op om een gebruiker te vinden.
Noot Er wordt naar beneden gezocht vanaf de naam die in de lijst is geselecteerd Show User Details (Gebruiker details bekijken). Define Filter (Filter definiëren). Met deze optie kan een filter gedefinieerd worden om de lijst met gebruikers overzichtelijker weer te geven. Voor het filteren kan gebruik gemaakt worden van wildcards. Zo kan door het opgeven van het filter %vin% de lijst van gebruikers gefilterd worden op alle gebruikers die ‘vin’ in hun gebruikersnaam hebben staan. Tabel 3-2 - overzicht opties binnen de actie Edit Users
Wanneer op New User wordt geklikt veranderd het rechterdeel van het dialoogvenster. Vul de velden voor de nieuwe gebruiker in of pas ze aan voor bestaande gebruikers: Username De gebruikersnaam geeft in combinatie met het wachtwoord toegang tot de Smartsite Manager. Full Name De volledige naam van de gebruiker. Password Het wachtwoord dat gebruikt wordt wanneer de gebruiker zich aanmeldt bij de Smartsite Manager. Wanneer de gegevens van een bestaande gebruiker worden bekeken dan staan hier tien sterretjes, onafhankelijk van de lengte van het ooit ingevulde wachtwoord. Confirm Password Bij het typen van een nieuw wachtwoord moet het getypte woord in dit veld en het veld Password hetzelfde zijn.
Deze handleiding is een voorpublicatie en derhalve nog niet compleet!
E-mail Het e-mail adres van de gebruiker. Dit e-mail adres kan gebruikt worden om berichten aangaande de workflow van items, nieuwe taken of algemene mededelingen te doen. Primary Group Wanneer maar in een groep zit is de primaire groep gelijk aan die groep. Wanneer een gebruiker in meerder groepen is geplaatst wordt een van deze groepen als primaire groep beschouwt. Member of Groups Selecteer de groepen waar de gebruiker deel van uitmaakt. Een gebruiker moet minimaal in één groep zitten. Noot Het toevoegen aan gebruikers aan groepen kan ook via de optie Edit Groups, Add/Remove Users
Smartsite Dynamic Web System®
Deze handleiding is een voorpublicatie en derhalve nog niet compleet!
21
3.3 Groepen Aanmaken/Beheren Open de actie Configure Security en klik in de Smartsite Console op Edit Groups. Het rechterdeel van het scherm toont een lijst van alle groepen die reeds zijn aangemaakt. Noot Het Security model van Smartsite is ook geldig op de actie Configure Security. Dit heeft te maken met de Delegated Security. Rechten kunnen alleen doorgegeven woorden waar een gebruiker ook rechten heeft en zo geldt het ook voor het aanmaken van groepen.
Voor het toevoegen en beheren van groepen zijn er een aantal opties:
New Group (Nieuwe groep): met deze optie maak je een groep aan; Open Group (Groep bewerken): wijzig een bestaande groep; Save Group (Groep opslaan): sla de wijzigingen in de groep op; Delete Group (Groep verwijderen): Verwijder de in de lijst geselecteerde groep; Alle Users moeten uit de groep worden gehaald voordat deze verwijderd kan worden. Find Group (Gebruiker zoeken): Geef een (deel van een) naam op om een groep te vinden;
Noot Er wordt naar beneden gezocht vanaf de groep die in de lijst is geselecteerd Add/Remove Users (Gebruikers Toevoegen/Verwijderen): optie om gebruikers aan de geselecteerde groep toe te voegen of te verwijderen. Tabel 3-3 -
Groepen zijn ingedeeld in een boomstructuur. Wanneer een nieuwe groep wordt aangemaakt selecteer je eerst de groep waaronder de nieuwe groep moet komen en klik je op New Group. Je krijgt nu een scherm om de eigenschappen van de groep in te stellen of te wijzigen. Groupname Een unieke naam voor de groep. Voor de duidelijkheid is het handig om meervoudsvormen te gebruiken. Hoofdredacteuren, Redacteuren, Webmasters etc. etc. Inherit Folder Security Met de actie Set Edit Access kan ingesteld worden welke groepen rechten hebben om in een folder items aan te maken en te bewerken. Met de actie Set Browse Access kan worden ingesteld welke groepen aan de ‘voorkant’ van de site rechten heeft om de inhoud van bepaalde folders te zien. De optie Inherit Folder Security zorgt ervoor dat de toegangsrechten op ander folders onder deze folder overgeërfd kunnen worden. Parent Door het opgeven van een Parent group kan je een hiërarchie in de groepen aanmaken.
Deze handleiding is een voorpublicatie en derhalve nog niet compleet!
ContentTypes Ken content-types toe aan de groep. Een groep kan items aanmaken van die content-types die hier geselecteerd zijn. Roles selecteer de rollen die aan deze groep gekoppeld worden. Paths Selecteer de mappen op de server die deze groep kan benaderen.
Smartsite Dynamic Web System®
Deze handleiding is een voorpublicatie en derhalve nog niet compleet!
Deze handleiding is een voorpublicatie en derhalve nog niet compleet!
4.1 Weergave van een content-type aanpassen Wanneer de actie Add Item of Edit Item wordt gestart wordt de interface van een content-type zichtbaar. De verschillende velden van het content-type worden weergegeven op verschillende tab-bladen of kunnen zelfs in een apart dialoogvenster zijn ondergebracht. Deze gebruikte indeling wordt de Manager Style van een content-type genoemd. De Manager Style van een content-type 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 brengen. De Manager Style van een content-type is dan zodanig in gesteld dat de hoofdredacteur deze velden wel ziet en kan wijzigen: Het wijzigen van een Manager Style gebeurt met de actie Setup Content Management [Icoon]. Deze actie is een wizard die je stap voor stap de verschillende instellingen voor de Manager Style van een content-type laat instellen.
Om de Manager Style van een content-type aan te passen: 1 Start de actie Setup Content Management; 2 Selecteer in de lijst het content-type dat je wilt aanpassen en klik op Next; 3 Kies in het scherm de één of meer rollen waar de aangepaste Manager Style op van toepassing is. Klik op Next;
Noot De overige rollen zullen de originele Manager Style van het content-type blijven gebruiken
4 Creëer , hernoem of verwijder tabbladen voor de Manager Style. Sorteer de tabbladen in de juiste volgorde. Klik op Next; 5 Creëer , hernoem of verwijder tabbladen voor de eigenschappen dialoog. Sorteer de tabbladen in de juiste volgorde. Klik op Next;
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 content-type naar het geselecteerde tabblad van de Manager Style of het dialoogvenster. Sorteer vervolgens de velden. Klik op Next;
Noten • Gebruik het opties om het doel te kiezen • Selecteer eerst het tabblad waar de velden moeten komen • Je kan meerdere velden tegelijk verplaatsen
Smartsite Dynamic Web System®
Deze handleiding is een voorpublicatie en derhalve nog niet compleet!
25
7 Wijzig de veld-eigenschappen en klik op Finish. De wijzigingen in de Manager Style van het content-type 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.
In stap 7 van de actie Setup Content Mangement kunnen eigenschappen van de velden worden aangepast. Dat doe je door telkens een content-type veld te selecteren en daarna de bij dat content-type veld behorende eigenschappen aan te passen: Caption Voor het invoerveld staat de veld-titel. Standaard wordt hier de (logische) veldnaam voor gebruikt. Je kunt een veldtitel ook zelf bepalen. De logische veldnamen van content-types geven vaak al aan welke informatie er in een veld verwacht wordt. Voor verschillende rollen kan er echter meer duidelijkheid gecreeerd worden door de veldtitel aan te passen. Style Het uiterlijk van een veld kan gewijzigde worden door er in beperkte mate een HTML-opmaak op los te laten. Bijvoorbeeld: Width=50%; Height=300px;
De verschillende HTML opmaak attributen worden van elkaar gescheiden door een punt-komma. Apply in Het al dan niet zichtbaar zijn van velden en het al dan niet kunnen bewerken van velden kan ingesteld worden voor de acties Add Item, Edit Item en de actie Edit Item wanneer een Item een folder is. Een titel-veld kan bijvoorbeeld in de actie Add Item bewerkbaar zijn, maar in de actie Edit Item niet meer worden gewijzigd. Het body-veld is misschien niet interessant genoeg om te laten zien wanneer een item is geconverteerd naar een folder. De actie Setup Content Management biedt mogelijkheden om een stuk beheer uit te voeren op de gebruikte content-types in de site. De eigenschappen van content-types en de contenttype-velden kan op technisch niveau veel meer worden gestructureerd met de actie Manage Contenttypes
Deze handleiding is een voorpublicatie en derhalve nog niet compleet!
4.2 Nieuwe content-types Wanneer jouw organisatie zich uitbreidt of er is een nieuw soort informatie dat gepubliceerd moet worden dan kan het nodig zijn dat daar een nieuw content-type voor nodig is. Een nieuw content-type kan je vanaf de grond af aan opzetten of je kopieert een bestaand content-type dat op een vergelijkbare manier informatie verzameld. Voor het aanmaken of kopiëren van een content-type wordt de actie Manage content-types (content-types beheren) gebruikt. Noot De actie Manage Contenttypes is een actie die veel verder gaat dan de actie Toestop Content Management. Deze actie is vaak alleen toebedeeld aan Site-beheerders of aan speciale Content-Type Managers. Het maken of aanpassen van content-types met de actie Manage Contenttypes en het uitrollen van deze contenttypes over een organisatie vereist een bredere kennis van de mogelijkheden.
Binnen een site zijn er veel verschillende soorten content-types. Een aantal van deze content-types zijn gericht op het vormgeven van informatie die gepubliceerd gaat worden terwijl andere content-types informatie bevatten die er voor zorgt dat er gepubliceerd kan worden. Wanneer er behoefte is aan een nieuwe manier van informatie beheren die gepubliceerd gaat worden is het dus het makkelijkst om daarvoor een contenttype te kopiëren dat dat ook doet. Wanneer een content-type wordt gekopieerd erft het de eigenschappen en velden van het origineel. Een content-type dat bijvoorbeeld geschikt is om te kopieren is het standaard content-type Webpage.
Om een Content-type te kopiëren: 1 Start de actie Manage content-types; 2 Selecteer uit de lijst het content-type Webpage; 3 Klik op Duplicate Selected Content type. Er wordt een nieuw dialoogvenster geopend: 4 Typ een naam en een drie-letterige code voor het nieuwe content-type en klik op OK. Je keert terug naar de lijst met content-types.
Noten • Het kopieren en aanmaken van een content-type neem enige tijd in beslag (ca. 10 seconden). In die tijd lijkt er alsof er niets gebeurt. Na enige tijd kom je automatisch weer terug in het dialoog venster Manage Contenttypes. • De lijst in het dialoogvenster Manager Contenttypes geeft alleen die content-types weer die bij jouw rol horen.
Smartsite Dynamic Web System®
Deze handleiding is een voorpublicatie en derhalve nog niet compleet!
27
4.3 Eigenschappen van een Contenttype De eigenschappen van een content-type kunnen worden gewijzigd in de actie Manage Contenttypes. Binnen deze actie gebruik je de optie Content-type Properties [icoon] om de eigenschappen van een content-type aan te passen: Noot Dit dialoogvenster verschijnt meteen als je de optie New Contenttype start
Name De naam van het content-type. Code een unieke drie-letterige code. Description een korte omschrijving van het content-type. handlerProgId een verwijzing naar een component dat door dit content-type wordt aangeroepen. Wanneer er geen verwijzing naar een component is dan kan je dit veld leeg laten. Noten • Dit is een zeer geavanceerde instelling die in het ontwikkelstadium van de site wordt gebruikt om speciale functionaliteit toe te voegen. Het component kan er voor zorgen dat bepaalde velden gevuld worden en bij het opslaan van een item automatisch gevalideerd worden; • het component dat je hier invult moet de interface IContentTypeEventHandler ondersteunen.
Icon Selecteer een icoon dat wordt gebruikt in de boomstructuur in het viewvenster. Content-types kunnen als items, gesloten folders en als open folders worden weergegeven: Icoon
Bestandsnaam xml.gif xmlF.gif xmlO.gif
Tabel 4-1 - items en folder iconen voor content-types
Door de een naamgeving te hanteren zoals tabel 4-1 wordt getoond kan je er voor zorgen dat wanneer een item van dit content-type geconverteerd wordt naar een folder er nog steeds gebruik wordt gemaakt van door jou gekozen iconen.
Deze handleiding is een voorpublicatie en derhalve nog niet compleet!
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 kunnen wel 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 content-type van toepassing is. De workflow op afzonderlijke items kan aangepast worden met de actie Assign Workflow. Derived From Selecteer uit de dropdown-lijst het content-type waarvan dit content-type is afgeleid. Is het content-type gekopieerd dan zal hier het origineel staan. Afgeleide content-types worden tezamen met het origineel in één groep geplaatst. In de site kunnen items van content-type veranderen met de actie Switch Contenttype. Het content-type van een item kan alleen geconverteerd worden naar een content-type dat uit dezelfde groep komt. Noten • Wanneer een content-type nergens van afgeleid is zal deze in een nieuwe groep geplaatst worden. De groepsnaam is de drie-letterige code van het nieuw content-type. • Wanneer dit veld verwijst naar een content-type dat ook is afgeleid van een ander content-type, dan is het origineel daarvan de groep (en dus het content-type waarnaar toe geconverteerd kan worden) waarin dit content-type geplaatst kan worden.
Inherit Selecteer uit de dropdown-lijst het content-type dat standaard onder folders van dit nieuwe/gekopieerde content-type worden aangemaakt met de actie Add Item. In de regel kies je hier het content-type zelf. Inheritance Het is soms wenselijk om onder een folder van een specifiek content-type een item aan te maken van een heel ander content-type, bijvoorbeeld een referentie (content-type Reference) of een afbeelding (content-type Binary). Selecteer in de lijst Inheritance de content-types die onder folders van dit type aangemaakt kunnen worden met de actie Add Specified Item.
Smartsite Dynamic Web System®
Deze handleiding is een voorpublicatie en derhalve nog niet compleet!
29
4.4 Het content-type toekennen aan groepen Bij het kopiëren van een content-type worden ook alle security-instellingen van het originele content-type meegenomen. Dat betekent dat de kopie door alle groepen gebruikt kan worden die ook van het origineel gebruik kunnen maken. Voor nieuwe content-types geld dit niet. Je moet de security-instellingen van het content-type instellen om het content-type in gebruik te nemen.
Het content-type toekennen kan met de actie Configure Security 1 Klik in het menu Admin op de actie Configure Security. Het dialoogvenster voor de veiligheidsinstellingen wordt geopend; 2 Klik op Edit Groups. Selecteer één voor één de groepen en wijzig de de te gebruiken content-types voor die groep.
Noot Wanneer je gebruik maakt van de Smartsite Enterprise Edition, is het natuurlijk ook heel goed mogelijk om een nieuw content-type over de organistatie uit te rollen door middel van Delegated Security. Ken aan de hoofdgroepen van jouw organisatie het nieuwe content-type toe en laat hen besluiten of ze het nieuwe content-type verder verdelen over hun afdeling.
Deze handleiding is een voorpublicatie en derhalve nog niet compleet!
5.1 Wat zijn channels Informatie die in een Smartsite database is opgeslagen is door het gebruik van channels op meerder manieren te ontsluiten. Bezoekers kunnen de informatie benaderen door verschillende kanalen. Smartsite reageert hierop door de gevraagde informatie zodanig te genereren m.b.v. rendertemplates dat de bezoeker de gevraagde informatie ook daadwerkelijk krijgt in het formaat dat geschikt is voor het medium waarvoor de informatie wordt opgevraagd. Een heel simpel voorbeeld is het gebruik van een Print-channel. Wanneer informatie van een bepaald item geprint moet worden vraagt dat een heel andere opmaak dan wanneer diezelfde informatie in een web-pagina wordt bekeken. Channels zijn gekoppeld aan content-types. Dat betekent dat per channel kan worden aangegeven welke soort content er zichtbaar gemaakt kan worden. Om de informatie van een item van een zeker content-type weer te geven wordt gebruikt gemaakt van rendertemplates.
5.1.1 Opbouw van een channel Het aanmaken van een nieuw channel is een actie die niet snel door een sitemanager ter hand zal worden genomen. Channels worden in de implementatiefase gedefinieerd en ingesteld. Het aantal channels dat voor de Smartsite edities Standard, Professional en Enterprise beschikbaar is, is beperkt tot respectievelijk 1, 4 en 7 channels. Voor een compleet overzicht wordt echter wel ingegaan op channels en hoe zij zijn opgebouwd. Channels zijn items van het content-type channel. Dit content-type is een van de basis-content-types van Smartsite en heeft als code CH. Alle eigenschappen van een channel zijn verenigd in het content-type. Channels kunnen worden gedefinieerd door een nieuw Item aan te maken van het content-type Channel: Name Een naam die gebruikt wordt voor dit channel. Description Een omschrijving die beschrijft wat dit channel doet. ContentTypes Maak een selectie van de content-types die door dit kanaal kunnen worden opgevraagd. De keuze betreft natuurlijk alleen content-types die informatie weergeven die daadwerkelijk gepubliceerd moet worden. Een content-type als Channel hoeft 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: www.mysite.nl/smartsite.dws?id=251&ch=DEF
Smartsite Dynamic Web System®
Deze handleiding is een voorpublicatie en derhalve nog niet compleet!
33
In bovenstaande querystring wordt een aanvraag gedaan voor item nummer 251 door het channel met de code DEF. Wanneer dezelfde informatie via een ander kanaal wordt opgevraagd kan men de querystring aanpassen: www.mysite.nl/smartsite.dws?id=251&ch=XSL Het standaardkanaal waarlangs informatie wordt opgevraagd is in te stellen in het register van Windows. Hiervoor wordt gebruikt gemaakt van ‘Munging’; het automatisch aanvullen van parameters in querystring met een ingestelde waarde. De querystring-parameters die automatisch moeten worden aangevuld zijn in te stellen als tekstwaarde in de sleutel {Sitenaam}\URLMunging in het Windows register. 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 site-bouwers dan van de site-managers.
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. Wanneer de opzet van een site gebruik maakt van frames, dan wordt verwezen naar de het item dat de frame-definitie bevat. Binnen deze frame-definitie is de verdeling van de informatie over de verschillende frames opgenomen. Secure Secure Channels zijn channels LogonHandlerProgID Dit is een verwijzing naar het component waarin de afhandeling van de authenticatie van bezoekers van de site wordt geregeld. Door het gebruik van een aparte component kunnen de rechten nog gedetailleerder worden gedefineerd en kunnen de externe gebruikers van de site in aparte tabellen worden opgeslagen: Voor het verirfiëren van de authenticatie van bezoekers kan gebruik gemaakt worden van tabellen in een externe (klanten-)database of bijvoorbeeld van het Leightweight Directory Access Protocol (LDAP). Intranet-sites kunnen extra worden afgeschermd door het verifiëren van IPadressen
Deze handleiding is een voorpublicatie en derhalve nog niet compleet!
5.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 content-type; wanneer via een bepaald channel informatie van een zeker content-type wordt opgevraagd zal deze gevraagde informatie van het content-type 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 staat niets in de weg om de mogelijkheden van een channel te benutten. 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.
5.2.1 Opzet van Rendertemplates Een rendertemplate definieert hoe een item van een bepaald content-type wordt weergegeven in een bepaald channel. Het definieren en opzetten van de rendertemplates is een taak die buiten de werkzaamheden van de Smartsite Managers valt, maar die, om een compleet beeld te krijgen van de functionaliteit van Smartsite, hier toch wordt beschreven. 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 render-templates 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 content-type Rendertemplate aan te maken. Name Een naam voor de RenderTemplate Body De definitie hoe, en welke, velden van een item worden weergeven. Afhankelijk van het kanaal waarvoor deze rendertemplate bedoeld is wordt een markup language gebruikt (zoals HTML) om de uitvoer vorm te geven
Smartsite Dynamic Web System®
Deze handleiding is een voorpublicatie en derhalve nog niet compleet!
35
Notes Notities die de werking van deze rendertemplate verduidelijken XSLT Wanneer de rendertemplate een XML-formaat heeft, dan wordt er m.b.v. van de geselecteerde XSL Transformation, het XML-formaat 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 uit de rendertemplate vertaald worden naar de uiteindelijke opmaak. EditCSS Binnen de WebEditor en de SmartEditor kan in het body-veld vaak gebruik worden gemaakt van stijlen om de tekst te formatteren. Het gebruik van deze 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. 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 kopen 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. Hyperlink Footer 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. ContentTypesChannels Rendertemplates koppelen bepaalde content-types aan bepaalde channels. Selecteer in deze lijst content-type/channel combinatie waar de rendertemplate een schakel tussen vormt. Een rendertemplate kan natuurlijk een schakel vormen tussen meerdere combinaties van contenttypes en channels.
5.2.2 Simpele HTML Render Template Rendertemplates die de inhoud van een item vertalen naar HTML maken veel gebruik van Cascading Style Sheets, Javascript, Translations en SE Macro’s. Een simpel voorbeeld van een HTML Render Template:
Deze handleiding is een voorpublicatie en derhalve nog niet compleet! <se property=”Body”>
In dit voorbeeld zien we de we de SE Macro Property. Deze macro wordt gebruikt om de velden Title en Body 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 () De veldnamen Title en Body zijn de fysieke veldnamen van een item uit de contents-tabel. Items zijn echter van een bepaald content-type en binnen dat content-type worden fysieke veldnamen vaak vervangen door logisch veldnamen. Deze logische veldnamen kunnen ook gebruikt worden voor het ophalen van de informatie uit de contents-tabel.
<se property=”Kop”>
<se property=”Nieuwsbericht”>
Noot Zorg dat je de logische veldnaam gebruikt en niet de Caption omschrijving die je aan zo’n veldnaam hebt gekoppeld
Binnen de HTML-code wordt gebruik gemaakt van opmaak-tags. In bovenstaand voorbeeld is dat bijvoorbeeld de tag
. De definities van deze opmaak-tags worden vastgelegd in Cascading Style Sheets (CSS). Er is een content-type 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:: <script language="JavaScript1.2" type="text/javascript1.2" src="[url]?id=213">
<se property=”Kop”>
Van onze correspondent in [Stadsnaam]
<se property=”Nieuwsbericht”>
Bovenstaand voorbeeld bevat ook een Translation: [Stadsnaam]. We kunnen de stijl intelligent maken door deze Translation De Global Translation [Stadsnaam] heeft als waarde Delft. Alle nieuwsberichten van de redactie in Delft worden in de folder Nieuws Delft geplaatst. Echter, er is een correspondent in Groningen die ook af en toe een item toevoegt.
Smartsite Dynamic Web System®
Deze handleiding is een voorpublicatie en derhalve nog niet compleet!
37
Deze correspondent heeft een eigen folder Nieuws Groningen. In deze folder is een Local Translation toegevoegd [Stadsnaam] met de waarde Groningen. Wanneer nu een item van de correspondent wordt opgevraagd dan zal tijdens het renderen van de pagina de Global Translation overschreven woorden door de Local Translation. Op deze manier is er werk uit handen genomen van al de redacteuren, zij hoeven immers niet de standaardzin “Van onze correspondent in....” te typen. Daarnaast is de rendertemplate ook nog eens intelligent gemaakt het gebruik van Global en Local Translations.
Deze handleiding is een voorpublicatie en derhalve nog niet compleet!
Deze handleiding is een voorpublicatie en derhalve nog niet compleet!
8
43
Import en export
Met behulp van Import is het mogelijk externe content, zoals bijvoorbeeld Word-documenten of XML-bestanden in Smartsite te importeren. Met Export kan een Smartsite of een deel daarvan naar bestanden worden geschreven. De Export functie is alleen in de Enterprise edition beschikbaar.
Deze handleiding is een voorpublicatie en derhalve nog niet compleet!
8.1 Import-functies Met de Import-functie is het bijvoorbeeld mogelijk een Word-document 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 Word of Excel 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. 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 de stijl, zoals kantlijnen en regelafstanden die kunnen botsen, worden verwijderd bij de Import. Let op! De Import-functies uit het File-menu moeten niet worden verward met de Import macro's die vanuit de SmartEditor kunnen worden uitgevoerd. Deze client zijde 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 client zijde macro's uit te kunnen voeren is het noodzakelijk Microsoft Word op de client geïnstalleerd te hebben.
Het is in principe niet de bedoeling vanuit Excel of Word een Copy-paste actie naar de 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. Om toch dergelijke HTML te kunnen gebruiken is de macro 'Cleanup' beschikbaar in de SmartEditor. Dit macro haalt zoveel mogelijk niet gebruikte HTML-tags weg. De Import-functies worden meestal gebruikt voor het importeren van grotere hoeveelheden documenten. Voor het importeren van één document zijn de SmartEditor macro's beter geschikt. De SmartEditor macro's worden lokaal uitgevoerd en zorgen daardoor niet voor extra serverbelasting.
8.1.1 Import mogelijkheden Import 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 geconverteerd
Smartsite Dynamic Web System®
Deze handleiding is een voorpublicatie en derhalve nog niet compleet!
45
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:
The Lord of the Rings <subtitel>Fellowship of the Ring J.R.R. Tolkien0007123817 <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. .... <page> The Lord of the Rings - Fellowship of the RingJ.R.R. Tolkien <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. ....
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)
Deze handleiding is een voorpublicatie en derhalve nog niet compleet!
• Keep existing children, always update (behoud de bestaande kinderen, ververs daarna in alle gevallen).
De stappen van import zijn hieronder schematisch aangegeven:
Stage 1
Stage 2
Word Tekst Smartsite XML
Smartsite items
HTML
XML
De import stages.
8.1.2 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. [AFBEELDING] 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.
Het is ook mogelijk in plaats van een Word-document een Zip-bestand te selecteren. Het Zip-bestand moet uiteraard Word-bestanden bevatten. Het Zipbestand wordt automatisch uitgepakt in een tijdelijke map. Alle Word-documenten in deze tijdelijke map worden geselecteerd voor import.
Smartsite Dynamic Web System®
Deze handleiding is een voorpublicatie en derhalve nog niet compleet!
47
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 Upload actie) naar de server worden verzonden.
Wat betreft het overnemen van eigenschappen uit Word is het mogelijk: helemaal geen eigenschappen uit Word over te nemen te kiezen voor standaard eigenschappen (zoals auteur en titel) te kiezen voor het gebruik van zelf aangemaakte eigenschappen zowel zelf-aangemaakte als standaard eigenschappen in de XML op te nemen. Het Word-document wordt geconverteerd naar XML dat aan het algemene Smartsite XML-Import-schema voldoet. Vervolgens moet worden aangegeven hoe wordt omgegaan met bestaande kinderen binnen de parent-folder waar de nieuwe items in terecht komen. 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.
Pas op met de optie Remove all children; alle kinderen van een item worden daardoor weggehaald, er is geen undo-functie beschikbaar.
8.1.3 Tekst- en HTML-documenten importeren Tekst- en HTML-documenten dienen - net als 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-do-
Deze handleiding is een voorpublicatie en derhalve nog niet compleet!
cument moet worden geïmporteerd. Nadat dit is aangegeven wordt de HTML in XML omgezet en de XML-Import gestart. Let op! Het importeren van HTML-documenten is niet hetzelfde als het converteren van een website naar de Smartsite omgeving.
Smartsite Dynamic Web System®
Deze handleiding is een voorpublicatie en derhalve nog niet compleet!
49
8.2 Export-functies De Export-functies zijn toegankelijk via het file menu. De exportfunctionaliteit is alleen bij de Enterprise edition aanwezig. De export verloopt gelijk aan de import door het uitvoeren van een aantal op elkaar volgende stappen. Het verloop van deze stappen is hieronder schematisch weergegeven.
Export
HTML
Basic
XML
Advanced
Tekst
Custom
Het verloop van het export proces in grote lijnen. De Export Wizard leidt de gebruiker door een aantal stappen; er moet een aantal vragen worden beantwoord: • Wordt geëxporteerd naar één bestand of wordt elk geëxporteerd item een nieuw bestand? • Worden de kinderen van een item ook geëxporteerd? • Waarnaar wordt geëxporteerd; HTML, XML of Tekst? • Waar worden de geëxporteerde bestanden geplaatst?
[AFBEELDING] Een aantal opties in de Export Wizard.
Na het kiezen van export naar XML moet worden aangeven welk type XML is gewenst: XML Basic is de meest eenvoudige versie; alleen de body en de titel van een item worden opgenomen in het XML-bestand. Wanneer wordt geëxporteerd als één bestand worden de verschillende pagina's eenvoudigweg aan elkaar geplakt. Er wordt geen boomstructuur opgenomen. XML Advanced is veel uitgebreider dan XML Basic. De velden die worden opgenomen zijn hier afhankelijk van het contenttype van de items die worden geëxporteerd. De boomstructuur met ouder-kind relaties blijft behouden als er wordt geëxporteerd als één bestand. Tevens is het mogelijk schemadefinities en schemabestanden op te nemen of te genereren. XML Custom, hiermee kan je het XML-sjabloon, dat wordt gebruikt om de XML-output te genereren, zelf aanpassen. Ook hier wordt de boomstructuur bewaard wanneer je kiest voor het exporteren als één bestand.
Deze handleiding is een voorpublicatie en derhalve nog niet compleet!
8.2.1 Importeren of refereren De keuze van het importeren van een document of het aanmaken van een referentie 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 Word-document worden ook de afbeeldingen opgenomen in Smartsite. Wanneer je refereert aan 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 refereren: - Wanneer het belangrijk is dat de opmaak van een document niet wordt - aangepast is het beter de Upload actie te gebruiken en een referentie 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 referentie 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 referentie handiger zijn omdat dat 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 - verstandig even te onderzoeken of deze gegevens ook met een SE ODBC macro zijn te verkrijgen. 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 referentie op te nemen; dit is echter af te raden omdat: - 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 te geven met behulp van een macro).
Smartsite Dynamic Web System®
Deze handleiding is een voorpublicatie en derhalve nog niet compleet!
9
51
Forms Wizard
De Forms Wizard wordt gebruikt om invulformulieren op een eenvoudige en gestructureerde manier op te bouwen en aan een site toe te voegen. Invulformulieren worden bijvoorbeeld gebruikt voor het verwerken van reacties van bezoekers zoals informatie-aanvragen. De door bezoekers in het formulier ingevulde gegevens worden in een e-mail verstuurd en in de Smartsite-database opgenomen. Door middel van een acht stappen tellende procedure wordt het formulier opgebouwd, van een naam voorzien en aan de site toegevoegd, waarbij tevens is bepaald hoe de gegevens uit een ingevuld formulier worden opgeslagen.
Deze handleiding is een voorpublicatie en derhalve nog niet compleet!
9.1 Formulieropbouw Allereerst moet een keuze gemaakt worden of de Advanced optie van de wizard gebruikt wordt.
De Advanced optie heeft onder andere betrekking op de mogelijkheden in de stap waarbij de invoervelden aan het formulier worden toegevoegd. Als Advanced niet is aangevinkt zorgt dat ervoor dat bijvoorbeeld het 'hidden input'veld niet zichtbaar is.
Daarnaast geeft de Advanced optie van de Forms Wizard meer controle over de lay-out, de stijl en de validatie (controle op de ingevulde gegevens). Om de Advanced Options checkbox aan te kunnen vinken moet de gebruiker beschikken over een rol met het privilege psaAdvancedForms. Naast het gebruik van de advanced optie moet worden aangegeven of een nieuw formulier wordt aangemaakt of dat een bestaand formulier wordt aangepast. TIP: Het is ook mogelijk een bestaand formulier als template te gebruiken door na het aanpassen van het formulier voor 'save as' te kiezen in plaats van voor save. Het maken van nieuwe formulieren die sterk op bestaande lijken verloopt zo een stuk sneller.
Het toevoegen van actieve elementen aan een formulier. Vervolgens worden de actieve elementen (textbox, radio buttons, drop down list etc.) aan het formulier toegevoegd. Als binnen de wizard op het plussymbool wordt geklikt verschijnt een nieuw wizardvenster. In dit nieuwe venster moet een proces van maximaal zes stappen worden doorlopen om een invoerveld toe te voegen aan het formulier. Als er meerdere invoervelden aan het formulier moeten worden toegevoegd dan moet deze wizard een aantal keren worden uitgevoerd.
Smartsite Dynamic Web System®
Deze handleiding is een voorpublicatie en derhalve nog niet compleet!
53
Als het formulier voorzien is van alle invoervelden krijgt het een naam, kan je aangeven hoe de data ervan moet worden opgeslagen en is het mogelijk het formulier te testen; vervolgens wordt het formulier toegevoegd aan een site.
Deze handleiding is een voorpublicatie en derhalve nog niet compleet!
9.2 De form handler De form handler wordt gebruikt voor het afhandelen van de gegevensopslag bij het versturen van een formulier. De form handler is een event subscriber. Het is mogelijk eigen event subscribers te maken. De data van een ontvangen formulier wordt standaard opgeslagen in de tabel PostedForms binnen de Smartsite database. Naast het toevoegen van de formuliergegevens aan de database wordt een event gegenereerd. Dit event wordt opgevangen door een event handler die een e-mail stuurt met de formuliergegevens. Het opslaan van de formuliergegevens in de database kan worden uitgeschakeld door aan het macro de parameter LogInDB="0" mee te geven. De EventClass van het event dat wordt gegenereerd op het moment dat er een formulier is verstuurd kan worden aangegeven in de 'Event' parameter. Als deze parameter leeg is of de waarde "[none]" heeft dan wordt geen event afgevuurd. In zo'n geval is het nog steeds mogelijk een SE Macro of een Component aan het formulier te koppelen om de gegevens te laten verwerken. Na het versturen van een formulier wordt allereerst gezocht naar een Recipients parameter binnen de SE parameters. De Forms Wizard voegt deze automatisch toe als voor de MailHandler is gekozen. Daarna wordt onderzocht of op het formulier een veld met de naam Recipients voorkomt. Het is noodzakelijk dat het veld een E-mail adres bevat, en dat het hidden is (anders is het voor bezoekers mogelijk het adres te veranderen waardoor de gegevens van het formulier verloren gaan). Indien er geen veld Recipients voorkomt zal de form handler zoeken naar een Registry key met de naam Recipients. Wanneer deze Registry key niet aanwezig is, gaat de form handler op zoek naar de key WebMasterEmailAddress. Als deze key bestaat wordt het formulier naar de webmaster gestuurd; anders wordt het formulier niet verstuurd.
Smartsite Dynamic Web System®
Deze handleiding is een voorpublicatie en derhalve nog niet compleet!
55
9.3 Het bekijken van verzonden formulieren Smartsite beschikt ook over een manageractie met betrekking tot in de database opgeslagen formulieren. Hierin wordt een lijst met verstuurde formulieren getoond. Deze lijst kan worden gefilterd op de naam van het formulier, op de datum van aankomst van de verzonden gegevens en ook op de status. De status van een verzonden formulier (een post) is New op het moment dat het binnenkomt. Als de post verwerkt is kan de status op 'Closed' worden gezet. Wanneer een post ten onrechte op 'Closed' is gezet, is het mogelijk de post opnieuw te openen.
Het is mogelijk in één keer de status van meerdere posts te veranderen met behulp van de Close en Re-open knoppen. De View data in post knop zorgt ervoor dat de data in de geselecteerde post wordt getoond. In het Form information scherm verschijnt de knop Copy posted data to the clipboard. Hiermee is het mogelijk dat in één keer alle informatie van het formulier naar het clipboard worden gekopieerd om in een andere applicatie gebruikt te worden. Wanneer er meer dan honderd posts langer dan een vastgesteld aantal dagen de status Closed hebben wordt voorgesteld deze posts te verwijderen. Het aantal dagen kan worden ingesteld bij de definitie van de actie, met parameter CleanupAfterDays. Als je deze parameter de waarde nul (0) geeft of leegmaakt wordt de controle niet uitgevoerd.