Case Study zu einer erfolgreichen Integration beider Content Management Systeme
Ursprünglich waren es zwei Projekte, die bei den
Berliner Philharmonikern anstanden: Integration einer Dokumentenmanagementlösung und der Relaunch des Internetauftrittes
www.berliner-philharmoniker.de. Als festgestellt wurde, dass es große Überschneidungen bei den zu verwaltenden Inhalten gibt, wurde die Idee einer Single Source Publishing Lösung geboren
Bei den Berliner Philharmonikern werden Texte im Rahmen eines redaktionellen Prozesses erstellt und redigiert, wobei immer interne als auch externe Personen beteiligt sind. Diese Texte werden in Print-Publikationen und im Web gleichermaßen verwendet und durchlaufen hier weitere Korrekturläufe. Dabei werden Inhalte geschaffen, welche z.T. eine sehr hohe Lebensdauer haben und auch in mehreren Jahren noch wiederverwendet werden sollen.
Quellmedien sind primär Texte mit sehr unterschiedlichen Inhalten, wie z.B. Magazinartikel, Biografien, Werkstexte, Gesangstexte oder Pressemeldungen, welche als „Open Documents“ abgelegt werden. Zusätzlich werden XML-Dateien für den Konzertkalender verwaltet.
Die Zielmedien sind Print-Publikationen, zumeist erstellt mit QuarkXPress, und Onlinemedien wobei dies derzeit die Webseite der Berliner Philharmoniker und die Digital Concert Hall (DCH) sind.
Die Abteilung „Kommunikation“ der Berliner Philharmoniker verwaltet eine große Menge von Dokumenten und Inhalten, die in verschiedenen Formen und Medien Verwendung finden. Um diesen Prozess zu unterstützen wurde Alfresco als Dokumentenmanagementsytsem eingeführt.
Um die verschiedenen Inhalte zu klassifizieren und schnell wiederzufinden, wurde eine Reihe eigener Dokumenttypen mit z.T. individuell erweiterten Metadaten definiert. Alfresco bietet hierfür hervorragende Möglichkeiten über die Erweiterung des Content Models. Einige konkrete Beisiele hierfür sind:
| Dokumenttyp | Zusätzliche Metadaten | Format |
|---|---|---|
| concert | subtitle, editor, relatedTo, concertId | XML |
| biography | subtitle, editor, relatedTo | ODT |
| program | subtitle, editor, relatedTo | ODT |
| songtext | subtitle, editor, relatedTo | ODT |
Zusätzlich zur Erweiterung des Content Modells bietet Alfresco auch die Möglichkeit einer individuellen Aspektierung. Zur Steuerung der Publizierung der Dokumente in die verschiedenen Medien wurde für jedes Zielmedium ein Aspekt hinzugefügt
| Aspekt | Bedeutung |
|---|---|
| dchPublishable | Dokument wird für die Digital Concert Hall publiziert |
| websitePublishable | Dokument wird für die Website publiziert |
Alfresco bietet die Möglichkeit, über REST-konforme Webscrips, die eine leichtgewichtige Alternative zu herkömmlichen Webservices sind, auf das Content Repository zuzugreifen.
Für die hier beschriebenen Publishing-Mechanismen wurde eine Webscript-Schnittstelle geschaffen, die den Zielmedien (Website, DCH) einen komfortablen Zugriff auf die publizierten Dokumente ermöglicht. Für jedes Zielmedium (Website, DCH) wird ein Service mit folgender Schnittstelle definiert:
| Methode | Bedeutung |
|---|---|
| getDocsToPublish | Liste aller uuids von Dokumenten mit dem Wert true im Attribut f4ph:Outgoing |
| getDocument | XML-Payload mit Dokumenteninhalt als XHTML und allen Bildern als base64-encoded Byte-Array |
| setOutgoingFalse | Setzt das Attribut f4ph:Outgoing des bezeichneten Dokumentes auf false |
| getDocuments | Liste aller uuids von Dokumenten mit dem Aspekt f4ph |
Als Grundlage zur Erzeugung von strukturierten und transformierbaren Dokumenten wurde zunächst eine Open Document Vorlage erstellt. In der Vorlage wurden zahlreiche Absatz- und Inlinevorlagen definiert, um die Bandbreite der nötigen semantischen Unterscheidungen abzubilden. Das Open Document Format wurde gewählt, weil es zum einen ein Standardformat ist und zum anderen den Inhalt und die Styleinformationen im (gezippten) XML-Format ablegt - das Format ist also leicht per XSLT weiterzuverarbeiten. Alternative Formate wie z.B. Word-XML oder auch proprietäre Formate mit entsprechenden Adaptern sind natürlich ebenso denkbar.
Da der mitgelieferte HTML-Exporter von Open Office keine zufriedenstellenden Ergebnisse liefert, wurde ein eigener XHTML-Transformer erstellt. Die Transformation selbst verwendet die im ODT eingebetteten content.xml und styles.xml als Eingangsdokumente und erzeugt per XSL-Transformation ein Ziel-XHTML.
Dieses XSLT ist in einem Alfresco-Transformer eingebettet, so dass Alfresco diesen als Standard-Transformer für die Umwandlung von Dokumenten verwenden kann. Der für den TYPO3-Export erstellte Webscript-Service nutzt also die selbe Transformation, welche auch über die Alfresco GUI oder per Workflow gestartet werden kann.
In TYPO3 werden die importierten Dokumente in einer eigenen Datenstruktur abgelegt. Diese werden als eigene Entität „Alfresco Dokument“ in einer individuellen Tabelle gespeichert. Dabei werden wesentliche Meta-Daten wie die Alfresco-UID und der Dokumenttyp in eigenen Spalten gespeichert. Der (aus dem ODT transformierte) XHTML-Body wird komplett und unverändert in eigene Spalte geschrieben. Diese Dokumentensammlung bildet für den Redakteur einen Datenpool, welchen er nutzen kann. Zur Anzeige auf der Webseite können verschiedene Inhalte – zumeist in separaten Datenstrukturen als Plugins – mit den Alfresco Dokumenten verknüpft werden.
Ein alternativer Ansatz wäre, die importierten Alfresco Dokumente direkt als Pages in TYPO3 zu verwalten. Die Alfresco-UID wäre eine zusätzliche Seiteneigenschaft. Die Unterscheidung der verschiedenen Dokumententypen im DMS würde mit entsprechenden Doktypes umgesetzt werden. Der XHTML-Body würde TYPO3-konform direkt als Inhaltelement „HTML“ in tt_content gespeichert werden. Auf diese Weise könnten Dokumente aus Alfresco komplett und unverändert im Web als Inhaltseiten dargestellt werden. Spezielle Entitäten in TYPO3 wären so nicht erforderlich.
Der Import von Dokumenten aus Alfresco wird regelmäßig per Cron über ein CLI-Script auf dem TYPO3-Server gestartet und erfolgt in folgenden Schritten:
Als zweites Zielmedium im Web wird die Digital Concert Hall mit Inhalten aus Alfresco bedient. Diese wurde mit Flash im Frontend und Drupal im Backend umgesetzt. Für Flash reicht in diesem Fall die XHTML-Datei nicht aus, sondern es wird ein strikter aufgebautes XML benötigt. Der Transformer erzeugt entsprechend dieses Format für die DCH und stellt diese über die Webscripts zur Verfügung. Zur Steuerung in Alfresco besteht hier ein separater Aspekt um medienspezifisch publizieren zu können. Zur einfachen Abgrenzung der Systeme, erfolgt das Abholen der Dokumente ähnlich wie bei TYPO3 über ein Script, welches per Cron angestoßen wird. Nur werden hier die XMLs in einer spezifisches Ordnerstruktur abgelegt. Der Import erfolgt durch Drupal aus dem Filesystem.
Als Ergebnis steht nun Alfrsco als ein JSR-170-konformes Content Repository für die redaktionellen Inhalte der Kommunikationsabteilung zur Verfügung. Dieses Repository dient als Basis für eine leistungsfähige Single Source Publishing Architektur.
Die Integration heterogener Systeme wie Alfresco, TYPO3 und Drupal vervollständigt das System zu einer Multi Channel Publishing Lösung.
Ausbaumöglichkeiten ergeben sich vor allem durch die Integration weiterer Zielmedien sowie durch die Einbeziehung weiterer Abteilungen und zusätzlicher Inhalte.
Die mediengerechte Aufbereitung bzw. Transformation der Quelldokumente soll im nächsten Schritt für die Print-Publikationen erfolgen. Dabei ist eine Transformation in ein QuarkXPress-optimiertes XML geplant.
Zudem wird die Verknüpfung der Textdokumente mit Bildern aus einer externen Bilddatenbank angedacht. So sollen in speziellen Kommentaren oder Verlinkungen die Bilder per URL oder ID in OpenOffice verknüpt werden, sodass bei der Transformation in die Zielmedien auch Bilder zu den Texten automatisch mitgeliefert werden können.
Oliver Meimberg ist Diplom-Informatiker (FH) und seit 2000 Geschäftsführer der form4 GmbH & Co. KG. In diesem Rahmen beschäftigt er sich mit der Entwicklung von komplexen Webapplikationen und Portalen. Darüber hinaus war er tätig als Lehrbeauftragter an der TFH Berlin sowie als Fachbuchautor.
Jan-Henrik Hempel ist Diplom-Kaufmann (FH) und seit 2001 bei der der form4 GmbH & Co. KG tätig.
Seit 1998 arbeitete er als Entwickler verschiedenster webbasierter Anwendungen und seit 2003 mit TYPO3. Mittlerweile ist er als Projektleiter für den Web Content Management Bereich bei form4 verantwortlich. Neben TYPO3 spielen hier auch Alfresco, Drupal, Magnolia und weitere Systeme eine Rolle.
Dieser Artikel wurde (in leicht gekürzter Fassung) in der
T3n Ausgabe 15/2009 veröffentlicht.
Die Idee, redaktionelle Inhalte nicht mehrfach zu pflegen, ist nicht neu. In diesem Artikel wird die Umsetzung des Single Source Publishing Konzeptes auf Basis von Alfresco als führende Content Quelle und TYPO3 als eines der möglichen Ausgabemedien beschrieben.