Mesclar Discourse e SMF

Olá!

Tenho a seguinte pergunta:
Desde 2017, tenho um fórum SMF com cerca de 4000 posts.
No ano passado, tive em paralelo um fórum Discourse com cerca de 1000 posts, mas ele não está online no momento, pois voltei para o SMF em dezembro de 2021.
Bem, eu simplesmente não gosto mais do SMF, então gostaria de migrá-lo para o Discourse, mas também gostaria de trazer os 1000 posts do fórum Discourse.
Do fórum Discourse, tenho um backup, e do SMF não há problema em fazer um backup.

Migrar o SMF para o Discourse não deve ser um problema, embora eu nunca tenha tentado.
Tenho que admitir que ambos têm categorias semelhantes, mas há diferenças.

É possível mesclar ambos os fóruns em um?
Se sim, qual é a melhor maneira de fazer isso?

Do SMF, preciso apenas dos usuários, que são os mesmos em ambos os fóruns (mais ou menos), e dos posts. Em princípio, todos os posts do fórum SMF poderiam ser importados para uma categoria separada, eu mesmo os moveria para as categorias corretas (ou simplesmente os deixaria lá como uma espécie de arquivo).

Minha abordagem seria a seguinte:

  1. Faço um backup do SMF atual e o importo para um 2º SMF e movo todos os tópicos e posts para lá em uma única categoria, e faço um backup disso novamente para importar para o Discourse.
  2. Coloco o fórum Discourse “antigo” de volta online. (com ou sem os 1000 posts?).
  3. Importo o backup do SMF.

Aqui tenho a pergunta se isso funciona, pois os tópicos e posts têm IDs e timestamps do SMF e estes estão vinculados a usuários, etc.

Honestamente, não tenho ideia de como proceder e se é possível.
O script já está adaptado para SMF 2.1.x?

Qualquer ajuda é bem-vinda!

Não tenho certeza se o Discourse suporta backups nativos do SMF. Sei que a equipe oficial do Discourse pode ajudar com migrações, mas não sei o custo. No passado, usei a API do Discourse para migrar grandes quantidades de dados de fóruns. Criei minhas categorias no fórum Discourse. Uma vez feito, criei um script Python para raspar meu fórum antigo e popular o novo com tópicos, usuários, etc.

Na documentação existe uma instrução sobre como migrar de SMF para Discourse.

https://meta.discourse.org/docs?topic=90314

Um script para raspar os dados do SMF e importá-los para o Discourse seria bom, se eu pudesse programar tais coisas. :wink:

2 curtidas

Ah, ok. Eu não sabia que eles tinham documentação oficial sobre como migrar do SMF2. O seu fórum é um fórum SMF2 ou SMF1?

Sim e não, é um SMF 2.1.x, e o SMF mudou muito de 2.0.x para 2.1.x

E eu ainda tenho o problema de mesclar os dois fóruns.

1 curtida

ok. Obrigado por essa informação :slight_smile:
Em qual etapa do guia de migração você está tendo um problema?

1 curtida

ver também: Merge two Discourse sites into one

Com a ressalva de que eu não fiz migrações pessoalmente, minha abordagem seria:

  • migrar seus dados do SMF para uma nova instância
  • mesclar as duas instâncias do Discourse com o guia acima

Bem, todos nós temos nossos martelos, mas descobri que o script de mesclagem para sites DIscourse perde vários casos extremos (não me lembro bem quais eram agora). E então você tem duas transições para fazer.

Eu provavelmente executaria o script SMF sobre o site Discourse existente. Quando fiz isso, fiz ajustes para fazer coisas como ver que as categorias são mescladas e os usuários são alinhados entre os sites. Se você entende um pouco de programação, os scripts geralmente são fáceis de entender, mesmo que você não conheça Ruby.

2 curtidas

Bem, eu ainda não comecei.
Mas, minha pergunta era 1. se este script funciona com SMF2.1, e 2. se é possível mesclar um SMF em uma instância Discourse existente.

Eu totalmente perdi isso. Obrigado pela sua resposta. Acho que é assim que deve funcionar.

@pfaffman
Eu não preciso de tudo do SMF, apenas as postagens, tópicos e usuários.

Talvez eu tenha que mexer para fazer funcionar.

Isso é praticamente tudo que é importado. Provavelmente é mais fácil importar as categorias do que não importar.

Sim. E não há como saber o quanto de trabalho haverá até que você tente.

Acho que farei os seguintes passos:

  1. Pegarei meu SMF e moverei todos os tópicos (com posts) para uma categoria e então farei um backup do banco de dados.
  2. Instalarei um Discourse novo e importarei o backup do SMF (espero que o script de importação funcione com SMF 2.1).
  3. Excluirei e reinstalarei o Discourse e então farei o upload do meu backup do Discourse com as configurações e posts.
  4. Fundirei os dois fóruns do Discourse em um com o guia que o @supermathie linkou.

Espero que funcione, caso contrário, precisarei pagar alguém para fazer isso por mim.