Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.38 veröffentlicht (30.04.24)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
Erfolgreicher Umstieg von WBB5 auf MyBB 1.8.37
#1
Hallo zusammen,

ich möchte mich an der Stelle ganz herzlich bei Euch als Community und Dir, Stefan, als Forenbetreiber für den Support und die Hilfen bedanken, die Ihr hier bereitstellt.

Ich betreibe ein Forum mit 3.700 Usern, 26.000 Threads und 440.000 Beiträgen. Forum lief in den letzten Jahren als WBB-Board, zuletzt in der Version 5.4.24. Ein Umstieg war schon lange geplant, ist aber am fehlenden Merge-System gescheitert. Da jetzt wegen des Auslaufens der PHP-Version bei unserem Hoster entweder ein Upgrade der WBB-Version oder ein Umstieg auf eine andere Software zwingend notwendig war, habe ich mir ein Herz gefasst und so lange experimentiert, bis ein erfolgreicher Umstieg auf MyBB möglich war. Diesen habe ich mehrmals getestet, bevor ich mich mit dem "echten Forum" an den Umstieg gemacht habe.

Da der Umstieg nur wegen der vielen Hinweise und Tipps im Forum möglich war und sowieso nur deswegen eine attraktive Software zur Verfügung stand, weil Ihr (und andere Leute, die sich im englischsprachrigen Raum damit beschäftigen) die Software entwickelt und für die Allgemeinheit bereit stellt, möchte ich mein Wissen auch nicht für mich behalten, sondern weitergeben, damit andere Forenbetreiber damit weiter arbeiten können.

Kurz zu den Voraussetzungen: Ich bin interessierte Laie, habe marginale Programmierkenntnisse, die gerade so ausreichen, um in einem CSS-, PHP- oder HTML-Dokument zu erkennen, um was es geht und derartige Dokumente mit trial and error und viel Lesen im Internet an meine Bedürnisse anzupassen. Alle Skripte, die ich benötigt habe, habe ich mir mit Internetrecherche, PHP-Lern-Seiten und Chat-GPT zusammen gebastelt. Das Forum war, wie schon geschrieben, ein 5.4.24-WBB-Board, das vor einigen Jahren von WBB4 auf WBB5 upgedatet wurden. Die Datenbank des damaligen WBB4er-Forums lag mir noch vor. Die Arbeiten wurden auf einem lokalen Server durchgeführt, der es mir erlaubt hat, die PHP-Versionen und erlaubten max. Laufzeiten für Skripte nach Bedarf anzupassen. Ich habe viele Arbeiten, die ein erfahrener Programmierer vermutlich automatisieren könnte, von Hand durchgeführt.

  1. Im ersten Schritt habe ich die Tabellen des WBB5er-Forums heraussucht, die ich für relevant halte: board, board_last_post, post, post_search_index, thread, thread_announcement, thread_similar, acl_option, acl_option_category, acl_option_to_group, acl_option_to_user, application, attachment, category, condition conversation, conversation_message, conversation_message_search_index, conversation_to_user, import_mapping, language, message_embedded_object, object_type, object_type_definition, package, poll, poll_option, poll_option_vote, style, user, user_activity_event, user_activity_point, user_authentication_failure, user_avatar, user_collapsible_content, user_follow, user_group, user_group_assignment, user_group_option, user_group_option_category, user_group_option_value, user_menu_item, user_notification, user_notification_author, user_notification_event, user_notification_event_to_user, user_object_watch, user_option, user_option_category, user_option_value, user_rank, user_storage, user_to_group
    Außerdem die Tabellen sitemap und user_avatar_select aus der Datenbank der WBB4er-Installation.
    Vielleicht könnte man noch weitere Tabellen weglassen, mir ist dann die Zeit davongelaufen, um weiter rumzuprobieren.
  2. Dann habe ich die Tabellen manuell in die selbe Struktur gebracht, die ein WBB4er-Forum mit diesen Tabellen hätte. Zum einen die Spalten und Spaltenreihenfolge und zum anderen alle Fremdschlüssel und Indizes. Die habe ich mir in der 4er-Datenbank abgeguckt. Die Struktur hänge ich hier einmal an, falls jemand diese auch benötigt. 
  3. Danach hatte ich ein "normales WBB4-Board", das ich mit dem von MyBB zur Verfügung gestellten Merge-Programm 1.8.23 gemergt habe. 
  4. Im Anschluss habe ich in phpMyAdmin in den Tabellen posts und privatemessages in der Spalte message und in der Tabelle users in der Spalte signature alle Formatierungszeichen geändert, also <b> und </b> gegen [b] und </b> ausgetauscht. Die bei mir verwendeten Formatierungskennzeichen waren: b, strong, em, u, del, ul, ol, li.
  5. Um die Texte weiterhin zu strukturieren, habe ich p und br gegen "nichts" ausgetauscht und </p> gegen einen Zeilenumbruch. So sind alle Texte weiterhin lesbar. (Tabelle posts und privatemessages, Spalte message)
  6. Beim Mergen werden die Threads, Posts, User und Foren neu nummeriert. Damit die Links später wieder korrekt verlinken habe ich im MyBB-Board die Thread-IDs und die Post-IDs ersetzt.
    1. Thread-IDs ersetzen:
      1. In beiden Foren, also dem alten WBB5er und dem neuen MyBB habe ich die Thread-Tabellen daraufhin geprüft, ob es mehrere Threads mit demselben Zeitstempel gab: SELECT dateline COUNT(*) AS Anzahl FROM mybb_threads GROUP BY dateline HAVING Anzahl > 1; (Befehl muss an die jeweilige Tabelle angepasst werden). Bei mir gab es keine doppelten Werte. Danach die Threads nach time bzw. dateline aufsteigend sortiert dann aus beiden Foren die Spalten mit der Thread-ID, der User-ID, dem Zeitstempel und den Titel exportiert
      2. Die exportieren Daten habe ich in eine Tabelle "Threadvergleich" gepackt und dort stichprobenartig geprüft, ob alle die nebeneinander stehenden Threads wirklich identisch sind.
      3. Die Tabelle habe ich in meine Datenbank hochgeladen.
      4. In die Threads-Tabelle im MyBB-Forum habe ich eine Spalte tid_neu eingefügt und diese Spalte mit JOIN Threadvergleich ON mybb_threads.tid = Threadvergleich.tid SET mybb_threads.tid_neu = Threadvergleich.threadID; gefüllt.
      5. In allen Tabellen denen es Abhängigkeiten zur Thread-ID gibt, habe ich im ersten Schritt eine neue Spalte "tid_neu" eingefügt, die tid aus der Tabelle threads ausgelesen und dort eingefügt, stichprobenartig geprüft, ob alles passt, die tid gegen die tid_neu ausgetauscht und die Spalte tid_neu gelöscht. Betroffen sind hier die Tabellen mybb_moderatorlog: tid, mybb_posts, mybb_threadsread, mybb_threadsubsciption sowie die Tabelle und Spalten: mybb_forums Spalte lastposttid
      6. In der Tabelle threads habe ich die Spalte tid mit den Werten aus der Spalte tid_neu gefüllt und die Spalte tid_neu anschließend gelöscht
    2. Post-IDs ersetzen:
      1. Eine Spalte pid_neu in die Tabelle Posts einfügen
      2. Die Tabelle wbb1_post aus der Datenbank des WBB5er-Forums in die Datenbank der MyBB-Forums kopieren
      3. In beiden Post-Tabellen prüfen, ob es doppelte Werte für den Zeitstempel gibt. Bei mir waren es 4 Postngs (logischerweise in beiden Foren, da ja dieselben Postings enthalten sind). Hier habe ich bei jeweils einem Posting den Zeitstempel um 30 Sekunden verschoben. Danach habe ich mit dem Befehl noch einmal nach doppelten Zeitstempeln gesucht.
      4. Danach die Spalte pid_neu mit den Werten aus aus der wbb5-Tabelle posts füllen, bei denen Thread-ID, Autor und Zeitstempel übereinstimmen.
      5. Die einzige Tabelle mit Abhängigkeiten ist die Tabelle moderatorlog, diese ist noch leer, wenn man in dem Forum noch keine Experimente durchgeführt hat. Falls sie nicht leer ist, müssen hier die Werte in der Spalte pid  durch die Werte aus der Spalte pid_neu in der Tballe posts ersetzt werden.
      6. In der Tabelle posts die Werte in der Spalte pid mit den Werten aus der Spalte pid_neu überschreiben und die Spalte pid_neu löschen.
  7. Smilies, Schriftgrößen, interne Links, interne Bilderlinks und Zitate habe ich per PHP-Skript so umgeschrieben, dass sie formal dem Aufbau eines Similie-Links, einer Schriftgrößenformatierung, eines internen Links und eines Zitats entsprechen. (Tabelle posts und privatemessages, Spalte messages, bei Bedarf auch Tabelle users Spalte signature) WICHTIG: DIE LINKS AUF DIE FOREN FÜHREN AN DER STELLE NOCH INS LEERE, DIE FID MUSS ERST NOCH NEU ZUGEORDNET WERDEN.
  8. Per Update und regulärem Ausdruck habe ich alle @-mentionings aus den Texten entfernt (leider habe ich noch kein passendes Plugin gefunden, so dass ich nicht wusste, mit was ich die Codes hätte ersetzen müssen. Und eine Erwähnung in der Vergangenheit spielt auch für den Threadverlauf keine weitere Rolle mehr) ( UPDATE mybb_posts SET message = REGEXP_REPLACE(message, '<woltlab-metacode data-name="user" data-attributes="[^"]+">', '');
  9. Mit MyCode habe ich einen Spoiler-Button vor den Editor erstellt:
    ACP > Konfiguration > MyCode > Neuen MyCode hinzufügen (siehe hier: How to make a spoiler) und einen Button den Editor einfügen: Eigenen MyCode erstellen
  10. Die meisten HTML-Codes sind damit enfernt. Einige Schnipsel bleiben trotzdem noch übrig, diese habe ich per update and replace (durch "nichts") entfernt.
  11. Was nicht funktioniert: Die Forenkategorien. Diese müssen einmal neu angelegt werden.
  12. DANACH habe ich in beiden Datenbanken die Tabellen Foren nach Forenname sortiert und exportiert. Da es schneller geht, die 55 Foren-IDs in phpMyAdmin mit update+replace zu ersetzen als hier einen Skript zu schreiben, habe ich in den Tabellen posts und privatemessages in der Spalte messages mit update und replace alle fid=alteID gegen fid=neueID ausgetauscht.
  13. Was auch nur teilweise funktioniert hat: Die Rechte der Benutzergruppen wurden nicht ganz korrekt übertragen und mussten sowohl in den Foren und Kategorien als auch in den Gruppen selbst neu angelegt werden.
Damit ist das Forum soweit fertig und lauffähig. Es gibt noch einzelne Beiträge mit Rest-HTML-Code. Ca. 4000 Beiträge weisen noch irgendwo ein "<"-Zeichen auf. Mit dem einen Prozent kann ich leben, der Rest funktioniert.

ICH habe mir dann noch ein responsives Theme heruntergeladen. Ich bin von WBB5 verwöhnt, die mobile Nutzung war dort sehr gut. Aber es gibt auch für MyBB gute responsive Themes. Das Theme bzw. die Templates habe ich dann farblich und auch in Bezug auf die Buttons, die ich zur Verfügung stellen möchte, überarbeitet. Außerdem möchte ich, dass meine Moderatorinnen Themen einfach durch Klicken im jeweiligen Unterforum zusammenlegen können und habe dafür noch ein eigenes Moderationstool hinzugefügt.

Das war's im Wesentlichen. Durch die viele manuelle Arbeit sicher zeitaufwändiger als nötig gewesen wäre, aber sehr erfolgreich.

Und dafür möchte ausdrücklich allen danken, die täglich daran arbeiten, die Software, die Plugins, die Dokumentationen und dieses (und auch das englischsprachige) Forum zur Verfügung zu stellen. Ohne dass Ihr diese Möglichkeiten bietet und ohne Eure geduldigen Erklärungen (die ich viel und häufig gelesen habe, auch wenn ich keinen eigenen Thread brauchte, weil alles schon irgendwo gesagt war), wäre der Umzug nicht möglich gewesen.

Viele Grüße

Nadja

Jetzt habe ich noch eine technische generelle Frage zu meinem Text.
Ich musste zustimmen, dass ich keine Texte aus diesem Forum an anderer Stelle verwende. Gilt das auch für diesen von mir verfassten Text oder dürfte ich den noch einmal woanders posten, wenn ich das für sinnvoll halten würde?


Angehängte Dateien
.txt   Tabellenstruktur.txt (Größe: 70,35 KB / Downloads: 22)
Zitieren
#2
Herzlichen Dank für deine super Beschreibung. Ich würde auch gerne von WoltlaB 5.5.18 weg nach MyBB und man hat sich hier schon meiner angenommen. Ich hoffe das das bei mir auch klappt. Das wäre super.
Zitieren
#3
@ Nadja-re 
Kompliment für Dein sicherlich zeitintensives Engagement.

Wäre schön wenn seitens der Entwickler Deine Erfahrung mit in die Weiterentwicklung von Merge einfließen würden/könnten.
Sollte ich der Ansicht sein helfen zu können biete ich Hilfe(n) an!  ...ich bitte jedoch nicht darum helfen zu dürfen!
Tools [Unixzeit ⇔ Realzeit] ♦ [BOM-Finder] ♦ [SQL-Prefix-Changer] ♦ [USV-Rechner] ♦ [PlugIns]
Zitieren
#4
Hallo Nadja,
vielen Dank für deine Arbeit mit der Anleitung und das teilen der Datei. Verstehe ich das richtig, du hast von einem wbb5.4 auf mybb gewechselt?
Bei mir scheitert die Umstellung nämlich auch an mangelnden Konvertern.  Ich hatte es lange nicht geupdatet und durch einen blöden Fehler dann auf 5.5 geupdatet und nun hänge ich da.
Für das 5.4 gibt es diverse Konverter, die mit dem 5.5 aber nicht funktionieren.
Es warten so einige auf die Möglichkeit von einem 5.5  wegzukommen.
Ich würde das mal mit deiner Anleitung versuchen - wäre es dir ggfs.  möglich die Tabellenstruktur an ein wbb5.5 oder höher anzupassen? Ich habe da nur leider nur ganz rudimentäre Kenntnisse .
Viele Grüße Wiebke
Zitieren
#5
Hallo Maggan,

ja, ich habe von 5.4 zu MyBB gewechselt.

Ich verstehe aber leider Deine Frage nicht. Du benötigst für den Umstieg die Tabellen, die in meinem Anhang aufgelistet sind und diese müssen so aufgebaut sein, wie im Anhang angegeben. Ich habe es so gemacht, dass ich eine Datenbankkopie erstellt habe und dann habe ich jede einzelne Tabelle geprüft und entschieden "Brauche ich" oder "Brauche ich nicht". Danach habe ich Spalten eingefügt (die habe ich dann entweder leer gelassen oder sie wurden mit Standardwerten gefüllt), gelöscht oder verschoben und die ganzen Fremdschlüssel und Indizes eingefügt. Das macht ein bisschen Arbeit, funktionierte aber bei mir sehr gut. Im Anschluss konnte ich dann das zur Verfügung gestellte Merge-System für WBB4 nutzen.

Ich hoffe, ich konnte Dir mit meiner Antwort helfen.

Viele Grüße

Nadja
Zitieren
#6
Es gibt leider von 5.4 und 5.5 erhebliche unterschiede in der Struktur. Invision Power hat einen Konverter und ich glaube Xenforo auch aber die funktionieren mit 5.5 nicht mehr, deswegen frage ich ob der Weg ggfs. auch mit wbb 5.5 funktionieren würde
Viele Grüße Wiebke
Zitieren
#7
Hallo Maggan22, ich denke User [ExiTuS] ist bei der Sichtung der Datenbankstruktur vom WoltlaB 5.5.18 die ich hochgeladen hatte. Evtl. haben wir ja Glück da die Migration klappt.
Zitieren
#8
Gibt es in der Datenbank Deines Forums die im Anhang aufgeführten Tabellen? Wenn nicht, welche fehlen?
Zitieren
#9
Wo isser denn der Anhang? Bei der PN gibts leider keine Anhang-Möglichkeit oder ich bin blind. Auf dem normalen Weg ist es für alle sichtbar. Ich würde dir sonst meine überlassen
Zitieren
#10
Der Anhang hängt an meinem ersten Beitrag. Dort sind die nötigen Tabellen (bzw. die Tabellen, die ich beim manuellen Bearbeiten der Datenbank übrig gelassen habe) aufgeführt. Zusätzlich sind die Tabellen auch in meinem Beitrag aufgelistet.

Ich habe nur Zugriff auf mein Forum und meine Datenbank. Ob die Tabellen in Deinem Forum vorhanden sind, kannst nur Du (oder Euer Administrator, ich weiß ja nicht, wie das bei Euch organisiert ist) prüfen.
Zitieren


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  WBB5 zu MyBB Farin 8 3.172 17.10.2024, 21:28
Letzter Beitrag: Moe
  umstieg von smf rückt endlich näher sjfm 0 1.327 29.07.2017, 20:12
Letzter Beitrag: sjfm
  Umstieg von wbb 3 auf myBB > URLs umleiten herbert0815 3 2.066 04.03.2017, 01:14
Letzter Beitrag: sjfm