Python MyBB 1.29 --> phpBB 2.0.22 Konverter
Verfasst: 06.10.2007 00:12
Da ich keine Lust habe zwei Artikel auf dem neuesten Stand zu halten:
Aktuell ist immer der englische Artikel
Passwörter können jetzt "konvertiert" werden.
Der Konverter kann nun auch mit Subforen/-kategorien umgehen.
Da es keinen Konverter für MyBB gibt, muss ich wohl selber einen schreiben.
Ich bin nicht sonderlich gut im Programmieren, aber ich habe mich mal daran versucht (herausgekommen ist das, was man sonst als "zusammengefrickelt" bezeichnet).
Dabei ist das ganze ziemlich unkonventionell geraten. Zum einen ist das Skript in Python geschrieben und zum anderen greift es nicht direkt auf die DB zu (dagegen habe ich mich aus verschiedenen Gründen entschieden), sondern liest eine Dump-Datei ein und schreibt dann eine neue. Der Code ist ziemlich hässlich und teilweise sicherlich umständlich, aber ich brauche den scheiß Konverter
Ein Nachteil (juhu, noch einer!) ist, dass die Konvertierung fehlschlagen wird, wenn es irgendwo in einem Post oder einen Titel/Benuternamen die Zeichenfolge , '', gibt. Die ist allerdings ziemlich unüblich und von daher sollte das kein Problem darstellen (man kann in Phpmyadmin auch einfach nach der Zeichenfolge suchen lassen (DB auswählen, Suche, %, '', %, genau diese Zeichenkette) und diese dann manuell löschen/ersetzen).
Ich bin mir nicht sicher ob der Weg den ich gewählt habe für beliebig große Dumps funktioniert. Meiner hat ~20000 Posts und es geht.
Das Ding ist Beta!
D.h. derzeit keine Konvertierung von Anhängen, Einstellungen (wobei ich bei den Einstellungen ehrlich gesagt auch nicht vorhabe, das zu ändern) und Bannlisten.
Wer es mal testen möchte:
1.) Skript hier ziehen und am besten in einem eigenen Ordner speichern
2.) Windows: Python installieren (hier zu haben)
Unter Linux sollte Pyhton schon installiert sein.
3.) Einen Dump der DB machen. Dabei darauf achten, dass "vollständige Inserts" und "erweiterte Inserts" NICHT aktiviert ist.
Dump machen geht mit phpmyadmin folgendermaßen: DB auswählen, exportieren, Haken bei Struktur weg, Haken bei Daten hin, erweiterte/vollständige Inserts ohne Haken, Haken bei senden hin und auf OK klicken. Speichere die Datei im selben Ordner ab wie das Skript!
4.)Skript öffnen (mit einem beliebigen Editor) und anpassen.
5.) Linux: Schreibrechte überprüfen. Ins Terminal gehen. Ordner aufrufen. Ausführrechte setzen. Datei ausführen
Windows: Eingabeaufforderung. Ordner aufrufen, in dem Pyhton installiert wurde. Befehl:
Falls er mit einem EOF-Error abkackt diese Zeile ändern: in
5.) eine saubere phpBB2-Installation machen
6.) Die neu erstellte phpbb2.sql nehmen und mit bigdump oder sonst wie wieder in die DB laden.
Bekannte Bugs: der Benutzerstatus wird noch nicht richtig übernommen. Dummerweise kann ich grad keine MySQL4 installieren um das mal zu testen... Morgen vielleicht.
BBCodes gehen noch nicht.
Aktuell ist immer der englische Artikel
Passwörter können jetzt "konvertiert" werden.
Der Konverter kann nun auch mit Subforen/-kategorien umgehen.
Da es keinen Konverter für MyBB gibt, muss ich wohl selber einen schreiben.
Ich bin nicht sonderlich gut im Programmieren, aber ich habe mich mal daran versucht (herausgekommen ist das, was man sonst als "zusammengefrickelt" bezeichnet).
Dabei ist das ganze ziemlich unkonventionell geraten. Zum einen ist das Skript in Python geschrieben und zum anderen greift es nicht direkt auf die DB zu (dagegen habe ich mich aus verschiedenen Gründen entschieden), sondern liest eine Dump-Datei ein und schreibt dann eine neue. Der Code ist ziemlich hässlich und teilweise sicherlich umständlich, aber ich brauche den scheiß Konverter

Ein Nachteil (juhu, noch einer!) ist, dass die Konvertierung fehlschlagen wird, wenn es irgendwo in einem Post oder einen Titel/Benuternamen die Zeichenfolge , '', gibt. Die ist allerdings ziemlich unüblich und von daher sollte das kein Problem darstellen (man kann in Phpmyadmin auch einfach nach der Zeichenfolge suchen lassen (DB auswählen, Suche, %, '', %, genau diese Zeichenkette) und diese dann manuell löschen/ersetzen).
Ich bin mir nicht sicher ob der Weg den ich gewählt habe für beliebig große Dumps funktioniert. Meiner hat ~20000 Posts und es geht.
Das Ding ist Beta!
D.h. derzeit keine Konvertierung von Anhängen, Einstellungen (wobei ich bei den Einstellungen ehrlich gesagt auch nicht vorhabe, das zu ändern) und Bannlisten.
Wer es mal testen möchte:
1.) Skript hier ziehen und am besten in einem eigenen Ordner speichern
2.) Windows: Python installieren (hier zu haben)
Unter Linux sollte Pyhton schon installiert sein.
3.) Einen Dump der DB machen. Dabei darauf achten, dass "vollständige Inserts" und "erweiterte Inserts" NICHT aktiviert ist.
Dump machen geht mit phpmyadmin folgendermaßen: DB auswählen, exportieren, Haken bei Struktur weg, Haken bei Daten hin, erweiterte/vollständige Inserts ohne Haken, Haken bei senden hin und auf OK klicken. Speichere die Datei im selben Ordner ab wie das Skript!
4.)Skript öffnen (mit einem beliebigen Editor) und anpassen.
5.) Linux: Schreibrechte überprüfen. Ins Terminal gehen. Ordner aufrufen. Ausführrechte setzen. Datei ausführen
Windows: Eingabeaufforderung. Ordner aufrufen, in dem Pyhton installiert wurde. Befehl:
Code: Alles auswählen
python c:\\\\Pfad\\\\zur\\\\Date\\\\skript.py
Falls er mit einem EOF-Error abkackt diese Zeile ändern:
Code: Alles auswählen
cPickle.dump(mybb_values_list, f, True)
Code: Alles auswählen
cPickle.dump(mybb_values_list, f)
5.) eine saubere phpBB2-Installation machen
6.) Die neu erstellte phpbb2.sql nehmen und mit bigdump oder sonst wie wieder in die DB laden.
Bekannte Bugs: der Benutzerstatus wird noch nicht richtig übernommen. Dummerweise kann ich grad keine MySQL4 installieren um das mal zu testen... Morgen vielleicht.
BBCodes gehen noch nicht.