Merging Ning and Discourse communities


(Brian Gillespie) #1

We’ve got a pretty huge but dying Ning community at http://www.grasshopper3d.com and a huge and thriving Discourse community at https://discourse.mcneel.com. We use our own SSO (https://accounts.rhino3d.com) for our Discourse logins.

I’ve seen Migrating from Ning to Discourse (step 2 is “Delete all your Discourse content” :slight_smile: )

It seems like a daunting task to merge these two communities. On one extreme, we could try to bring all the users and content from Ning over to Discourse. On another extreme we could make Ning read-only and email everyone asking them to have new conversations on Discourse.

Is there a middle path? Does anyone have advice on how we might proceed?


(Jay Pfaffman) #2

I’m about to do a pretty big Ning import and recently imported part of a Ning community (scraped from Ning with a script that I have access to) to another Discourse instance. I’ve made considerable improvements to the Ning importer (e.g., importing groups), but they are currently tied in with a zillion customizations for that customer (managing per-group category permissions and a bunch of stuff I don’t remember). Real Soon Now I’ll clean it up for a PR.

It can be tricky to import data on top of an existing Discourse, but it’s far from impossible. There are a few tricky things, especially with SSO, since you need to create users both in Discourse and the SSO server. If the email addresses match (and you are willing to assume that if the email addresses don’t match, then they are different users).

Simpler, you could bring over the Ning data and just leave those ning users as if they had left the community. You’d have the discussions, but not the connections between them.

You might also import Ning to Discourse and then use category export/import to combine them as done here: Merging two Discourse forums.


(Jeff Atwood) #3

We have quite a bit of experience with Ning, but this would need to be paid work.


(Brian Gillespie) #4

Great, here’s the ideal scenario:

  1. Merge all conversations from the NING Grasshopper forum into the Discourse Grasshopper category
  2. Merge all conversations from the NING Grasshopper Developer forum into the Discourse Grasshopper Developer category
  3. Merge all conversations from the Kangaroo Group Forum into the Discourse Grasshopper>Kangaroo category

All merges would include:

  1. Merging of user account information from NING into Discourse. We are investigating now what overlaps there are between Discourse accounts, NING accounts, and accounts.rhino3d.com accounts.
  2. Attribute each post/reply to the proper user
  3. Date transfer so old posts remain old posts on Discourse and sink to the bottom - but are still there for posterity and searching.

Does this seem like hours of work? Weeks of work?


(Brian Gillespie) #5

It looks like there are about 56,000 users on NING that do not have Discourse accounts. My guess is that most of them are lurkers. We’d like to only bring across accounts of people who posted to one of the three forums above.


(Sam Saffron) #6

Definitely not hours, my gut feel here is that it would take 1-3 weeks depending on level of polish, but it is super hard to estimate until you spend 1-2 days on it.


(Brian Gillespie) #7

Are there variations on the ideal scenario that might make this transition much easier for you to implement?

We’ll talk about it and see if we think there’s enough value in that old data to move it across.


(Brian Gillespie) #8

I am interested in @sam’s answer to this question as we ponder.


(Sam Saffron) #9

Well, mostly up to you, depends on how much “cleanup” you require. That is the main variation here.


(Jay Pfaffman) #10

And it’s hard to know where the places you might save time are until you know the places that need work, which you can’t really tell until you’ve spent a day or two seeing what you’ve got vs what you want.


(Brian Gillespie) #11

Would you spool up another instance of discourse for testing so that we could see how the import comes across? Once we get the import working how we want, we do it on the production server?


(Sam Saffron) #12

Yes that is exactly how this would work, we would import into a blank slate Discourse and then at the end when everyone is happy use the export / import category stuff to move the data from Discourse to Discourse


(Brian Gillespie) #13

Thanks for humoring us. For now, a week is too expensive for the value of the information we have on NING. If we determine we’re wrong about that assessment, we’ll ask to have the data moved again.