»Verloren ist ein Tag, an dem nicht getanzt wird.« Maurice Béjart
36 Datentransfer und FTP-Modus
Die wenigsten Seiten entstehen ohne Vorlage. Meistens gibt es schon eine alte Homepage oder Textvorlagen im Intranet. Damit die bisherige Arbeit nicht umsonst war, liegt es nahe, die Texte in Joomla! zu integrieren. Eines vorweg: Dieser Weg ist nicht einfach und mit einigen Einschränkungen verbunden. Umgekehrt kann es sein, dass Sie eine Seite offline reproduzieren wollen, beispielsweise auf DVD. Auch hierzu gibt es Mittel und Wege.
36.1 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 Ihnen die Bewältigung dieser Aufgabe erleichtern.
36.1.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 Kapitel 12, »Was macht ein Template aus?«, 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 Bereiche 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-Entitys verwandelt und dadurch unbrauchbar macht. Die meisten Editoren haben einen HTML-Modus, in dem man die Daten problemlos übertragen kann.
36.1.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 DVD 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.
Nachdem Sie die Komponente über die Datei com_staticxt.zip im Backend installiert haben, 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 Komponenten • 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.
Abbildung 36.1 Die Komponente StaticXT
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 Interner Link, 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 Ja 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.
36.1.3 Konvertierung 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. Meistens ist bei einer Migration leider 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.
36.1.4 Office-Dokumente 

Viele Nutzer haben sich mittlerweile gut in Office-Produkten zurechtgefunden und dort zahlreiche Dokumente erstellt. Die Erfahrung zeigt, dass eine Umstellung auf ein neues System durchaus zu Widerständen führen kann. Daher stellt sich die Frage, ob man Dokumente aus Büroanwendungen in Joomla! importieren kann,
Leider ist die Unterstützung für diese Art der Datenkonvertierung 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 Konvertierung nach HTML vor. Hier ist allerdings etwas Vorsicht geboten, denn diese Konvertierung 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 sinnvoll. Die einfachste Option ist in diesem Fall, einen Screenshot mit
+
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 Konvertierungen entstehen, zu verhindern.