Migration einzelner Webseiten
In diesem Artikel der Uni-Leipzig werden Kriterien untersucht, um den Inhalt und die Metadaten einzelner Webdokumente in ein CMS zu überführen.
von: http://tmf-webqm.imise.uni-leipzig.de
Web Qualitätsmanagement: Module/15MigrationCMS/Seiteninhalt
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.