Alfresco: een toolkit voor Content Management
“Alfresco is the Open Source Alternative for Enterprise Content Management�? is de zin waar je niet omheen komt op de alfresco.com site. Rondkijkend op de site krijg je het gevoel dat het product helemaal af is, maar dat is helemaal niet het geval. De community installatie geeft alleen maar een document management systeem dat zeer goed kan concurreren met de rest. Daarna moet je van alles configureren en soms programmeren om het precies te laten doen wat jouw organisatie wil. Maar ja, het is ook jammer om niet alle extensiepunten te gebruiken die de ontwikkelaars van Alfresco met veel zorg erin hebben gezet.
Voor de mensen die Alfresco nog niet kennen.
De standaard community editie, die via een installatie wizard te installeren is, is een document management system dat zeer snel te gebruiken is door eindgebruikers. Alfresco biedt een aantal interfaces die zeer bekend zijn bij de meeste mensen.
- Virtual File System – deze vervangt de netwerkschijven en biedt dezelfde mogelijkheden. Dit kan via
- CIFS (Common Internet File System) beter bekend als windows share.
- WebDAV extensie op het http protocol om bestanden te bewerken en beheren
- Email–like Rules – Door regels in te stellen kunnen veel handmatige acties op folders en documenten worden geautomatiseerd.
- Google–like Search – Alle documenten kunnen doorzocht worden door net zoals in google trefwoorden in te vullen. De zoekmachine ondersteund OpenSearch waardoor Firefox en IE7 direct kunnen zoeken in de documenten vanuit de zoekbalk.
- Yahoo-like Browsing – Alfresco vult automatisch metadata velden en categoriseert de documenten.
- SmartSpaces – Een folder is niet alleen een plek waar iets wordt neergezet, maar kan ook acties ondernemen voor workflow processen of notificaties via email en RSS versturen.
Voor de ontwikkelaars die Alfresco nog niet kennen.
Alfresco is gebouwd met veel bekende open source frameworks zoals Spring, Hibernate, Lucene en Java Server Faces. De kern van Alfresco bestaat uit een JSR-170 compliant Content Repository met daar boven op een heel aantal communicatie interfaces. Voorbeelden hiervan zijn een Web Client, WebDAV, WebServices, REST, CIFS, FTP en RMI.
Intern wordt er in Alfresco niet gesproken over folders en documenten. Deze zijn alleen maar bekend binnen het document management content model. Zo zijn er ook content modellen voor record management, knowledge management, web content management, etc. De content repository van Alfresco heeft het maar over een paar termen:
- Store – Een store is een logische partitie binnen de repository. Een store bestaat uit een hiërarchische structuur van nodes.
- Node – Een node is een speciaal object met properties en metadata (type, aspects)
- Type – Elke node heeft één type in de repository. Deze types zijn gedefinieerd in één van de content modellen van de repository
- Aspect – Elke node kan nul of meer aspects hebben. Een aspect groepeert metadata. Een aspect kan op elk moment worden toegewezen aan of verwijderd worden van een node. Op basis van aspects kunnen regels acties uitvoeren op de content.
- Properties – Een node bevat meerdere properties (eigenschappen). Deze properties worden gedefinieerd door de types en aspects. Standaard properties van Alfresco zijn: title, description, creator en modification date.
De kracht van Alfresco is niet alleen het abstracte model in de content repository. Bijna alles is geconfigureerd via spring beans. De spring configuratie heeft voor elk functioneel component een bestand waardoor instellingen goed terug te vinden zijn. Doordat alles te configureren is kunnen alle wensen die een enterprise omgeving heeft ingewilligd worden. Als Alfresco nog niet een standaard bean heeft hiervoor dan is die zelf toe te voegen. Alfresco heeft een duidelijke mening over hoe de configuratie aangepast en uitgebreid moet worden. Via een extension folder kun je alle beans overschrijven en opnieuw instellen. Het grote voordeel hiervan is dat je nooit de bestanden van de Alfresco distributie aanpast. Hierdoor is het makkelijk om een upgrade naar een nieuwe versie te doen zonder eindeloos te zoeken naar wijzigingen in configuratie.
Naast de uitgebreide spring configuratie heeft Alfresco een Module Package (AMP) gedefinieerd waardoor eigen functionaliteit makkelijk te installeren is. Binnen een AMP kun je een eigen object model definiëren met eigen types en aspects. Via de spring module-context.xml kun je eigen java functionaliteit initialiseren. Dit kan bijvoorbeeld een eigen MetadataExtractor zijn.
Binnen de Alfresco source code wordt niet alleen veel gebruik gemaakt van spring maar ook van Aspect Oriented Programming (AOP). Op verschillende plekken zijn extensiepunten geïmplementeerd die te gebruiken zijn om te reageren op acties op content. Hierdoor kun je een eigen Aspect implementeren in java die reageert als er content wordt ge-update. Het voordeel van deze extensiepunten is dat je geen vreemde classes moet extenden of rare work-arounds moet verzinnen. Deze extensiepunten worden ook door Alfresco zelf gebruikt in bijvoorbeeld het versioneringssysteem. Door een versionable toe te voegen aan een node wordt deze automatisch door het Version Apsect opgepikt en geversioneerd.
Conclusie
Het basis product van Alfresco is zeer goed in Content Management en specifiek document management. Het product is te configureren/aan te passen zodat het te integreren is in een veeleisende enterprise omgeving. Het mooiste van allemaal is dat het open source is waardoor je kan meekijken wat ze doen en je eigen creativiteit kan loslaten. De zin die prominent aanwezig is op de Alfresco site vat dit heel goed samen.

Bent u nu wel of niet positief over dit product? Zou u dit bedrijven aanraden om te gaan gebruiken of toch een ander systeem? zo ja welke?
J. van Holst December 1, 2008 12:31
Ik ben zeer positief. Met een installatie van de download heb je al een CMS/DMS dat veel mogelijkheden beidt. Zodra je de installatie gaat uitbreiden met een eigen content model, WebScripts (javascript aan de serverkant), Spring beans of Aspects dan krijg je een systeem dat helemaal integreert binnen je eigen procedures en regels.
Naar mijn mening doe je jezelf te kort als je niet inversteert in het aanpassen van alfresco naar je eigen wensen.
Nico Klasens December 2, 2008 10:37
Ik heb jullie verhaal gelezen en ben nieuwsgierig geworden naar de mogelijkheden van Alfresco. Daar ik zelf te weinig verstand heb van het inrichten van zo’n pakket ben ik op zoek naar iemand die dit voor ons wil uitvoeren
Wij willen een dms tbv onze klanten, dus met workflow tbv goedkeringen facturen, personeelsgegevens etc Maar we zijn veel te klein om een duur pakket aan te schaffen.
Wie kan bij ons Alfresco installeren in de inrichting verzorgen
Ruud February 11, 2009 22:28
Beste Ruud,
Wij werken al geruime tijd met alfresco en kunnen je helpen met de integratie van ALfresco in jullie organisatie. Als organisatie zijn wij actief op gebied van opensource content management oplossingen, waarin Alfresco prima past. Veel van onze klanten zoeken naar een alternatief voor sharepoint achtige omgevingen, iets wat wij met alfresco prima in kunnen vullen.
Meer info vind je op onze website drecomm.nl
Groet,
Rogier Hosman
Rogier Hsoman April 8, 2009 11:58
Wij gebruiken hier ook Alfresco maar we hebben er veel problemen mee. Op het internet kan je oplossingen ook niet meteen vinden en op het forum van Alfresco zelf helpen ze ook niet echt.
Als je een update doet van Alfresco heb je soms ook de kans dat er ineens zaken niet meer werken die ervoor wel gingen.
Had toch meer verwacht van dit Product. Denk toch dat er betere producten zijn dan Alfresco. Alfresco is enkel aan te raden voor iets simpel…
Pol May 18, 2009 11:21
Pol,
kun je je opmerkingen concreet maken?
Alfresco geeft op de website duidelijk aan dat de Labs versie bedoeld is voor mensen en organisaties die zelf genoeg technische bagage in huis hebben om met het produkt te werken. Als je die kennis niet hebt en je voldoende geld hebt ligt de Enterprise versie en het inschakelen van een Alfresco partner meer voor de hand.
Daarnaast wordt de Labs versie gebruikt om nieuwe functionaliteit te testen. Dat betekent dat je, als je de laatste nieuwtjes wilt proberen inderdaad bij een volgende release het risico loopt dat iets anders of niet meer werkt. De basis document management faciliteiten die in bovenstaand artikel worden beschreven zitten er echter al een tijdje aan en zijn in principe stabiel.
Overigens, Ruud, op de website van Alfresco staat een lijst met partners (http://www.alfresco.com/partners/si/) die je kunnen helpen bij het implementeren van Alfresco.
Pim May 20, 2009 14:52