Content Management | CMS-overzicht

Herbert Braun, Noud van Kruysbergen Altijd content om je eigen website te maken

Het is makkelijker dan ooit om een overzichtelijke site op te zetten. Sinds de uitvinding van het contentmanagementsysteem (CMS) hoef je zelfs geen HTML meer te kennen. Bovendien is het dankzij zo’n CMS gemakkelijk om de site up-to-date te houden en extra rubrieken te starten. Je hoeft nooit meer de navigatie voor de zoveelste keer handmatig aan te passen en Google indexeert de webstructuren van CMS’en doorgaans ook beter dan die van zelfbouwsites. Bovendien kun je met een CMS eenvoudig collega’s of vrienden bijdragen laten leveren aan je site.

20 c’t special 1/2009 – Webdesign

ctNL09wd_020027_cmsopt_ok.indd 20 01-09-2009 10:41:12 Content Management | CMS-overzicht

ie een site met enkel een paar pagi- Editors die in een na's en contactinformatie heeft, zal browser werken, Wer niet zo'n behoefte aan hebben. bieden alle mo- Maar zodra je een website onder je hoede gelijkheden die je hebt waar regelmatig nieuwe artikelen op van een WYSIWYG- moeten verschijnen, of een site die je door tekstverwerker mag meerdere mensen wilt laten bijhouden, ont- verwachten. Door kom je niet aan een meer gestructureerde een aantal functies aanpak. Dat is precies wat een contentma- te reduceren, kun je nagementsysteem (CMS) biedt. Met deze ook een compactere software automatiseer je het maken van editor krijgen. webpagina's. Bij een statische website staan de inhoud en de lay-out over het algemeen dwars door elkaar in de HTML-code, waardoor het onder- houd steeds moeilijker wordt naarmate de site groeit. Ook stylesheets veranderen daar in de praktijk niet veel aan. Een CMS maakt die een CMS pas echt interessant maken: bloed CMS dat uitpuilt van de features lang daarentegen strikt onderscheid tussen de voorbeelden van uitbreidingen zijn een foto- niet altijd de beste keus. inhoud en de vormgeving. Dat gebeurt vol- album, een nieuwsbrief, een webshop voor Er zijn zelfs gevallen waar het simpelweg gens het Model-View-Control-paradigma. ambitieuze fotografen, een discussieforum niet loont om überhaupt een CMS te gaan Daarbij staat het 'model' voor de daadwerke- en RSS-aggregator voor actieve internetters, gebruiken. Zelfs bij een klein contentma- lijke content die wordt bewaard in een data- maar ook een kalender, chatfunctie, gasten- nagementsysteem zul je behoorlijk wat moe- base of op een bestandssysteem, 'view' voor boek en nog veel meer. Voor populaire con- ten instellen en ben je echt wel even bezig de lay-out sjablonen ('templates') en 'control' tentmanagementsystemen bestaan honder- om er aan te wennen. Als je slechts om de voor de logica die beide verbindt, de kern den modules, die overigens onderling enorm zoveel weken een nieuwe pagina uploadt, van de applicatie. kunnen verschillen wat de kwaliteit van de ben je waarschijnlijk beter en sneller af met Een goed CMS geeft gebruikers de moge- code en documentatie betreft. een editor en een FTP-client. lijkheid om nieuwe teksten, afbeeldingen en De kwaliteit van webpagina's die zo'n Bovendien bevatten de gangbare web­ allerlei verschillende soorten documenten CMS genereert hangt in de eerste plaats af editors (zie tabel 1) tools voor sitebeheer, binnen één systeem te publiceren. Het schrij- van de templates. Ook al heb je nog zo'n waarmee je als hobbywebmaster een aantal ven van een nieuwe webpagina is met een mooi standaardconform sjabloon dat in alle lastige routineklussen kunt automatiseren. modern CMS net zo makkelijk als het typen browsers werkt, een slechte WYSIWYG-editor Zo kun je een link in één keer op alle pagi- van een nieuw Word-document. Een CMS of een onhandig template-mechanisme kan na's aanpassen en controleren. Dankzij het heeft liefst dan ook een intuïtief te bedienen je site alsnog ruïneren. Rest ons nog je erop Dreamweaver-sjabloonformaat DWT, dat WYSIWYG-editor, evenals eenvoudige beeld- te attenderen dat een CMS via internet te door meerdere programma's ondersteund bewerkingsfuncties voor het schalen, bijsnij- bereiken is en dus goed beveiligd moet zijn wordt, kun je eenvoudig voor de hele site den en invoegen van illustraties. De back- (inclusief alle extra modules). Denk ook aan hetzelfde design gebruiken. Ook kun je be- end, de 'achterkant' van het systeem, waar zaken als een comfortabele back-upfunctie paalde delen zelfs blokkeren voor een editor de gegevens worden ingevoerd en waar het en versiebeheer, waarmee je een eerdere en navigatielinks op een centrale plek invoe- systeem beheerd wordt, is op dezelfde ma- toestand kunt herstellen als iemand iets ver- gen. De geïntegreerde FTP-client uploadt nier bereikbaar als de voorkant van de site: keerd heeft gedaan. alleen de veranderde bestanden, zodat het via de browser. Je hoeft dus alleen software Denk in het begin goed na over welk updaten vlot verloopt. Afgezien van Expres- te installeren op je server. contentmanagementsysteem je wilt gaan sion Web [1] zijn alle applicaties in de tabel Qua gebruikersbeheer zijn verschillende gebruiken, omdat het voor webmasters een op deze pagina ook verkrijgbaar voor de rechten voor auteurs en beheerders een mi- enorme klus is om later van systeem te ver- Mac. en zijn fork KompoZer zijn er ook nimumeis. Kenmerkend aan uitgebreidere anderen en de oude content te migreren. voor Linux. CMS'en is dat je daar nog veel meer aan kunt De meeste systemen hebben maar weinig of instellen. Een auteur mag daarbij slechts geen import- en exportfuncties. Zo ontstaan CMS voor doe-het-zelvers bepaalde delen van de site veranderen, een er al problemen als je van een kleine server designer heeft alleen toegang tot de lay-out naar een grotere switcht als je CMS-produ- Gezien het enorme aantal beschikbare kant- en er bestaan aparte rechten om nieuwe bij- cent toevallig niet aan dergelijke migraties en-klare oplossingen lijkt het nogal onzinnig dragen te fiatteren. Als je zo'n uitgebreider heeft gedacht. om zelf een CMS in elkaar te gaan zetten. CMS gaat gebruiken, is het ook noodzakelijk Dat is waarschijnlijk vooral interessant als je om met de gebruikers een workflow op te Conciërge in je eentje een website voor jezelf bijhoudt, stellen. Een aantal standaardrollen helpen bij zodat je je CMS exact aan je eigen behoeften het aanmaken van nieuwe gebruikers. Door Er bestaan honderden contentmanagement­ kunt aanpassen. Enige kennis van en plezier bepaalde rechten te wijzigen is het mogelijk systemen, geschreven in zowat alle mo- in programmeren is dan wel een must. Je de rol van gebruikers of groepen tot in detail gelijke programmeertalen. Sommige zijn hoeft niet eens een SQL-database te gebrui- te specificeren. opensource en gratis, aan andere hangen ken, wat bij kant-en-klare CMS'en gangbaar Ook in de front-end moet een goed CMS prijskaartjes van zes cijfers. Toch is een vol- is. Bij de meeste hostingaanbiedingen met onderscheid kunnen maken tussen verschil- lende gebruikers, bijvoorbeeld als bepaalde Contentmanagementsystemen I content of reacties alleen na registratie lees- WYSIWYG-webeditors met websitebeheer baar mogen zijn. Omdat zoiets echter lang www.adobe.com/nl/products/dreamweaver de meest populaire commerciële webeditor, € 570 niet voor alle CMS-installaties een eis is en www.microsoft.com/netherlands/expression/expression-web veelbelovende opvolger van Frontpage, € 320 een CMS zelf al gauw redelijk onoverzichte- Adobe GoLive www.adobe.com/nl/products/golive krachtigste beheerprogramma onder de WYSIWYG- lijk kan lijken, zetten de meeste programma- editors, € 580 makers dit soort functies in aparte modules. Nvu www.mozilla-nl.org/producten/nvu MPL, gebaseeerd op de , elementair Voor veel mensen zijn die modules de extra's websitebeheer

c’t special 1/2009 – Webdesign 21

ctNL09wd_020027_cmsopt_ok.indd 21 01-09-2009 10:41:15 Content Management | CMS-overzicht

Coppermine datum of de URL) en ondersteunt zelfs con- maakt van digitale ditionele en reguliere expressies. De eisen foto’s een mooie aan hard-, soft- en brainware zijn minimaal, webgalerie en kan ook niet-programmeurs kunnen met in- uitgebreid worden structies als bijvoorbeeld een navigatiebalk inbedden zonder telkens dezelfde HTML-container met copy & paste in de webpagina te hoe- ven plakken. Wat er met de mini-scripttalen van Apache en andere webservers zoal wel en niet mogelijk is, kun je lezen vanaf pagina 120. Voor het in elkaar zetten van een website uit verschillende, herbruikbare onderdelen kun je diverse scripttalen gebruiken – een populaire keus is PHP, maar het kan van alles zijn, zoals Ruby, ColdFusion, Perl of ASP. NET. Die laatste wordt trouwens onderschat; dankzij mod_mono is het prima opensource met Apache te gebruiken. Tijdens het ont- wikkelen kun je je webserver zo instellen dat je bepaalde delen van je site worden afge- schermd voor het grote publiek. Je kunt de bestanden .htaccess en .htpasswd gebruiken om bepaalde directory's alleen voor bepaal- de gebruikers toegankelijk te maken [3].

Templates script-ondersteuning is wel een MySQL- bij goedkope hostingpakketten zonder database inbegrepen, maar dat is vaak ook scripttaal. Als je zelf HTML gaat genereren met een meteen de bottleneck in de performance. Een middenweg tussen statische webpa- scripttaal, hoef je niet álles zelf te schrijven. Een zelfgemaakt CMS kan gegevens bijvoor- gina's en een zelfgebouwd CMS zijn Server Om content en vormgeving te scheiden wor- beeld direct in het bestandssysteem opslaan Side Includes (SSI). Een set eenvoudige com- den hierbij vaak template-engines gebruikt. of de webpagina's met een offline-CMS op mando's voegt externe bestanden in, geeft Dit zijn eigenlijk contentmanagementsys- de lokale pc in elkaar zetten. Dat werkt ook omgevingsvariabelen terug (bijvoorbeeld de temen in een notendop, maar dan wel zon- der RSS- en forummodules, zonder gebrui- Contentmanagementsystemen II kersbeheer en zonder WYSIWYG-editor. Het enige wat zo'n engine doet, is inhoud en sja- Template-engines Smarty http://smarty.php.net PHP, LGPL, populair bloon volgens bepaalde regels combineren phpCMS www.phpcms.de/index.en.html PHP, GPL, CMS-achtig tot een pagina. Enkele basisfuncties die een Cheetah http://cheetahtemplate.org Python, MIT-licentie template-engine moet beheersen zijn voor- Template Toolkit www.template-toolkit.org Perl, GPL waardelijke expressies en opsommingen. Mason www.masonhq.com krachtig template-systeem voor Perl, GPL Template-engines hebben dan ook een Frameworks laag gebruikerscomfort en een hoge mate Ruby on Rails www.rubyonrails.org Rudy, MIT-licentie, populair van flexibiliteit. De template-talen zijn ech- CakePHP www.cakephp.org PHP, MIT-licentie ter eenvoudig te begrijpen en zijn boven- Symfony www.symfony-project.com PHP, MIT-licentie, complex dien snel doordat ze eerder opgevraagde Zend Framework http://framework.zend.com PHP, BSD, bètafase pagina's cachen. Talen als PHP kun je direct Catalyst www.catalystframework.org Perl, GPL als template-taal gebruiken, maar engines Zope www.zope.org Python, GPL-achtig, zeer complex als Smarty scheiden de applicatiecode van Grails www.grails.org Apache-licentie, lijkt op Ruby on Rails, maar op basis van de JavaScript-taal Groovy de templates, zodat programmeurs en ont- Online editors werpers elkaar niet voor de voeten lopen. FCKeditor www.fckeditor.net diverse scripttalen, opensource of commercieel, meertalig, snelmenu's, plug-ins Servertoepassingen als phpCMS bieden Editwrx www.editwrx.com Perl, $ 40 extra's als statistieken, automatisch gegene- Website Publisher www.interspire.com/websitepublisher/ PHP, $ 395 reerde sitemaps, een full text search en plug- WebEditor 2009 www.eschelbacher.com PHP, voor één domein, $ 98 ins. Dat deze engines niet alleen geschikt Flyspeck www.flyspeck.net PHP, voor één domein, $ 35 zijn voor hobbysites bewijst het krachtige Kupu http://kupu.oscom.org Python, opensource Mason, dat bijvoorbeeld door Amazon.com Tiny MCE http://tinymce.moxiecode.com JavaScript, vervangt textarea, LGPL, plug-ins, meertalig wordt gebruikt. Academisch georiënteerde Xinha http://xinha.python-hosting.com JavaScript, vervangt textarea, BSD, modulaire opbouw met plug-ins en skins,meertalig ontwikkelaars zullen waarschijnlijk snel- Openwysiwyg www.openwebware.com/products/ JavaScript, vervangt textarea, LGPL, simpel openwysiwyg ler neigen naar XML-transformaties (XSLT), Wiki-systemen omdat je die in alle gangbare programmeer- ErfurtWiki http://erfurtwiki.sourceforge.net PHP, public domain, verschillende opslag-engines, scriptbestand met plug-ins, te talen kunt gebruiken, en (met beperkingen) gebruiken als een bibliotheek zelfs in de browser. Dokuwiki http://wiki.splitbrain.org PHP, geen database, GPL, klein systeem MoinMoin http://sourceforge.net/projects/moin Perl, geen database, populair Serverside frameworks TWiki www.twiki.org Perl, geen database, krachtig Mediawiki www.mediawiki.org PHP, MySQL of PostgreSQL, GPL, wikipedia-engine, voor grote projecten, niet geschikt Als je nog hogere eisen aan de flexibiliteit voor shared hosting stelt, kun je beter kiezen voor een applicatie- Tikiwiki http://tikiwiki.org PHP, ADODB-interface, LGPL, complex systeem met trekken van CMS en Groupware framework dan voor een CMS. Deze moeilijk

22 c’t special 1/2009 – Webdesign

ctNL09wd_020027_cmsopt_ok.indd 22 01-09-2009 10:41:17 Content Management | CMS-overzicht

Zoals de naam al Het aanbod aan wikisoftware is groot; er be- doet vermoeden, staat dan ook wikisoftware in alle denkbare is Textpattern programmeertalen. Sommige wiki's hebben een CMS met een database nodig, andere schrijven direct het accent op naar het bestandssysteem. Het voordeel teksten, maar ook van een wiki ten opzichte van een CMS is de qua vormgeving structurele eenvoud, wat je ook merkt aan is er het een en de installatie en de bediening (zie p.38). ander mogelijk. Blogsystemen Terwijl wiki's vooral zijn bedoeld voor het thematisch groeperen van content, zijn web­ logs (blogs) meer gemaakt voor artikelen die een chronologisch verband hebben. Voor sites van bedrijven of evenementen lijkt dat misschien niet direct nuttig, maar steeds vaker wordt een weblogsysteem gebruikt voor juist zulke websites. Met een beetje tweaken merkt de bezoeker niet eens dat een site is opgezet met blogsoftware. onder één noemer te brengen productca- laten verwerken. Alle in de tabel genoemde De belangrijkste stap hierbij is het aan- tegorie houdt het midden tussen een pro- online editors kunnen overweg met Internet passen van de startpagina. Normaal gespro- grammabibliotheek, applicatieserver, CMS Explorer en , andere browsers vallen ken staat daar een lijst van de meest recente en andere kant-en-klare database-applica- meestal buiten de boot of krijgen alleen een bijdragen. De populairste weblog-engines ties. Afhankelijk van de definitie omvat het tekstuele weergave te zien. bieden je echter de mogelijkheid om hier ook zwaargewichten als het Java- business- een statische pagina neer te zetten – met platform J2EE en Microsofts ASP.NET. Online typemachines het oog op de lay-out-templates en naviga- Het idee dat het ontwikkelen van webap- tiemenu's is dat een betere oplossing dan plicaties eenvoudig, robuust, veilig, uitbreid- Het zijn niet alleen de contentmanagement- de startpagina volledig uit het systeem te baar en snel moet zijn, heeft met Ruby on systemen of de genoemde online editors die halen. Het thematische groeperen wordt ge- Rails een flinke impuls gekregen (zie p.116). het web veranderen in een typemachine – regeld door de categorieën die je aan elke PHP-frameworks als CakePHP en Symfony ko- precies dat is het doel van de zogenaamde bijdrage kunt toekennen. pieerden succesnummers als macro-frame- wiki's. Maar niet elk wikisysteem hoeft zo De voordelen van een blog-engine ten works ('scaffolding'), zuivere objectoriëntatie open te zijn als Wikipedia, waarbij iedereen opzichte van een volgroeid CMS zijn de en minimale configuratie ('convention over zonder te registreren praktisch anoniem tek- eenvoudige configuratie, de intuïtieve be- configuration'). Het oudere Zope werpt on- sten mag aanmaken of veranderen. Een wiki dieningsmogelijkheden en de typische evenredig hogere drempels op voor nieuwe is het best geschikt voor situaties waarbij alle overzichtelijke lay-out. Standaard commen- gebruikers en concurreert eerder met de deelnemers samen en zonder hiërarchie of taar- en trackback-functies en de newsfeed- Java-architectuur. Recent heeft het Zend complexe workflow aan een project werken. weergave zorgen voor de lezerbinding en de Framework aan populariteit gewonnen. Wiki's worden vaak gebruikt in een intranet verspreiding van de berichten. Bijkomend Een framework is geen kant-en-klare op- of voor documentatie, maar zijn ook geschikt voordeel is dat Google sites met een web­ lossing – je hebt een flinke portie program- voor eenpersoons websites. logstructuur meteen goed indexeert. Het meerkennis nodig om de extra beschikbare klassen efficiënt uit te buiten. Maar als je Contentmanagementsystemen III eenmaal kennis hebt gemaakt met zo'n sys- teem, is the sky the limit. Blog-systemen Wordpress www..org PHP/MySQL, GPL, plug-ins, themes, WYSIWYG-editor, import uit andere blog- systemen en newsfeeds, flexibel rechtenbeheer, erg populair WWWYSIWYG Movable Type www.movabletype.org Perl (PHP optioneel), diverse databases, gratis voor privé-gebruik, plug-ins, widgets, WYSIWYG-editor Aan de andere kant van het eisenspectrum Serendipity www.s9y.org PHP, diverse databases, BSD, plug-ins, scripts, skins, commentaar-threads staat de simpele behoefte om webpagina's BlogDesk www.blogdesk.org Windows-editor voor blogsystemen vanaf iedere pc in een browser te kunnen w.bloggar www.wbloggar.com Windows-editor voor blogsystemen bewerken of aan te maken – natuurlijk na Forums een succesvolle login. Net als Google Docs phpBB www.phpbb.com PHP, SQL-databse, GPL, populair bulletin board met templates, uitbreidingen, com- & Spreadsheets richt het merendeel van de plex rechtenbeheer, privé-berichten online WYSIWYG-editors zich op Word. De Phorum www.phorum.org PHP, MySQL, BSD, boomstructuur met uitbreidingen meeste editors kunnen werken met tem- Zoekmachines plates en afgeschermde delen en sommige Perlfect Search http://perlfect.com/freescripts/search Perl, GPL, doorzoekt - en Word-documenten iSearch www.isearchthenet.com/isearch PHP, MySQL, gratis basisversie, gebruikt ook titel- en meta-informatie; de Pro-versie ondersteunen ook verschillende gebruikers- kost € 35 en indexeert ook pdf- en Word-documenten rechten. Hierdoor kunnen meerdere me- Newsfeed-aggregaten dewerkers met de inhoud bezig zijn, is de zFeeder http://zvonnews.sourceforge.net PHP, GPL, geen , optionele WAP/XML-uitvoer, OPML-bestand voor exporteren bediening eigenlijk een fluitje van een cent MagpieRSS http://magpierss.sourceforge.net PHP, GPL, gedeeltelijk ondersteuning voor RSS2 en Atom en hoeft er geen database op de server te Shopsystemen draaien. osCommerce www.oscommerce.com PHP, MySQL, GPL Een aantal editors zijn onafhankelijke www.magentocommerce.com PHP, MySQL4, open source, gebaseerd op Zend-framework webapplicaties die op de server bestanden Fotogallery's openen en schrijven. Andere editors ver- Qdig http://qdig.sourceforge.net PHP, zonder database, GPL, klein eenvoudig script vangen alleen een HTML-tekstinvoerveld, je 4images www.4homepages.de PHP, MySQL, gratis voor privé-gebruik, back-ups, newsfeeds, commentaren moet de gebruikersinvoer dan zelf verder Coppermine http://coppermine.sourceforge.net PHP, MySQL, GLP, veel functies en uitbreidingen, uitbouw tot mini-CMS mogelijk

c’t special 1/2009 – Webdesign 23

ctNL09wd_020027_cmsopt_ok.indd 23 01-09-2009 10:41:18 Content Management | CMS-overzicht

Met WebSite X5 te bieden en automatisch te converteren maak je offline naar groottes en afmetingen die geschikt snel een paar zijn voor het web. Als dat platform een soort pagina's die grote schoenendoos wordt waar alles inge- je vervolgens kiept wordt, dan kun je de bestanden alleen kunt uploaden. nog met veel moeite terugvinden. Makkelijk Bij de softlink te gebruiken index- of categoriefuncties zijn staat een dus geen overbodige luxe. speciale versie. Als je weinig tijd of geld hebt, ondervind je al snel problemen bij het streamen van films. Je eigen Youtube start je het snelst met de opensource server Red5 (www.osflash. org/red5). Multimedia-archiveringsprogramma's op een lokale computer zoals Cumulus en Port- folio produceren HTML-albums, die je naar je eigen site kunt uploaden. Maar om met deze producten werkelijk netwerkgebaseerd te kunnen werken, moet je een paar duizend euro neertellen voor speciale mediaservers. Gratis online galeries zoals Flick.com veran- aanbod aan blog-engines is anders dan bij genlijk is het een bulletin board dat de bij- deren je fotoverzameling met automatisch CMS'en en wiki's wel overzichtelijk: de meest dragen niet op thread, maar chronologisch gegenereerde thumbnails in chique, catego- gebruikte software (en dan met name Word- sorteert – net zoals de commentaren in een riseerbare albums. Ook andere geregistreer- Press) wordt op duizenden websites ingezet. blog. Een forum in de nauwere betekenis van de gebruikers kunnen door discussiebijdra- Ook veel hosters bieden weblogoplos- het woord ondersteunt een boomstructuur gen of eigen materiaal hun steentje aan de singen aan, maar die zijn niet zo flexibel te en opent elke bijdrage in een eigen pagina. site bijdragen. configureren als een zelf geïnstalleerd blog- Als je op je website niet de zoekfunctie systeem. Zo'n systeem kan vaak makkelijk van een CMS of van bijvoorbeeld Google Thuis-CMS onderhouden worden met offline software (Googles Custom Search Engines, www. die gebruikmaakt van de gestandaardiseerde google.com/coop/cse) wilt gebruiken, heb je Niemand zegt dat je online content ook interfaces. Vaak kun je ze zelfs updaten per de keuze uit een groot aantal scripts die je per se online moet beheren. Offline con- e-mail of mobiele telefoon. Blogsystemen op internet kunt vinden [3,4]. Maar je kunt er tentmanagementsystemen die als gewone blijken door deze interfaces ook makkelijk te ook zelf een maken [5]. Windows-software werken, hebben zeker kunnen worden onderhouden. Dat is handig Magpie en ZFeeder zijn de meest gebruik- hun voordelen [7]. Ook met een slome ser- als je overstapt op een andere blog-engine te scripts om een newsfeed in je eigen web- ver en een trage internetverbinding kun je er en een groot voordeel ten opzichte van site te integreren. Het moge duidelijk zijn dat prima mee werken. Daarnaast stellen de ge- contentmanagementsystemen, die meestal wel vermeld moet worden wat de bronnen genereerde pagina's geen hoge eisen aan de niet zo vriendelijk zijn wat importeren en van de content zijn, anders schend je het au- performance. Het merendeel van deze pro- exporteren betreft. Een overgang naar een teursrecht. gramma's is eenvoudig te bedienen en heb volwaardige contentmanager gaat vloeiend, Als de website vooral bedoeld is voor je snel onder de knie. veel CMS'en bieden allang een bloguitbrei- de aan- of verkoop, zul je met een aparte Een voorbeeld van zo'n programma is ding. shopapplicatie sneller resultaten bereiken Incomedia's Website X5, waarvan een speci- dan met een uitbreiding van een CMS. Hier ale versie bij de softlink te vinden is. Specialisten concurreren krachtige kant-en-klaar aan- Sommige van deze websitegenerato- biedingen van hosters (zie p.28) met open­ ren ondersteunen serverside scripting voor De meeste tot dusver beschreven oplossin- sourceprojecten en lokaal geïnstalleerde bijvoorbeeld een contactformulier of een gen richten zich op de gebruikelijke webpa- shopgenerators. webshop. Bij een wat complexere workflow gina's met een mix van vormgegeven tekst loop je al snel tegen de beperkingen van en afbeeldingen. Contentmanagementsys- Beeld en geluid deze lokale programma's aan. Sommige pro- temen hebben in principe echter meer in gramma's ondersteunen wel de elementaire hun mars, zeker met de extra modules, zoals Digital Asset Management, oftewel het be- samenwerkingsfuncties ('collaboration'), dus zoekmachine, forum, newsfeed-aggregator heer van multimediale inhoud, is een van dat is tenminste iets. Let bij het selecteren van en fotoalbum. Als het er alleen maar om gaat de kerntaken van een enterprise CMS. Maar zo'n programma wel op de aanwezige lay- om je website met één van deze functies op ook serieuze hobbyfotografen of mensen outsjablonen. Die kun je meestal niet mak- te vrolijken, kun je wellicht beter een gespe- die de filmpjes en foto's van hun mobieltje kelijk aanpassen, maar moet je er dan apart cialiseerde applicatie nemen die dat doet. willen laten zien, zoeken een platform om bijkopen. De overgang naar een web­editor phpBB is veruit het bekendste forum. Ei- foto's, films of audiobestanden online aan verloopt vloeiend, maar voor een offline CMS en een websitegenerator is kenmerkend dat Contentmanagementsystemen IV ze op basis van templates werken. Desktop-CMS Adobe Contribute is een geval apart. Adobe Contribute www.adobe.com/nl/products/contribute € 237, WYSIWYG-webeditor op basis van sjablonen, eenvoudige workflows Daarmee wordt Dreamweaver uitgebreid tot Incomedia Website X5 www.websitex5.com € 42 standaardconform webdesign, Evolution-versie met PHP-shop € 71 een CMS. Voor projecten met veel medewer- Neosense CMS 2009 www.digibilities.com totaalpakket, € 1200 kers is er zelfs een eigen rights management Effective Site Studio www.effectivestudios.com € 113 standaardconform webdesign, Pro-versie € 369 server die het rechtenbeheer voor zijn reke- CityDesk Starter Edition www.fogcreek.com/CityDesk flexibel, tot 50 artikelen, gratis, volledige versie $ 299 ning neemt. De kant-en-klare oplossingen Roxen CMS Personal www.roxen.nl/products/cms/personal- gratis, max 10 pagina's van de grote webhosters mikken op dezelfde edition/ doelgroep als lokaal geïnstalleerde website- Zeta Producer www.zeta-producer.com gratis versie tot 10 pagina's, Desktop-versie $ 129 generatoren. Technisch gezien gaat het hier- Cushy CMS www.cushycms.com gratis, meerdere gebruikers, gehost systeem €28 per maand bij om een web-CMS, maar die oplossingen

24 c’t special 1/2009 – Webdesign

ctNL09wd_020027_cmsopt_ok.indd 24 01-09-2009 10:41:19 Content Management | CMS-overzicht

kunnen daar wat creatieve vrijheid en multi- Website Baker userfunctionaliteit betreft niet aan tippen. biedt een gemakkelijk in Web-CMS elkaar te zetten kant-en-klare mix Het aantal servergebaseerde contentma- in een fraai jasje. nagementsystemen is enorm – zowel binnen het opensource segment als bij de commer- ciële varianten. De commerciële versies zijn vooral bedoeld voor grote bedrijven en in- stellingen. Een blik op de featurelijst helpt je zelden verder. Met bijna alle systemen is zo'n beetje alles wel op de een of andere manier voor elkaar te krijgen. De technische voorwaarden zijn simpel. Voor zo'n beetje elke programmeertaal, van C en TCL tot Python, die op zinvolle wijze op een webserver gebruikt kunnen worden, bestaan wel contentmanagementsystemen. Het is dus handig als je enige basiskennis van die taal hebt, zodat je de CMS-code in geval van nood kunt aanpassen. onoverzichtelijk aantal modules. En ook al kun Het Deense CMSimple is inclusief sjablonen en Als je geen eigen server exploiteert, ben je van alles toevoegen aan het basissysteem, WYSIWYG-editor bijvoorbeeld nog geen 75 kB je qua systeemeisen sowieso beperkt, maar het is toch verstandiger om van tevoren goed groot. Dit mini-CMS schrijft al zijn content in één veruit de meeste opensource CMS'en zijn te kijken welk CMS het best aan je (toekom- enkel bestand. Gedifferentieerde gebruikers- afgestemd op de LAMP-omgevingen van de stige) behoeftes gaat voldoen. rechten en grote websites kun je er niet mee hosters. Java speelt pas een rol bij grotere Goede documentatie is daarbij een belang- maken. Wel kun je de website in meerdere talen systemen. Perl, Python en ASP.NET zijn out- rijk selectiecriterium, vooral bij het configure- beschikbaar stellen en plug-ins toevoegen. siders. Sommige PHP-CMS'en werken nog ren en bij de interfaces voor templates en mo- Textpattern heeft een MySQL-database met PHP4, maar de meeste hebben inmid- dules. Bij opensource applicaties wil het daar nodig, maar is verder een lichtgewicht-CMS dels een overstap gemaakt naar PHP5 – een nog wel eens aan schorten. Achter een aantal dat niet geschikt is voor complexe workflows kwaliteitskenmerk van de broncode. opensource projecten zitten bedrijven die en ook geen meertalige sites of versiebeheer CMS'en die een database gebruiken, heb- desgewenst professionele support of meteen ondersteunt. Daar staat tegenover dat dit mini- ben meestal genoeg aan de acht jaar oude een complete Application-Service-Provider- CMS overzichtelijk en elegant is. Het gebruikt MySQL-versie 3.23. Destijds introduceerde oplossing kunnen aanbieden. Als er actieve standaard de van wiki's bekende taal Textile, MySQL daarmee de databasetypen MyISAM communities zijn, kunnen andere gebruikers maar je kunt ook Tiny MCE gebruiken. en InnoDB, full-text search en databasere- je ook verder helpen. plicatie voor computerclusters. Als je bij- Middenklasse voorbeeld PostgreSQL of zelfs Oracle als da- Eenvoudige PHP-CMS'en tabase-engine wilt gebruiken, heb je in het Het gros van de PHP-systemen richt zich op opensource segment slechts een beperkte Hobbywebmasters, die geen zin hebben om het middensegment van de markt, want keuze. Het merendeel van de CMS'en legt hun website handmatig te onderhouden, daarin zitten de kapitaalkrachtige bedrijven zich niet vast op een bepaalde webserver, zullen weinig op hebben met de meeste en de wat grotere verenigingen. Marktlei- maar met Apache zit je vrijwel altijd goed. bekende CMS'en. Vaak is een blog-engine of der is hier overduidelijk Joomla. Toch is deze Toch kan niet elk PHP/MySQL-systeem over- een websitegenerator inderdaad een betere naam nog relatief nieuw in de CMS-wereld. In weg met de shared-hosting-aanbiedingen van keuze, maar een klein aantal CMS'en is wel september 2005 splitste het merendeel van providers omdat die vaak te weinig werkge- expliciet bedoeld voor minder grote web- de ontwikkelaars van Mambo [8] zich af van heugen voor PHP-applicaties hebben. Grotere sites. het project vanwege een ruzie met Miro, het systemen werken daardoor helemaal niet of extreem langzaam. Bovendien kan bijna geen enkel CMS overweg met de Safe Mode waar- Contentmanagementsystemen V mee veel hosters de rechten van de PHP-scripts Kleine PHP-contentmanagementsystemen beperken. Sommige hosters bieden voorge- CMSimple www.cmsimple.nl geen database, GPL of commercieel, reclamevrij vanaf € 60 configureerde installaties van veelgebruikte Pluck www.pluck-cms.org PHP5, geen database, GPL CMS'en aan voor een snelle installatie – die Textpattern http://textpattern.com GPL, zoekmachinevriendelijke url's, plug-ins kunnen echter behoorlijk wat kosten. Boven- Middelgrote PHP-contentmanagementsystemen dien zit je dan vast aan dat systeem. Joomla www.joomla.com MySQL, GPL, erg populair Afhankelijk van de eigen behoefte moet Mambo www.mambo-foundation.org MySQL, GPL, commerciële ondersteuning de verhouding tussen een eenvoudige be- Drupal www.drupal.org MySQL/PostgreSQL, GPL, populair diening en flexibiliteit in evenwicht zijn. Met Contenido www.contenido.com MySQL, GPL, commerciële ondersteuning name degenen die de content leveren, zullen Website Baker www.websitebaker.org MySQL, GPL met het systeem moeten kunnen werken. Een Typolight www.typolight.org PHP5, MySQL4, GPL modulaire opbouw maakt het mogelijk om CMS Made Simple www.cmsmadesimple.org MySQL/PostgreSQL, templates met Smarty, GPL of commercieel complexe functies desgewenst toe te voe- phpwcms www.phpwcms.de MySQL, GPL, verschillende contentmodules, pdf-generator gen zonder het CMS te zwaar te belasten of ExpressionEngine www.expressionengine.com MySQL, comfortabel, krachtige template-engine, commercieel gebruik ca € 200 XOOPS www.xoops.org MySQL, GPL, afsplitsing van PHP-Nuke de performance af te remmen. Maar modules PHP-CMS met frameworkkenmerken zijn vaak een stuk minder goed geprogram- ModX www.modxcms.com MySQL4, met workflows en widgets, GPL meerd en vooral minder goed gedocumen- Concrete5 www.concrete5.org PHP5, MySQL4, Python (optioneel), MIT-licentie teerd dan het CMS zelf. Voor de wat popu- Xaraya www.xaraya.com MySQL/PostgreSQL/SQLite, GPL, meer een flexibel framework dan een kant-en-klare oplos- lairdere platforms bestaat er inmiddels een sing, afsplitsing van PHP-Nuke

c’t special 1/2009 – Webdesign 25

ctNL09wd_020027_cmsopt_ok.indd 25 01-09-2009 10:41:20 Content Management | CMS-overzicht

diening is goed. Het systeem heeft een eigen installer en is zuiver geprogrammeerd.

PHP-topklasse Als je op zoek bent naar een opensource CMS dat aan hogere eisen moet voldoen en er wat huiverig voor bent om Java of Zope te gebruiken, kun je feitelijk alleen nog kiezen tussen Typo3 en eZ Publish. Typo3 komt uit Denemarken en heeft een community die ongeveer net zo groot is als die van Joom- la. Op www.yeebase.com wordt zelfs een Typo3-­tijdschrift aangeboden dat geheel met het CMS in elkaar is gezet. Het systeem is niet gemaakt om er even snel mee aan het werk te gaan. Het grote voor- deel is de grote flexibiliteit van het systeem, dat met Typoscript een eigen templatetaal heeft en pdf's en MS Office-bestanden kan genereren en weergeven. Er zijn veel plug-ins verkrijgbaar, waaronder forums, glossary's en complete shopsystemen. De mogelijkheden van de workflow zijn behoorlijk geavanceerd. Het cachingmechanisme zorgt voor een snel- le weergave van de pagina's. Een deel van de populariteit van het sys- teem komt door de Rich-Text-Editor die er al een tijdje in zit. Ook de inmiddels in het sys- teem geïntegreerde uitbreiding TemplaVoilà De back-end van Typo3 vergt enige studie van de webmaster, maar is wel geschikt voor draagt bij aan de populariteit. Met Templa- het beheer van veeleisende projecten. Voilà kun je van een statische webpagina met een muisklik een individueel aangepaste bedrijf achter Mambo – een voorbeeld van schillende toegangsniveaus kunnen worden Typoscript-template maken. Bovendien kan een mislukte romance tussen open­source aangebracht. In het artikel op p.42 vind je in- de uitbreiding bijzonder efficiënt gebruikt en commercie. Na de afsplitsing bleek dat formatie over de installatie van Joomla. worden met het flexibele CSS-framework het grootste deel van de Mambo-commu- Als je website een ontmoetingsplek voor YAML ('yet another multicolumn lay-out'). nity de Joomla-ontwikkelaars volgde. Maar een online community moet worden, moet Terwijl Typo3 een puur opensource pro- ook het oorspronkelijke project bestaat nog het CMS aan bijzondere eisen voldoen. Een ject is, zit de Noorse firma eZ Systems achter steeds. gedifferentieerd en tegelijkertijd robuust eZ (uitgesproken als 'easy') Publish. Commer- Tot de sterke punten van Joomla horen rechtenbeheer in de front-end, modules ciële licenties en support kunnen dus direct tijdsgestuurd publiceren, asset manage- voor forums, polls, nieuwsbrieven, kalender, van de producent afgenomen worden. In het ment, een systeemanalyse voor de instal- commentaren, contactformulieren en RSS- verleden ondermijnde eZ Systems het succes latie en het reusachtige aantal modules. De aggregators zijn dan absolute voorwaarden. van hun eigen CMS door geld te vragen voor zwakke punten zijn het rechtenbeheer dat Met een niet-gespecialiseerd CMS als Joomla belangrijke uitbreidingen als een WYSIWYG- slechts beperkte mogelijkheden heeft en de zou dat allemaal wel kunnen, maar content- editor. Toch wordt dit CMS door zijn goede gebrekkige im- en exportmogelijkheden – managementsystemen als Drupal werden performance volop gebruikt. helaas typisch voor opensource CMS'en. De speciaal voor dit soort portalfunctionaliteit eZ Publish slaat zijn gegevens op in huidige versie 1.5 verbetert Joomla's moge- ontworpen. Drupal is een van de meest ge- XML, waardoor het volledig formaat- en lijkheden op het gebied van barrièrevrijheid bruikte CMS'en. Daardoor is er op internet mediaonafhankelijk is. Daardoor wordt en data-import. Op dit moment wachten we genoeg over te vinden om je op weg te hel- de weergave bijzonder flexibel. Dit CMS is op versie 1.6, waarbij ook groepen en ver- pen. Het evenwicht tussen flexibiliteit en be- aantrekkelijk door de overzichtelijke sys- teemarchitectuur en het versiebeheer, de Contentmanagementsystemen VI rolgebaseerde gebruikersrechten, een instal- latiescript en bruikbare standaardsites voor Grote PHP-contentmanagementsystemen de configuratie. Maar zonder een eigen (vir- Typo3 www.typo3.nl MySQL/Oracle/Microsoft SQL/ODBC, GPL tuele) webserver zul je daar weinig plezier eZ Publish http://ez.no/ MySQL/PostgreSQL, Oracle (betaald), GPL of commercieel aan beleven. eZ Components http://ez.no/ezcomponents programmabibliotheek, BSD Van eZ Systems wordt gezegd dat het heel Midgard www.midgard-project.org CMS met objectgeoriënteerd framework, krachtig gebruikersbeheer, in PHP en C, LAMP-omgeving, LGPL nauw betrokken is bij de PHP-ontwikkelge- Perl-CMS meenschap. De programmabibliotheek eZ Components geldt dan ook als een bijzonder WebGUI www.plainblack.com/webgui Apache/mod_perl, MySQL, GPL Python-CMS toekomstgericht PHP-project. Het is de basis Plone http://plone.org Zope 2 of 3, GPL van de laatste versies van eZ Publish, maar Silva www.infrae.com/products/silva Zope 2, BSD kan ook gebruikt worden voor andere toe- CPS Project www.cps-project.org Zope 2 of 3, opensource, binnenkort overstap op Java passingen. Het beschikt over een template- .NET-CMS engine, databaseabstractie, configuratie, ca- DotNetNuke www.dotnetnuke.com v.a. .NET 2, BSD ching en een mogelijkheid om afbeeldingen AxCMS.net www.axcms.net .NET 3, (closed source) te bewerken. eZ Components en de recente Umbraco www.umbraco.dk .NET 2, GPL of commercieel, gebruikersvriendelijk, XSLT als macrotaal versies van eZ Publish vereisen PHP5.

26 c’t special 1/2009 – Webdesign

ctNL09wd_020027_cmsopt_ok.indd 26 01-09-2009 10:41:21 Content Management | CMS-overzicht

Perl ten. Het is mogelijk om verschillende web- ware is bij een ECMS en DMS nauwelijks te sites met één installatie te onderhouden. vinden. Alfresco is drie jaar geleden begon- Een actueel CMS op basis van Perl is nau- Natuurlijk profiteert het CMS van de mo- nen als een DMS-tool die ook webcontent welijks te vinden. Perl-aanhangers zijn blijk- gelijkheden van het grote .NET-framework, kan beheren. Een modulaire Java-architec- baar meer geïnteresseerd in frameworks en zoals sessiebeheer en identiteitsbeheer. tuur houdt het grote aantal ondersteunde templatesystemen als Catalyst en Mason. Ook AxCMS.net, dat SharePoint-integratie standaarden (JSR 170, LDAP, WebDAV, web- Ook WebGUI, het levendigste Perl-CMS, en complexe workflows biedt, is een aanra- services, workflow-standaards) bijeen. heeft elementen van een framework. Achter der voor grotere projecten. Voor een uniforme ontsluiting van indi- WebGUI zit een firma die onder andere geld viduele content en applicaties binnen een verdient aan support en handboeken – de Java bedrijf kan een portal worden gebruikt. gratis download omvat slechts een rudi- De overeenkomst met contentmanagers mentaire documentatie. WebGUI zit met een Java-applicaties domineren bij bedrijven, is groot, vooral voor intranet. Ook hier do- WYSIWYG-editor, versiebeheer, workflows, maar de opensource systemen kunnen ook mineren de commerciële oplossingen. In- caching, modules en LDAP-gebruikersbe- zonder een groot IT-budget gebruikt wor- trexx Xtreme kent applicatietemplates die heer op het niveau van Joomla. den – uitgaande van een bijpassende ser- forums, wiki's en blogs in een handomdraai veromgeving en wat Java-knowhow. Hoewel configureren. Een aantal CMS'en zoals Dot- Python de meerderheid van de applicaties PHP ge- NetNuke en Lenya bieden met single-sign- bruikt, komen de innovaties uit de Java-we- on de mogelijkheid om met een keer aan- Bij Python kun je als contentmanagement- reld. Dat is onder andere te merken aan de melden toegang te krijgen tot meerdere systeem niet om de application server Zope Java Content Repository API (JSR 170), een serverdiensten, wat de basisfunctionaliteit heen, dat met een geheugen- en template- standaard voor toegang tot content. Ook de van een portal zou moeten zijn. engine zelf al half een CMS is. De andere helft ontwikkelaars van Typo3 en eZ Publish heb- wordt meestal aangevuld door Plone, maar ben intussen onderkend dat met JSR 170 het Conclusie er zijn een paar interessante alternatieven. wisselen van CMS en de samenwerking met Een laagdrempelige instap hoef je overi- andere applicaties een stuk makkelijker is en De verscheidenheid aan contentmanage- gens niet te verwachten, want Zope hecht zijn daarom begonnen met de implementa- mentsystemen en aanverwante technieken meer waarde aan een goede architectuur en tie ervan. blijft zelfs overweldigend als je de gigan- efficiëntie op de lange termijn dan dat het Het eerste open CMS met JSR170 was tische markt van commerciële enterprise- beginners gemakkelijk wordt gemaakt. De Magnolia Community Edition, de gratis af- contentmanagementsystemen buiten Zope-gebaseerde contentmangementsys- splitsing van een commercieel enterprise beschouwing laat. Helaas zijn de (on)moge- temen concurreren met Java-applicaties en CMS. Magnolia maakt gebruik van beproef- lijkheden van een bepaald CMS niet direct commerciële enterprise CMS'en. Zo is Plone de, open technieken zoals Java Server Pages, duidelijk. Gelukkig kun je de meeste appli- met zijn uitstekende workflowcapaciteiten XML en J2EE. Hetzelfde geldt voor OpenCms. caties als demo uitproberen, op de site van en het krachtige gebruikersbeheer geschikt Het Apache-project Lenya trekt bijzon- de producent, op www.opensourcecms. voor grote bedrijfsportals en community­ dere aandacht. Het framework Apache com of op www.cmssystemen.nl. sites. Het Archetypes-framework zorgt voor Cocoon verwerkt XML en heeft mogelijk- Het is van doorslaggevend belang dat flexibiliteit doordat je schema's voor wil- heden tot internationalisering, workflows je van tevoren zo helder mogelijk krijgt lekeurige contenttypen kunt definiëren. en versiecontrole. Lenya heeft die laatste wat het toepassingsgebied, de eisen en de Plone heeft van Zope de mogelijkheid ge- drie ook en kan documenten in gangbare noodzakelijke configuratie- en program- ërfd om verschillende servers te clusteren, web- en officeformaten weergeven. Tot de meerinspanningen zijn. Het veranderen van de toegang tot andere Zope-pakketten en highlights behoren de ondersteuning van systeem zal zelden moeiteloos verlopen – de sjabloontalen TAL en METAL komen daar JSR170, gedetailleerde gebruikersrechten, het is dan ook aan te raden daar een paar ook vandaan. ldap-authenticatie en tijdsgestuurd publi- dagen goed over na te denken en de diver- Silva kan als Zope-product zonder proble- ceren. Lenya biedt naar keuze een eigen se systemen goed uit te proberen. (nkr) men geïnstalleerd worden. De commerciële Java-server of kan als Tomcat-applicatie ge- ontwikkelaars hechten naast goede work- ïnstalleerd worden. Ook de documentatie is Softlink 09WD020 flowcapaciteiten ook waarde aan gegevens- inmiddels wat leesbaarder geworden – toch opslag in XML, waardoor onafhankelijkheid vraagt een Lenya-installatie nogal wat van van formaten en outputmedia mogelijk is. een webmaster. Literatuur [1] Herbert Braun, Weet wat je krijgt, De opvol- .NET Enterprise CMS ger van Microsofts FrontPage is een mix van Dreamweaver en GoLive, c't 3/2007, p.72 Het aanbod aan vrije contentmanagement- Enterprise contentmanagementsystemen [2] .htaccess in Apache: http://httpd.apache.org/ systemen voor Microsofts ASP.NET is be- (ECMS) zijn toepassingen die het hele docu- docs/2.2/howto/htaccess.html scheiden. Alleen DotNetNuke heeft een wat mentenbestand van een bedrijf beheren – of [3] Daniel Naber, Jo Bager, Huiszoeking, Zoekma- grotere schare gebruikers. Het in VB.NET ge- dat nou van de website, intranet, e-mail, pa- chines voor de eigen homepage, c't 6/2003, schreven 'Framework ideal for creating En- pier, tekst, foto of video is. Daarmee nemen p.152 terprise Web Applications' is geschikt voor ze de taken van de oudere documentma- [4] Vergelijking van vrije zoekmachines: http:// gemiddelde tot grote websites en intranet- nagementsystemen over. Opensource soft- searchtools.com/analysis/free-search-engine- comparison.html [5] Herbert Braun, Noud van Kruysbergen, Zelf Contentmanagementsystemen VII zoeken, Programmeer een zoekmachine voor Java-CMS je website, c't 5/2009, p.122 [6] André Kramer, Andrea Trinkwalder, Archiveer- Magnolia www.magnolia.info J2EE, LGPL of commercieel hulp, Media sorteren en opzoeken, c't 9/2006, OpenCms www.opencms.org JSP, XML, J2EE-compatibel; LGPL Apache Lenya http://lenya.apache.org Cocoon nodig, J2EE-compatibel; Apache-licentie p.102 dotCMS www.dotcms.org J2EE, op basis van Struts en DWR, GPL of commercieel [7] Jo Bager, Herbert Braun, Content-koks, Webpa- Enterprise-CMS, DMS, portals gina's vanaf je pc updaten, c't 3/2006, p.70 Alfresco www.alfresco.com DMS/ECMS; GPL of commercieel [8] Erik Möller, Websites met een systeem, Een- Intrexx Xtreme www.intrexx.com portal voudig content management met Mambo, c't 10/2004, p. 6 c c’t special 1/2009 – Webdesign 27

ctNL09wd_020027_cmsopt_ok.indd 27 01-09-2009 10:41:21