Como migrar do Yahoo Groups para o Discourse

Eu havia iniciado um tópico (Migration from Yahoo! Groups) buscando orientação sobre isso, e outro tópico (Yahoo Groups to Discourse migration?) também aborda o assunto. Aqui está o que desenvolvi para realizar a migração.

Contexto

A Yahoo anunciou algumas semanas atrás que estaria reduzindo significativamente os serviços disponíveis por meio do Yahoo Groups. A partir de 28 de outubro de 2019, eles desativaram o conteúdo enviado pelos usuários. Em 14 de dezembro de 2019, eles informaram que removeriam todo o conteúdo carregado, incluindo os arquivos de mensagens. Destaquei esse último ponto porque não era óbvio para mim inicialmente, e isso tornou a migração do grupo muito mais urgente. Eles afirmam que, a partir desse momento, o serviço continuará utilizável como uma lista de e-mail, mas sem arquivos no futuro.

Existe outro serviço no groups.io que é praticamente uma solução pronta para substituir o Yahoo Groups, e é meio que a escolha óbvia para quem deseja migrar um grupo do Yahoo — eles cuidam de mover tudo, e os usuários manterão a mesma interface à qual estão acostumados. Esse último ponto, na minha opinião, é uma das maiores desvantagens desse serviço; a outra é o custo de US$ 220 para migrar um grupo. Senti que, se fosse me dar ao trabalho de migrar um grupo, seria bom atualizar a interface para algo mais moderno, mas que ainda mantivesse a capacidade de ser usado como lista de e-mail.

Se o seu grupo tem muitas fotos ou arquivos carregados, talvez seja melhor considerar outro método para hospedá-los. Caso contrário, você pode postá-los em tópicos no seu site, talvez em categorias separadas. Se houver outros tipos de dados lá (por exemplo, bancos de dados ou calendários) que você deseja salvar, deixarei para outros a melhor maneira de migrá-los.

Preparação

A chave para esse processo é a ferramenta “Obter meus dados” da Yahoo, que permitirá baixar certos dados dos seus grupos. Especificamente, ela permitirá que você obtenha:

  • Todas as mensagens de todos os grupos dos quais você é membro, e
  • Todos os arquivos carregados (mas não as fotos) de todos os grupos dos quais você é membro.

As mensagens baixadas vêm no formato .mbox e incluem endereços de e-mail completos, independentemente de você ser moderador ou administrador do grupo.

Essa ferramenta permite enviar uma solicitação. Assim que a Yahoo processá-la, você receberá uma notificação por e-mail informando que o download está pronto — para mim, isso levou cerca de uma semana.

Como mencionado acima, a ferramenta “Obter meus dados” não baixa fotos. Para essas, usei GitHub - IgnoredAmbience/yahoo-group-archiver: Scrapes and archives a Yahoo groups email archives, photo galleries and file contents using the non-public API · GitHub. Ele baixa todos os outros dados também (e, até onde sei, não há como limitar isso), mas consegue as fotos junto com seus metadados.

Instalação

Siga as instruções em discourse/docs/INSTALL-cloud.md at main · discourse/discourse · GitHub para instalar em um host VPS de sua escolha (eu uso contabo.com, mas não há falta de provedores de VPS). Obtenha um domínio se ainda não tiver um (freenom.com se quiser um gratuito; easydns.com ou name.com funcionam bem para mim como registradores pagos). Configure o DNS usando seu host preferido (eu gosto do cloudflare.com para isso). Configure o envio de e-mail (eu usei mailgun.com) e a recepção de e-mail seguindo Configure direct-delivery incoming email for self-hosted sites with Mail-Receiver.

Configure sua instalação conforme desejar; a importação não sobrescreverá nada que você já configurou.

Migrar mensagens

A ferramenta “Obter meus dados” fornecerá um único arquivo .zip. Ele terá um diretório para cada grupo do qual você é membro, e em cada diretório haverá messages.zip e files.zip. Ao descompactar messages.zip, você terá arquivos .mbox contendo todas as mensagens do grupo, com quantos arquivos de 10 MB forem necessários para contê-las (foram 15 deles para as 38.000 mensagens do grupo que eu estava migrando). Uma vez que você os tenha, pode seguir as instruções em Migrate a mailing list to Discourse (mbox, Listserv, Google Groups, etc) para importá-los para sua instalação do Discourse. Se você já tiver usuários, o script associará as mensagens a esses usuários pelo endereço de e-mail. Qualquer endereço de e-mail que não tenha um usuário correspondente criará um novo usuário.

Problemas

Como a criação de usuários é baseada em e-mail, usuários do Yahoo que mudaram de endereço de e-mail ao longo do tempo resultarão em múltiplos usuários na sua instalação do Discourse. O plugin de mesclagem de usuários (Merge Users Plugin) deve resolver isso, embora identificá-los ainda seja um processo manual.

Conclusão

É isso que estou fazendo neste momento — meu site está funcionando, as mensagens estão lá, os usuários estão lá, e agora é só ajustar e refinar. Espero que isso ajude outros a se lançarem e migrarem seus grupos do Yahoo para um site baseado no Discourse, em vez de permanecerem com mais do mesmo.

21 curtidas