À partir de Discourse 2.5.0.beta3, les administrateurs du site peuvent fusionner des utilisateurs non membres du personnel sans avoir besoin d’accéder à la console. Pour des raisons de sécurité, la fusion des utilisateurs du personnel doit toujours être effectuée via la console.
Rendez-vous sur la page d’administration des utilisateurs et sélectionnez « Fusionner » en bas de la page.
![]()
Entrez le nom d’utilisateur dans lequel vous souhaitez fusionner le compte, puis cliquez sur « Transférer et supprimer @nomdutilisateur » pour lancer le processus de fusion.
La tâche rake pour fusionner les utilisateurs est désormais disponible sur tests-passed. ![]()
Les utilisateurs peuvent être fusionnés en exécutant :
rake users:merge['source_username','target_username']
(note : assurez-vous qu’il n’y a pas d’espace avant ou après la virgule)
Cela fusionne les données de l’utilisateur source dans l’utilisateur cible avant de supprimer l’utilisateur source. Le contenu de 45 tables est fusionné, donc selon la quantité de données associées à l’utilisateur source, ce processus peut prendre un certain temps.
Les développeurs de plugins peuvent se connecter au processus de fusion en gérant l’événement :merging_users. Je l’ai déjà implémenté pour le plugin des sondages, qui fusionne les votes des deux utilisateurs fusionnés.
Problèmes connus :
-
Les liens entrants qui font encore référence à l’
utilisateur source(par exemple,https://talk.example.com/t/some-topic/17/3?u=source_username) ne seront pas associés à l’utilisateur cible. -
Un utilisateur ne peut avoir qu’un seul utilisateur fantôme (grâce à la fonctionnalité
autoriser les publications anonymes). Ainsi, si les deux utilisateurs fusionnés avaient un utilisateur fantôme, celui appartenant à l’utilisateur sourcesera perdu… enfin, il est toujours là, mais n’est plus associé à un utilisateur existant.



