Forum Consolidation - Import Question

Timelord_

Member
Hey guys.

I have three different Discourse v3.x forums that I want to consolidate to a single XF forum, so here are my questions.

1. In the importer documentation it states, that only v2.x of Discourse is supported. Is this correct, or is the documentation outdated.
2. Once I have imported the first forum to XF, is it possible to import the second forum, or will that completely overwrite the first?

Any thoughts on how long it would take to import approx 500k posts from Discourse to XenForo?
 
The importer has currently only been tested with 2.x.
It may work for 3.x but it depends whether there have been any substantial schema or other changes.

Yes, multiple forums can be imported.

That many posts shouldn't take long at all, depending on the server.
I would expect it to be done within an hour.
 
1. In the importer documentation it states, that only v2.x of Discourse is supported. Is this correct, or is the documentation outdated.
We likely just haven't tested with Discourse v3.x. We always recommend taking a staged approach with any import. So do a test import first, and let us know if you run into any issues. We'll then try to get those resolved ASAP so as not to delay your migration.

2. Once I have imported the first forum to XF, is it possible to import the second forum, or will that completely overwrite the first?
You can do as many imports as you need. There is an option available to you on your first import that isn't available on subsequent imports. And that is the option to "Retain content IDs". This option for the first import will import thread 1 in Discourse as thread 1 in XF, and post 10 in Discourse as post 10 in XF and so on. That aids in the production of server side redirects. That option becomes unavailable for subsequent imports because, as you've already imported thread 1 and post 10 etc. you wouldn't be able to import thread 1 on the second/third forum as thread 1 as that was already imported via the first forum (if that makes sense).

Producing redirects is possible, but you may need to come up with a custom script to do so. Each import produces an import log which maps the old ID to the new ID. You can work with this in theory to ensure all content from all forums can be redirected (if that functionality is needed).
 
Team, thank you for the detailed reply.

If I currently only have a backup of the existing sites, is it possible to run the import from the backup file, or does it need to be from a 'live' site?
 
@Brogan @Chris D

Hi guys, I have same strange problem, running Discourse 3.1, and import process goes OK, except that it only from, some strange reason import only 179 members out of 1065 members, I've try everything and everytime import only that 179, every time is same member.

All posts are there, but it's show from guest_ memeber look.
 
Long time ago... we were Xenforo customer :)
Then a while ago we migrated to Discourse, so we want to give it a try with Xenforo again (renew licence etc etc).
Once again when running import everything is OK, even structure of node is like "old xenforo", post/threads, everything is OK, except that for some strage reason import only 179 member.
 
Last edited:
Glad that you managed importing...

It goes without any error, just import that 179 members and thats all.

Hmm from other thread you mention that you are doing import from a backup file right? Maybe I should try that way also...
 
@Timelord_ Try with backup... no luck, still import 187 users.

Could you tell me how did you connect to DIscourse postgres, di you change app.yml file and expose 5432 port to the world, then setup password for discourse db name and use that credentials in import script?
 
I've found root cause.

Dig a little bit in PostgreSql and find strange correlation....namely, in the postgres schema in User data (the table containing all users), the password_hash column is filled, guess how many users, 187, how many of them were imported into Xenforo.

I did a little test, I found my old user who didn't have password_hash. I clicked on forget password, generated a new one, this time the database was filled in the password_hash field and I started the migration... guess what, this time it added 188 users, so it also added this test user.

Now the question is how do I bypass this or how do I populate the bulk password_hash on the Discrouse side for users who don't have them.
 
Currently I've found a quick way to populate password_has direct in ruby, after that in Xenforo I will force user to update password.

Anyway after all this I will submit another Importer bug in that section as I did allready for bookmark issues.

Funny ride :)
 
Heh... wall.

It seams that you can't just fill text/random hash via postgresql insert/update... you must do it via Ruby console :(

What I was trying:

Doing query insert in PGadmin connected to Discourse DB, set - update to password_hash and salt column with fake hash/salt... no working. Seting with legit hash/salt from test users, not working.

So I must manualy set in Ruby console for all non existing Hash/salt users and than doing import :(
 
Top Bottom