Migrar um fórum phpBB3 para Discourse

Existe alguma maneira de contornar isso? Muitos fóruns têm usuários que se inscreveram com endereços de e-mail aos quais não têm mais acesso e estão usando senhas com menos de 10 caracteres.

1 curtida

Você pode alterar o comprimento mínimo da senha para 8 nas configurações do site.

Pessoas que não conseguem usar suas senhas podem receber um link de login ou um link de redefinição de senha enviado a elas.

2 curtidas

Sim, existe uma configuração do site migratepassword allow insecure passwords, basta ativá-la.

Certifique-se de ativar isso DEPOIS da importação, não durante a importação.

4 curtidas

5 posts foram divididos em um novo tópico: Caracteres acentuados ausentes

rank_mapping:
   trust_level_1: 200
   trust_level_2: 1000
   trust_level_3: 3000

Como isso funciona exatamente? Preciso criar ranks personalizados no phpBB (onde só posso definir um número diferente de posts totais como critério) ou o importador verifica cada usuário pelo número total de posts e atribui o nível de confiança no Discourse de acordo?

Obrigado! :slight_smile:

1 curtida
# Mapeamento de classificação para nível de confiança
  #
  # Mapeia os níveis de classificação do phpBB 3.x para o nível de confiança
  # Usuários com classificação de pelo menos 3000 terão TL3, etc.
      trust_level = @settings.trust_level_for_posts(row[:user_posts], trust_level: trust_level)

Portanto, é apenas mapear o número de postagens que eles criaram para vários níveis de confiança. Minha inclinação seria definir todos no TL1 e deixá-los passar pelos níveis do Discourse a partir daí; não é tão difícil chegar ao TL2.

Mas em algum momento, alguém que estava migrando para o Discourse achou importante ajustar os níveis de confiança para seus usuários e o programador achou mais fácil codificar isso do que discutir com eles. :slight_smile:

4 curtidas

Sim, você está certo. Eu também preferiria isso. Eu só queria ter certeza de que entendi o recurso corretamente. :slight_smile:

3 curtidas

Não instalará ruby-bbcode-to-md, como se IMPORT=1 fosse inválido.

mike@ubuntu:~/discourse/script/import_scripts$ IMPORT=1 bundle exec ruby phpbb3.rb phpbb3/settings.yml
Traceback (most recent call last):
	40: from phpbb3.rb:13:in `<main>'
	39: from phpbb3.rb:14:in `<module:ImportScripts>'
	38: from phpbb3.rb:15:in `<module:PhpBB3>'
	37: from phpbb3.rb:15:in `require_relative'
	36: from /home/mike/discourse/script/import_scripts/phpbb3/support/settings.rb:5:in `<top (required)>'
	35: from /home/mike/discourse/script/import_scripts/phpbb3/support/settings.rb:5:in `require_relative'
	34: from /home/mike/discourse/script/import_scripts/base.rb:16:in `<top (required)>'
	33: from /home/mike/discourse/script/import_scripts/base.rb:16:in `require_relative'
	32: from /home/mike/discourse/config/environment.rb:7:in `<top (required)>'
	31: from /home/mike/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/railties-7.0.3.1/lib/rails/application.rb:372:in `initialize!'
	30: from /home/mike/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/railties-7.0.3.1/lib/rails/initializable.rb:60:in `run_initializers'
	29: from /home/mike/.rbenv/versions/2.7.0/lib/ruby/2.7.0/tsort.rb:205:in `tsort_each'
	28: from /home/mike/.rbenv/versions/2.7.0/lib/ruby/2.7.0/tsort.rb:226:in `tsort_each'
	27: from /home/mike/.rbenv/versions/2.7.0/lib/ruby/2.7.0/tsort.rb:347:in `each_strongly_connected_component'
	26: from /home/mike/.rbenv/versions/2.7.0/lib/ruby/2.7.0/tsort.rb:347:in `call'
	25: from /home/mike/.rbenv/versions/2.7.0/lib/ruby/2.7.0/tsort.rb:347:in `each'
	24: from /home/mike/.rbenv/versions/2.7.0/lib/ruby/2.7.0/tsort.rb:349:in `block in each_strongly_connected_component'
	23: from /home/mike/.rbenv/versions/2.7.0/lib/ruby/2.7.0/tsort.rb:431:in `each_strongly_connected_component_from'
	22: from /home/mike/.rbenv/versions/2.7.0/lib/ruby/2.7.0/tsort.rb:350:in `block (2 levels) in each_strongly_connected_component'
	21: from /home/mike/.rbenv/versions/2.7.0/lib/ruby/2.7.0/tsort.rb:228:in `block in tsort_each'
	20: from /home/mike/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/railties-7.0.3.1/lib/rails/initializable.rb:61:in `block in run_initializers'
	19: from /home/mike/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/railties-7.0.3.1/lib/rails/initializable.rb:32:in `run'
	18: from /home/mike/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/railties-7.0.3.1/lib/rails/initializable.rb:32:in `instance_exec'
	17: from /home/mike/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/railties-7.0.3.1/lib/rails/application/finisher.rb:68:in `block in <module:Finisher>'
	16: from /home/mike/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/activesupport-7.0.3.1/lib/active_support/reloader.rb:88:in `prepare!'
	15: from /home/mike/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/activesupport-7.0.3.1/lib/active_support/callbacks.rb:106:in `run_callbacks'
	14: from /home/mike/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/activesupport-7.0.3.1/lib/active_support/callbacks.rb:595:in `invoke_before'
	13: from /home/mike/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/activesupport-7.0.3.1/lib/active_support/callbacks.rb:595:in `each'
	12: from /home/mike/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/activesupport-7.0.3.1/lib/active_support/callbacks.rb:595:in `block in invoke_before'
	11: from /home/mike/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/activesupport-7.0.3.1/lib/active_support/callbacks.rb:200:in `block in halting'
	10: from /home/mike/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/activesupport-7.0.3.1/lib/active_support/callbacks.rb:686:in `block in default_terminator'
	 9: from /home/mike/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/activesupport-7.0.3.1/lib/active_support/callbacks.rb:686:in `catch'
	 8: from /home/mike/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/activesupport-7.0.3.1/lib/active_support/callbacks.rb:687:in `block (2 levels) in default_terminator'
	 7: from /home/mike/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/activesupport-7.0.3.1/lib/active_support/callbacks.rb:199:in `block (2 levels) in halting'
	 6: from /home/mike/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/activesupport-7.0.3.1/lib/active_support/callbacks.rb:445:in `block in make_lambda'
	 5: from /home/mike/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/activesupport-7.0.3.1/lib/active_support/callbacks.rb:445:in `instance_exec'
	 4: from /home/mike/discourse/config/initializers/002-freedom_patches.rb:9:in `block in <main>'
	 3: from /home/mike/discourse/config/initializers/002-freedom_patches.rb:9:in `each'
	 2: from /home/mike/discourse/config/initializers/002-freedom_patches.rb:11:in `block (2 levels) in <main>'
	 1: from /home/mike/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/zeitwerk-2.6.6/lib/zeitwerk/kernel.rb:31:in `require'
/home/mike/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/zeitwerk-2.6.6/lib/zeitwerk/loader/callbacks.rb:25:in `on_file_autoloaded': expected file /home/mike/discourse/lib/freedom_patches/copy_file.rb to define constant FreedomPatches::CopyFile, but didn't (Zeitwerk::NameError)

Apenas fazendo um “bump” descarado… Porque terei que fazer duas novas migrações de phpBB em breve (defendendo o Discourse o máximo que puder :partying_face:). Não há pressa nenhuma.
As migrações poderiam até esperar alguns meses ou um pouco mais, mas se você tiver alguma notícia sobre esta informação, seria bom :slight_smile:

2 curtidas

Bem, 2022 foi otimista… :blush: Outras tarefas foram priorizadas na minha lista de afazeres, mas as coisas estão se resolvendo, então algo acontecerá em 2023. E espero que o quanto antes. :crossed_fingers:

3 curtidas

Acabei de executar uma importação do phpBB para o que eu acho que era um fórum 3.3. Pareceu funcionar bem (exceto pelo plugin Solved que eles estavam usando e algumas tags [tex2] que precisam ser substituídas por $$, mas eu esperava que isso não funcionasse). A menos que você tenha um fórum enorme (25 mil usuários e ~300 mil posts levaram 17 horas em hardware não muito rápido), você pode ir em frente e tentar.

4 curtidas

Claro, obrigado pelas informações!
Mas estou muito curioso sobre as alterações feitas. Eu adoraria dar uma olhada no código e vê-lo em ação, já que não tenho uma data específica para fazer minhas migrações :slight_smile:

1 curtida

Olá, sou novo aqui, então desculpe pela pergunta estúpida:

O que exatamente o parâmetro site_name no arquivo settings.yml deve conter? Não entendo o que é necessário aqui. Recebi este erro:

A importação do phpBB3 está começando...

/var/www/discourse/script/import_scripts/phpbb3/support/settings.rb:49:in `initialize': undefined method `[]' for nil:NilClass (NoMethodError)

      @site_name = import_settings["site_name"]
                                  ^^^^^^^^^^^^^
    from /var/www/discourse/script/import_scripts/phpbb3/support/settings.rb:11:in `new'
    from /var/www/discourse/script/import_scripts/phpbb3/support/settings.rb:11:in `load'
    from script/import_scripts/phpbb3.rb:20:in `<module:PhpBB3>'
    from script/import_scripts/phpbb3.rb:16:in `<module:ImportScripts>'
    from script/import_scripts/phpbb3.rb:15:in `<main>'

Estou tentando importar apenas um fórum (versão phpBB 3.3.8). Quando deixo em branco ou digito algo como ‘primeiro’ ou ‘dominio.com’, etc., ainda recebo este erro.
Obrigado pela ajuda e paciência.

Defina como qualquer coisa. Mesmo uma string vazia.

Então você está definindo em algum lugar errado ou há um erro de digitação, eu acho.

2 curtidas

Obrigado pela sua resposta. Recriei o settings.yml do zero, copiei o código bruto do github e agora funciona perfeitamente :+1:

3 curtidas

20 posts foram divididos em um novo tópico: Migrando do phpbb (histórico de versão instalado: 3.2.1 - 3.2.8) com um banco de dados postgresql

Isso se provou falso. O plano é reestruturar todos eles em scripts no estilo bulk_import? Você tem uma nova estimativa de como seria esse cronograma?

3 curtidas

Sim, esse é mais ou menos o plano. Infelizmente, não posso dizer quando será lançado, pois não é a prioridade mais alta no momento, mas planejamos melhorar as importações nos próximos 6 a 12 meses. Minha esperança é que haja algo utilizável até lá.

3 curtidas

PR para outra melhoria simples. Anexos do phpbb têm um comentário de texto que é exibido abaixo do anexo em uma postagem.

Adicionei suporte para isso. Ele adiciona o comentário em itálico abaixo da imagem no Discourse.

4 curtidas