Ich habe ein Thema (Migration from Yahoo! Groups) zur Suche nach Hinweisen dazu eröffnet, und ein weiteres Thema (Yahoo Groups to Discourse migration?) fragt ebenfalls danach. Hier ist also das, was ich für die Migration erarbeitet habe.
Hintergrund
Yahoo hat vor einigen Wochen bekanntgegeben, dass die über Yahoo Groups verfügbaren Dienste erheblich eingeschränkt werden. Ab dem 28. Oktober 2019 haben sie hochgeladene Inhalte deaktiviert. Am 14. Dezember 2019 werden, wie sie ankündigten, alle hochgeladenen Inhalte entfernt, einschließlich der Nachrichtenarchive. Ich habe diesen letzten Punkt fett hervorgehoben, da er mir anfangs nicht klar war und die Migration der Gruppe dadurch viel dringlicher wurde. Sie geben an, dass die Gruppen ab diesem Zeitpunkt weiterhin als Mailingliste nutzbar sein werden, jedoch ohne zukünftige Archive.
Es gibt einen weiteren Dienst bei groups.io, der im Wesentlichen eine schlüsselfertige Alternative zu Yahoo Groups darstellt und für jemanden, der eine Yahoo-Gruppe migrieren möchte, die naheliegende Wahl ist. Sie übernehmen die komplette Übertragung, und die Benutzer behalten die gewohnte Benutzeroberfläche. Dieser Punkt ist meiner Meinung nach einer der größeren Nachteile dieses Dienstes; der andere sind die 220 $ Kosten für die Migration einer Gruppe. Ich war der Ansicht, dass es, wenn ich mich ohnehin mit der Migration einer Gruppe befassen würde, gut wäre, die Benutzeroberfläche auf etwas Moderneres zu aktualisieren, das jedoch weiterhin die Nutzung als Mailingliste ermöglicht.
Wenn Ihre Gruppe viele Fotos oder hochgeladene Dateien enthält, sollten Sie möglicherweise nach einer anderen Methode zur Bereitstellung dieser Inhalte suchen. Andernfalls können Sie sie in Themen auf Ihrer Website veröffentlichen, eventuell in separaten Kategorien. Falls Sie andere Arten von Daten dort haben (z. B. Datenbanken oder Kalender), die Sie speichern möchten, muss ich die beste Methode zur Migration dieser Daten anderen überlassen.
Vorbereitung
Der Schlüssel zu diesem Prozess ist Yahoo’s „Meine Daten abrufen"-Tool, mit dem Sie bestimmte Daten aus Ihren Gruppen herunterladen können. Konkret ermöglicht es Ihnen den Zugriff auf:
- Alle Nachrichten aller Gruppen, deren Mitglied Sie sind, und
- Alle hochgeladenen Dateien (jedoch keine Fotos) aller Gruppen, deren Mitglied Sie sind.
Die heruntergeladenen Nachrichten liegen im .mbox-Format vor und enthalten vollständige E-Mail-Adressen, unabhängig davon, ob Sie Moderator oder Administrator der Gruppe sind.
Mit diesem Tool können Sie eine Anfrage stellen. Sobald Yahoo diese bearbeitet hat, erhalten Sie eine E-Mail-Benachrichtigung, dass Ihr Download bereitsteht – das dauerte bei mir etwa eine Woche.
Wie oben erwähnt, lädt das „Meine Daten abrufen"-Tool keine Fotos herunter. Für diese habe ich GitHub - IgnoredAmbience/yahoo-group-archiver: Scrapes and archives a Yahoo groups email archives, photo galleries and file contents using the non-public API · GitHub verwendet. Es lädt auch alle anderen Daten herunter (und es ist meines Wissens nach keine Einschränkung möglich), aber es holt die Fotos zusammen mit ihren Metadaten.
Installation
Installieren Sie Discourse gemäß discourse/docs/INSTALL-cloud.md at main · discourse/discourse · GitHub auf einem VPS-Host Ihrer Wahl (ich nutze contabo.com, aber es gibt keine Mangel an VPS-Anbietern). Besorgen Sie sich eine Domain, falls Sie noch keine haben (freenom.com, wenn Sie eine kostenlose möchten; easydns.com oder name.com funktionieren für mich gut als kostenpflichtige Registrar). Richten Sie DNS mit Ihrem bevorzugten Host ein (ich mag cloudflare.com dafür). Richten Sie ausgehende E-Mails (ich habe mailgun.com verwendet) und eingehende E-Mails gemäß Configure direct-delivery incoming email for self-hosted sites with Mail-Receiver ein.
Konfigurieren Sie Ihre Installation nach Belieben; der Import überschreibt nichts von dem, was Sie bereits konfiguriert haben.
Nachrichten migrieren
Das „Meine Daten abrufen"-Tool liefert Ihnen eine einzelne .zip-Datei. Sie enthält ein Verzeichnis für jede Gruppe, deren Mitglied Sie sind, und in jedem Verzeichnis befinden sich messages.zip und files.zip. Wenn Sie messages.zip entpacken, erhalten Sie .mbox-Dateien, die alle Nachrichten der Gruppe enthalten, aufgeteilt in so viele 10-MB-Dateien, wie nötig sind, um sie zu speichern (es waren 15 davon für die 38.000 Nachrichten in der Gruppe, die ich migriert habe). Sobald Sie diese haben, können Sie den Anweisungen unter Migrate a mailing list to Discourse (mbox, Listserv, Google Groups, etc) folgen, um sie in Ihre Discourse-Installation zu importieren. Falls Sie bereits Benutzer haben, ordnet das Skript die Nachrichten diesen Benutzern anhand der E-Mail-Adresse zu. Alle E-Mail-Adressen, für die kein entsprechender Benutzer existiert, werden als neuer Benutzer angelegt.
Probleme
Da die Benutzererstellung auf E-Mail-Adressen basiert, führen Yahoo-Benutzer, die im Laufe der Zeit ihre E-Mail-Adressen geändert haben, zu mehreren Benutzern in Ihrer Discourse-Installation. Das Plugin „Benutzer zusammenführen" (Merge Users Plugin) sollte dieses Problem beheben, obwohl die Identifizierung dieser Benutzer weiterhin ein manueller Prozess bleibt.
Fazit
Das ist mein aktueller Stand – meine Website funktioniert, die Nachrichten sind da, die Benutzer sind da, und jetzt geht es nur noch um Feinjustierung und Anpassung. Ich hoffe, dies hilft anderen, den Schritt zu wagen und ihre Yahoo-Gruppen auf eine Discourse-basierte Website zu verlagern, anstatt beim Bekannten zu bleiben.