19.5 Migration von Daten nach Joomla!
 
Sie kennen gewiss folgendes Problem: Sie haben bereits bestehende Daten und wollen diese in Joomla! übernehmen. Das ist nicht immer ganz einfach, da neben der Codierung der externen Daten meist auch deren Struktur eine ganz andere ist. Dennoch gibt es kleine Hilfsmittel und Tricks, die die Bewältigung dieser Aufgabe erleichtern.
19.5.1 Statische Homepage
 
Die Übertragung einer Seite von einem bereits existierenden System ist immer mit etwas Aufwand verbunden, kann aber eine lohnenswerte Sache sein. Haben Sie die Seite einmal in Joomla! importiert, stehen Ihnen all die vielfältigen Möglichkeiten offen, die Sie sonst in mühsamer Klein- und Einzelarbeit integrieren müssten. Wie kann eine Übertragung vor sich gehen?
Als Erstes muss das Template erstellt werden. Da haben Sie ja schon einige Vorarbeit geleistet, indem Sie die statische Seite erstellt haben. Wie Sie Templates in Joomla! entwickeln, haben Sie bereits in Abschnitt 9.2, Das eigene Template, gelernt. Fügen Sie in die HTML-Datei als Erstes die notwendigen PHP-Befehle zu Beginn des Templates ein. Den gesamten Header ersetzen Sie durch den Header des Beispieltemplates. Nun müssen Sie die Stelle suchen, in der der konkrete Seiteninhalt steht. An dessen Stelle setzen Sie den Befehl zur Ausgabe des »Main Body«. Die Bereiche Ihrer alten Homepage, die dynamische Inhalte wie Menüs, Suchfelder, Login-Formulare etc. bekommen sollen, müssen Sie mit dem Load Module-Befehl und der jeweiligen Position überschreiben.
Haben Sie bereits eine CSS-Datei verwendet, so kopieren Sie deren Inhalt in die CSS-Datei des Templates, oder modifizieren Sie den HTML-Header so, dass das alte Stylesheet mit eingebunden wird.
Etwas knifflig wird die Übernahme des Menü-Layouts. Wenn Sie das alte Menü bereits mit CSS und Listen formatiert haben, sind Sie aus dem Schneider, weil Joomla! die Option hat, Menüs als Listen auszugeben. Haben Sie Ihr Menü mit HTML-Elementen gestaltet, so sollten Sie am besten versuchen, das Layout in CSS abzubilden. Es ist zwar prinzipiell auch möglich, die HTML-Ausgabe des Menü-Moduls zu modifizieren, das ist aber eine sehr unschöne Lösung, weil sie Ihnen genau die Flexibilität nimmt, die den Einsatz eines CMS so reizvoll macht.
Im nächsten Schritt müssen Sie die Struktur der Seite in Joomla! abbilden. Das bedeutet, die Inhalte, wenn möglich, in Sektionen und Kategorien einzuteilen und die Menüstruktur zu erzeugen. Denken Sie daran, dass man im Menü auch direkt auf Content-Elemente verlinken kann und dass Menüs hierarchisch aufgebaut sein können.
Zuletzt holen Sie die Inhalte ins System. Hierbei ist es am einfachsten, direkt den entsprechenden HTML-Code mit Copy&Paste in Joomla! einzutragen. Verwenden Sie dazu nicht den WYSIWYG-Editor, da dieser die spitzen Klammern in HTML-Entities verwandelt und dadurch unbrauchbar macht. Die meisten Editoren haben einen HTML-Modus, in dem man die Daten problemlos übertragen kann.
19.5.2 Einbinden von Seiten mit der StaticXT-Komponente
 
Haben Sie sehr viele alte HTML-Seiten, beispielsweise ein Archiv, das Sie in Joomla! einbinden wollen, so ist die Copy&Paste-Lösung relativ mühsam. Hier kann Ihnen die StaticXT-Komponente helfen, die Sie unter der URL www.joomlaxt.com oder auf der CD unter Erweiterungen/StaticXT finden. Diese Erweiterung bindet bestehende HTML-Seiten ähnlich wie ein Wrapper in den Inhaltsbereich der Joomla!-Page ein. Der Vorteil von StaticXT ist, dass die Seite verarbeitet wird. So werden relative Links so verändert, dass sie wieder über die StaticXT-Erweiterung angezeigt werden. Wenn Sie als Einstiegspunkt beispielsweise Ihre alte index.htm-Datei verwenden, kann sich der User in Joomla! durch Ihre gesamte alte Seite klicken.
Nach der Installation der Komponente über die Datei com_staticxt.zip im Backend müssen Sie noch ein neues Verzeichnis innerhalb des Joomla!-Ordners erstellen, in dem die statischen HTML-Dateien liegen. Kopieren Sie zum Testen ein paar Seiten in dieses Verzeichnis.
Nun müssen Sie diesen Pfad für die Komponente sichtbar machen. Gehen Sie dazu auf die Konfigurationsseite, die Sie im Menü unter Components · staticxt aufrufen können. Klicken Sie dann auf den Button Global Settings. Im folgenden Fenster können Sie im Feld Path to static files den Pfad relativ zum Joomla!-Verzeichnis angeben. Vergessen Sie nicht, danach zu speichern.
Um den Zugriff auf die Seiten zu ermöglichen, müssen Sie mindestens eine Einstiegsseite im Menü definieren. Erzeugen Sie also im Hauptmenü einen neuen Eintrag mit dem Typ Component, und wählen Sie »staticxt« als Komponente. Jetzt müssen Sie im Parameter Staticfile den Namen der HTML-Datei angeben, die angezeigt werden soll. Wenn Sie mehrere untereinander verlinkte Seiten haben, reicht es, hier nur einen Link auf die Hauptseite zu erzeugen, da die anderen durch die oben erwähnte Linkersetzung mit eingebunden werden. Alternativ können Sie auch den Parameter Show File List auf Yes setzen und so bewirken, dass statt einer einzelnen Seite eine Liste mit allen Dateien des angegebenen Verzeichnisses ausgegeben wird. Dann kann der Besucher selbst aussuchen, welche Datei er sehen will.
19.5.3 Konversion aus anderen CMS
 
Jedes CMS hat in der Organisation und im Aufbau der Inhalte seine spezifischen Eigenheiten. Dennoch haben Sie den Vorteil, dass die vorliegenden Dokumente bereits in Strukturen und Inhalte aufgeteilt sind. Unter Umständen ist eine Konversion daher relativ leicht zu bewältigen, da es für einige Systeme bereits fertige Konversionsskripte gibt. Diese sind jedoch oft durch konkreten Bedarf entstanden und daher auf sehr spezielle Konfigurationen zugeschnitten.
|
ezPhpNuke konvertiert Daten von PhpNuke 7.1. Sie finden die Erweiterung auf der CD im Verzeichnis Erweiterungen/ezPhpNuke. Um die Konversion durchführen zu können, benötigen Sie eine leere Joomla!-Installation sowie die Komponenten ezPhpNuke, ReMOSitory (für die Konversion von Downloads), Simpleboard (für die Foren) und myPMSII (für die privaten Mitteilungen). Darüber hinaus müssen sich die PhpNuke-Datenbanktabellen bereits in der gleichen Datenbank befinden wie die Joomla!-Tabellen. Dann können Sie die Konversion direkt über die Komponente im Backend von Joomla! starten. |
|
Bei der Übertragung der Daten aus PostNuke 0.7.1 kann das Skript ConvertPostNuke.php helfen, das Sie auf der CD-ROM im Verzeichnis Erweiterungen/ConvertPostNuke finden. Dieses Programm ist nicht als Joomla!-Erweiterung realisiert, sondern muss extern aufgerufen werden. Wieder müssen die Daten in der gleichen Datenbank liegen. Bevor Sie loslegen können, sind auch noch die Parameter des Datenbankzugriffs in das Skript einzutragen. |
Gibt es kein fertiges Skript, so ist Handarbeit angesagt. Wenn Sie beispielsweise von TYPO3 nach Joomla! migrieren wollen, sind prinzipiell die folgenden Schritte notwendig:
|
Haben Sie das Template nur in HTML geschrieben, so können Sie es übernehmen, indem Sie die Positionsangaben aus TYPO3 durch die entsprechenden Ladefunktionen für die Modulpositionen ersetzen. Ansonsten ist es nötig, die TypoScript-Befehle im neuen Template nach PHP zu portieren. |
|
Dateien und Bilder aus dem fileadmin-Verzeichnis kopieren Sie einfach in Ihr Upload-Verzeichnis (Daten) bzw. ins images/stories-Verzeichnis, damit sie in Joomla! eingebunden werden können. |
|
TYPO3-Inhalte, die als Text mit Bild oder HTML abgelegt sind, können im Prinzip direkt aus der Datenbanktabelle tt_content nach jos_content übertragen werden. Die Metadaten müssen jedoch angepasst werden. Bei kleineren Seiten ist es sicher sinnvoller, die Inhalte mit Copy&Paste vom TYPO3-Backend ins Joomla!-Backend zu übertragen. |
Eine sehr einfache Möglichkeit der Datenübertragung haben Sie, wenn das entsprechende System als Komponente in Joomla! eingebunden werden kann. Dann reicht es, die Datenbankinhalte einfach in die entsprechenden Tabellen der Komponente einzuspielen. Das ist beispielsweise für MediaWiki, phpBB oder WordPress der Fall.
19.5.4 Office-Dokumente
 
Viele Nutzer haben sich mittlerweile gut in Office-Produkten zurechtgefunden und dort zahlreiche Dokumente erstellt. Die Erfahrung zeigt auch, dass eine Umstellung auf ein neues System durchaus zu Widerständen führen kann. Daher stellt sich die Frage nach der Möglichkeit eines Imports von Dokumenten aus Büroanwendungen in Joomla!
Leider ist die Unterstützung für diese Art der Datenkonversion bisher sehr dürftig und nur über Umwege zu realisieren:
|
HTML-Export
Wenn die Anwendung textbasierte Dokumente erzeugt, wie das beispielsweise bei Schreib- oder Präsentationsprogrammen der Fall ist, so bietet sie meistens die Möglichkeit eines HTML-Exports. Speichern Sie Ihr Dokument also in diesem Format. Jetzt können Sie es wie oben beschrieben als statische HTML-Seite in Joomla! importieren. |
|
WYSIWYG-Editor
Die grafischen Editoren von Joomla! arbeiten alle mit dem RTF-Format. Daher ist es möglich, Teile aus Office-Dokumenten mit Copy&Paste direkt in den Editor zu übernehmen. Dieser nimmt dann die Konversion nach HTML vor. Hier ist allerdings etwas Vorsicht geboten, denn diese Konversion ist nicht immer verlustfrei. Sie sollten sich nach dem Import also immer vergewissern, dass die Daten so angekommen sind, wie Sie das beabsichtigt hatten. |
|
Screenshot
Bei Anwendungen, die komplexere grafische Ausgaben erzeugen, ist ein HTML-Export nicht immer möglich oder auch sinnvoll. Die einfachste Option ist in diesem Fall, einen Screenshot mit (Alt) + (Druck) zu erzeugen, diesen in einem Grafikprogramm auf den entsprechenden Ausschnitt zurechtzuschneiden und als Bild in ein Joomla!-Inhaltselement einzubinden. Das geht natürlich nur, wenn Sie auf interaktive Bereiche verzichten können. |
Generell ist es vorzuziehen, neue Dokumente direkt in Joomla! zu erstellen, um Datenverluste, die durch die genannten Konversionen entstehen, zu verhindern.
|