Na, das ist ja eine riesige Enttäuschung!
Ich dachte, Google hätte es seit Februar 2015 nicht mehr angefasst, aber ich muss mich korrigieren.
Anscheinend gab es 2020 ein komplettes Redesign und 2021 ein Logo-Update.
Na, das ist ja eine riesige Enttäuschung!
Ich dachte, Google hätte es seit Februar 2015 nicht mehr angefasst, aber ich muss mich korrigieren.
Anscheinend gab es 2020 ein komplettes Redesign und 2021 ein Logo-Update.
Ich überlege, die APIs von Gmail und Discourse zu nutzen, um E-Mail-Threads in Discourse-Beiträge umzuwandeln. Ich habe die Google-APIs bereits durchgearbeitet und konnte die E-Mails abrufen, habe jedoch noch ein paar Fragen dazu:
Interessant. Ist es möglich, die Gmail-API zu verwenden, um auf E-Mails aus Google Groups zuzugreifen, oder hast du einfach ein Gmail-Konto, das alle an die Gruppe gesendeten E-Mails enthält?
Ich empfehle dir, alle Nachrichten als einzelne *.eml-Dateien zu speichern. Du musst die Nachricht vor dem Speichern decodieren, falls die gesamte Nachricht (einschließlich der E-Mail-Header) in Base64 kodiert ist. Befolge anschließend die Schritte unter Migrate a mailing list to Discourse (mbox, Listserv, Google Groups, etc) (abzüglich der Schritte für Google Groups). Das Import-Skript kümmert sich um Beiträge, Anhänge und vieles mehr.
Ich bin Mitglied der Gruppe und kann daher die E-Mails mit meiner E-Mail-Adresse abrufen. Die gesamte E-Mail-Nachricht einschließlich der Header wird Teil des codierten Strings sein.
Ich werde deinen Ansatz zumindest für einen Thread für den Import in Discourse ausprobieren.
Nun, in diesem Fall benötigen Sie möglicherweise gar nicht die Gmail-API. Die Verbindung eines E-Mail-Clients wie Thunderbird mit Ihrem Gmail-Konto und der Export einzelner E-Mails oder einer mbox-Datei sollte ausreichen…
Jetzt würde ich wirklich gerne wissen, wie das funktioniert. Ich war der Ansicht, dass Google Groups NNTP nicht unterstützt.
Es ist kein NNTP, sondern eine REST-API.
Mein Postfach ist größer als 200 GB, und um spezifische gruppenbezogene E-Mails zu erhalten, müsste ich wahrscheinlich alle diese Mails über Thunderbird herunterladen. Allerdings zeigt Thunderbird die Google-Gruppen nicht an; alle Mails erscheinen nur im Posteingang. Zudem werden jeweils nur 200 E-Mails heruntergeladen. Ich bin mir daher nicht sicher, wie lange es dauern würde, die Mails zu erhalten usw.
Gibt es eine alternative Möglichkeit, einfach nur die Daten einer Google-Gruppe abzurufen und als mbox zu exportieren?
Hallo Gerhard Schlager,
wir versuchen, unsere Google Groups zu Discourse zu migrieren. Wir haben alle oben genannten Schritte gemäß dem Dokument befolgt, doch es wird lediglich eine Kategorie in Discourse erstellt, ohne dass die Daten importiert werden. Wir wären Ihnen sehr dankbar, wenn Sie uns hierzu schnellstmöglich antworten könnten.
Der einzige Weg, den wir kannten, funktioniert nicht mehr. Wenn du irgendeine Möglichkeit kennst, die Daten zu erhalten, solltest du das tun. Falls du einen Weg kennst, solltest du wahrscheinlich sofort beginnen, die Daten zu sichern, bevor auch diese Methode unbrauchbar wird.
Wenn die Daten in deinem Postfach liegen, könnte es möglich sein, die Gmail-API zu verwenden, um sie herunterzuladen. Das wird jedoch knifflig, da ein Entwickler Zugriff auf ein Postfach mit Google-Gruppendaten benötigen würde, um den Code zu schreiben.
Es sei denn, ein Enterprise-Kunde benötigt dies, bezweifle ich, dass cdck (aka discourse.org) in absehbarer Zeit diesen Code schreiben wird. Du kannst dich im Marketplace danach erkundigen. Ich würde das wahrscheinlich nicht für unter 2000 in Betracht ziehen und angesichts der Frustration, die ich in der Vergangenheit mit dem Google-Gruppen-Import-Skript hatte, wahrscheinlich 5000 verlangen. Natürlich könnte jemand anderes über bessere Fähigkeiten oder mehr Geduld verfügen.
Ein möglicher Ansatz besteht darin, Integromat zu verwenden, um eine Konvertierung durchzuführen, vorausgesetzt, die Apps für Google Groups und Discourse sind verfügbar. Alternativ können Sie auch HTTP-Aufrufe nutzen, um direkt auf die REST-APIs zuzugreifen.
Integromat ist ein System zur Datenintegration und -migration. Es ist sehr leistungsstark und ermöglicht mit wenig bis gar keiner Programmierung eine Vielzahl von Aufgaben.
Ich habe Google Takeout ausprobiert, indem ich mich selbst zum Besitzer unserer Google Workspace-Gruppe gemacht und die Google Group-Konversationen herunterladen konnte. Ich arbeite aber noch am Import.
Ein paar Nachteile dieses Ansatzes:
Hallo @Anjana_Raghavendra_P – ist es Ihnen gelungen, einen einfachen Import mit diesem Ansatz durchzuführen?
Vielen Dank!
Ja, ich kann die mbox-Datei von Takeout herunterladen und sie mit den im ursprünglichen Beitrag genannten Schritten importieren.
Da wir den PAAS-Dienst von Discourse nutzen, haben wir die Datei später dem technischen Team von Discourse zur Verfügung gestellt, das den Inhalt erfolgreich auf die Discourse-Plattform importieren konnte.
Das freut mich zu hören – danke!
Ich bin auf das Problem von @sturdy2 gestoßen, als ich in settings.yml die erste Zeile data_dir: /shared/import/data von ihrem Standardwert geändert habe.
Wichtige Erkenntnis: Ändern Sie sie nicht, da sie sich auf den Pfad innerhalb des Import-Docker bezieht, nicht auf den des Hauptrechners.
Ich habe eine Frage zum Neustart eines Imports?
Ich bin kein Entwickler, aber es ist mir gelungen, zwei mbox-Dateien erfolgreich zu importieren, die aus einem System namens Topicbox Group Email stammen. Ich habe meinen Testimport in eine temporäre Instanz von Discourse durchgeführt, die ich auf Digital Ocean eingerichtet habe. Und ich konnte meine beiden Beispiel-mbox-Dateien in bereits erstellte Kategorien in Discourse importieren, dank der Hinweise zum Setzen der Kategorie.custom_fields["import_id"] = "mydir" von oben.
Juhu! Aber wenn ich weitere mbox-Dateien importieren möchte, muss ich dann alle Befehle aus FAQ 2.2 ausführen, die besagen, dass alles “gelöscht” wird?
Ich konnte erfolgreich meine “import_id” für zwei verschiedene Kategorien als anfänglichen Testimport festlegen. Es hat funktioniert! Meine beiden mbox-Dateien wurden in die vorhandenen Kategorien importiert, die ich angegeben habe.
Ich habe 18 verschiedene Kategorien, mit denen ich das letztendlich tun muss. Ich weiß nichts über Ruby. Kann ich eine Datei erstellen, die den Verzeichnisnamen für jede meiner verschiedenen Kategorien festlegt, damit ich nicht jede Zeile manuell in der Ruby-Befehlszeilenschnittstelle eingeben muss?
Yes. Mehr Google “ruby for each”. And create an array with so of the categories.
Nein, das musst du nicht. Der Importeur unterstützt inkrementelle Importe. Er importiert beim nächsten Lauf nur neue Daten. Führe die Befehle aus 2.2 nicht aus, es sei denn, du möchtest von vorne beginnen.
Das ist derzeit leider nicht möglich. Du musst jeder Kategorie die import_id zuweisen, wenn du in bestehende Kategorien importieren möchtest.
Vielen Dank, @gerhard, für all deine fantastische Arbeit daran! Ich bin kein Entwickler, aber ich konnte eine Migration von einem Listenanbieter namens Topicbox durchführen. Ich konnte mbox-Dateien von Topicbox für den Import in Discourse erhalten. Während meiner Schritte mit Versuch und Irrtum habe ich alles in einem Blogbeitrag dokumentiert. Wenn es also in Ordnung ist, wollte ich einen Link zu diesem Blogbeitrag für alle anderen Topicbox-Benutzer einfügen, die zu Discourse konvertieren möchten.