Discourse und SMF zusammenführen

Hallo!

Ich habe folgende Frage:
Seit 2017 habe ich ein SMF-Forum mit mittlerweile ca. 4000 Beiträgen.
Letztes Jahr hatte ich parallel ein Discourse-Forum mit ca. 1000 Beiträgen, dieses ist aber aktuell nicht online, da ich im Dezember 2021 wieder zu SMF zurückgekehrt bin.
Nun mag ich SMF aber nicht mehr und würde es gerne nach Discourse migrieren, möchte aber auch die 1000 Beiträge aus dem Discourse-Forum mitnehmen.
Vom Discourse-Forum habe ich ein Backup, und von SMF ist es kein Problem ein Backup zu erstellen.

Die Migration von SMF nach Discourse sollte kein Problem darstellen, auch wenn ich es noch nie ausprobiert habe.
Ich muss zugeben, dass beide ähnliche Kategorien haben, aber es gibt Unterschiede.

Ist es möglich, beide Foren zu einem zusammenzuführen?
Wenn ja, wie am besten?

Von SMF benötige ich nur die User, welche (mehr oder weniger) in beiden Foren gleich sind, und die Beiträge. Im Prinzip könnten alle Beiträge aus dem SMF-Forum in eine eigene Kategorie importiert werden, diese würde ich dann selbst in die richtigen Kategorien verschieben (oder einfach dort als eine Art Archiv belassen).

Mein Vorgehen wäre folgendes:

  1. Ich erstelle ein Backup des aktuellen SMF und importiere dieses in ein 2. SMF und verschiebe dort alle Themen und Beiträge in eine einzige Kategorie und erstelle davon wieder ein Backup für den Import nach Discourse.
  2. Ich nehme das “alte” Discourse Forum wieder online. (mit oder ohne die 1000 Beiträge?).
  3. Ich importiere das Backup von SMF.

Hier habe ich die Frage, ob das überhaupt funktioniert, da die Themen und Beiträge IDs und Zeitstempel von SMF haben und diese mit Usern etc. verknüpft sind.

Ehrlich gesagt, habe ich keine Ahnung, wie ich vorgehen soll und ob es überhaupt möglich ist.
Ist das Skript schon für SMF 2.1.x angepasst?

Jede Hilfe ist willkommen!

Ich bin mir nicht sicher, ob Discourse native Backups von SMF unterstützt. Ich weiß, dass das offizielle Discourse-Team bei Migrationen helfen kann, aber ich kenne die Kosten nicht. In der Vergangenheit habe ich die Discourse-API verwendet, um große Mengen an Forendaten zu migrieren. Ich habe meine Kategorien im Discourse-Forum erstellt. Sobald dies erledigt war, habe ich ein Python-Skript erstellt, um mein altes Forum zu scrapen und das neue mit Themen, Benutzern usw. zu bestücken.

In der Dokumentation gibt es eine Anleitung zur Migration von SMF zu Discourse.

https://meta.discourse.org/docs?topic=90314

Ein Skript zum Auslesen der Daten aus SMF und deren Import in Discourse wäre gut, wenn ich so etwas programmieren könnte. :wink:

2 „Gefällt mir“

Ah, okay. Ich wusste nicht, dass sie offizielle Dokumentationen zur Migration von SMF2 haben. Ist dein Forum ein SMF2- oder SMF1-Forum?

Ja und nein, es ist ein SMF 2.1.x, und SMF hat sich von 2.0.x zu 2.1.x stark verändert.

Und ich habe immer noch das Problem, beide Foren zusammenzuführen.

1 „Gefällt mir“

ok. Danke für diese Informationen :slight_smile:
Bei welchem Schritt in der Migrationsanleitung tritt ein Problem auf?

1 „Gefällt mir“

siehe auch: Merge two Discourse sites into one

Mit der Einschränkung, dass ich selbst keine Migrationen durchgeführt habe, wäre mein Ansatz:

  • Migrieren Sie Ihre SMF-Daten zu einer neuen Instanz
  • Führen Sie die beiden Discourse-Instanzen mit der obigen Anleitung zusammen

Nun, wir alle haben unsere Hämmer, aber ich fand, dass das Skript zum Zusammenführen von DIscourse-Sites eine Menge von Sonderfällen verpasste (ich kann mich jetzt nicht mehr genau erinnern, was das war). Und dann hast du zwei Übergänge zu machen.

Ich würde wahrscheinlich einfach das SMF-Skript über die bestehende Discourse-Site laufen lassen. Wenn ich das getan habe, habe ich Anpassungen vorgenommen, um zu sehen, wie Kategorien zusammengeführt und Benutzer zwischen den Sites abgeglichen werden. Wenn du dich ein wenig mit Programmierung auskennst, sind die Skripte im Allgemeinen leicht genug zu verstehen, auch wenn du kein Ruby sprichst.

2 „Gefällt mir“

Nun, ich habe noch nicht angefangen.
Aber meine Frage war 1. ob dieses Skript mit SMF2.1 funktioniert und 2. ob es möglich ist, ein SMF in eine bestehende Discourse-Instanz zu integrieren.

Das habe ich total übersehen. Danke für deine Antwort. Ich denke, das ist der richtige Weg.

@pfaffman
Ich brauche nicht alles von SMF, nur die Beiträge, Themen und Benutzer.

Vielleicht muss ich basteln, damit es funktioniert.

Das ist so ziemlich alles, was importiert wird. Es ist wahrscheinlich einfacher, die Kategorien zu importieren, als sie nicht zu importieren.

Ja. Und es gibt keine Möglichkeit zu wissen, wie viel Arbeit es sein wird, bis du es versuchst.

Ich denke, ich werde die folgenden Schritte ausführen:

  1. Ich nehme mein SMF und verschiebe jedes Thema (mit Beiträgen) in eine Kategorie und erstelle dann ein Backup der Datenbank.
  2. Ich installiere ein frisches Discourse und importiere das SMF-Backup (ich hoffe, das Importskript funktioniert mit SMF 2.1).
  3. Ich lösche und installiere Discourse neu und lade dann mein Discourse-Backup mit den Einstellungen und Beiträgen hoch.
  4. Ich füge die beiden Discourse-Foren gemäß der von @supermathie verlinkten Anleitung zu einem zusammen.

Ich hoffe, es funktioniert, sonst muss ich jemanden bezahlen, der es für mich erledigt.