Como engajar melhor o Discourse para uma revista WordPress maior?

Olá. Olá,
Eu gerencio uma grande revista online focada em tecnologia, https://www.svetandroida.cz/, e já tentamos no passado oferecer várias opções comunitárias (notificações, avaliações de usuários, karma, etc.) aos nossos usuários. Mas o WordPress não suporta nativamente esses recursos, e soluções de terceiros sempre apresentaram problemas após um tempo.

É por isso que decidimos deixar o WordPress puramente para o recurso de revista, que apenas exibirá conteúdo. O mais rápido e limpo possível. E mover completamente toda a parte comunitária para usuários no Discourse, que lida com essa tarefa muito melhor.

Essa configuração parece absolutamente ideal para mim. Mas gerenciamos a revista há cerca de 13 anos e, nesse período, tivemos centenas de milhares de comentários e dezenas de milhares de usuários registrados. Gostaria de ouvir suas opiniões sobre como tornar a integração do Discourse a mais elegante e, do ponto de vista dos usuários, a mais eficaz?

Fatos:

  • A revista no WordPress está em https://www.svetandroida.cz/
  • Gerenciamos a comunidade Discourse aqui https://komunita.svetandroida.cz/
  • queremos usar o Discourse para gerenciar contas de usuários, achamos que ele é melhor
  • publicamos cerca de 5 a 15 artigos todos os dias
  • temos dezenas de milhares de artigos (e já excluímos muitos deles :slight_smile:
  • comentando ativamente, há dezenas a poucas centenas de usuários
  • Temos o plugin WordPress para Discourse configurado e tudo parece funcionar bem, a única coisa que ainda não configuramos é o SSO
    • artigos que publicamos na revista WordPress são automaticamente publicados no Discourse como ocultos

O que preciso abordar e como abordo isso? Você consegue pensar em uma solução melhor?

Login do usuário
Usando plugins do WordPress, configurarei o DiscourseConnect Client e espero que ele não quebre ou bloqueie o acesso dos meus editores :). Espero que não. Brincadeira, mas é verdade que este é o único lugar que, mesmo após ler atentamente as discussões, ainda não tenho 100% de clareza.

Espero que, se um usuário quiser fazer login no site da revista WordPress (eles já têm uma conta no WordPress), uma conta seja criada automaticamente para ele no Discourse também.

Se por acaso isso não acontecer, provavelmente tudo bem para mim pedir a essas poucas dezenas de usuários para esquecerem suas contas de usuário existentes no WordPress e criarem novas no Discourse.

Comentários sobre o tema dos artigos
Atualmente, não encontrei uma maneira elegante de transferir os comentários dos nossos usuários que já foram publicados no WordPress para o Discourse recém-lançado. Se eu estiver errado, por favor, me direcione.

Portanto, os comentários já publicados permanecerão no WordPress e quaisquer novos serão publicados no Discourse.

Não transferiremos os comentários publicados no Discourse de volta para os artigos do WordPress, mas apenas colocaremos um link sob cada artigo do WordPress que levará ao Discourse (para aquele artigo específico do Discourse).

Da maneira como estamos atualmente, todos os artigos publicados são transferidos para o Discourse como ocultos e só se tornam visíveis quando alguém adiciona um novo comentário a ele no Discourse. Essa solução não é ruim, mas no nosso caso significa que eu, como administrador, verei milhares de tópicos ocultos no Discourse :frowning: .

Não há uma maneira mais elegante de resolver isso? Por exemplo, que um artigo do WordPress não seja transferido para o Discourse como oculto após a publicação, mas que um tópico do Discourse seja criado apenas quando alguém clicar no link abaixo do artigo do WordPress e adicionar um comentário?

Dessa forma, não haveria milhares de tópicos invisíveis no fórum.

E se fosse para ser absolutamente perfeito, então através de um “link mágico” do WordPress, o tópico do Discourse seria criado apenas temporariamente, e se por acaso nenhum comentário fosse adicionado e o usuário mudasse de ideia/saísse, o tópico seria excluído após algum tempo.

Obrigado por ler até aqui (estou enviando uma imagem de IA como recompensa) e aguardo suas ideias e insights.

2 curtidas

A funcionalidade do cliente DiscourseConnect funciona de maneira semelhante a outras formas de login social. Por exemplo, é semelhante a fazer login no WordPress através do Facebook, mas com seu site Discourse como provedor de autenticação em vez do Facebook. Isso significa que, antes que os usuários possam fazer login em seu site WordPress com DiscourseConnect, eles precisarão criar uma conta em seu site Discourse. Não criar uma conta Discourse não impedirá que nenhum usuário faça login em seu site WordPress. Quando o site WordPress é o cliente DiscourseConnect, o login normal de nome de usuário/senha no WordPress ainda está disponível.

Como você tem muitos usuários acostumados a fazer login em seu site WordPress, pode valer a pena considerar usar seu site WordPress como o provedor DiscourseConnect para seu site Discourse. Se você configurar as coisas dessa forma, todos os seus usuários existentes poderão fazer login facilmente em seu novo site Discourse. Tudo o que eles terão que fazer é clicar em um link em seu site WordPress. Detalhes sobre como construir um link para fazer isso estão aqui: Criar um link de login DiscourseConnect.

Parece que você deseja mover completamente o aspecto social do seu site do WordPress para o Discourse, então, possivelmente, esse seria um motivo para não usar seu site WordPress como provedor DiscourseConnect. Minha preocupação é que exigir que os usuários criem novas contas no Discourse, em vez de apenas fazer login em suas contas WordPress e clicar em um link para acessar o fórum, pode impedir que alguns usuários ingressem no novo site.

A principal coisa a ter em mente se você usar o WordPress como provedor DiscourseConnect é que, quando as coisas são configuradas dessa forma, ele se torna o único método de login para o Discourse. Isso significa que você não pode ter alguns usuários fazendo login no Discourse através do WordPress e outros usuários fazendo login no Discourse registrando contas com nome de usuário/senha no site Discourse. Todos os usuários terão que ter contas no WordPress para acessar o site Discourse.

Me diga se a distinção entre usar o WordPress como cliente DiscourseConnect e provedor DiscourseConnect não está clara para você.

É tecnicamente possível, mas não acho que exista um método bem testado para fazer isso. Pode haver outros membros desta comunidade que tenham ideias sobre como abordar isso.

Pode ser possível. Minha sensação é que isso poderia levar a problemas.

Em seu site Discourse, você pode filtrar tópicos não listados adicionando a seguinte string de consulta a um URL: ?status=listed. Por exemplo \u003chttps://meta.discourse.org/latest?status=listed\u003e. Existe um componente de tema existente que pode ser usado para alternar entre a visualização de tópicos “abertos” e “fechados”: Topic Status Filter. Se ainda não existir, seria muito fácil para alguém adicionar status “listado” e “não listado” a esse filtro. Mas acho que, para esse caso, você só gostaria que o filtro fosse visto por usuários da equipe.

Isso poderia ser realizado a partir do WordPress com uma solicitação de API que seria tratada por um cron job.

6 curtidas

Obrigado pelo seu tempo e resposta.
Sobre o DiscourseConnect, já está claro para mim, obrigado pela explicação detalhada. Então, vamos configurar o DiscourseConnect no WordPress como um cliente.

Os comentários antigos provavelmente não agregam valor suficiente para justificar o esforço de transferi-los do WordPress para o Discourse.

Mas essas discussões baseadas em artigos publicados ainda estão em minha mente :). O filtro é, de fato, uma solução para o administrador não ver os tópicos “ocultos”, mas de alguma forma não consigo desistir da ideia de que pode haver outra maneira.

Você mencionou que isso poderia levar a problemas, seria possível listar alguns estados problemáticos com os quais você está preocupado, por favor?

Com a API, provavelmente é uma solução, mas como não somos programadores, não consigo imaginar bem como funcionaria.

A forma como imagino que funcionaria é que, quando um usuário clicasse em um link para o tópico do Discourse (ainda não publicado), uma função seria acionada no back-end do WordPress para publicar o post no Discourse. Acionar a publicação do post no Discourse quando um usuário clica em um link é factível.

Os problemas que imagino:

  • para onde o link aponta se o post ainda não foi publicado? Não sabemos o URL do tópico no Discourse até que o tópico tenha sido publicado. Algo precisaria ser desenvolvido para que, quando o usuário clicasse no link, o tópico fosse publicado em segundo plano, e então, com base na resposta recebida do Discourse, o usuário fosse redirecionado para o tópico do Discourse.

  • Não tenho certeza do que aconteceria se seu site estivesse muito ocupado e muitos usuários estivessem clicando em links que acionassem a publicação de tópicos do Discourse ao mesmo tempo. Provavelmente ficaria tudo bem, mas parece um risco.

Editar: uma maneira de lidar com o primeiro problema seria apenas informar ao usuário o que está acontecendo e exibir uma mensagem “por favor, aguarde enquanto publicamos o tópico”. Assim que o tópico fosse publicado, um link para o tópico poderia ser gerado e o usuário poderia ser solicitado a clicar nele. O processo pode levar alguns segundos.

2 curtidas

Então, tudo poderia atender a um pequeno javascript que colocaria um link normal para engajar em uma discussão sob o artigo em um site WordPress. Primeiro, o javascript chamaria uma função (criar tópico no Discourse, o que o plugin WP já faz) e mostraria ao usuário que um tópico está sendo criado, e quando o javascript obtiver as informações do Discourse de que o tópico foi criado, ele redirecionaria o usuário para o tópico de comentários no Discourse.

Está correto, ou estou imaginando de forma muito simplista? :slight_smile:

Seria mais simples não redirecionar o usuário automaticamente, mas sim, o que você descreveu está correto. Após o usuário clicar no link para gerar o tópico, o script faria solicitações periódicas para obter o URL do tópico do servidor WordPress. Assim que tivesse o URL, ele redirecionaria o usuário para o tópico do Discourse.

2 curtidas