Grande projeto de migração do fórum vBulletin

Olá,

Estou no processo de encontrar um futuro para um fórum vBulletin 4 enorme (mais de 12 milhões de posts, 100 mil usuários).

Estou estudando o Discourse como opção, mas várias perguntas surgem e não consigo encontrar respostas satisfatórias nesta fase, então talvez eu possa ter uma melhor compreensão fazendo as perguntas diretamente.

Este fórum pertence a uma empresa e, embora não gere receita, ainda é um local importante para sua comunidade.

1/ Não entendo a filosofia por trás do “contêiner único faz tudo”. Para mim, o Docker é sobre a separação de microsserviços e sua interconexão através da rede Docker. Estou acostumado a executar projetos multi-contêineres (até 10/12 contêineres com redis, postgresql e assim por diante) usando apenas ferramentas Docker.
Li o tópico aqui: Can Discourse ship frequent Docker images that do not need to be bootstrapped?, mas não tenho certeza sobre a justificativa. Quando vejo todos os arquivos exec nos arquivos compose disponíveis, acho que há um mal-entendido entre o que um arquivo compose deveria fazer em comparação com o que um Dockerfile deveria fazer.
Atualizações de código devem acionar novas compilações de imagens Docker que seriam baixadas e, em seguida, executadas com compose e variáveis de ambiente.
Vejo que alguém começou a fazer isso em um projeto do GitHub, mas presumo que não seja oficialmente suportado.
Alguém pode me dar uma explicação clara sobre o “porquê” da filosofia atual e se há algum plano para executá-lo como tantos projetos existem na Internet em 2023.

2/ A empresa proprietária do projeto usa o Google Workspace para os e-mails. Usei a configuração de retransmissão SMTP do Google para outros projetos e não pretendo usar outra coisa para poder trabalhar. Li coisas diferentes sobre isso neste fórum. Existe uma maneira clara de garantir que funcionará ou há uma chance de que não funcione (o que seria um impeditivo para nós)?

3/ Vi que existem scripts para executar migração do vBulletin (aqui: Migrate a vBulletin 4 forum to Discourse), mas isso dá instruções contraditórias, como usar o guia, mas personalizar o contêiner com arquivos Gem. Qual o impacto disso na manutenibilidade ou suporte? A imagem ainda é suportada caso algo dê errado?

4/ Integração com outras ferramentas (principalmente Discord). Nesta fase, o fórum vBulletin tem seu próprio banco de dados de usuários. Existe uma maneira de transicionar “suavemente” de usuários do banco de dados local para usuários do Discord, por exemplo, onde poderíamos associar usuários ao seu login do Discord em algum momento?

5/ Existe um guia simples para temas que permitiria uma transição suave, pois tenho muitos usuários que se perderão e gostaria de ter o mínimo de ruído possível da migração em si…

Voltarei com provavelmente outro conjunto de perguntas, mas estas são as principais que tenho até agora.

Obrigado a todos que responderem a isso :slight_smile: todas as contribuições são muito apreciadas.

Isso é para pessoas que não sabem o que é administração de sistemas e precisam de suporte para fazê-lo funcionar. Para um fórum grande, você vai querer pelo menos uma instalação de 2 contêineres, ou talvez RDS e Elasticache em vez de criar o seu próprio.

Se você quiser lançar com um Dockerfile, precisará usar o launcher para construir seu contêiner e encontrar uma maneira de gerenciar migrações de banco de dados e pré-compilar ativos.

Se você sabe como usar o Google para e-mail transacional, tudo bem. A maioria das pessoas não sabe e nós não queremos ensiná-las.

Uma migração em larga escala para um fórum antigo geralmente precisa de muita personalização. Se executar sua migração em uma instância de desenvolvimento ou em uma instância de produção dentro do docker é uma questão de gosto. Eu costumava fazer isso em uma instância de desenvolvimento, mas hoje em dia executo todas as minhas migrações no docker. Descobrir como instalar todas as várias peças pode ser frustrante.

Você quer dizer “discord” ou “Discourse”? Ou talvez você queira Configure Discord Login for Discourse?

O que quer que você faça, as pessoas odeiam mudanças. Não acho que tentar fazer o Discourse parecer com o vBulletin ajude. Se você quer que seu fórum se comporte como o vBulletin, então continue usando-o. Existem muitos temas que fazem muitas coisas. Não há realmente um guia, exceto Search results for '#theme-component' - Discourse Meta. Você pode pesquisar lá.

Uma coisa que acho que alguém perdeu é que, embora da primeira vez que você executar o script ele leve dias, as execuções subsequentes são mais rápidas porque pulam os dados já importados, então a execução final não levará muito tempo.

1 curtida

Bem-vindo :wave:

Responderei apenas a isso, pois não sou competente nas outras áreas. Falarei sobre a transição suave mais adiante em meu post.

Em termos de personalização, você pode editar o CSS de um editor embutido, além de adicionar Javascript e usar a API JS específica do Discourse. Visualmente falando, se você não gostar de algo, basta ocultá-lo ou alterá-lo.

O guia oficial de temas está aqui: Developing Discourse Themes & Theme Components.

Ele pode não estar completamente atualizado, pois estamos atualmente atualizando algumas coisas de JS a longo prazo.

Cerca de 100% dos temas, componentes de tema e plugins publicados aqui são de código aberto, então você sempre pode dar uma olhada em seu código para construir suas próprias soluções.

Um tema é basicamente uma skin com ou sem recursos adicionados.
Um componente de tema geralmente adiciona recursos.
Um plugin adiciona recursos mais profundos do lado do servidor.

Para minhas próprias comunidades, tento usar apenas personalizações oficiais ou outras de autores ou empresas confiáveis e bem estabelecidas como pavilion. E também pessoais, é claro, pois posso mantê-las eu mesmo.

Temas e componentes de tema podem ser adicionados e removidos em tempo de execução, enquanto a instalação e desinstalação de um plugin requer uma reconstrução do aplicativo pela linha de comando (15-10 minutos de inatividade).


Quanto a uma transição suave para uma comunidade que alivie a confusão ou raiva dos usuários, isso às vezes é complicado. Obviamente, uma pontuação de felicidade de 100% é quase impossível.
Além disso, algumas comunidades são definitivamente mais conservadoras ou barulhentas do que outras e reagirão de acordo.

Do ponto de vista do usuário, eu diria que as críticas mais recorrentes que foram feitas são:

  • Chega de paginação
    Foi substituída por uma linha do tempo interativa. Ambos têm prós e contras. Ocasionalmente, ouvi pessoas que não conseguiram se ajustar a essa mudança.
    Minha própria experiência em 3 migrações de fóruns pequenos e médios é que ninguém em minhas comunidades teve uma experiência negativa com a linha do tempo.

  • A interface é complicada
    A interface tem mais elementos do que no passado, pois recursos foram adicionados ao longo do tempo. O menu de notificações cresceu, a barra lateral foi introduzida e um recurso de chat foi adicionado (que pode não ser necessário se você tiver um servidor Discord).
    Estamos muito cientes da complexidade da interface e definitivamente gostaríamos de ter partes mais simplificadas.
    Definitivamente há uma curva de aprendizado com o Discourse. Embora seja um fórum com os mesmos recursos de qualquer outro software de fórum (postar tópicos, postar respostas/MPs, só isso…), ele diverge daqui em termos de interface e recursos adicionados. Eu diria que a maioria das pessoas não tem problemas particulares com isso, mas a comunidade deste fórum pode ser tendenciosa, pois a maioria das pessoas aqui conhece o Discourse.
    Quando você se acostuma com a interface, não vê mais ruído e se concentra nos recursos que realmente usa, mas entendo que essa não é exatamente a sua preocupação aqui, pois você está focado na migração/transição.

Existem duas ferramentas embutidas que ajudam as pessoas a entender a interface e os recursos.

  1. @discobot. É um usuário bot interativo com o qual podemos interagir, e ele nos ensina a usar alguns recursos de discussão.

  2. Dicas para novos usuários. Ao se registrar, tooltips aparecerão na interface para explicar diferentes partes. Você pode desativá-lo a qualquer momento de qualquer tooltip e optar por ativá-lo novamente em suas preferências de usuário.

Do ponto de vista do administrador, seria:

  • Existem muitas configurações
    Sim, existem muitas opções no Discourse. Configurar cuidadosamente o fórum levará horas e provavelmente precisará de ajustes até que você esteja satisfeito. A coisa boa é que, quando é feito, raramente você volta a ajustar as configurações.
    Sabemos que muitas configurações podem ser intimidantes e às vezes dificultam a localização de algo. Há espaço para melhorias.

Finalmente, você pode usar o sandbox do usuário em try.discourse.org.
Não há sandbox de administrador. Quando quero experimentar coisas em nível de administrador, geralmente configuro um servidor Hetzner de baixa especificação (cobrado por hora) no qual instalo o Discourse por algumas horas ou dias.

3 curtidas