You are here

Joomlaboard nach Simple Machines Forum konvertieren

Ein schon etwas länger laufendes Joomlaboard-Forum, das nicht mehr so ganz die Wünsche der Betreiber erfüllte, sollte nach Simple Machines Forum (SMF) migriert werden. Also galt mein erster Blick der Website von SMF und den dort gelisteten Konvertern. Obwohl dort Dutzende Konverter für alle möglichen Foren gelistet sind, fand ich ausgerechnet für Joomlaboard keinen. Nach kurzer Recherche stieß ich in einem Forum auf den Vorschlag von Joomlaboard erst zu Fireboard zu migrieren - Fireboard ist der Nachfolger von Joomlaboard. Und von Fireboard dann zu SMF. Zweimal migrieren, hm, da muss es doch auch einen einfacheren Weg geben.

Kurz darauf stieß ich auf einen weiteren Vorschlag. Eigentlich ist Joomlaboard das alte Simpleboard von Mambo. Nachdem sich ein Teil der Entwickler von Mambo getrennt hatte und auf dessen Codebasis Joomla entwickelt hatte, wurde Simpleboard einfach in Joomlaboard umbenannt. In der Folgezeit gab es wohl noch kleinere Modifikationen, aber angeblich sollte der SMF-Konverter für Simpleboard gehen. Nach einem Blick in die Joomla-Datenbank und den Quellcode des Konverters, war ich recht optimistisch, dass es damit tatsächlich funktionieren müsste.

Und so habe ich es gemacht...

 

Schritt 1: SMF herunterladen und installieren. Dazu die aktuelle Version 1.1.7 herunterladen und in ein Unterverzeichnis (z.B. ../forum) auf dem Webspace installieren wo auch die Joomla-Installation liegt. Als Datenbank kann die gleiche gewählt werden, in der auch die Joomla-Tabellen liegen. Wenn man eine andere Datenbank nehmen will muss man unbedingt darauf achten, dass der DB-User Zugriffsrechte auf beide Datenbanken hat - also auf die, in der die Joomla-Tabellen liegen und auf die in welche SMF seine Tabellen ablegen soll.

Schritt 2: Konverter herunterladen und anpassen. Dazu wählt man auf der Download-Seite für die SMF-Konverter die Datei smf_1-1-7_simpleboard_converter. Und entpackt sie zunächst lokal auf seinen Rechner. Denn vor dem Einsatz, muss noch eine Kleinigkeit geändert werden. Dazu öffnet man die entpackte Datei simpleboard_to_smf.sql und ändert in Zeile 241 den dort fest eingetragenen Pfad

if (strlen($newfilename) <= 255 && copy($_POST['path_from'] . '/components/com_simpleboard/avatars/', $attachmentUploadDir . '/' . $newfilename))
{

in

if (strlen($newfilename) <= 255 && copy($_POST['path_from'] . '/components/com_joomlaboard/avatars/', $attachmentUploadDir . '/' . $newfilename))
{

Nun kann man die Datei abspeichern und den Konverter - d.h. diese Datei und zusätzlich convert.php - per FTP in das Rootverzeichnis der Joomla-Installation laden, d.h. in das Verzeichnis, in dem sich Joomlas configuration.php befindet!

Schritt 3: Der Ordner mit der Simpleboard-Komponente muss ebenfalls in das Root-Verzeichnis von Joomla kopiert werden. Das geht entweder, indem man den Ordner com_joomlaboard (im Unterverzeichnis ../components) per FTP auf den lokalen Rechner lädt und dann wieder zurückkopiert - aber in Joomlas Root-Verzeichnis. Alternativ kann man auch  - falls man den entsprechenden Zugang hat - auf der Konsole mittels cp oder scp den Ordner direkt auf dem Server kopieren.

Schritt 4: Konvertierung starten. Dazu ruft man den Konverter auf mittels http://www.meine-joomla.domain/convert.php. Nun fragt das Skript die Pfade zu der Joomla- und zu der neuen SMF-Installation ab und verlangt nach dem Passwort für die Datenban. Hat man alles richtig eingetragen, kann man mit einem Click auf "Continue" mit der Migration beginnen.

Das Skript gibt Auskunft, ob alles erfolgreich verlaufen ist und sollte folgendes mitteilen:

Converting...
Converting members... Successful.
Converting categories... Successful.
Converting boards... Successful.
Converting topics... Successful.
Converting posts (this may take some time)... Successful.
Converting topic notifications... Successful.
Converting moderators... Successful.
Clearing unused tables... Successful.
Converting smileys... Successful.
Converting attachments...
Successful.
Converting avatars...
Warning: copy() [function.copy]: The first argument to copy() function cannot be a directory in /usr/www/users/test/forum/convert.php(1094) : eval()'d code on line 4

Warning: copy() [function.copy]: The first argument to copy() function cannot be a directory in /usr/www/users/test/forum/convert.php(1094) : eval()'d code on line 4
Successful.
Recalculating forum statistics... Successful.

Die Fehlermeldungen beim Kopieren der Avatare habe ich nicht weiter verfolgt, denn in dem Joomlaboard wurden keine verwendet. Allerdings gab es im Joomlaboard-Ordner avatars einen Unterordner namens gallery der irgendwelche Standard-Avatarbilder enthält. Hierüber ist der Konverter offenbar gestolpert, denn diese Bilder wurden nicht in SMF importiert.

Schritt 5: Nun muss man nur noch den Konverer wieder löschen, da sonst ein Sicherheitsrisiko bleibt. Das Skript weißt darauf hin und bietet die Möglichkeit, durch setzen eines Häkchen diese beiden Dateien selber zu löschen. Das funktioniert aber nicht immer und ist abhängig von der Konfiguration des Webservers. Daher sollte man sicherheitshalber noch einmal selber nachschauen und die Dateien ggf. von Hand löschen. Falls man das vergisst wird man allerdings von SMF beim Aufrufen des Forums mit einer Warnmeldung auf dieses Versäumnis hingewiesen.

Schritt 6: Jetzt nur noch SMF aufrufen und als Admin einloggen. An dieser Stelle gab es eine kleine Unstimmigkeit mit den Userrechten. Admin Nummer 2 war seiner Rechte beraubt worden und wurde nur noch als normaler User geführt. Das war zwar leicht zu beheben, aber man sollte doch einen kritischer Blick auf die User-Rechte werfen. Bei unserer Installation war kein weiterer Fehler zu finden - aber wer weiß.

Ach ja, noch ein kleiner Bug fiel mir auf: Ausnahmslos alle Postings wurden für die eingeloggten User als "neu" gekennzeichnet. Erst ein Klick auf "Alle gelesen" in dem jeweiligen Unterforum löschte die Markierungen. Dagegen zeigten die Links "Unread Posts" und "New Replies" richtig an. Dort wurden keinerlei Postings aufgeführt.