Migration auf CMS
Bei der Auswahl eines geeigneten Content Management Systems ist die Migration der bestehenden Website ein bedeutender Punkt. Ausgehend von einer statischen Website werden Strategien untersucht, diese in ein CMS zu überführen.
http://tmf-webqm.imise.uni-leipzig.de/wiki/Module/15MigrationCMS
Zusammenfassung
Bei der Auswahl eines geeigneten Content Management Systems ist die Migration der bestehenden Website ein bedeutender Punkt. Ausgehend von einer statischen Website werden Strategien untersucht, diese in ein CMS zu überführen. Mögliche Ansätze sind:
- händisches Übertragen einzelner Seiten
- Transformation der gesamten Seite über eine Importfunktion des CMS
- (teilweise) automatisierte Übertragung mittels einer geeigneten Migrationssoftware
Als Ziel-CMS fungieren die von der TMF empfohlenen CMS Gauss VIP und Zope ZMS sowie die populären Open-Source-CMS Typo 3 und Plone. Dabei werden sowohl Probleme bei der Übernahme einzelnder Dokumente wie auch beim Aufbau einer Seitenstruktur besprochen. Letztlich wird eine Empfehlung für konkrete Produkte im Sinne einer vergleichenden Übersicht ausgesprochen.
Problemstellung
Bei der Konzeption der Einführung eines CMS stellt sich auch die Frage nach der Übernahme der bisherigen Web-Inhalte. Soweit es sich um kleinere oder seit längerem nicht aktualisierte Webseiten handelt, werden die Inhalte bei der Gelegenheit gleich neu erstellt oder umfassend überarbeitet. Für Betreiber großer, gewachsener Websites kommt dies aus Ressourcengründen nicht in Frage. Hier gilt es zu untersuchen, welche Möglichkeiten zur semi-automatischen Migration der Inhalte bestehen und welche Vorgehensweise am sinnvollsten ist. Auch der Austausch von Inhalten zwischen verschiedenen CMS ist von Bedeutung, da es nötig sein kann, das CMS zu wechseln, z.B. aufgrund niedrigerer Kosten oder benötigter Funktionalität.
Eine Studie der Deutschen Post AG zur Einführung eines CMS ergab einen durchschnittlichen Migrationsaufwand von 30 min je Webseite, wobei je nach Länge des Textes, Komplexität des Layouts, Anzahl der Links, Verwendung dynamischer Technologien und Art/ Umfang der zu klassifizierenden Metadaten Abweichungen um ganze Faktoren wahrscheinlich sind. Daraus ergäbe sich bei einem Umfang von 500 Seiten (zzgl. anderer Dateien) und einem Stundensatz von 40 Euro ein Aufwand von immerhin 10.000 Euro. Für den Export von Websites aus einem CMS und dem Import in ein anderes existieren gleichfalls keine Standards.
Migration einzelner Webseiten
Hier werden Kriterien untersucht, den Inhalt und die Metadaten einzelner Webdokumente in ein CMS zu überführen.
Importierbare Dateitypen
Inhalte liegen in unterschiedlichen Formaten vor. Neben HTML-Dateien sind häufig Bilder, PDF-Dokumente usw. vorhanden. Wie wird deren Verwaltung unterstützt? Welche Dateitypen können originär in das CMS übernommen werden? Können eigene Dateitypen erzeugt werden?
Gauss VIP
Standardmäßig werden folgende Dateitypen (die hier Objekttypen heißen) erkannt:
- statische Seiten: HTML, Frames
- dynamische Seiten: ASP, CGI, Java Script, JSP, PHP (zur Nutzung müssen die jeweiligen Container z.B. ASP-Engine, PHP-Modul, Servlet-Container installiert sein)
- Bilder: JPG, GIF, PNG
- Office-Dokumente: DOC, XLS, PPT, PDF
- XML-Dokumente: XML, XSLT
- andere Dateiendungen werden “Sonstige”
Es ist möglich, eigene Dateitypen zu erzeugen, z.B. um nicht vorhandene abzubilden (CSS, .htaccess) oder um logische Dateitypen zu erschaffen (Termin, Vorlesung). Dabei kann wird eine bestimmte Dateiendung sowie ein MIME-Typ und ein Metadatenschema zugeordnet.
Zope ZMS
Es können eine Vielzahl von verschiedenen Datentypen übernommen werden. Diese können nach dem Einspielen an ihre Position im Hierachiebaum dann angezeigt werden (Bilder) oder zum Download angeboten werden.
- Bilder können direkt übernommen werden. Durch die Verwendung der “Python Imaging Library”(PIL) lassen sich von Bildern automatische Vorschaugrafiken erzeugen. Die PIL unterstützt dabei folgende Formate: BMP, CUR, DCX, EPS, FLI, FPX, GBR, GD, GIF, ICO, IM, JPEG, MIC, MSP, PCD, PCX, PDF, PNG, PPM, PSD, SGI, SUN, TGA, TIFF, XBM, XPM
- Dokumente können direkt als Download eingebunden werden. Für die Integration von Dokumenten existiert ein mächtiges Importfilter-Konzept, mittels dessen für jeden Objekt-Typ ein Quelldokument durch Transformation auf das ZMS-XML-Schema gebracht werden kann. Verschiedene Programm- bzw. Filterschritte können definiert werden, so kann u.a. HTMLTidy oder eine XSL Transformation verwendet werden. Es ist dadurch möglich, Dokumente aus beliebigen Quellen im CMS zu integrieren. Es sind eine Reihe von Filtern vorhanden, z.B. ein Word 2000 HTML-Filter.
- Es ist möglich, Flash-Objekte durch eine Erweiterung zu integrieren
- Es können direkt Python-Skripte eingebunden und ausgeführt werden.
Plone
Bei einer Standardinstallation sind eine Reihe von vordefinierten Datentypen bereits für die Verwendung integriert. Dazu gehören gebräuchliche Bilder und Dokumentenformate. Bilder können skaliert werden mittels der “Python Imaging Library”(siehe ZMS). Es steht eine automatische Photo-Album Ansicht zur Verfügung. Eigene Content-Typen können definiert werden mittels “Archetypes”. Dies ermöglicht die Erstellung von Formularbasiert-Pflegbaren Content-Typen.
Durch die Verwendung von Drittprodukten ist auch die Verarbeitung von weiteren Datentypen (Word, Excel, etc.) möglich.
Typo 3
Es gibt einen separaten Datei-Bereich, in dem Dateien eingespielt werden können. Es können alle Dateitypen eingespielt werden, die bei der Konfiguration erlaubt wurden. Die eingespielten Dateien werden nicht direkt in die Ausgabe des CMS mit eingebunden, sondern müssen durch Erweiterungen oder direkt auf einer einzelnen Seite erst verknüpft werden. Spezielle Erweiterungen erlauben das direkte Einbinden bestimmter Dateitypen. Durch solch eine Erweiterung lassen sich z.B. Word- und Excel-Dokumente direkt als Datensätze im CMS speichern. Die Schaffung eigener Dateitypen wird nicht benötigt, da alle Datensätze in einer Datenbank, und nicht in Dateien, abgelegt werden.
Import des Dokumenteninhalts
Können bestehende HTML-Seiten als Ganzes übernommen werden oder gibt es nur ein Copy&Paste des Inhaltstextes? Kann ein beliebiger Editor verwendet werden oder ist einer verpflichtend vorgeschrieben?
Gauss VIP
HTML-Seiten können wie alle oben genannten Objekttypen als Ganzes importiert werden, ohne einen Editor aufzurufen. Alternativ kann eine neue Datei erzeugt und in einem beliebigen Editor bearbeitet werden.
Zope ZMS
Es gibt eine Import-Funktion über die ZMS eigenen Filter, welcher ein Import von Daten ermöglicht. Dadurch können duch Transformation auch ganze HTML-Seiten integriert werden.
Als Editor kommt ein Standard-DHTML-Editor mit, welcher durch ein Erweiterungs-Modul zu einem umfangreicherem Editor ergänzt werden kann.
Plone
Über das Copy&Paste hinaus ist es möglich, beim Anlegen eines neuen Dokument-Objektes in einer Plone-Seite eine bestehende Text-Datei (auch eine HTML-Seite) einzuspielen.
Als Editor kommen verschiedene Produkte zum Einsatz. Zum einen kann der Plone-eigene Editor (Textfeld) oder verschiedene freie HTML-Editoren genutzt werden (FCKEditor, Kupu), zum anderen gibts es externe Produkte wie den “Enfold Desktop”von der Firma Enfold Systems. Dieser ermöglicht unter Windows-Betriebssystemen eine Integration einer Plone-Seite mittels des Web DAV- Protokolls (ohne auftretende Protokollauslegungsfehler in Windows-Produkten). Damit ist eine direkte Bearbeitung der Dokument durch Desktop-Software möglich.
Typo 3
Es können HTML-Seiten als Ganzes eingespielt und angezeigt werden, dies ermöglicht eine schrittweise Migration von alten statischen HTML-Seiten. Eine Übernahme von HTML-Seiten als Ganzes ist nicht vorgesehen. Das CMS arbeitet mit einer eigenen Datenbank (nicht dateiorientiert), auf der Seiten und Datensätze über ein Administrations-Interface angelegt werden können.
Der Import von vielen Seiten mit Unterseiten in einer hierachischen Struktur kann durch Skripte realisiert werden, welche den Inhalt direkt in der Datenbank durch Anlegen neuer Datensätze speichern.
Es gibt einen internen Editor, der durch verschiedene Erweiterungen umgestellt bzw. erweitert werden kann. Eine externe Bearbeitung (z.B. durch lokalen Editor) ist im Moment nicht verfügbar.
Trennung von Inhalt und Layout
Wie lässt sich der Inhalt vom Layout trennen? In statischen HTML-Seiten sind Inhalt und Layout vermischt, bspw. enthält jede HTML-Seite im Allgemeinen auch die Navigation. In CMS werden Layoutinformationen ausgelagert und über Vorlagen realisiert. Das Abtrennen der Navigation für jede Seite einzeln durchzuführen wäre sehr aufwendig, gleiches gilt für CSS, die im Quellcode eingebettet sind.
Gauss VIP
Beim Import ist keine automatische Trennung von Inhalt und Layout möglich. Der Navigationsbereich muss selbstständig entfernt werden. Wird dem neuen Dokument eine Vorlage zugewiesen, dann wird automatisch der Kopfbereich (Head-Tags) nicht mehr aus dem aktuellen Objekt, sondern aus der Vorlage verwendet, daher sollten alle eingebetteten CSS-Definitionen händisch in eine separate Datei überführt werden.
Zope ZMS
Beim Import ist keine automatische Trennung von Inhalt und Layout möglich. Der Navigationsbereich muss selbstständig entfernt werden.
Plone
Beim Import ist keine automatische Trennung von Inhalt und Layout möglich. Der Navigationsbereich muss selbstständig entfernt werden.
Typo 3
Da es keine direkten HTML-Import Unterstützung im CMS gibt, kann keine Trennung durchgeführt werden. Der Inhalt muss manuell oder automatisch durch Drittprogramme durchgeführt werden. Es ist möglich, HTML-Inhalte nach dem Einspielen in Seiten einzubinden, um die internen Bearbeitungsmöglichkeiten zu erweitern. Das Einbinden kann durch Kopieren des Inhalts oder durch Referenzieren auf eine Datei im Asset-Bereich geschehen.
Erkennen von Metadaten
Was passiert mit definierten Metadaten wie Autor, Titel, Stichwörtern?
Gauss VIP
Eine Reihe von Metadaten wird automatisch gesetzt, z.B.:
- Redakteur
- Erstellungsdatum
- Dateityp
Manche Metadaten werden vom übergeordneten Objekt vererbt, z.B:
- Verfallsdatum
- zugewiesene Vorlage
- Sprache
Andere Metadaten werden nicht ausgefüllt, z.B.
- Überschrift
- Beschreibung
- Stichwörter
Eine Einbeziehung eventuell vorhandener, im Dokument eingebetteter Metadatendeklarationen wie Dublin Core erfolgt nicht. Sollen Metadaten als Variablen in Schablonen verwendet werden, z.B. als Fußzeile in der Form «Diese Seite wurde letztmalig am xx.xx.xx geändert», muss der importierte Text gelöscht und durch einen CMS-Platzhalter ersetzt werden.
Zope ZMS
Kein Import, es ist eine separate Metadatenverwaltung vorhanden. Standardmäßig können Dublin Core Metadaten angelegt werden, es können aber beliebige Metatags definiert werden (Namen, Typen), die Objekten zugeordnet werden können.
Plone
Kein Import, es werden standardmäßig über die Template-Einstellungen die Metadaten einer Seite gesetzt. Diese können durch Anpassungen des Template-Headers verändert und ergänzt werden.
Typo 3
Alle Metadaten, die vom System durch das Login vom Benutzer bekannt sind werden automatisch gesetzt.
Es können für jede Seite spezielle Metadaten gesetzt werden (standardmäßig manuell):
- Inhaltsangabe
- Stichworte
- Autor
- Autor-Mail
- Beschreibung
- Datum: Gültigkeit Von-Bis, Verfallsdatum, Aktuell-Bis Datum
Die Ausgabe der Metadaten kann durch eine Erweiterung erfolgen.
Erkennen von Links
Werden Abhängigkeiten in Links erkannt, werden Links umgewandelt (z.B. absolute URLs in relative)? Wird vor toten Links gewarnt?
Gauss VIP
Links in HTML-Dateien werden erkannt, abhängige Objekte auf Nachfrage rekursiv importiert. Intern benutzt das CMS immer absolute Links, im Livesystem können relative (Voreinstellung) oder absolute Links erzeugt werden. Vor toten Links wird beim Import nicht gewarnt, beim normalen Arbeiten aber schon. Externe Links werden nicht geprüft.
Zope ZMS
Interne Links werden automatisch auf Konsitenz geprüft. Für externe Link-Prüfung existiert eine Erweiterung.
Plone
Ein Linkscheck, vor allem für intern verknüpfte Element (Bild-Objekte etc.) existiert nicht, ist aber für ein kommendes Plone 3.0 Release vorgesehen.
Über die Erweiterung “CMFLinkchecker”lässt sich jedoch eine Liste mit allen toten Links aufstellen.
Typo 3
Die Angabe von Links wird über den internen Editor realisiert. Änderungen an internen Referenzen sind durch eine eindeutige Identifizierung der Seiten ohne Auswirkung auf deren Referenzen. Es gibt Erweiterungen, die den Inhalt auf tote Links hin prüfen. URLs werden für interne Objekte vom System selber formatiert. Eine direkte Angabe von URLs ist nicht nötig aufgrund der systemeigenen Editoren, womit auch die Umwandlung entfällt.
Erkennen von eingebundenen Objekten
Wie wird mit abhängigen Multimediaobjekten wie Bildern oder CSS-Dateien beim Import verfahren?
Gauss VIP
Abhängige Elemente wie Bilder, Javaskripts oder CSS werden erkannt und importiert.
Zope ZMS
Alle Objekte müssen manuell importiert werden.
Plone
Alle Objekte müssen manuell importiert werden.
Typo 3
Alle Objekte müssen manuell importiert werden.
Konverter
Häufig bekommen Web-Redakteure Artikel zur Publikation im WWW, die von den Autoren in anderen Dokumenttypen als HTML (wie z.B. MS Word). Ferner muss zu manchen Objekten eine Druckansicht bereitgestellt werden. Hier besteht ein Bedarf für eine Konvertierung, möglichst mit Hilfe des CMS. Können Dokumente konvertiert werden, z.B. Word nach HTML oder HTML nach PDF?
Gauss VIP
Es existiert eine Konverterschnittstelle für die Umwandlung beliebiger Dateitypen, die Funktionalität muss jedoch selbst programmiert oder zusätzlich erworben werden, sodass es praktisch keine eingebauten Konverter gibt.
Zope ZMS
Es gibt verschiedene Import-/Exportfilter, welche die Transformation mittels HTMLTidy, XSLT, Docbook und FOP in verschiedenen Transformationsschritten ermöglicht, Word(HTML)-Dateien zu importieren oder verschiedene Seiten als PDF zu exportieren. Auch weitere Ausgabeformate sind so realisierbar.
Plone
Mittels der Erweiterung “Archetypes”und speziellen Programmen (wv, xpdf, unrtf, xlhtml) soll eine Transformation in Plone möglich sein.
Ein Export kann in verschiedene Zielformate kann auch über Erweiterungen gelöst werden. Die Erweiterung "Plone 2 PDF"bietet diesen für verschiedene Content-Typen von Plone in PDF-Dokumente an. Weitere sind in der Entwicklung.
Typo 3
Es gibt Erweiterungen, die den Import von Microsoft Office Dokumenten, Open Office Dokumenten und ähnlichen unterstützen. Für weitere Importe können leicht eigene Erweiterungen entwickelt werden.
Erweiterungen für den Export der Seiten in verschiedene Formate sind vorhanden oder können leicht entwickelt werden (PDF, Feeds etc.)
Validierung und Barrierefreiheit
Existieren Möglichkeiten zur Prüfung der konvertierten Internetseiten auf Web-Standards während der Migration?
Gauss VIP
Das CMS Gauss VIP übernimmt beim Import den Quelltext unmodifiziert. Eine integrierte Validierung ist nicht vorhanden, Fehler im HTML-Code werden nicht korrigiert.
Zope ZMS
Nein, spezielle Migrationskonzepte sind nicht vorgesehen.
Plone
Nein, spezielle Migrationskonzepte sind nicht vorgesehen.
Typo 3
Die Ausgabe der Seiten kann für verschiedene Standards modifiziert werden. Eine Prüfung auf XHTML oder HTML in verschiedenen Versionen ist möglich.
Migration der Webseitenstruktur
Multiimport
Für große Websites ist es sehr aufwändig, hunderte von Dateien per Hand in das CMS zu übertragen. Statt jede Seite einzeln zu importiert, sollte es Automatismen geben, eine größere Zahl von Dokumenten per Skript oder per Programmfunktion einzuspielen (Multi-Import)
Gauss VIP
Das Gauss CMS stellt äußerst leistungsfähige Assistenten zum Import ganzer Seitenstrukturen zur Verfügung. Da es dateiorientiert arbeitet, können beliebige Datei-Ordner über die Windows-Netzwerkumgebung per Web DAV in das CMS überspielt werden. Ferner ist es möglich, ein ZIP zu importieren. Alle darin befindlichen Dateien werden pfadgetreu ausgepackt. Zuletzt kann ein Multi-Import durch Angabe einer Startdatei initiiert werden. Das CMS liest die Startdatei und importiert rekursiv alle abhängigen Objekte, die eingebunden oder verlinkt sind.
Zope ZMS
Durch den integrierten Import-/Export-Filter ZMS-XML lassen sich ganze Websites importieren. Die statischen Seiten müssen vorher mittels XSLT auf das ZMS-XML Format gebracht werden. Im Administrationsinterface können dann die XML Dateien importiert werden.
TODO: Bilder, Media-Elemente, ...
Plone
Es können über Web DAV oder FTP neue Elemente eingespielt werden. Aus diesen werden standardmäßig die Titel und Autor Metatags ausgelesen. Durch weitere Produkte (u.a. verändertes Marshalling) ist es möglich, Dateien in die richtigen Plone-Content-Typen zu transformieren. So lässt sich ein Import von vielen Dateien auch mit unterschiedlichen Metatags und Datei-Typen realisieren.
Typo 3
Es gibt keine spezielle Erweiterung, die zum Importieren von externen HTML-Seiten dient. Importe dieser Art müssen durch Skripte gelöst werden. Die interne Datenbankstruktur ist leicht zu modifizieren. Neue Seiten und Unterseiten können so direkt angelegt und mit Inhalten beschrieben werden. Das Einbinden von verknüpften Dateien / Objekten (Bilder, Flash, Office-Dokumente etc.) kann durch das Kopieren dieser im Filesystem erfolgen.
Ein Import / Export ganzer Seitenstrukturen mit verknüpften Dateien aus dem Asset-Bereich zwischen verschiedenen Typo 3 - Installationen oder innerhalb einer Instanz ist durch eine interne Funktion möglich. Diese Funktion ist sehr leistungsfähig und überprüft die Seiten auf die Konsitenz von Verknüpfungen und Inhalten.
Serverseitige Schnittstellen
Professionelle Websites werden im Allgemeinen auf dedizierten Servern gehostet, während die Arbeit des Redakteurs auf dessem lokalen Client stattfindet. Geänderte Dateien müssen zum Veröffentlichen auf den Server hochgeladen werden. Viele Webeditoren unterstützen standardisierte Schnittstellen wie SSH, FTP, CVS oder Web DAV. Die Produktivität der Arbeit kann wesentlich gesteigert werden, wenn solche Schnittstellen auch serverseitig unterstützt werden.
Gauss VIP
Über eine Web DAV- Schnittstelle lassen sich Dateien bequem kopieren bzw. verschieben. Bestimmte Funktionen, wie das produktive Freigeben oder das Setzen von Metadaten, gehören nicht zum Web DAV- Standard und sind daher nur über den CMS-Client möglich. Andere Schnittstellen werden nicht unterstützt.
Zope ZMS
Zope bietet als Applikationsserver eine Web DAV- und FTP-Schnittstelle. Diese kann genutzt werden um z.B. die Templates oder CSS-Elemente direkt zu bearbeiten. Ein direktes Bearbeiten des Contents über lokale Editoren konnte nicht garantiert werden.
Plone
Inhaltsobjekte können direkt durch lokale Editoren mittels der FTP- und Web DAV- Schnittstelle bearbeitet werden. Zope bietet für die Arbeit eine “External Editor”Erweiterung, welche lokal auf den Clients installiert wird und den einzelnen Content-Objekten so lokale Editoren nach ihrem MIME-Typ zugewiesen werden kann.
Mit dem kommerziellen Produkt “Enfold Desktop”ist eine Integration des Plone-Dateisystems in das lokale Dateisystem möglich.
Typo 3
Das Bearbeiten der Seiten erfolgt durch eine Weboberfläche oder durch die Möglichkeit der direkten Bearbeitung auf der Webseite. Die Verwendung von externen Editoren oder Clients ist im Moment nicht vorgesehen. Dateien im Asset-Bereich können durch FTP eingespielt werden. Eine Integration von dieser Schnittstelle und anderen muss aber durch das verwendete Betriebssystem bereitgestellt werden.
Migrationsoftware
Über das reine Übertragen der vorhandenen Dateien hinaus ist es wichtig, redundante Informationen wie Designanweisungen oder Navigationsmenüs aus den einzelnen Seiten zu entfernen und in zentrale Vorlagen auszulagern. Für einige CMS kann spezielle Software für diesen Zweck existieren. Alternativ gibt es Software von Drittanbietern, die diese Funktion erfüllt, jedoch an das CMS angebunden werden muss.
Gauss VIP
Es existiert keine spezielle Migrationssoftware. Externe Programme können integriert werden, da bestimmte Ereignisse wie z.B. das Anlegen eines Objekts über einen Softwareagenten auslesbar sind. An dieser Stelle kann die Migrationssoftware ansetzen.
Zope ZMS
Es existiert keine (bekannte) spezielle Migrationssoftware. Eine Einbindung von eigenen Erweiterungen / Software ist jedoch durch das offene Modell von Zope-Produkten möglich.
Plone
siehe “Zope ZMS”
Typo 3
Es existiert keine spezielle Migrationssoftware. Ein Ansetzen von externer Software ist aber leicht möglich durch die unkomplizierte Datenbank- und Modulstruktur.
Vorlagen
Das Vorlagenkonzept ist eines der stärksten Argumente für den Einsatz von CMS. Vorlagen müssen flexibel genug sein, damit auch komplexe Anwendungsfälle abgebildet werden können, aber einfach genug, um wartbar und verständlich zu bleiben.
Gauss VIP
Vorlagen bestehen prinzipiell aus einem Hypertextdokument mit einem Platzhalter für den Inhalt des Objekts, welches auf der aktuellen Vorlage aufbaut. Vorlagen werden also bildlich betrachtet um das Zielobjekt herumgeschrieben. Sie enthalten auch immer den -Teil des Dokuments. Vorlagen können mehrstufig aufgebaut sein (kaskadierend) und sind nicht auf HTML beschränkt: auch ASP, JSP, PHP, XML und XSLT kann als Basis für eine Vorlage genutzt werden.
Zope ZMS
Vorlagen werden in DTML-Methoden bzw. -Dokumenten erstellt. Dies ist eine in Zope integrierte Möglichkeit, Business-Logik in Tags zu integrieren, um so intelligente und fexible Vorlagen zu erstellen. ZMS nutzt diese Technologie auch, wobei so auf die ZMS-API zugegriffen werden kann.
Es ist eine offene Gestaltung von Vorlagen, auch für unterschiedliche Endgeräte und Formate, möglich.
Plone
In Plone werden die Seiten aus verschiedenen “Page Templates”generiert. Dies sind einzelne Objekte, die jeweils XHTML konforme Tags enthalten. Der Code, der den Templates die Logik verleiht, wird direkt als Attribute (z.B. mittels der TALES [Template Attribute Language Expression Syntax] oder METAL-Funktionen) in die Tags integriert. Es ist möglich, mehrsprachige Inhalte in Templates zu integrieren (mittels dem i18n-Namensraum und seinen i18n-Attributen). Auch bei Plone ist so die dynamische Erzeugung beliebiger Formate wie HTML, WML oder XML möglich.
Typo 3
Es gibt verschiedene Möglichkeiten mit Vorlagen zu arbeiten. Diese werden durch verschiedene Erweiterungen realisiert. Es existiert eine sehr mächtige Konfigurationssprache (Typo Script), die vor allem für die Verarbeitung von Vorlagen und deren Ausgaben verwendet werden kann.
Ein sehr gebräuchlicher Ansatz ist die Verwendung einer Autoparser-Erweiterung, welche aus einem HTML-Dokument alle Content-Blöcke (Menüs, Inhaltsbereiche [head, body], Rand, Hauptteil, Footer etc.) anhand von vergebenen Style-Klassen und IDs erkennen kann. Diese können dann mittels Typo Script durch die Inhalte bzw. Menüs für die Ausgabe aufbereitet werden. Vorlagen können verschiedene Dateitypen sein (XML, XSLT, etc).
Durch ein Vererbungssystem und Typo Script können hierachieabhängige Ausgaben erzeugt werden.
Navigation
Die Navigation ist ein wesentlicher Aspekt in der Benutzerführung in Bezug auf Websites. Die 3 Hauptfragen lauten: “Wo bin ich?”, “Was bekomme ich hier?”und “Wohin kann ich von hier gehen?”. 1. und 3. muss die Navigation beantworten, daher stellt sich die Frage: Wie wird die (mehrstufige) Navigation realisiert?
Gauss VIP
Eine spezielle Navigationsvorlage existiert nicht. Jedoch ist es mit wenigen Zeilen Programmcode möglich, eine Navigation in Anlehnung an den interenen Verzeichnisbaum zu realisieren. Fortgeschrittene Funktionen wie Mehrsprachigkeit oder frei definierbare Menüs sind deutlich zeitaufwendiger.
Zope ZMS
Die Navigation wird, wie auch die Vorlagen, über DTML-Methoden der Zope eigenen Tagsprache realisiert. Es gibt verschiedene Navigationsarten (alphabetische Liste, Inhaltsübersicht, Tab-Menü, Macronavigation, Schlagwortliste, Download-Files, knotenspezifisches Inhaltsverzeichnis, Ankerliste, RSS, etc.). Jene sind als Vorlagen vorhanden.
Plone
Die Navigation wird durch Portlet-Objekte erzeugt. Dies sind “Page Template”Objekte (siehe Vorlagen), die für unterschiedliche Navigationsarten separat angelegt werden können. Ihre Logik wird durch die speziellen TAL, METAL und I18N Namensräume der Attribute definiert.
Typo 3
Es gibt durch die interne Konfigurationssprache (Typo Script) eine grosse Anzahl von Menümöglichkeiten: Textmenüs, Grafische Menüs, Javascript Menüs. Diese Menüs werden in Ihrer Funktionsweise von Typo 3 vorkonfiguriert und können beliebig angepasst werden.
Menüs können für Seiten oder für Seiteninhalte (interne Anker) oder für separate Asset-Verknüpfungen angelegt werden.
Diese können auf beliebige Level-Tiefen und Verschachtelungen angepasst werden. Jedes Menü-Level kann in seinen verschiedenen Zuständen angepasst werden (aktiv, passiv, rollover, besucht etc.).
Dynamische Skripte
Welche speziellen Probleme ergeben sich bei der Übernahme von dynamischen Seiten (Skripts) und externen Datenbeständen? Eventuell wird eine bisher verwendete Technologie vom CMS nicht unterstützt (z.B. MS Frontpage Robots).
Gauss VIP
Alle auf dem Server installierten Skriptsprachen sind prinzipiell möglich. Probleme bereitet die Kombination verschiedener Sprachen, z.B. JSP und PHP, wobei JSP für das CMS nötig ist.
Zope ZMS
Hier kann nur auf Zope-eigene Skriptmöglichkeiten zurück gegriffen werden. Es können Python-Skripte verwendet werden. Als Erweiterungen / Produkte sind auch verschiedene Implementationen für die Integration von anderen Skriptsprachen vorhanden (JSP, etc.). Eine Integration von vorhandenen Skripten durch deren internen Serverseitigen Aufruf und Auslieferung an den Client soll auch möglich sein, wurde jedoch nicht evaluiert.
Plone
Siehe “Zope ZMS”
Typo 3
PHP-Skripte können direkt in Seiten eingebunden werden. Die Verwendung von weiteren Skript- oder Programmiersprachen muss durch die hauseigenen Möglichkeiten von PHP bzw. PHP-Modulen gelöst werden. Eine direkte Integration von anderen Technologien ist nicht vorgesehen.
Geschützte Bereiche
Was passiert mit vergebenen Rechten und geschützten Bereichen? Die meisten CMS besitzen eine eigene Nutzerverwaltung. Bestehende interne Seiten, z.B. auf Basis von Apache .htaccess-Dateien, müssen angepasst werden.
Gauss VIP
Htaccess-Dateien bleiben erhalten und funktionieren weiter, allerdings dann parallel zur CMS-Rechteverwaltung, die über ein Servlet realisiert ist. Es existiert ferner eine LDAP-Anbindung. Das CMS verfügt über ein mächtiges Gruppen-Rollen-Konzept. Rechte werden im Ordnerbaum auf untergeordnete Objekte vererbt.
Zope ZMS
Eine Benutzerübernahme aus anderen Systemen ist nicht vorgesehen. Eine Integration von anderen Benutzerquellen ist aber durch Zope gewährleistet («Simple User Folder»). ZMS bietet eine spezielle Ausrichtung auf LDAP-Anbindungen. Es können Kunden-Ordner angelegt werden, denen spezielle Berechtigungen zugeteilt werden können.
Plone
Eine Übernahme von ist nicht vorgesehen. Die Benutzerverwaltung ermöglicht aber unterschiedliche Zugriffsrechte für einzelne Seiten und Seitenbereiche. Die Benutzerverwaltung kann auch mit LDAP verbunden werden.
Typo 3
Die ausgeprägte und sehr mächtige Benutzer- und Gruppenverwaltung muss durch eigene Skripte auf bestehende interne Seiten angepasst werden. Es können Container (Systemordner) für Frontend-Benutzer und -Gruppen angelegt werden. Seiten können dann auf diese Benutzergruppen beschränkt werden. Die Beschränkung des Zugriffs kann in Lese- /Bearbeitungs- und Lösche-Rechte unterteilt werden.
Programme zum Konvertierung bzw. Migrieren von Websites
Wie zuverlässig arbeitet verfügbare Migrationsoftware (Solyp, Metalogix, JTidy, Karpow)? Lässt sich die Navigation skriptgesteuert trennen? Werden Head- oder Tag-CSS zusammengeführt?
- MS Word 2000/XP
- nützlich für weitgehend layoutgetreue Darstellung im Netz
- aufgeblasener Code, redundante CSS, nur im IE gut darstellbar
- Open Office 2.0
- Dreamweaver MX 2004
- Word 2000 optimieren
Praxistest
Ausgangsituation
Eine Word-Datei mit Patienteninformationen (37kB) sollte in HTML umgewandelt und ins Netz gestellt werden. Es handelte sich um ein relativ simpel strukturiertes Dokument, bei welchem sich die Formatierung auf fett, Listen und Überschriften beschränkte. Eingebette Elemente (Bilder, Objekte) waren ebensowenig vorhanden wie Links, Tabllen, Kopf- und Fußzeilen oder Mehrfarbigkeit.
Methode
A) Speichern aus Word 2000
- Speichern als HTML in Word 2000 mit Zielbrowser IE5
- Speichern als HTML in Word 2000 mit Zielbrowser IE4 und NN4
- Speichern als HTML in Word 2000 ohne Zielbrowser
B) Optimierung mit Dreamweaver MX2004
- Optimierung von 1. mit Dreamweaver MX2004
- Optimierung von 2. mit Dreamweaver MX2004
- Optimierung von 3. mit Dreamweaver MX2004
C) Optimierung mit HTML Tidy
D) Optimierung durch MS HTML Filter
E) Speichern aus Open Office 2.0
F) Hintereinanderausführung von A) und B) u.a.m.
G) Office XP
Ergebnisse
Das Speichern aus Word direkt erzeugt sehr langen Code. Die Darstellung im Browser funktioniert auch in alternativen Browsern wie Firefox gut. Allerdings ist das entstandene Dokument nicht im geringsten barrierefrei (festen Schriftgrößen, keine Überschriften, keine Listen) und als HTML-Version praktisch nicht mehr veränderbar, da CSS für jeden Absatz einzeln zugewiesenen werden.
- Qualität
- Quantität (Größe der Datei)
- Browserkompatibilität
- Aufwandsbetrachtung
- Vergleich zum Kopieren des reinen Textes und Nachformatieren per Hand
- Lässt sich HTML-Konvertierung automatisieren?
- Wie sieht es mit Office XP aus?
- Anleitung zur Konvertierung aus Office erstellen!
Empfehlungen
Fazit
Gauss VIP
Das CMS Gauss VIP bietet kinderleichte Importmöglichkeiten für einzelne Webseiten und ganze Websites. Die Migration beschränkt sich in diesem Fall auf eine Kopieroperation im Windows-Explorer. Wählt man diesen Weg, hat man seine alte Homepage zwar vollständig im CMS, zieht aber aus den Vorteilen eines CMS (Layoutvorlagen, Metadaten, Rechteverwaltung, automatische Navigation) keinen Nutzen. Dazu sind umfangreiche Nachbearbeitungen jeder einzelnen Seiten nötig. Um z.B. eine zentrale Layoutvorlage zu erstellen, müssen jene Layout-Elemente aus allen HTML-Dateien entfernt werden. Anwender mit Programmierkenntnissen können dies mit Hilfe der leistungsfähigen API automatisieren. Gleiches gilt für Metadaten, absolute Links oder vergebene Rechte.
Zope ZMS
Im ZMS können ganze Websites von Haus aus nicht importiert werden. Durch die mächtigen Filter-Import-Funktionen des CMS ist es jedoch möglich, mit einer entsprechenden Vorbearbeitung, mittels XSL Transformationen in das ZMS-XML-Format, grosse Websites inklusive Media-Elementen und Metatags zu importieren. Dafür können in ZMS verschiedene Filter-Funktionen konfiguriert werden für z.B. Code-Reinigung mittels Tidy. Getestet wurde diese Importmöglichkeit nicht, da die Überführung bzw. das entsprechende XSLT-Skript sehr komplex zu erstellen ist.
Plone
Plone bietet die Möglichkeit Dokumente (Websites und Media-Elemente) direkt per Web DAV- oder FTP-Schnittstelle zu Importieren. Dabei gibt es die Möglichkeit Metatags und bestimmte Inhaltsblöcke automatisch zu erkennen. Bei Tests dazu wurden relativ gute Ergebnisse erzielt. Auch hier ist aber eine anspruchsvolle Anpassung des Systems im Vorfeld nötig.
Typo 3
Typo 3 bietet die Speicherung von einzelnen Websites, allerdings wie auch bei den anderen ohne die CMS-Vorteile dabei zu nutzen (Layoutvorlagen, Metadaten, ...). Um diese zu Integrieren bedarf es einer aufwendigen Nachbearbeitung. Ganze Websites, als Multiimport, lassen sich nur schwer integrieren. Möglich ist es, diese durch manuell angepasste Skripte, direkt in die Datenbank zu schreiben. Es existieren dazu keine Skript-Vorlagen.
Vergleich
Die folgende Tabelle leifert eine Übersicht über den Grad der Unterstützung der jeweiligen Funktion.
CMS | Gauss VIP | Zope ZMS | Plone | Typo 3 |
Migration einzelner Webseiten | ||||
Importierbare Dateitypen
|
++ (viele Typen nativ enthalten) | + (viele mediale Typen enthalten) | + (viele Mediale Typen enthalten) | + (viele Mediale Typen enthalten) |
Import des Dokumenteninhalts
|
++ | + | + | + |
Trennung von Inhalt und Layout
|
- (muss von Hand gemacht werden) | - | + (kann verschiedene Blöcke erkennen) | - |
Erkennen von Metadaten
|
- (einige Metadaten werden aber von Elterndokumenten vererbt) | - | + (Abhängig von der Anpassung) | o |
Erkennen von Links
|
+ | + | + | + |
Erkennen von eingebundenen Objekten
|
++ | o | o | o |
Konverter
|
- (nur rudimentär über Schnittstelle, Konverter muss selbst programmiert werden) | ++ (eigenes Filterkonzept für Transformationen) | + (verschiedene Konverter verfügbar) | + (verschiedene Konverter verfügbar) |
Validierung und Barrierefreiheit
|
- | + | + | + |
Migration der Webseitenstruktur | ||||
Multiimport
|
++ (WebDAV, ZIP) | + (XML-Filter) | + (WebDAV, FTP) | - |
Serverseitige Schnittstellen
|
+ | + | + | - |
Migrationsoftware
|
- (nur Gauss nach Gauss) | + (XSL-Transformationen und ZMS nach ZMS) | + (Import / Export durch Zope und Plone nach Plone) | - (nur Typo 3 nach Typo 3) |
Vorlagen
|
+ (auch kaskadierend) | + | + | + |
Navigation
|
o (nicht automatisch) | + (nicht automatisch) | o (nicht automatisch) | o (nicht automatisch) |
Dynamische Skripte
|
++ (alle serverseitig verfügbaren Technologien werden unterstützt) | - (Python Unterstützung) | - (Python Unterstützung) | - (PHP Unterstützung) |
Geschützte Bereiche
|
o (keine Migration, aber Htaccess-Schutz bleibt erhalten) | o | o | o |
Kriterien für die Migration bestehender Websites auf CMS
Hierzu gibt es wirklich wenige Vorarbeiten. Im Allgemeinen wird die Website entweder händisch mit Copy&Paste übernommen oder gleich neu “relauncht”.
Bei der Übertragung einer bestehenden Webpräsenz in ein CMS oder beim Aufbau neuer Seiten kommen die Inhalte aus 2 möglichen Quellen:
- Sie liegen bereits als HTML (bzw. CSS, GIF, JPG) vor.
- Sie müssen aus Fremdformaten, z.B. MS Word, importiert werden.
Beide Varianten sind sehr mühsam. Bestehende HTML-Seiten wurden meist ohne Rücksicht auf Standards entwickelt, Code ist nicht dokumentiert und enthält viele Fehler. Bei Fremdformaten besteht das Problem, das die Erzeugung des HTML-Codes dem Fremdprogramm obliegt und nur selten beeinflusst werden kann.
Eine Möglichkeit ist HTML Tidy. Andere sind:
- HTML-Konverter in MS Word 2000
- HTML-Konverter in Macromedia Dreamweaver
- HTML-Konverter in Star Office
Technologien
Links
http://www.cmswatch.com/Feature/103-Web-Content-Migration –Kurzer Artikel, beschränkt realistisch (also eher wissenschaftlich)
http://www.contentmanager.net/magazine/article_64_content_migration_at_the_relaunch_of_a_portal.html –auch ein kurzer Artikel, eher processbezogen
http://www.kapowtech.com/ –Kapow vertreibt Web Content Integration Software
http://www.its.monash.edu.au/staff/web/cms/implement/cms-implement-strategy.html –waren die bisherigen Artikel schon kurz, dieser ist sehr kurz
http://deyalexander.com/presentations/content-migration/ –hab ich nicht gelesen, Buzzword-Trigger sprach an
- Migration der Verdi-Seiten