Nice, sad I missed this thread up until now đ
Starting from @adressler 2nd post here are my thoughts:
@adressler wrote…
My crazy idea that I had was to import these âoldâ authors as, effectively, name placeholders. Bogus/null values for user_pass and user_email, a php-generated user_login (something like âjudygarland-oldâ, âabcdef12345-oldâ or similar), user_id (unique Auto Increment #), display_name (âJudy Garlandâ), and maybe user_nicename.
I’m with you here and I’ll come back to how to do the above shortly.
@adressler wrote…
These would only be used to show the Authors first + last name next to all of the old topics and replies I just imported from Lotus (they will not be logging in). When users re-register, they would create a completely new WP user (Iâm using s2member to handle subscription info).
Still with you, I think this is a good plan.
@adressler wrote…
I realize that ânewâ users will not be able to see their âoldâ userâs topic / reply counts, and total user counts will not be completely accurate, but thatâs okay and manageable.
Still a good plan, we can fix the above ‘after’ they registered their new account.
@adressler wrote…
At least they could create their new user accounts themselves, and I wouldnât be responsible for making s2member link up properly with these old users.
Correct, let the users do that themselves.
@robin-w wrote…
The real issue here is whether you can get email addresses. If you can, then if you import users as per my previous, they can use âpassword lostâ to re-do their passwords, and then itâll all be fine.
As per my first comment of what I will come back to shortly, we don’t need actually need an email address for this.
@robin-w wrote…
Additionally logon names need to be unique so they canât register with any existing username !
I’m going to have to check that my solution doesn’t break because of this, it is ready to be committed and ready for bbPress v2.6 đ
@robin-w wrote…
Iâd do as previous and create a user table to import, but call each user âold_xxxâ â you can do this before import, effectively your placeholder.
Again, I shall return and no need for the old_
prefix on the username.
@robin-w wrote…
As each user registers, you can run some code around the posts to remap them. Youâll get a registration notice, so if you cut some code, then you can just run this each time someone registers. Basically you would just enter there old username and their new one. The code would look up the old ID, the new ID, and then run through posts to remap to the new user. If youâd like help with that, just let me know and Iâll try and cut a quick loop code that you can run straight on the website (pw protected of course)
90% of this is actually built into bbPress and again I just need to test this against my solution, as I type this I am thinking maybe a custom one will be needed but shouldn’t be too hard to write a tool for it to integrate with my proposed solution as no doubt others would probably also require this. đ
@adressler wrote…
I was able to export users from Lotus into a new users table. The table structure is:
That table looks fine, it shouldn’t matter what the old user_login name is as we will primarily use the user Display Name and/or User Nicename.
@adressler wrote…
I linked up my custom converter and was able to import users successfully into BBPress without the need to include a bogus email or password. In the WP database, all of these âoldâ users have an auto-generated password, and no email address. Now, at least all of these old user display_names are showing next to the posts they authored (instead of all âanonymousâ).
Cool, though my plan is to purposely make them Anonymous đ
With a couple of tweaks as we get closer to what I propose I think we can adapt your importer to use the code I have already written.
@adressler wrote…
Is it still possible to write a loop to link these old user accounts to the newly registered users even though thereâs no email addresses? Iâm okay with the forum working the way it is now, but if thereâs a way to link newly registered accounts with the old ones, Iâd sure like to try. Iâm guessing the only way to do it is to match by the old user display_name, which, from what I can tell, is unique to the users db; no two people have the same name. It would just depend on people remembering the name they used to registered on the old site (some people are registered as âJohn and Jane Doeâ). And if someone signs up who coincidentally has the same name as an old user, there could be some confusion.
As per what I wrote above, part of this is already built into bbPress and a little bit of testing in what we need to do to handle this properly then tweak the code we should be good.
@adressler wrote…
I just had a thought, what about a checkbox during registration like âAttempt to link my old DynamiteOnline accountâ, and when checked it would try to link up the names?
Maybe…
@robin-w wrote…
If auto the system wonât let you have two usernames the same, so youâd need to change your existing usernames to say have a character in front eg x_john smith (sql loop through user database would do that). Then brief your users to register with their existing username eg just john smith.
We don’t need to worry about this because each user would be Anonymous đ
@robin-w wrote…
The real solution if you donât have tons of users is to go for a manual registration process, you can of course let then use the same username, as you can then generate a user with a php programme straight into the database.
Let the users register whatever name they want as long as it is not already in use they will do the registration and sign up.
Automating this would be a pain for the high chance of abuse that could occur.
As there isn’t old email addresses for the old users verifying who’s who really should be a manual verification process in my opinion.
Nothing pretty or easy !
It took me ~7 months to come up with my solution with a few tips and advice from others who first floated the idea but I think it is relatively pretty now. đ
But a solution is there somewhere !
Yes it is đ
I’ll go dig out now and have a quick read and post it shortly đ