I would avoid this for now, it is hugely risky and there are other far easier wins. Appreciate the effort though as usual your instincts on what to work on are excellent.
I was aware that it would be risky, but I saw that this is one of the most requested feature and I thought it’s worth trying at least. Maybe, in the feature, we will get to this one too.
Interesting in this? Ability to connect with OAuth providers when user is registered? This need serious refactor for decouping omniauth stuff and bind with new
UserEmail. In long run, it helps with manipulating obscure user-related tables.
From a mod’s perspective (who would really like to be able to merge user accounts):
Log the merge in /admin/logs.
Reversibility would be nice, but I would be content to just be careful and double check what I’m doing.
No, users shouldn’t be able to do this (in our case they don’t have access to the original email account anyway, so there would be no simple way for them to verify their credentials without a mod changing their email anyway.
Posts, topics would be enough in our case (we’re wanting to merge historical accounts that have been inactive since we migrated, so there are no stats, groups, or badges.
Deleting the old account would be the aim for our scenario.
Doing something about @mentions or “in reply to email@example.com” (convert them to @mentions) would help to clean up the historical artifacts in our environment.
Another great project, but that one is also in the camp of “Not advisable towards the very end of GSoC”.
It would be useful to have a wrench for admin actions on the user activity page (/u/username/activity/replies) where posts can be selected and ownership changed.
Going through topics and selecting posts to change the ownership works fine for the odd post or ten, but when migrating from older forums, I’m sure many admins will have the same situation I do: a user has multiple accounts under which he’s posted over the years, and a few hundred posts under each of them.
This is my situation as well, just came up today.
We use Discourse as a support forum and we also link accounts to our account system… so we occasionally have trialers who initially signed up with
daquantics_spam@mail. Later, once they’ve signed up, they want to merge their earlier posts over to their real account.
Bulk changing of ownership would meet my needs 100%, but for now I messaged my moderators and told them we can’t really do this for users with more than 10 or 15 posts.
For my own edification, care to elaborate on this @codinghorror:
I’ve been using the method described in this post…
… and deleting the unwanted user after.
We want to make progress here for 2.0 and at least have some manual rake tasks for performing merges.
I have exactly the same difficulty.
Numerous members have more than one account, because forum was imported from another.
Old forum had poor rules ; some accounts with no email…
Now many members have 2 or 3 accounts, and want now to retrieve their posts…
A merge tool could be very usefull !
Actually I spend many time to manually move posts from a account to another…
Agreed! A merge tool would be extremely helpful for those with old forums that have been ported over to Discourse.
In a forum I currently work with, we have a lot of people who interact with our team by email before they ever create a forum account. The problem is, the email address they register their account with, seems to often not be the same address that they’d been using for emails in to our Discourse group (a group-based private message).
So we’ve got the email-only “staged” accounts from those email interactions, and then their “real” created full accounts.
When this glorious day of merging users happens (hopefully we don’t make it 5 years) it’d be nice to make sure those staged email-only quasi-accounts could also be merged for a full accounting of their activity with us over time.
Merging staged users with an existing account is the easiest part of merging users.
I’ve been having to merge a few users lately, and the
rake users:change_post_ownership task works great, but it doesn’t change the ownership of “invited” posts like the following:
which means I can’t delete the staged user, having to anonymise them instead.
This isn’t awful, but it’d be nice if these posts were transferred, and would make this task do essentially everything I need for merging users.
A rake task for merging most of the user data will be available soon. I’m currently working on it. It’s just a lot of tables and data and getting it right takes some time.
Thank you in advance @gerhard for this valuable work … it will be greatly appreciated by many!
For those of us on hosted plans, I’m guessing that we’ll therefore have to ask the team to run this for us. Any chance of getting a (very basic!) UI bolted onto this?
I’m quite sure we will be adding a UI for merging users. One step at a time. I promise you won’t have to wait another 4 years for the UI – that’s how long this feature request already exists.
Hopefully cause about to introduce a new SSO provider on a new setup and this merging conflicts is giving me nightmares.
Keep us updated i’ll send some virtual chocolate