Einfachste Möglichkeit, ein einzelnes Thema zu exportieren?

Hallo,

wir versuchen, ein einzelnes Thema von einer Discourse-Instanz entweder in den lokalen Speicher oder vorzugsweise auf eine andere Instanz zu exportieren. Die Administratoren der ursprünglichen Instanz unterstützen den Umzug, möchten aber nicht unbedingt viel Zeit damit verbringen, den Prozess zu gestalten. Daher suchen wir nach verfügbaren Lösungen, die relativ schnell und unkompliziert sind.

Bisher prüfen wir zwei Optionen:

Obwohl der erste Link sicherlich der direkteste Weg ist, unser Ziel zu erreichen, sind wir uns nicht sicher, ob unsere Administratoren bereit sind, den scheinbar erheblichen Aufwand auf ihrer Seite zu betreiben, um den Umzug zu unterstützen. Daher erwägen wir auch @pfaffmans Discourse Downloader.

Wenn jedoch eine dieser Optionen angesichts unserer Bedürfnisse und Einschränkungen eindeutig besser ist, wären wir für Einblicke von Personen dankbar, die eine der beiden Methoden bereits angewendet haben oder mit dem Prozess vertrauter sind als wir. Falls es noch eine andere, bessere Option gibt, die wir übersehen haben, würden wir diese sehr gerne kennen lernen!

Vielen Dank für Ihre Zeit!

Das Befehlszeilen-Tool zum Import/Export von Themen/Kategorien reduziert sich auf ein paar Befehle und höchstens fünf Minuten Arbeit.

Haben Sie die rechtlichen Implikationen des Kopierens von Benutzern auf eine andere Instanz bedacht?

Alle Benutzer stimmen dem Umzug zu, daher erwarte ich keine Probleme.

Solltest du anderer Meinung sein, lass es mich bitte wissen!

Meinst du wirklich nur ein Thema? Warum nicht einfach im Webinterface kopieren und einfügen?

Edit: Oh ja. Ein Thema besteht aus vielen Beiträgen. Entschuldigung. :frowning_face:

Wie auch immer, jetzt wo ich es verstehe, würde ich meiner Meinung nach die Rake-Aufgabe verwenden, falls du deine Administratoren dazu bringen kannst, sie auszuführen. Ich glaube nicht, dass das so schwer ist.

Mögliche Gründe:

  • Du möchtest auch die Benutzer, Uploads, Zitate und Likes übernehmen
  • Das Thema hat eine Million Beiträge

Also gut,

Die Admins haben beide Lösungen abgelehnt, weil der Aufwand dafür zu groß wäre.

Das waren ihre Worte, nicht meine. Ich bin auch kein Fan davon.

Weißt du zufällig, wie man eine .json-Datei nicht nur für einen einzelnen Beitrag, sondern für das gesamte Thema erhält, ohne Admin-Rechte?

Edit: Das wäre vielleicht besser als eigenes Thema, da es wohl nicht mehr zum Titel passt. Es wirkt trotzdem etwas spammy, also werde ich es nicht tun.

Ich glaube nicht, dass du die Lösung von @pfaffman auf dem Server ausführen musst. Soweit ich weiß, brauchst du dafür keine Administratoren.

Dafür ist ein API-Schlüssel erforderlich.

Ist dies ein Thema in einem öffentlichen Forum? In diesem Fall sollte es ohne API-Schlüssel funktionieren.

Wow! Es sieht tatsächlich so aus, als hätte ich es so geschrieben, dass kein API-Schlüssel erforderlich ist, wenn es sich um einen öffentlichen Beitrag handelt.

Oder vielleicht doch nicht?

Ich habe eine Korrektur eingespielt, sodass du jetzt ein git pull durchführen kannst. Es sollte dann auch mit einer leeren apikeys-Datei funktionieren. (Ich glaube, du musst die leere Datei jedoch erst erstellen.) Damit wird ein Beitrag in eine Textdatei heruntergeladen.

Ich habe es für eine Offline-Analyse von Diskussionen entwickelt, daher bin ich mir nicht sicher, wie nützlich es ohne weitere Anpassungen sein wird. Ich denke, es sollte dir ermöglichen, die Inhalte lokal herunterzuladen, aber es wird (in diesem Zustand) wenig helfen, sie auf ein anderes Discourse-System zu übertragen.

Wenn du es auf ein anderes Discourse übertragen möchtest und es sich um einen öffentlichen Beitrag handelt, musst du dieses Tool entsprechend anpassen. Wenn du ein Budget hast, kannst du mich kontaktieren oder im Marketplace posten.

Um ehrlich zu sein: Wenn ich so viel Zeit investieren würde, würde ich wahrscheinlich einfach etwas schreiben, das das Thema durchsucht und manuell alle einzelnen .json-Dateien herunterlädt, lol.

Leider kann ich für keine dieser Optionen Ressourcen bereitstellen, daher ist die Ausführung des Downloader-Programms möglicherweise die beste Option, die ich habe.

Danke!

Dieser Code ist ein guter Ausgangspunkt. Er lädt die JSON-Dateien herunter und wandelt sie dann in andere Formate um.

Klingt hilfreich – danke!

Danke für den Ruby-Code, @pfaffman!

Für diejenigen, die Python bevorzugen, gibt es einen guten Einstieg, wie man die API und JSON-Dateien verwendet, unter mcmcclur/ArchiveDiscourse: Code for archiving my Discourse sites.