Cómo migrar de Yahoo Groups a Discourse

He iniciado un tema (Migration from Yahoo! Groups) buscando orientación sobre esto, y otro tema (Yahoo Groups to Discourse migration?) pregunta lo mismo, así que aquí está lo que he ideado para realizar la migración.

Antecedentes

Yahoo anunció hace unas semanas que reducirá significativamente los servicios disponibles a través de Yahoo Groups. A partir del 28 de octubre de 2019, han deshabilitado el contenido subido por los usuarios. El 14 de diciembre de 2019, indicaron que eliminarán todo el contenido subido, incluyendo los archivos de mensajes. Destaco este último punto porque no me resultó obvio al principio y hizo que la migración del grupo fuera mucho más urgente. En este momento, afirman que seguirán siendo utilizables como lista de correo, pero sin archivos en el futuro.

Existe otro servicio en groups.io que es prácticamente un reemplazo llave en mano para Yahoo Groups, y es la opción obvia para alguien que quiera migrar un grupo de Yahoo: se encargarán de mover todo y los usuarios mantendrán la misma interfaz a la que están acostumbrados. Este último punto, en mi opinión, es una de las mayores desventajas de este servicio; la otra es el costo de 220 dólares para migrar un grupo. Sentí que, si iba a molestarme en migrar un grupo, sería bueno actualizar la interfaz a algo más moderno, pero que aún conservara la capacidad de usarse como lista de correo.

Si tu grupo tiene muchas fotos o archivos subidos, quizás quieras considerar otro método para alojarlos. De lo contrario, puedes publicarlos en temas de tu sitio, quizás en categorías separadas. Si tienes otros tipos de datos allí (por ejemplo, bases de datos o calendarios) que quieras conservar, tendré que dejar a otros la mejor manera de migrarlos.

Preparación

La clave de este proceso es la herramienta de Yahoo «Obtén mis datos», que te permitirá descargar ciertos datos de tus grupos. Específicamente, te permitirá obtener:

  • Todos los mensajes de todos los grupos de los que eres miembro, y
  • Todos los archivos subidos (pero no las fotos) de todos los grupos de los que eres miembro.

Los mensajes descargados vienen en formato .mbox e incluyen direcciones de correo electrónico completas, independientemente de si eres moderador o administrador del grupo.

Esta herramienta te permite enviar una solicitud. Una vez que Yahoo la procese, recibirás una notificación por correo electrónico indicando que tu descarga está lista; en mi caso, eso tardó aproximadamente una semana.

Como se mencionó anteriormente, la herramienta «Obtén mis datos» no descarga fotos. Para estas, utilicé GitHub - IgnoredAmbience/yahoo-group-archiver: Scrapes and archives a Yahoo groups email archives, photo galleries and file contents using the non-public API · GitHub. También descarga todos los demás datos (y, que yo sepa, no hay forma de limitarlo), pero obtendrá las fotos junto con sus metadatos.

Instalación

Instala siguiendo las instrucciones de discourse/docs/INSTALL-cloud.md at main · discourse/discourse · GitHub en un host VPS de tu elección (yo uso contabo.com, pero no hay escasez de proveedores de VPS). Obtén un dominio si aún no tienes uno (freenom.com si quieres uno gratis; easydns.com o name.com funcionan bien para mí como registradores de pago). Configura el DNS usando tu host preferido (me gusta cloudflare.com para esto). Configura el correo saliente (usé mailgun.com) y el entrante siguiendo Configure direct-delivery incoming email for self-hosted sites with Mail-Receiver.

Configura tu instalación como desees; la importación no sobrescribirá nada que ya hayas configurado.

Migrar mensajes

La herramienta «Obtén mis datos» te proporcionará un único archivo .zip. Tendrá un directorio para cada grupo del que eres miembro, y en cada directorio habrá messages.zip y files.zip. Cuando descomprimes messages.zip, tendrás archivos .mbox que contienen todos los mensajes del grupo, con tantos archivos de 10 MB como sean necesarios para contenerlos (fueron 15 para los 38.000 mensajes del grupo que estaba migrando). Una vez que los tengas, puedes seguir las instrucciones de Migrate a mailing list to Discourse (mbox, Listserv, Google Groups, etc) para importarlos a tu instalación de Discourse. Si tienes usuarios existentes, el script emparejará los mensajes con esos usuarios por dirección de correo electrónico. Cualquier dirección de correo electrónico que no tenga un usuario correspondiente creará un nuevo usuario.

Problemas

Dado que la creación de usuarios se basa en el correo electrónico, los usuarios de Yahoo que han cambiado sus direcciones de correo electrónico con el tiempo resultarán en múltiples usuarios en tu instalación de Discourse. El plugin de fusión de usuarios (Merge Users Plugin) debería abordar esto, aunque identificarlos seguirá siendo un proceso manual.

Conclusión

Ese es mi punto en este momento: mi sitio está funcionando, los mensajes están allí, los usuarios están allí, y ahora se trata de experimentar y ajustar. Espero que esto ayude a otros a dar el salto y mover sus grupos de Yahoo a un sitio basado en Discourse en lugar de quedarse con más de lo mismo.

21 Me gusta