wBB 2.3 erfolgreich auf vBulletin 3.6 umstellen

rellek

relativ sensationell
Teammitglied
ACHTUNG: Es geht hier um ein vBulletin 3.6, genauer gesagt ein vB 3.6.3 (oder so die Größenordnung). Vieles davon (inkl Scripts) wird auch auf spätere Versionen zutreffen, aber beispielsweise das Script zum Umbenennen der Buttons arbeitet dann nicht vollständig, weil neue Grafiken dazugekommen sind. Auch der Import der Präfixe wird mit vB 3.7 hinfällig. Gegebenenfalls werden die Scripts demnächst angepasst!

In diesem Thema soll es darum gehen, wie man vorgehen könnte, wenn man plant, ein oder mehrere wBB(s) in ein vBulletin zu importieren.

Es handelt sich hierbei NICHT um ein Klick-Tutorial, wie Impex zu bedienen ist, sondern umfasst zusätzlich noch mehr oder minder nützliche Tipps und auch Scripts, die aus der Umstellung mehr herausholen können.

Inhalt:

1. Voraussetzungen und Import mit Impex
2. Nach dem Import ist vor dem Import
3. Abschließende Arbeiten und weitere Foren importieren
 

rellek

relativ sensationell
Teammitglied
1. Voraussetzungen und Import mit Impex

1.1 Voraussetzungen:
Um erfolgreich umzustellen, brauchst du zunächst erst einmal dein altes wBB (oder deine alten wBBs), eine vBulletin-Lizenz und -Installation (Impex bereits soweit, dass man anfangen könnte; also schon hochgeladen und die Config-Datei entsprechend angepasst) und viel Zeit.

Dieses Tutorial geht davon aus, dass du ein mehrere wBBs in ein jungfräuliches vBulletin umwandeln möchtest. Es wird aber auch erklärt, was zu beachten ist (bzw. was von der Anleitung abweicht), wenn du bereits ein vBulletin hattest oder du nur ein wBB importieren willst.

Für eine möglichst vollständige Übernahme ist es notwendig, dass du dir den Präfix-Hack von Mystics installierst. Dieser sollte vor dem Import schon im Forum sein.

WICHTIG: Im Verlauf des Tutorials werden SEHR VIELE Aktionen und Scripte ausgeführt, die den Server über einen relativ langen Zeitraum enorm belasten können! Es ist daher ratsam, dass du die ganze Aktion entweder auf deinem eigenen Rechner mithilfe von XAMPP erledigst und anschließend auf den Webserver wieder hochlädst oder du hast einen Root-Server. "Stolze" Besitzer von V-Servern oder Webspace-Paketen dürften sich mit einer solchen Aktion jedenfalls viele Feinde machen ;-)

Um möglichst schnell wieder online zu gehen, solltest du dir vorher schon einmal deine Styles anpassen, sofern sie selbst gemacht sind und du sie behalten möchtest. Wenn du mehr auf Fertig-Styles stehst, kannst du diese natürlich auch benutzen. Leider ist es nicht wirklich möglich, die wBB-Styles via Script ins vB zu portieren - aber die Farbzusammenstellungen sind ja i.d.R. auch nur eine Abschreibübung. Schlimmer sieht es da mit den Buttons aus, zumal es nicht wirklich deutsche Buttons im größeren Stil gibt (jedenfalls habe ich bisher keine gefunden)...
Um einen größeren Teil der wBB-Buttons weiterzubenutzen, habe ich aber eine kleine Batch-Datei geschrieben. Mit deren Hilfe wird eine Ordnerstruktur angelegt, die das vB auch selber vorschlägt und die Grafiken werden passend umbenannt. Wichtig ist nur, dass dein wBB-Button-Set komplett dem Stand von wBB 2.3 entsprochen hat!
Und so gehts:
  • Erstelle dir einen Arbeitsordner
  • Kopiere die Ordner ./images/buttons, ./images/editor, ./images/misc, ./images/polls, ./images/rating, ./images/reputation, ./images/statusicon in einen Ordner, den du "vb-default" nennst und im Arbeitsordner ablegst.
  • Kopiere alle wBB-Buttons aus dem Button-Set in diesen Arbeitsordner, also so, dass du darin jede Menge GIF-Dateien und einen Ordner "vb-default" hast.
  • Kopiere in den Arbeitsordner die angehängte Datei "_stylecopy.bat" und ruf sie auf
Das Script wird die einen Ordner "vb" in deinem Arbeitsordner anlegen. Der Inhalt dieses Ordners sind dann die wBB-Grafiken (und ein paar vB-Grafiken, also solche, die das wBB nicht mitbringt), die mit dem vB verwendet werden können.


1.2 Import mit Impex
Bevor du auch nur daran denkst Impex zu starten, solltest du im vB-ACP einstellen, dass die Dateianhänge im Dateisystem gespeichert werden sollen. Das geht auch, wenn im vB noch kein Inhalt vorliegt. Gehe dazu ins ACP -> Anhänge -> Speicherart. Im weiteren Verlauf des Tutorials werden auch Avatare importiert - dort dürfen die Dateien nicht im Dateisystem gespeichert werden! Es wäre zudem günstig, wenn du den Attachments-Ordner aus deiner wBB-Installation in den vB-Ordner packen könntest - nenn ihn beispielsweise "wbbattachments".

Eine Kleinigkeit muss im wBB noch geändert werden, bevor es so langsam losgehen kann. Es müssen noch alle "Verschoben"-Links aus der Datenbank verschwinden. Leider weiß Impex mit diesen "Dummy"-Themen nichts anzufangen und importiert dann leere Themen ohne Beiträge. Führe dazu mit phpMyAdmin in der wBB-Datenbank diese Abfrage aus:
Code:
DELETE FROM bbX_threads WHERE pollid > 0 AND closed=3;
(das X bei bbX musst du durch die Board-Nummer ersetzen, normalerweise 1)

Falls dein vBulletin NICHT leer ist (d.h. es schon vorher als Forum existiert hat), sieh zu, dass in der Datenbank KEINE Import-IDs von früheren Importen vorhanden sind - sonst wird jeder weitere Import fehlschlagen. Falls du nichts dagegen unternommen hast, wird dich Impex dann mit deiner alten Import-Session begrüßen. Klick dann einfach auf "Database cleanup & restart" und dann auf "Remove importids".

Nun kann der eigentliche Import beginnen. Klick dich also durch die Schritte, die dir Impex anbietet. Tipp: Überspring die Assoziation der Benutzer. Dies wird ohnehin mit größerer Wahrscheinlichkeit fehlschlagen. Benutzer, die den gleichen Namen tragen wie bereits im vB vorhanden ist, werden dann in "imported_Benutzername" umbenannt und können hinterher fusioniert werden.

Der Grund, warum du den alten Attachments-Ordner des wBBs in den vB-Ordner stecken solltest, war, dass du beim letzten Schritt, also bei den Attachments, in die Eingabebox einfach nur "wbbattachments" eingeben musst und keine Sorgen mehr mit dem richtigen Pfad des Ordners hast.

Wenn du beim letzten Punkt durch bist, dann lies dir Nummer 2 dieser Anleitung durch :)
 

Anhänge

  • _stylecopy.zip
    1,1 KB · Aufrufe: 237

rellek

relativ sensationell
Teammitglied
2. Nach dem Import ist vor dem Import

2.1 Perfektion des Imports
Wenn du mit allen Punkten durch bist, beende die Impex-Session NICHT, sondern wende dich dem ACP zu (einfach im Menü woanders hin klicken). Ein relativ interessanter Punkt wäre z.B. Benutzergruppen -> Benutzergruppen verwalten. Gehe also dahin und lösche ALLE Benutzergruppen der unteren Etage. Leider bekommt es Impex weder hin, die Gruppen einigermaßen sinnvoll zu importieren (alle Mitglieder der importieren Gruppen sind gesperrt), noch die Verteilung korrekt auszuführen (ich hatte beispielsweise fast 100 Teammitglieder nach dem Import).

Nun geh im ACP zu Wartung -> Zähler aktualisieren und führe die beiden Punkte (und NUR die!) "Themen-Informationen neu erstellen" und "Forum-Informationen neu erstellen" aus. Danach kannst du schon mal einen Blick auf das Forum werfen, ob der Import denn wenigstens so einigermaßen geklappt hat und Beiträge lesbar sind.

Wenn das der Fall ist und du vor hast, mehr als ein wBB zu importieren, dann erstelle zunächst in phpMyAdmin diese Tabelle:
Code:
CREATE TABLE `TABLE_PREFIX_newlinks` (
`type` VARCHAR( 10 ) NOT NULL ,
`source` VARCHAR( 10 ) NOT NULL ,
`oldid` INT( 10 ) NOT NULL ,
`newid` INT( 10 ) NOT NULL
) type = MYISAM ;
(das wo "TABLE_PREFIX_" steht muss natürlich durch den Tabellen-Präfix, der für vBulletin verwendet wird, ersetzt werden).
Lade nun die angehängte Datei "getoldids.php" auf den Server ins vB-Verzeichnis und ruf die Datei dort auf. Du wirst nach einem Namen gefragt werden - bei diesem ist es nicht zwingend nötig, dass er logisch ist, aber du musst ihn hinterher noch wissen. Denn den brauchen wir später für die Identifikation des alten Boards.

Wenn du nur ein wBB zum vB konvertieren möchtest, brauchst du die Tabelle und die getoldids.php NICHT. Stattdessen kannst du dann die offiziellen Hilfsscripts benutzen.

Nun lade dir die Scripts aus wbb2vb.zip auf den Server. Es ist nicht notwendig, dass du den Ordner in den vBulletin-Ordner hochlädst, er kann auch eigenständig irgendwo stehen. Bearbeite anschließend die Datei ./cfg/login.data.php mit einem Text-Editor.
Dieses Script ermöglicht es, die Avatare der Benutzer ins vB zu übertragen. Dabei ist es WICHTIG, dass die Avatare NICHT im Dateisystem, sondern in der Datenbank gespeichert sind! Dies kannst du im ACP -> Benutzerbilder -> Beutzerbilder Speicherart überprüfen.
Auch hier ist es, ähnlich wie bei den Attachments vorhin, ratsam, den Ordner ./images/avatars aus der wBB-Installation in den Ordner des Scripts zu laden.

Da ich mir alle Mühe gegeben habe, das Script möglichst selbsterklärend zu gestalten, erspare ich mir mal eine genauere Erklärung an dieser Stelle :)

Wenn du keine Avatare in den Benutzerprofilen und Beiträgen siehst, liegt das daran, dass das vBulletin sehr pflichtbewusst ist :) - Wenn ein Benutzer nicht das Recht hat, ein zu großes Avatar zu benutzen, wird es nicht angezeigt; auch nicht, wenn es schon hochgeladen ist. Die Lösung des Problems ist, dass du im ACP -> Benutzergruppen verwalten -> Benutzergruppe ändern anklickst und dort dieselben Rechte für Avatare einstellst, die auch im wBB gegolten haben.

Wenn du auch dieses Script überwunden hast, kannst du mit Schritt 3 fortfahren.
 

Anhänge

  • getoldids.zip
    1 KB · Aufrufe: 168
  • wbb2vb.zip
    5,8 KB · Aufrufe: 268

rellek

relativ sensationell
Teammitglied
3. Abschließende Arbeiten und weitere Foren importieren

3.1 Abschließende Arbeiten
Die Übername der Daten an sich wäre an dieser Stelle abgeschlossen. Jedoch gibt es jetzt noch jede Menge Dinge, die getan werden müssen. Beispielsweise müssen noch alle möglichen Rechte gesetzt werden etc.

Was aber noch etwas wichtiger ist für eine korrekte Funktionsweise der Smilies und Beitragsicons, ist relativ banal, aber es muss sein. Gehe ins ACP -> Beitragssymbole -> Beitragssymbole verwalten, klick dort die allgemeine Kategorie an und speichere die Reihenfolge, ohne dass du etwas geändert hast. Genau so verfährst du auch mit den Smilies.

Wenn du meinst, dass du soweit fertig bist mit der Rechtevergabe und den ganzen Sachen, dann geh ins ACP -> Wartung -> Zähler aktualisieren und führe jeden dort existierenden Punkt aus.

Wenn du nur ein wBB ins vBulletin umwandeln wolltest, kannst du an dieser Stelle aufhören zu lesen. Für den Fall wünsche ich dir viel Spaß mit dem neuen Forum und hoffe, dass dir dieses Tutorial und die beinhalteten Scripts geholfen haben :)


3.2 Import weiterer Foren
Wenn du noch mehr Foren zu importieren hast, dann geh jetzt wieder in Impex hinein. Impex sollte dich auf die Übersicht bringen, die du am Ende des Imports gesehen hast (wo alle Module schon abgearbeitet sind).
Klick hier wieder auf "Database cleanup & restart" und dann auf "Remove importids" (WICHTIG!) und pass ggf. die Config-Datei von Impex an, sodass die Konfiguration auf das zweite Forum zeigt.

Nun verfahre so wie ab Punkt 1.2, mit folgenden Ausnahmen:
  • Beim Import der User mit Impex gibt es die Option "Would you like to associated imported users with existing users if the email address matches ?". Stelle sicher, dass diese Option auf "nein" steht.
  • Erstelle bei 2.1 die Datenbank NICHT noch einmal - sie existiert noch und wird weiter verwendet
  • Nach dem Import fusioniere alle User, deren Namen mit "imported_" anfangen und deren eMail-Adresse gleich ist. Tust du dies nicht, werden assoziierte User nur noch als Gast dargestellt am Ende.
Dies machst du auch mit allen weiten Foren, falls es da noch welche gibt.

Wenn du ganz am Ende angekommen bist, gilt es sich jetzt um die Links zu kümmern, die die Suchmaschinen noch gespeichert haben und jetzt ungültig sind.
Lade hierfür die Datei "newlinks.php" in dein vBulletin-Ordner.
Wenn du dein vB unter der gleichen Adresse laufen lassen möchtest, unter der früher eines der wBBs erreichbar ist, dann kopiere aus dem Archiv "redirs.zip" nur die board.php und die thread.php heraus und lade sie ebenfalls in den vB-Ordner. Bearbeite beide und weise den bei $newurl den Wert "." (Punkt) zu. Bei $source schreib den Namen hinein, den du dir bei Schritt 2.1 überlegt und eingegeben hast.
Bei den anderen Foren löschst du erst alle wBB-Dateien und gehst dann genauso vor (thread.php und board.php hochladen), nur hier brauchst du zusätzlich noch die .htaccess-Datei. Diese wird auf das neue Forum leiten, wenn eine Datei aufzurufen versucht wird, die es nicht mehr gibt. Auch hier müssen die beiden PHP-Dateien angepasst werden. Bei $newurl muss aber hier kein Punkt rein, sondern die Adresse, unter der das vBulletin gefunden werden kann, ohne abschließenden Slash.


Das müsste es "schon" gewesen sein.

Ich hoffe, dass ich dir mit diesem Tutorial geholfen habe :)
 

Anhänge

  • newlinks.zip
    750 Bytes · Aufrufe: 157
  • redirs.zip
    763 Bytes · Aufrufe: 150

rellek

relativ sensationell
Teammitglied
[quote='Malbaer',index.php?page=Thread&postID=741#post741]Es geht nur um die Forenstruktur, Benutzer und Beiträge [/quote]

Dann dürfte sogar Impex reichen. Mein Tutorial (nebst Scripte) hat primär 2 Ziele:
- Mehrere Foren in ein vB
- Daten, die Impex nicht holt (Avatare, Themenicons, ...) zu importieren
 

Malbaer

Member
[quote='rellek',index.php?page=Thread&postID=742#post742]
[quote='Malbaer',index.php?page=Thread&postID=741#post741]Es geht nur um die Forenstruktur, Benutzer und Beiträge [/quote]

Dann dürfte sogar Impex reichen. Mein Tutorial (nebst Scripte) hat primär 2 Ziele:
- Mehrere Foren in ein vB
- Daten, die Impex nicht holt (Avatare, Themenicons, ...) zu importieren[/quote]Achso kann ich dann ja ausprobieren, ich habs mir noch nicht ganz durchgelsen (dein tutorial).
 

jumper

New Member
Eine Kleinigkeit muss im wBB noch geändert werden, bevor es so langsam losgehen kann. Es müssen noch alle "Verschoben"-Links aus der Datenbank verschwinden. Leider weiß Impex mit diesen "Dummy"-Themen nichts anzufangen und importiert dann leere Themen ohne Beiträge. Führe dazu mit phpMyAdmin in der wBB-Datenbank diese Abfrage aus:
Code:
DELETE FROM bbX_threads WHERE pollid > 0 AND closed=3;
(das X bei bbX musst du durch die Board-Nummer ersetzen, normalerweise 1)

Hat einer ne Idee wie ich das beim 3.1 WBB anstelle?
Die Anleitung ist sonst was feines und kann bis auf die leeren Beiträge fast 1 zu 1 übernommen werden.
 

rellek

relativ sensationell
Teammitglied
Hallöchen,

das müsste dann so gehen:
Code:
DELETE FROM wbbX_Y_thread WHERE movedThreadID > 0
 
Oben