Mesclando contas de usuário

:bookmark: Este guia explica como mesclar várias contas de usuário em uma única conta do Discourse. Ele abrange a mesclagem de usuários não-staff através da interface do Discourse e a mesclagem de usuários staff via console.

:person_raising_hand: Nível de usuário necessário: Administrador

A mesclagem de contas de usuário no Discourse permite combinar várias contas em uma única. Este processo pode ser útil em vários cenários:

  1. Quando um usuário cria várias contas, talvez por ter esquecido seu registro anterior.
  2. Se um usuário criar uma nova conta com um novo endereço de e-mail em vez de atualizar o existente.
  3. Quando um usuário deseja consolidar várias contas usadas para diferentes finalidades (por exemplo, pessoal, empresarial ou testes) em uma única conta.

Mesclagem de usuários não-staff

Administradores podem mesclar usuários não-staff diretamente através da interface do Discourse.

:warning: Esta ação é irreversível. A conta de usuário de origem será excluída após a mesclagem.

Para mesclar dois usuários não-staff:

  1. Navegue até a página de administração de usuário do usuário de origem (a conta da qual você deseja mesclar).
  2. Role até o final da página.
  3. Clique no botão “Mesclar”.
  4. Na primeira janela pop-up, insira o nome de usuário da conta de destino (a conta para a qual você deseja mesclar) e clique em “Transferir e Excluir”.
  5. Um diálogo de confirmação aparecerá. Digite o texto de confirmação mostrado (por exemplo, transfer @source to @target) e clique em “Transferir e Excluir” para iniciar a mesclagem.

:information_source: Mesclar contas grandes pode ser intensivo em recursos e pode levar algum tempo para ser processado, dependendo da quantidade de dados associada ao usuário de origem.

O que é mesclado?

Ao mesclar contas de usuário, o Discourse combina dados de mais de 50 tabelas, incluindo:

  • Publicações e tópicos
  • Curtidas enviadas e recebidas
  • Mensagens privadas
  • Informações do perfil do usuário
  • Preferências e configurações do usuário
  • Ações e atividades do usuário (por exemplo, marcadores, visualizações de tópicos)
  • Distintivos e conquistas
  • Nível de confiança e associações a grupos
  • Contas associadas (por exemplo, logins sociais)

Em caso de conflitos, os detalhes do usuário de destino são mantidos. Se ambos os usuários tinham um usuário anônimo associado à sua conta, aquele pertencente ao usuário de origem será perdido.

:warning: Links de entrada que referenciam o usuário de origem (por exemplo, https://discourse.example.com/t/some-topic/17/3?u=source_username) não serão associados ao usuário de destino após a mesclagem.

Nota importante sobre mesclar usuários e o DiscourseConnect

A mesclagem de contas de usuário pode potencialmente impactar o DiscourseConnect (anteriormente SSO), dependendo da implementação:

  • Se o DiscourseConnect for baseado em endereço de e-mail, não deve haver problemas, desde que o e-mail da conta de destino seja usado no sistema DiscourseConnect. Observe que o e-mail do usuário de origem se tornará um e-mail secundário na conta de destino após a mesclagem, o que pode causar problemas de login se esse e-mail for usado posteriormente com o DiscourseConnect. Considere remover e-mails secundários após a mesclagem, se necessário.
  • Se o sistema DiscourseConnect usar um ID de usuário exclusivo diferente do ID de usuário do Discourse, a mesclagem pode causar problemas se o ID exclusivo da conta de origem não estiver corretamente mapeado para a conta de destino.

Mesclagem de usuários staff

Por motivos de segurança, a mesclagem de usuários staff deve ser feita via console.

:information_source: Se seu site está hospedado no Discourse, entre em contato com team@discourse.org para assistência com a mesclagem de usuários staff.

Para mesclar usuários staff via console:

root@host:/var/discourse# ./launcher enter app
root@host-app:/var/www/discourse# rake users:merge['source_username','target_username']

Users merged!

root@host-app:/var/www/discourse#

:warning: Certifique-se de que não há espaços antes ou depois da vírgula no comando.

Perguntas frequentes (FAQs)

P: O que acontece se o processo de mesclagem parecer travado?
R: Se a tela de progresso da mesclagem não mostrar nenhuma mudança por um período prolongado, tente atualizar a página. A mesclagem pode ter sido concluída, mas a interface não foi atualizada.

P: Posso desfazer uma mesclagem de usuário?
R: Não, uma vez que dois usuários são mesclados, a ação não pode ser desfeita. A conta de usuário de origem é permanentemente excluída após a mesclagem.

P: A mesclagem de usuários afetará suas publicações e tópicos?
R: Todas as publicações e tópicos do usuário de origem serão transferidos para o usuário de destino. A autoria desses itens será alterada para refletir o usuário de destino como o criador.

10 curtidas

Uma postagem foi dividida em um novo tópico: Botão de mesclar usuário desapareceu no meu site

Também encontramos outra situação complicada com a fusão e o SSO.

  1. O usuário cria uma conta SSO na Organização A com um endereço de e-mail de primeiro.ultimo@organizacaoA.com
  2. O usuário se muda para a Organização B e cria uma conta SSO com um endereço de e-mail de primeiro.ultimo@organizacaoB.com
  3. Nós fundimos as duas contas
    1. O endereço de e-mail principal do usuário agora é primeiro.ultimo@organizacaoB.com
    2. MAS o processo de fusão deixa primeiro.ultimo@organizacaoA.com como o endereço de e-mail SECUNDÁRIO
  4. O usuário volta para a Organização A, tenta fazer login via SSO com primeiro.ultimo@organizacaoA.com e fica preso no seguinte loop de login com esta mensagem do Discourse: Slow down, you’re making too many requests (Desacelere, você está fazendo muitas requisições)

Para corrigir, removemos primeiro.ultimo@organizacaoA.com do endereço de e-mail SECUNDÁRIO na conta mesclada na etapa nº 3. Isso criou outra conta nova, que então mesclamos com a conta primeiro.ultimo@organizacaoB.com.

Também ajustamos nosso processo de fusão para que, após a fusão, removamos imediatamente o endereço de e-mail secundário na conta.