Python MyBB 1.29 --> phpBB 2.0.22 Konverter

In diesem Forum können Mod-Autoren ihre Mods vorstellen, die sich noch im Entwicklungsstatus befinden. Der Einbau in Foren im produktiven Betrieb wird nicht empfohlen.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
todespudel-1

Python MyBB 1.29 --> phpBB 2.0.22 Konverter

Beitrag von todespudel-1 »

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 :P

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)
in

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.
Antworten

Zurück zu „phpBB 2.0: Mods in Entwicklung“