Migrating from Ning to Discourse


(Arpit Jalan) #1

Want to migrate from Ning to Discourse? Great! Let’s get started.

What data can be imported?

  • Users
  • Avatars
  • Directories/Categories
  • Topics & Posts
  • Images
  • Attachments


  1. Set up Discourse development environment on OS X, Ubuntu or Windows.

  2. Clear existing data from your local Discourse instance:

    cd ~/discourse
    rake db:drop db:create db:migrate
  3. Open Ning import script in the editor of your choice.

  4. Replace JSON_FILES_DIR value with the location of your Ning export data.

  5. Add/Delete values in ATTACHMENT_PREFIXES depending on directories/categories you want to import.

Perform Import

  1. Depending on what directories/categories you want to import, add/delete import_{entity} method.

    For example, notice that the import_photos method will import all the photos present in /ning/export/location/photos directory by reading ning-photos-local.json file.

    Always use {xyz}-local.json files for importing data.

  2. Start import process:

    cd ~/discourse
    bundle exec ruby script/import_scripts/ning.rb
  3. Wait until the import is done. You can restart the process if it slows down to a crawl.

  4. Start your Discourse instance: bundle exec rails server

  5. Take backup of the data and upload it to on your production site by following this howto.

Congratulations! You have successfully migrated your site from Ning to Discourse! :tada:

How to convert vBulletin 4 database to Discourse?
Mode Media (Ning) is done
Uploading 17500 users and their avatars using PHP
Looking for a way to test conversing
Discourse vs Ning
Merging Ning and Discourse communities
(Frank Bailey) #2

This guide looks very useful for people who’ve used Vagrant to get Discourse running in their environment, however is there possibly a chance of getting a guide on how to use the Ning import script in the Docker environment? If I follow this guide I get errors like “Could not locate Gemfile or ./bundle directory” and rake also doesn’t seem to be installed.

Will the ning.rb script even work in the Docker Discourse setup?