A partire da Discourse 2.5.0.beta3, gli amministratori del sito possono unire utenti non appartenenti allo staff senza dover accedere alla console. Per motivi di sicurezza, gli utenti dello staff dovranno ancora essere uniti tramite la console.
Visita la pagina di amministrazione degli utenti e seleziona “Unisci” in fondo alla pagina.
![]()
Inserisci il nome utente in cui desideri unire l’account e clicca su “Trasferisci ed elimina @username” per avviare il processo di unione.
Il task rake per l’unione degli utenti è ora disponibile su tests-passed. ![]()
https://github.com/discourse/discourse/commit/7a2183e8ab97c26464da541014ba1f2e69669a82
Gli utenti possono essere uniti eseguendo:
rake users:merge['source_username','target_username']
(nota: assicurati che non ci siano spazi prima o dopo la virgola)
Questo comando unisce i dati dell’utente sorgente nell’utente target prima di eliminare l’utente sorgente. Vengono uniti i contenuti di 45 tabelle, quindi, a seconda della quantità di dati associati all’utente sorgente, questo processo potrebbe richiedere del tempo.
Gli autori di plugin possono agganciarsi al processo di unione gestendo l’evento :merging_users. L’ho già implementato per il plugin dei sondaggi, che unisce i voti dei due utenti uniti.
Problemi noti:
-
I collegamenti in entrata che fanno ancora riferimento all’
utente sorgente(ad esempiohttps://talk.example.com/t/some-topic/17/3?u=source_username) non verranno associati all’utente target. -
Un utente può avere un solo utente “ombra” (dalla funzionalità
consenti pubblicazione anonima). Quindi, se entrambi gli utenti uniti avevano un utente ombra, quello posseduto dall’utente sorgenteandrà perso… beh, è ancora lì, ma non è più associato a un utente esistente.



