Posso pelo menos afirmar que isso não ocorre apenas nos casos em que postagens mais antigas linkam para postagens mais novas.
Tenho um exemplo onde encontrei o problema pela primeira vez.
ID da Postagem Original: 842948, que linka para a Página 22 de um tópico que já existia, e pelo menos a postagem inicial (&start=220) tem um ID menor que a postagem que faz o link (842880).
Após a importação, essa postagem original (que foi publicada apenas alguns dias antes da criação do backup) linka para um tópico de 7 anos atrás, onde a primeira postagem tem um ID original de 1353.
Não consigo encontrar nenhuma pista sobre por que isso acontece ou semelhanças entre os números de alguma forma… O link original era apenas uma URL postada de forma simples, que foi automaticamente linkada pelo phpBB. Esses links, em geral, não causam problemas — funcionam em vários outros lugares.
Em geral, não espero que a importação funcione perfeitamente logo de cara. Estou muito feliz com como foi até agora, mas presumo que esse problema possa ser um dos mais difíceis de corrigir, especialmente porque ainda não tenho ideia de como configurar um ambiente de desenvolvimento/debug com o Discourse. Talvez precise me aprofundar nisso em breve.
Pelo que me lembro, o importador do phpBB preenchia, por padrão, o nome completo do usuário no Discourse com base em uma suposição derivada do endereço de e-mail do usuário. Estou correto e isso ainda é verdade? Não consigo encontrar nada sobre isso nos arquivos do importador…
Isso é algo que eu não gostaria que acontecesse no próximo fórum que eu possa importar.
Além disso, outra pergunta.
No fórum phpBB atual, existem campos personalizados de usuário (como URLs do Facebook ou Instagram dos usuários). Gostaria de importar isso para campos personalizados no Discourse. Acredito que farei algo como: primeiro instalar e configurar o Discourse, adicionando esses campos personalizados de usuário, e depois importar os dados do phpBB por meio do meu script de importação personalizado.
Existe uma maneira confiável de estimar o volume mensal de e-mails que o Discourse enviará aos usuários após uma migração do phpBB? Novos registros de usuários, menções e respostas, resumos semanais e assim por diante… O phpBB envia muito poucos e-mails por padrão e acho que teremos que mudar o provedor de e-mail atual.
Atualmente, não tenho muitas estatísticas do phpBB real. Ele existe desde 2013, com 200.000 mensagens e 5.500 membros. Novos membros se registram todos os dias.
Com apenas 20 posts por dia, acho que você provavelmente estaria lidando com no máximo 3.000 e-mails por mês, o que está bem dentro do plano gratuito do Mailgun.
No entanto, como você está migrando com muitos usuários, recomendo desativar os e-mails de resumo para todos que não acessaram seu fórum nos últimos um ou dois meses (eles sempre podem ativá-los se quiserem). Você pode fazer isso com uma consulta no console do Rails, mas faz um ano que fiz isso no meu, então não me lembro do código exato, desculpe.
Isso, na verdade, deveria ser algo que o script de importação pudesse fazer por você, na minha opinião, idealmente com uma configuração para o tempo desde a última visita para habilitar os e-mails de resumo.
De fato Após minha primeira importação do phpBB para o meu fórum atual, precisei reduzir o valor padrão; meu provedor de e-mail bloqueou automaticamente o endereço utilizado devido a todos os e-mails de resumo enviados. Ele foi marcado como spam.
Não é exatamente a mesma coisa. Na minha opinião, há uma diferença entre enviar e-mails de resumo para alguém por X meses desde a última visita, quando essa pessoa se inscreveu para recebê-los — o fato de não visitar o fórum não significa que não esteja lendo os e-mails de resumo — e enviar e-mails de resumo para um usuário que nunca se inscreveu para recebê-los apenas porque ele se registrou no fórum anterior, o que pode até ser ilegal em algumas jurisdições! Você poderia simplesmente desativar os resumos para todos os usuários migrados, e eles poderiam ativá-los novamente por conta própria. Ou então fazer como eu fiz: desativá-los para todos, exceto para aqueles que visitaram o fórum no último mês e, portanto, teriam visto o anúncio de que “estamos prestes a migrar o fórum”. Acho que isso é um meio-termo justo.
Também é algo prático: nosso fórum phpBB ganhou milhares de contas de spammers no último ano, e enviar o resumo quatro vezes por mês para eles teria consumido toda a cota gratuita do Mailgun e depois começado a gerar custos elevados. Reduzir a opção “limpar usuários inativos após X dias” acabou limpando essas contas.
Não tenho certeza se isso pertence aqui ou em um tópico separado. Mas é sobre a migração do phpBB 3, então aqui estou.
Migrei com sucesso para o Discourse com 1 banco de dados. No entanto, tenho 3 comunidades diferentes e separadas (3 idiomas diferentes, 3 instalações diferentes do phpBB), que, idealmente, eu gostaria de mesclar em um único grande fórum Discourse.
Minha pergunta é: como eu faria isso? O que preciso alterar no script de importação / banco de dados do phpBB 3 / em qualquer outro lugar?
Há alguns usuários que têm contas em ambos os fóruns (alguns talvez até em todos os 3), mas não há autenticação única, então eles têm uma conta diferente em cada fórum com o mesmo nome de usuário. Todas são instalações diferentes e bancos de dados diferentes.
Isso não funcionará imediatamente, pois o script de importação armazena os IDs originais no banco de dados do Discourse e não importará dados de um fórum adicional se encontrar um registro com o mesmo ID. No entanto, consigo pensar em duas maneiras de resolver isso:
Difícil: Você precisará editar o script de importação em vários lugares e adicionar um prefixo para cada fórum aos campos personalizados import_id armazenados para posts, tópicos, categorias e usuários.
Fácil, mas você perderá a capacidade de importações incrementais: Exclua os campos personalizados após cada importação.
Após os primeiros testes antes do Ano Novo, estamos retomando o nosso projeto de migração. Um dos maiores problemas ainda é a falha na reescrita de links, e estou pensando na melhor forma de lidar com isso.
@gerhard meu conhecimento de programação é muito básico e não tenho nenhum conhecimento em Rails em geral ou na estrutura do Discourse em detalhes — portanto, peço paciência com a minha pergunta: haveria alguma chance de lidar com o caso em que o importador não encontra um post importado com o ID fornecido no link e, em vez de substituí-lo por um link incorreto, anexar algum texto que informe o usuário/administrador e torne esses links problemáticos encontráveis após a importação?
Minha principal preocupação com o funcionamento atual é que esses links parecem ter sido substituídos com sucesso, e não há como encontrá-los e corrigi-los manualmente após a importação.
Obrigado por qualquer ajuda que você possa me dar — é muito apreciada.
Uma maneira de fazer isso é reescrever o script para que ele não substitua esses links até que todas as postagens tenham sido importadas. Se precisar de ajuda e tiver um orçamento, entre em contato comigo ou publique em Marketplace.
Infelizmente, este projeto tem um orçamento reduzido e acho que o problema não é importante o suficiente para justificar gastar dinheiro com isso, mas é definitivamente bom saber que você estaria disponível para isso.
Outra pergunta: notei que o bbcode parece ser tratado de forma diferente durante a importação. [size], por exemplo, é simplesmente deixado como texto, enquanto [color] parece ser removido completamente. Eu queria reutilizar a cor e descobri que existe um plugin do Discourse para isso, mas então notei que ele também parece ser removido na importação. A postagem inicial diz que os bbcodes podem ser importados, mas não encontrei nenhuma configuração que controle quais deles podem ou não ser importados.
Se houver uma possibilidade, eu preferiria remover as tags de tamanho e deixar a cor. Há algo que estou perdendo sobre como isso é tratado e como isso poderia ser alterado?
Acabei de descobrir que os tópicos que foram podados no meu fórum phpBB e que eu achava que haviam sumido foram de alguma forma transferidos para o Discourse.
Estou tentando fazer isso, mas estou perdido nas instruções. A qual arquivo de configurações você se refere aqui? E quando devo fazer isso: antes ou depois da importação?
Obrigado antecipadamente!
edit: então acho que você se refere aos arquivos de configuração de emojis no Painel Administrativo (Admin CP)? Existe alguma maneira de fazer isso importando um arquivo de texto ou algo assim? Tenho cerca de 100 smilies personalizados e preferiria de alguma forma copiar esse mapeamento para o Discourse. Isso é possível? (Se eu pudesse copiar o arquivo smily.pak do phpBB para as configurações do Discourse de alguma forma?)
Acho que o phpBB lida com tópicos podados de forma diferente dos tópicos deletados normalmente. Nesse caso, isso não é suportado no momento. Você precisará descobrir como o phpBB marca tópicos podados como deletados e ajustar o script de importação.
Certo, claro! Faz muito tempo desde que fiz a primeira conversão. Eu tinha esquecido completamente disso, obrigada!
Sobre os tópicos podados, sim, achei que fosse algo assim. Não é um grande problema para o meu fórum, mas foi surpreendente e talvez seja bom avisar aos outros que isso pode acontecer.