Mesclando contas de usuário

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

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

Mesclar contas de usuários no Discourse permite combinar várias contas em uma única. Esse 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 cria 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 propósitos (por exemplo, pessoal, empresarial ou de teste) em uma única conta.

Mesclando usuários não membros da equipe

Administradores podem mesclar usuários não membros da equipe 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 membros da equipe:

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

:information_source: A mesclagem de grandes contas pode ser intensiva em recursos e pode levar algum tempo para processar, dependendo da quantidade de dados associados ao usuário de origem.

O que é mesclado?

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

  • Postagens e tópicos
  • Curtidas dadas e recebidas
  • Mensagens pessoais
  • 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)
  • Emblemas e conquistas
  • Nível de confiança e filiaçõ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 tivessem um usuário anônimo associado à sua conta, o 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.

Observação importante sobre a mesclagem de usuários e DiscourseConnect

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

  • Se o DiscourseConnect for baseado no 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 único diferente do ID de usuário do Discourse, a mesclagem pode causar problemas se o ID único da conta de origem não for mapeado corretamente para a conta de destino.

Mesclando membros da equipe

Por razões de segurança, a mesclagem de membros da equipe deve ser feita via console.

:information_source: Se seu site for hospedado com o Discourse, entre em contato com team@discourse.org para obter assistência na mesclagem de membros da equipe.

Para mesclar membros da equipe 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

P: O que acontece se o processo de mesclagem parecer travar?
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ários?
R: Não, uma vez que dois usuários sejam 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 postagens e tópicos?
R: Todas as postagens 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 Curtiram

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.

1 Curtiu

Por que isso acontece? (Por que eles não são simplesmente mesclados também?)

Li sobre como mesclar contas aqui, mas no fórum, sendo eu admin, o botão de mesclar não aparece ao lado do botão de Anonimizar Usuário? :man_shrugging:

Ao mesclar contas, qual delas é mantida? Como você garante que a correta seja mantida? A mesclagem é feita a partir da conta que você deseja excluir ou da que deseja manter?

Usando a terminologia acima, o usuário “source” é excluído e seus posts etc. são transferidos para o usuário “target”. Fiz isso pela primeira vez há alguns dias e funcionou perfeitamente.

2 Curtiram