Skip to content

Import from Ning: Import Ning users to WordPress and BuddyPress

Import From Ning imports the contents of your Ning Network Archive into BuddyPress.

See the initial announcement here.

Download the most recent version

Instructions

  • Install in your plugins folder and activate. I recommend using the plugin on a fresh WP/BP installation; if running on an installation with existing content, please make a database backup first.
  • Download your Ning network export, using the Archiver tool as described here: http://help.ning.com/cgi-bin/ning.cfg/php/enduser/std_adp.php?p_faqid=3796
  • Upload the content of your unzipped Ning export (a group of .json files, as well as several directories) to wp-content/ning-files. If this is the first time you’ve used this plugin, you’ll have to create the directory ning-files first.
  • Visit the plugin panel at Dashboard > BuddyPress > Import From Ning and follow the instructions

Frequently Asked Questions

What if I’m not running BuddyPress?
Version 2.0 of Import From Ning does not support WordPress standalone. Use version 1.1: http://wordpress.org/extend/plugins/import-from-ning/download/
What content will Import From Ning import?
Import From Ning currently imports the following items from a Ning export: members, member profiles, member avatars, members comments (the “wall”), groups, discussions, and blogs. The plugin attempts to recognize inline images and copy them to the BuddyPress installation, so that you don’t lose the images you’ve put in your blog posts.
What about my images, movies, and music?
BuddyPress by itself does not currently support photo, movie, or music galleries. The best plugin available for images right now is BuddyPress Album+ , which is in the process of being adapted to support video and audio galleries as well. In the future, I hope to expand this plugin to import content for display with Album+, but in the meantime you can import your multimedia content manually.
What do I do if I have a gargantuan network?
The plugin is most reliable when working with relatively small sets of data, though I have tested it with a network import of over 1300 users. There are various safeguards built into Import From Ning, so that if a particular step fails to complete because your hosting environment runs out of memory, you can simply refresh the page to pick up from where you’ve left off.
What’s with all these new groups?
In BuddyPress, each forum must be associated with a group. In cases where your Ning discussion thread was not part of a group, Import From Ning creates a group corresponding to the discussion category and places the discussion topic there.

Be a pal

I spent many mornings building this plugin, so that WordPress and BuddyPress users – and especially my friends who are WP/BP consultants – could reap the benefits. If you use this plugin (especially for a paying client!) please consider a donation.

Import from Ning has been downloaded 1,191 times. Are you using this plugin? Consider a donation.

Version history

2.0 – July 23, 2010
Added support for Ning network content
1.1 – April 18, 2010
Switched from copy-and-paste to direct .csv upload
Added BuddyPress profile field import functionality
1.0 – April 16, 2010
Initial release

89 Comments

  1. Will this plug-in add additional info to already imported members?

    Posted on 18-Apr-10 at 1:28 am | Permalink
  2. Diaan – No, but I’ll work on that.

    Posted on 18-Apr-10 at 1:39 am | Permalink
  3. Darfuria

    I’m getting a memory error, unfortunately. Possibly due to the amount of members I have. (~16,000)

    Fatal error: Allowed memory size of 67108864 bytes exhausted (tried to allocate 20 bytes)

    Posted on 18-Apr-10 at 11:21 pm | Permalink
  4. @Darfuria – It’s almost certainly a problem with the size of your file. For the moment (ie until I come up with a better solution), you might try breaking up the import file into smaller chunks. Open it in a text editor (NOT Excel) and copy some lines into a new file. Make sure that the new file contains the first line of the original file (I think it starts with ‘Name…’) and save it as a .csv file.

    Posted on 18-Apr-10 at 11:32 pm | Permalink
  5. Darfuria

    Ah yes. I split it into a smaller file and it did the trick. Any way of disabling the auto-email? I’m setting this up as a test and don’t want to e-mail anybody just yet.

    Posted on 19-Apr-10 at 12:16 am | Permalink
  6. Darfuria – Are you running WPMU? If so, then the following line of code should do it:
    add_filter( 'wpmu_signup_user_notification', create_function('', '{return false;}') );
    You’d put it in import-from-ning.php, right before
    add_action( "admin_print_styles-$plugin_page", 'bp_ning_import_style' );

    Posted on 19-Apr-10 at 12:26 am | Permalink
  7. Darfuria

    Just plain’ol WordPress at the moment – not MU.

    Posted on 19-Apr-10 at 12:36 am | Permalink
  8. Darfuria – Haven’t tested this, but it should work. Find the functions.php in your theme dir. (Create it if it doesn’t exist, making sure to include php delimiters <?php at the beginning and ?> at the end.) Then put the following function into it:

    function wp_new_user_notification($user_id, $plaintext_pass = '') {
    return;
    }

    That’ll override the core function in pluggable.php. Obviously, it replaces the guts of the plugin with nothing, so no email will be sent. Run it with a test email address first to be sure. Then delete it from the functions.php file when you want to run it for real.

    Posted on 19-Apr-10 at 12:52 am | Permalink
  9. eduardo

    I’m looking for the importing data in the oposite direction, ie into my Ning social network.
    Is it possible as well?

    Eduardo

    Posted on 20-Apr-10 at 6:45 am | Permalink
  10. I have a question. If I use this and some of my members have already made new profiles on my new site will it create a conflict or overwrite anything? I was waiting to pull the trigger on this and while I was waiting some of my members moved over and have setup profiles that may be the same as their ning ones.

    Posted on 28-Apr-10 at 3:51 am | Permalink
  11. ediddy999 – No, the plugin won’t create a new profile field if there’s already one by the same name, and it won’t overwrite the information in a profile field if it’s already populated. It might be a good idea to try a test first, though, if you can.

    Posted on 28-Apr-10 at 5:06 am | Permalink
  12. As ning have announced moving to only fee $$ …and no more free networks Im sure this will be in big demand soon. They say from July.

    As I offer 2 free networks the cost of continuing at Ning would be 40-100$/month!
    No way yet of recouping any cost from advertising.

    Seems cheaper to get a virtual server and run both from there.

    Posted on 12-May-10 at 9:17 pm | Permalink
  13. Can you show me example of Ning site with over 200 members that have successfully migrate from Ning to Buddypress?

    Thanks.

    Andrew

    Posted on 28-May-10 at 3:30 pm | Permalink
  14. andrew – I don’t know of any myself, but you might poke around the buddypress.org support forums to find someone who has done the transfer.

    Posted on 28-May-10 at 9:18 pm | Permalink
  15. This looks like a brilliant solution! I’m wondering if the import will also bring over other data the members have uploaded to our community, like blog posts, videos, photo albums? Also importantly, will it import group and forum activity?

    Posted on 29-May-10 at 3:01 am | Permalink
  16. Kalman

    Can I use your plug-in to import a csv not from Ning? I have a list of students from a university that I want to upload to by WP 2.9.2 and BP (latest version).

    All the plug-ins I have looked into are for BP on WPMU or WP where you cannot import Xprofile data.

    Do you have a sample Ning export file for me to view (or at least the header/first row) so I can try and adjust my csv to work with your plug-in?

    Thanks,

    Kalman

    Posted on 31-May-10 at 7:13 pm | Permalink
  17. Kim – Unfortunately, until Ning offers a content export option, there’s no way to make this tool import stuff like forums. Hopefully soon!

    Kalman – Sure, this should be possible. All the plugin requires to run is that the first row in the CSV contain a column header called ‘Name’ and a column header called ‘Email’. All other column headers are sniffed out. As long as the first row of your CSV is like this, it should work. (Don’t have a shareable Ning CSV handy right now so I can’t send to you – but I’m guessing you’ll be able to make it work fairly easily)

    Posted on 31-May-10 at 8:48 pm | Permalink
  18. QQQ

    Boone Gorges – there is a post here about what I need to do (latest long post on the list):
    http://buddypress.org/community/groups/how-to-and-troubleshooting/forum/topic/importing-data-from-excel-csv-sheet

    I think this Ning plugin is great and I would be happy to make a $100 donation (or a little more if necessary) if you could tweak it to meet the needs of what I outlined there and then maintain it for a while through the upcoming WP 3.+. Trouble is, I need it very soon…. if you can do it, please email me off-site (you got my email!).

    This is for a non-profit in NYC that maybe you can also help with (paid) in the future too — I am not in NY, so I want to help them find a helper, of sorts, for the future who is also based there. I can explain more via email. I know you are a very busy guy. My donation to them is making a buddypress site for their membership.

    QQQ

    Posted on 03-Jun-10 at 11:36 pm | Permalink
  19. Kalman

    @Boone – I can confirm that creating a CSV, with Name and e-mail as the first two columns (in the first row) and then you other profile fields, will import correctly into BuddyPress.

    My next question, which I do not think is related to your plugin, is how do I change the e-mail sent out to users after importing the data?

    Any help would be appreciated.

    Kalman

    Posted on 06-Jun-10 at 12:16 am | Permalink
  20. ccarini

    I have set up the ning members plugin and tested it. Works great for the general personal info to come over. Is there a way to bring over photos, videos, groups etc.?

    Posted on 27-Jun-10 at 3:55 pm | Permalink
  21. ccarini – Not yet, but I believe that Ning is releasing a full-content exporter quite soon. At that point I’ll try to find the time to build a content importer.

    Posted on 28-Jun-10 at 1:26 am | Permalink
  22. Hi:

    I’ve found that you can export much of your content as JSON files with accompanying folders. Are you going to be creating some type of importer for BuddyPress to work with these file types and folders?

    Posted on 29-Jun-10 at 8:29 am | Permalink
  23. Ning’s content export tool was released about 3 weeks ago. How can we get these JSON files into Buddypress?

    http://blog.ning.com/2010/06/content-archive-tool-coming-soon.html

    We are running out of time, and loosing our content would be worse that loosing members. Heck, we are willing to lose like half of our 1,000+ members to gain control over our destiny. ;)

    Posted on 05-Jul-10 at 8:16 am | Permalink
  24. Jan

    Hi, how can I change the link in the e-mail message that will be sent to the users after importing the users data?
    thanks in advance!

    Posted on 18-Jul-10 at 9:38 pm | Permalink
  25. Hi Jan – I’m about to come out with a totally rewritten version of the plugin that allows full email customization. Stay tuned – I should have a release version in the next day or two.

    Posted on 21-Jul-10 at 1:48 am | Permalink
  26. vp

    If this works flawlessly, I promise to donate a month of ning dues ($20)

    Posted on 22-Jul-10 at 9:41 am | Permalink
  27. Darfuria

    Have the new Ning pricing plans opened up any potential for further developing this?

    Posted on 22-Jul-10 at 9:43 am | Permalink
  28. vp, Darfuria, and others – I released a new version of the plugin today, compatible with Ning network exports: http://teleogistic.net/2010/07/import-from-ning-now-imports-ning-content-into-buddypress/. I hope it works for you!

    Posted on 23-Jul-10 at 5:38 am | Permalink
  29. Hi Boone!

    I just saw your announcement for the new version of the Ning importer plugin, and I’d like to work with you to make sure it works seamlessly with BuddyPress Media.

    We’re just about to start updating all of our new hooks and filters to the plugin, so if there’s anything you need, just post what you’d like added in the issue tracker entry.

    Also, if there are any specific content importer functions you’d like us to write and add, we’ll certainly do our best to accommodate you.

    Thanks!

    ^F^

    Posted on 25-Jul-10 at 10:31 am | Permalink
  30. Awesome, F! (Not sure which of the Fs I’m speaking to ;) ) I’m planning on looking at media import in a couple of weeks, and using BP Media as the basis. If I stumble across places where I could use some more hooks or functions, I’ll let you know!

    Posted on 25-Jul-10 at 11:22 am | Permalink
  31. i got this error:
    Fatal error: Cannot break/continue 1 level in /…../community/wp-content/plugins/import-from-ning/bp-functions.php on line 196

    how to fix it?

    Posted on 26-Jul-10 at 6:28 am | Permalink
  32. Well shit! I just sent out Emails telling several hundred about a website that is supposed to be a top secret test!

    Please add a checkbox on the first page to allow people to choose whether or not to send these messages out. I was expecting to be prompted as the first page claims I will be walked through the process.

    Now I have to tell the network creator I just scared the shit out of about 500 or so members. :(

    Posted on 28-Jul-10 at 9:37 am | Permalink
  33. Where is the /avatars/ folder located? I would love to give it write permissions… althought i am afraid I may be too late for the import process to add users avatars now that the import process is complete.

    Posted on 28-Jul-10 at 9:38 am | Permalink
  34. Ignore my above overreaction. I got scared because the “Recently Active Member Avatars” widget claimed there were a dozen or so recently active members! I guess the import process makes them “recently active”.

    After reviewing the code i now see the Emails only go out by choice at the end of the import process.

    Sorry for the overreaction, but you might understand why I was concerned.

    Posted on 28-Jul-10 at 10:07 am | Permalink
  35. Tony Zeoli

    Hey Boone:

    Should I deactivate all other plug-ins (other than BuddyPress itself) before running the Ning Importer?

    We’re getting an error. Allocated 30 MB, tried to allocate over 40.

    We’re still getting an error. We put a php.ini file in wp-content and in the importer folder.

    Any ideas why we are seeing the memory error?

    Posted on 28-Jul-10 at 1:41 pm | Permalink
  36. Tony Zeoli

    One more thing…it’s on 1and1. We change the mem limit to 128 in the ini file.

    This install of BuddyPress is actually in a folder inside another install of WordPress. We’re using the BuddyPress as a testbed. Could it be that the WP 3.0 version one directory outside of the BuddyPress directory is affecting the memory limit?

    Posted on 28-Jul-10 at 1:43 pm | Permalink
  37. I figured it out. You have to make sure all your plugins are disabled and run only the importer. Of course, keep Buddypress enabled. Following the instructions. Getting warnings on every import of comments…seems the data is missing something the importer is calling for on each round. Times out and I refresh and it keeps chugging along. I’m just going to go through the entire process, even with the warnings, and see what happens.

    Posted on 29-Jul-10 at 1:24 pm | Permalink
  38. Everything worked, up to this point:

    Discussion groups

    Import from Ning is now importing your Ning groups. If you’ve got a lot of groups, you might have to refresh the page in order to get them all. If so, you will see a message near the bottom of the screen.

    Once you’ve finished importing groups, click Continue at the bottom of the page to move on to the next step.

    Fatal error: Out of memory (allocated 23592960) (tried to allocate 15081729 bytes) in /homepages/31/d176735165/htdocs/c2/canary2/wp-content/plugins/import-from-ning/bp-functions.php on line 92

    Posted on 29-Jul-10 at 1:30 pm | Permalink
  39. When I start the importer I get this error:
    Fatal error: Call to undefined function bp_ning_import_profile_two_markup() in /htdocs/wp-content/plugins/import-from-ning/bp-functions.php on line 42

    Any suggestions how to solve this?

    regards, Willem

    Posted on 01-Aug-10 at 6:11 am | Permalink
  40. Bergslay

    Houston, we have a problem – how to fix this error message?

    Posted on 03-Aug-10 at 1:06 am | Permalink
  41. Make sure that your Ning files are located in the wp-content/plugins/import-from-ning/json directory. You see that message either when the plugin can’t find wp-content/plugins/import-from-ning/json/members-local.json, or when the members-local.json file is corrupt and can’t be opened.

    Posted on 03-Aug-10 at 6:55 am | Permalink
  42. Great plugin, worked like a charm. I used it in conjunction with email user plugin to customize the password email.

    My list was 250 accounts. I added my email 1/2 through the import and at the end. The middle came through but the last one didn’t.

    This isn’t really a plugin question but is there a way to tell what emails where sent? and re-send the passwords that didn’t get sent? or should I just contact my hosting?

    I would recommend a throttle in a new version for shared hosting folks – Thanks very much for all the hard work.

    Posted on 03-Aug-10 at 9:39 am | Permalink
  43. Anthony Zeoli

    Brian:

    Do you have specific experience with the problems with shared hosting? I’m having a terrible time trying to get “Discussions” in. My file size is about 14MB and I’m getting an error. Any ideas as to what to do? We split the JSON file, but that didn’t do anything for us either.

    Posted on 03-Aug-10 at 9:45 am | Permalink
  44. @Zeoli

    I am not sure what caused the error. I think it was a relay restriction on the hosting side of things not an error with plugin. It is for a client and I don’t have experience with their host.

    Posted on 03-Aug-10 at 9:51 am | Permalink
  45. Tony – sounds like your discussions file is still too big. 14MB is pretty huge, unless you’re running a machine with gigs of ram. Try splitting it up even further and running it through again.

    Posted on 03-Aug-10 at 9:53 am | Permalink
  46. Anthony Zeoli

    @BrianRice, @BooneGorges – Okay, we basically removed the original JSON file and only put three discussion entries in it, but the Discussion Groups media folder has a ton of related images. Once we did that, we got another error, which I don’t have copied down at the moment. I think once we parsed the Discussion Group JSON file and resaved it with only 3 entries in it, it went way down to 700KB, but then we got a members error. I think that was it, but I have to check with my developer. We’re going to move the entire thing to MediaTemple on their GS platform, which gives 100MB of RAM off the bat. 1and1 only gives 30MB, even though you can reset it to 256 and increase the max execution limit to 60 using php.ini. I feel like there’s gotta be some larger issue.

    Posted on 03-Aug-10 at 10:06 am | Permalink
  47. Strange that you would have gotten a member error. I’m pretty sure that the plugin is smart enough to remember that you’ve already added all those members, and it should be able to match up discussions with members.

    As for any larger problem, I’m afraid the problem may just be very large files and relatively small PHP memory limits. When you take a 14MB file and load it into a PHP object or array, it gets considerably larger (since it’s then structured, so carries additional metadata). So an object that takes up, say, 20-25MB of resident memory on a system with only 30MB allotted to PHP simply won’t leave enough memory for WP and BP to run.

    Posted on 03-Aug-10 at 12:18 pm | Permalink
  48. problems….

    version 1 imported everyone but only emails and names.
    i tried version 2.03? latest anyway, and it stopped part way through

    Catchable fatal error: Object of class WP_Error could not be converted to string in /home1/tokyosoc/public_html/wp-content/plugins/import-from-ning/bp-functions.php on line 188

    no profile data but emails, name, profile photos for about 70% of users. total users being about 550.

    i cant keep running more imports – users not too happy.

    another point worth considering is the admin email notification.
    most shared hosts will not allow over 500 emails per hour and they are dropped without notification. the import also produces admin notifications – the same number of emails for every user – lots of emails!
    there is no pause of option to import a certain number.

    Posted on 07-Aug-10 at 8:20 am | Permalink
  49. andy – Sorry you’re having problems. The “line 188″ error problem suggests that the import function failed for a particular user. It’s possible that the user in question didn’t have an email address or a username in the original data. Try running the import again to see if you get the same error.

    Emails to users aren’t sent out until the very end of the process, when you manually click the “send email” button. (That’s different from the first version of the plugin, a change I made because of requests like yours.) So I’m not sure what you mean when you say “users not too happy”.

    I know that there are problems with email throttling, but the extra amount of coding needed to set up a pseudo-cron for staggering emails was significant enough that I didn’t do it for this version. It’s possible that I’ll set it up in the next version of the plugin.

    Posted on 07-Aug-10 at 10:59 am | Permalink
  50. Ran version 2.03 again but stopped immediately with the same error.
    I also had trouble with the importer picking up other profile field entries and placing them in the initial user list for import. on the 2nd page it of course rejected them as the format was incorrect. maybe the field name characters like () cause trouble … not sure.

    I had the emailing problem because I reverted to version 1 which got all the users in, but without extra details. I only saw the v2 email option after just running it now on anouther group – successfully (250 users).

    One thing worth mentioning maybe!
    The importer changes all the profile fields to text boxes when they were originally checkboxes, radio buttons etc.

    Leving it this way, if users input spelling mistakes etc the search results will not be reliable.
    I havent seen the effect yet of editing the user fields back to radio buttons or checkboxes – to see how they are displayed or dealt with when previous data imported was converted to text box.
    If its a problem then I have to delete all those fields and ask users to redo their profiles.
    Simple text box or lager text fields will be ok.

    Posted on 07-Aug-10 at 1:38 pm | Permalink
  51. andy – Glad that the import worked for your other group. That almost certainly means that there is a piece of malformed data in the Ning export. In the next version I will set up a filter to make sure that this kind of malformed data doesn’t stop the rest of the process from running. In the meantime, you could try locating the problem yourself by looking to see the last member successfully created, then finding the next member in ning-members-local.json, and seeing if you can remove it or fix the missing profile data that is causing a problem.

    As for the text boxes vs radio buttons etc: From the Ning profile data, there is no way for me to tell what kind of select box the original was. In the future I would like to make it possible for the admin to specify, during the import process, what format each field should have. But that’ll take a significant amount of refactoring, so it probably won’t be for a while.

    Posted on 07-Aug-10 at 2:32 pm | Permalink
  52. Okay…started running the plugin, got everything in up to discussions, then got a few discussions in, then this: Warning: mysql_get_server_info(): supplied argument is not a valid MySQL-Link resource in /nfs/c07/h01/mnt/102475/domains/netmix.co/html/canary/wp-includes/wp-db.php on line 1582

    Posted on 08-Aug-10 at 5:04 pm | Permalink
  53. See this buddypress post about MySql error: http://buddypress.org/community/groups/how-to-and-troubleshooting/forum/topic/mysql_get_server_info-error/

    I checked the MediaTemple Knowledge Base. Tried running the script via CGI, but that didn’t work. Put the htaccess file in the plugin directory and that didn’t work.

    Here is the Knowledge Base article:

    For complex security reasons, (mt) Media Temple’s various hosting solutions operate PHP in what is known as “safe mode”. This is necessary for the safe running of PHP enabled web sites in a shared server environment.

    * On (dv) Dedicated Virtual Server systems Safe Mode is turned on by default but can be turned off on a server wide or on a per site basis, please see the Knowledge Base article ” How do I Turn off php safe_mode on an (dv) Dedicated Virtual server”
    * On (gs) Grid-Service systems this is turned off by default so you should not have ‘Safe Mode’ issues.
    * On (ss) Shared-Server systems this is a global setting but can be configured or turned off on an individual site basis through PHP “Power Mode” Please see our article PHP Power Mode.

    Safe mode imposes several limitations that might be causing your scripts to not function as anticipated. Please review the “technical requirements” of your PHP program. If the requirements indicate that scripts must not be running on a safe mode server you should look into the work-around listed near the end of this document.

    Some of the major limitations of safe mode are:

    * File uploads: since the webserver runs as the ‘apache user’, all files that are uploaded by PHP are owned by apache. This may cause “ownership problems” for many users. In order to use this function, you must create a separate directory inside of your content directory to upload these files into. This directory MUST have the permissions of 777. Also, the manipulation of these files are very limited because of the restrictions below. However, you can delete uploaded files using the “unlink” function.
    * File modifications: moving, copying and changing ownership/permissions of files can only be done when they are owned by the administrative user.
    * System commands: PHP scripts cannot use the exec( ) and system ( ) functions, therefore shell commands are not allowed to be run from within a php script.

    Please note that many “ready-made” PHP scripts, such as Gallery or ***NUKE, use the system () function to copy files. If your script does not work as anticipated it is likely that it uses an unsupported safe mode command and may not work with the (ss) Shared-Server service. Additional information about the safe mode security feature can be found at the PHP official website: http://www.php.net/manual/en/features.safe-mode.php

    Customers requiring a hosting solution without the restrictions of PHP safe mode should consider (mt) Media Temple’s other family of hosting products such as the (as) Appliance-Server, or (ds) Dedicated-Server.

    Workaround

    One known workaround on the (ss) Shared-Server systems is to use an .htaccess file to force your php scripts to run in “CGI Mode” This is only a workaround and as such may not work in every case. If you need to bypass safe mode restrictions because the functionality you are seeking is not allowed with Safe Mode enabled, one available vehicle we offer is to write that component of your system as a CGI. This is allowed because CGI scripts are executed in a much safer context than php.

    Another alternative, which consists of running php *as* a cgi while processing certain php scripts. This runs php with safe mode off, but as a separate process and as your user. Your php scripts will take a small performance hit when running in cgi mode compared to running in the ‘normal’ way, so we only suggest using this method on the scripts that need non-safe mode access.

    1. Create a directory in which you’ll place your php scripts that you want to have run in CGI mode. For this example, we’ll use ‘phpcgi’
    2. In that directory, create a .htaccess file (KB article: What is an .htaccess file) with the following contents:

    Action php-script /interpreters/php-script
    AddHandler php-script .php AddHandler php-script .php3

    Any php scripts that you place in that directory will now be executed by cgi-mode php.

    NOTES:

    This method may not work correctly with alternate domains.

    Once again if your site requires that safe mode be disabled and this recommended workaround does not solve the related issues, you should consider (mt) Media Temple’s more advanced family of hosting solutions such as (dv) Dedicated Virtual servers or (ds) Dedicated-Servers.

    The workaround method listed in this document may not work correctly with all scripts or with alternate domains. In that case the most viable options include:

    * Rewriting the script as CGI which doesn’t have safe mode restrictions OR
    * Upgrading to (mt) Media Temple’s more advanced family of hosting solutions such as (dv) Dedicated Virtual servers or (ds) Dedicated-Servers where safe mode can be disabled

    Posted on 08-Aug-10 at 5:17 pm | Permalink
  54. I’m assuming this is probably because of the 14.4 MB JSON file. So, we’re going to try and split it again and see what happens.

    Posted on 08-Aug-10 at 5:26 pm | Permalink
  55. Okay…good news. Splitting the JSON file down to 2 MB worked. Now, we’re going to have to spit it down even further. I’m under the impression you have to keep the same file naming convention, which means you have to remove content, save a bit down, overwrite the file and just run it again. There’s gotta be a better way to do this, like somehow parsing the JSON file and only taking a little at a time. Anyway to set the importer so that if it sees a big file, it can manage that file efficiently, instead of crapping out and having to do everything manually?

    Posted on 08-Aug-10 at 5:53 pm | Permalink
  56. BOONE! You’re killing me with overwriting the JSON file on an updgrade!!!!

    That’s twice all my content has been deleted!

    Yes…I know…I should have a backup somewhere else on the server. How was I to know.

    (huge SIGH)

    Posted on 08-Aug-10 at 7:01 pm | Permalink
  57. Okay…i can see that you’ve changed the path to content. Instead of putting the content in the plugin JSON folder…it’s now in wp-content/ning-content. Is that correct?

    Posted on 08-Aug-10 at 7:08 pm | Permalink
  58. The plugin is telling me I have no files in the directory but they are there. The permissions are 777.

    Has anyone else conquered this issue? Any advice?

    Posted on 17-Aug-10 at 6:29 am | Permalink
  59. Boone has moved the path to the files, because every new release was overwriting the JSON files directory. They should be moved outside of the plugins folder–I believe he set it to “uploads/ning-files” but I’m not logged into or have access to my FTP to view exactly. Check this thread or one of the other threads for the appropriate path. It may be in the Read Me file.

    Posted on 17-Aug-10 at 6:44 am | Permalink
  60. It turns out that the Ning file was missing a few characters. These characters were part of the markup for the ning-members-local.json and the plugin couldn’t parse the file. It then said that the file wasn’t there. Once the error was found (thanks Boone) it ate the file happily.

    I am now having another issue, though.

    Missing comments. These comments are missing from discussion posts that were imported as blogs. I am thinking I may need to do another pass?

    Posted on 18-Aug-10 at 4:06 am | Permalink
  61. Duplicate id’s between Ning JSON blogposts and forumtopics.

    {"id":"2003008:Topic:1067","contributorName":"8wbjqz2kevz8","title":"blah1"

    {"id":"2003008:BlogPost:17720","contributorName":"2rutf0t82p6v8","title":"blah2"

    So, I fancy loading blog posts and discussions as blog posts separately would fix this. That is to say, anyone else who was doing this would still need to do this into a fresh DB so that bp-importer wouldn't move your comments around between the discussions and blog posts with the same id.

    Posted on 18-Aug-10 at 4:31 am | Permalink
  62. I decided to focus on the blogs to start with.

    My goal was to check for errors, and to make sure that all the comments were transferred.

    After the first run of Import-to-Ning 1 comment, the most recent comment, for each blog post was transferred.

    I ran it again, and more comments were added. Most of the correct comments now appear, but there are additional comments that should not be there.

    I have checked the JSON file and confirmed that these comments are no listed in the JSON file.

    I can find no relationship between the BlogPost IDs, or the Comment IDs that would lead me to believe they were “simply” missplaced by a poor association.

    The user IDs for the posters look fine, too.

    Boone, do you have any ideas about this? What I could do next?

    Again, I emptied the discussion JSON files, and put up all the rest of the files. Empty WP DB, fresh site. I went through the plugin, and the above is what I got.

    Posted on 18-Aug-10 at 6:48 am | Permalink
  63. If it’s only loading one comment per post per run, then it’s a bug. A brief look at the code isn’t making it obvious what’s happening – it looks like it should do a foreach over every blog comment.

    As for comments missing for other reasons, I’m not sure. When you say “I have checked the JSON file and confirmed that these comments are no listed in the JSON file.”, do you mean that they ARE listed or ARE NOT listed?

    Posted on 18-Aug-10 at 11:53 am | Permalink
  64. Hi Boone,

    I had this problem importing discussion items as blog posts. I found that I had to run the tool for as many times as the max # of comments for a post. Max comments on any posts was 45, so I ran the tool 45 timed and picked up 45 comments. It picked up the right comments, and only miss-placed a few of them, which I was happy with after 2 days of fussing with it.

    Posted on 18-Aug-10 at 12:30 pm | Permalink
  65. Interesting – that must be a symptom of some different formatting in discussions than in blog posts. It could be, for instance, that blog comments are expected to be non-linear, while discussion posts are linear with respect to time.

    Glad you were at least able to get the majority of the content over. Let me know how the export/import to Drupal goes for you.

    Posted on 18-Aug-10 at 12:45 pm | Permalink
  66. Anthony Zeoli

    Hey Boone:

    Just an FYI, so you are aware. The Ning export pulls ALL users regardless of status, and puts them into your BuddyPress user database. That means flagged users or users who have been asked to be removed. They still exist in the Ning database. There is no documentation that says any flagged or removed Ning user would be pulled into the new system. It’s made my client quite upset, but there’s nothing anyone can do, because it’s Ning’s data. Anyone reading this post, make sure you go through your user database and pull anyone in their that requested privacy or was flagged. Also, make sure to “no-follow” your site, so that Google doesn’t cache your live profile pages in your test environment.

    Posted on 18-Aug-10 at 12:52 pm | Permalink
  67. Anthony Zeoli

    P.S. – Just to clarify, I meant to say it’s not your issue, Boone. You’re not responsible for what Ning puts out, and can only respond to requests based on our feedback. Hope you didn’t take that the wrong way. Wasn’t meant to point at you, meant to say Ning just dumps it all out there and we have to pick up the nasty little pieces.

    Posted on 18-Aug-10 at 12:54 pm | Permalink
  68. It seems to me that the replies in Ning are allowed to be made to any comment or the post itself. Regardless, once inside WP everything appears flat, and so it is once they end up in Drupal. Running the tool multiple times was easiest with the back button. I should add that I edited the discussions file by inserting the blog publishing info into the post information, then renamed the file to “blogs” for the import. If I didn’t do that, and used the hacked version of bp-import I was getting unbelievable amounts of lost and missplaced comments.

    You can see an example of the final Drupal import on this page:
    http://commons.peerforge.com/discussion/p2p-social-currency-money-20

    I think there was a hiccup with something about the usernames, too, for commenters, because the names are a little off from the account names, and not lit with links as they should be. The data is in, though, and the accounts are functional.

    Posted on 18-Aug-10 at 12:55 pm | Permalink
  69. Thanks for the comment, Tony. I wasn’t aware that Ning had a concept of “suspended” users, much less that they put it into their export files :)

    In the future, adding these lines
    if ( $member->state != "active" )
    continue;

    immediately after
    foreach ( $members as $member_key => $member {
    around line 268 should make the importer skip any non-active members. There may be a more fine-grained solution (creating non-active WP members corresponding to non-active Ning members) but that’ll have to wait for the next version.

    Posted on 18-Aug-10 at 1:03 pm | Permalink
  70. I have this error:

    Warning: mysql_get_server_info(): supplied argument is not a valid MySQL-Link resource in /home/minhascitac/public_html/embuscadabibliotecaperdida/wp-includes/wp-db.php on line 1582

    How to resolve?

    Thanks.

    Posted on 18-Aug-10 at 2:05 pm | Permalink
  71. Leonardo – It doesn’t sound like this is an error with my plugin. Is WordPress/BuddyPress working for you otherwise? Can you save new content?

    Posted on 18-Aug-10 at 2:18 pm | Permalink
  72. This error appears when I import the forums. It starts to upload but always this error message appears. With that I am not able to migrate all messages. I do not know how to fix this problem that seems to be of WordPress and MySQL.

    Posted on 18-Aug-10 at 2:28 pm | Permalink
  73. That’s a very peculiar error, Leonardo. I opened the WordPress file in question, and it looks like WordPress is unable to open a database connection at that moment. I have no idea why that would be the case. Try posting to the forums from the front end of BuddyPress and see if you get the same error.

    Posted on 18-Aug-10 at 2:57 pm | Permalink
  74. Boone et al,

    I wrote a detailed post on how to use the Ning Imported to migrate the posts to Drupal. I had some good success with it. I hope others in need will find it useful.

    http://commons.peerforge.com/discussion/migrate-ning-drupal-import-ning-content-drupal

    You can see the imported content at http://commons.peerforge.com/node/8/content/discussions

    Thanks for the help with this, Boone. There are a couple bugs, but I can endure them as 98% of the comments ended up in the right place.

    Posted on 19-Aug-10 at 1:32 am | Permalink
  75. Hi ,

    I tyested the pug lin and it worked really well, i successfully imported blogs, comments, users, music , mictures etc … but i have a question

    Is it possible to import several different Ning sites on the same WordPress 3 account ?

    I fear that when i uplaod the files from my second ning account it will overwrite the archives from the one already imported .

    Thanks and congratualtions u did an amazing job with that plug in

    Posted on 19-Aug-10 at 12:40 pm | Permalink
  76. Hi Sammy,

    So glad it worked well for you!

    If you go through the import process again with a different set of files, nothing will be overwritten. When the plugin adds new users and new content, it simply tacks it onto the “end” of the database, so to speak. Everything should be correctly associated with the proper user. Keep in mind, though, that if you import into the same WordPress installation, all of the discussion topics and user profiles will be mixed together: they will no longer be separate communities.

    Posted on 19-Aug-10 at 2:01 pm | Permalink
  77. Boone — fabulous plugin. I’d never had need to use it before, but, well, now’s the time.

    However, I seem to have run into a hitch. I have around, oh, 300-500 members to import for a friend’s website, but the members json file is stopping after only so many, and not doing the full import. My inclination is to think it’s out of memory because when I try to start over and do it again, it loads the exact same members.

    Any clues? I’m hoping the NING export file isn’t corrupt, which would be a shame, because I have no idea how to fix that. Looking closely at the details of the json file, however, I can’t see any obvious problems. (Looking at where it’s stopping.) Any ideas?

    Thanks!

    Posted on 19-Aug-10 at 8:40 pm | Permalink
  78. Arx Poetica – What happens when it “stops”? Do you see the footer of the WordPress Dashboard, or does the entire page stop loading at that point? As I suggest in the documentation, for large amounts of data you might need to hit the Refresh button when the plugin stops.

    Posted on 20-Aug-10 at 6:27 am | Permalink
  79. An awesome tutorial, Alex. I never would have thought to use WordPress as a bridge like this, but I’m so glad that it works!

    Posted on 20-Aug-10 at 6:34 am | Permalink
  80. Yes, I see the footer, and I did read the documentation a few times. Tried refreshing, but it just doubles up the content. The strange thing is that it’s importing everything else just dandy. Groups, discussion, etc.

    Unfortunately, after carefully reviewing my data, it appears that it’s actually the data itself. It appears that the archiver from Ning isn’t exporting all the content. I don’t get it, and I can’t be sure until really digging in there, but that’s the appearance.

    I was able to download the .csv export from Ning, and that had all the members, but it’s missing the other data, so I’m just trying to figure out if it would be worth trying to reformat that .csv into some importable json.

    Any further tips along this front would be appreciated. Any suggestions for how to import a .csv? I saw that it could be done with version 1.1, but I’m not certain how to do that now without converting it into a json string?

    Thanks again.

    Posted on 20-Aug-10 at 9:23 am | Permalink
  81. Anthony Zeoli

    The Ning exporter can deliver corrupt content in the discussions-local, which is the file that the importer calls. The data in this file comes “relative” and not absolute. The sister file is the non-local file, which may be okay. You can rename the sister file as the local file, but then you’ll have to do a search and replace in mysql to fix all your links to either relative or the absolute path of your URL.

    I have had this issue myself…it’s the worst, because you have no idea what’s going on.

    Posted on 20-Aug-10 at 9:35 am | Permalink
  82. There can be a lot of reasons for corrupt files.

    I had to get a new set from Ning because the first set was full of errors and missing data. I recommend trying that first.

    The importer is not really designed for importing the CSV file. It will retrieve your member information from the JSON files. The CSV file has no real value beyond that information.

    Posted on 20-Aug-10 at 10:22 am | Permalink
  83. Just to concur with Alex and Tony: The JSON files that come from the Ning export can be buggy. The crappy part about it is that sometimes it’s a single character in a multiple-megabyte file, which makes it very, very hard to trace. Tony’s suggestion that you try the non-”local” version is a good one; even though you’ll get a lot of absolute links, it could be better than nothing.

    The .csv importer in earlier versions of this plugin will import your members, but none of your data. I don’t really recommend using it.

    Posted on 20-Aug-10 at 11:45 am | Permalink
  84. Thanks all for the input. I think I’m going to try and re-parse the JSON myself.

    Posted on 20-Aug-10 at 11:56 am | Permalink
  85. The new user email isn’t replacing the merge fields with the username and password.

    In bp-functions.php line 1486 needs to be changed from:
    wp_mail( $to, $subject, $email_text );

    to:
    wp_mail( $to, $subject, $message );

    Posted on 22-Aug-10 at 3:57 pm | Permalink
  86. hi Boone, I’ve spent 2 days trying to get this right…. I’ve archived the ning files, uploaded them all to a wp-content/ning-files folder. Have visited the plugin panel at Dashboard > BuddyPress > … but can’t find “Import From Ning” in order to follow the instructions. I’m using the BuddyPress version that I downloaded at the top of your page here, with WP 2.9.2

    Any help would be greatly appreciated!

    Anita

    Posted on 26-Aug-10 at 10:06 am | Permalink
  87. Anita – You don’t see an “Import from Ning” link underneath Dashboard > BuddyPress on the left hand side? It should look like this: http://teleogistic.net/wp-content/uploads/2010/08/buddypress.jpg

    If not, are you sure that you’ve installed and activated the Import from Ning plugin properly? Keep in mind that you have to install BuddyPress and *also* Import from Ning, and that they both must be activated at Dashboard > Plugins.

    Posted on 26-Aug-10 at 10:35 am | Permalink
  88. Ha! You’re a genius, thanks for that. Now i’ve just gotta sort out photos and a few odds and ends and I’m away! Thanks so much. Expect a donation soon! xx

    Posted on 26-Aug-10 at 11:33 am | Permalink
  89. So glad it worked, Anita!

    Posted on 26-Aug-10 at 1:33 pm | Permalink

10 Trackbacks/Pingbacks

  1. [...] ‘telos’ Skip to content HomeAbout BooneDonateCodeWordPress/WordPress MUShared BlogrollImport from NingBuddyPressBP Include Non-Member CommentsCustom Profile Filters for BuddypressBP TinyMCEInvite [...]

  2. [...] – http://buddypress.org/blog/ မူရင္းေနရာ – http://teleogistic.net/code/wordpresswordpress-mu/import-from-ning/ Tags: IT, News « ဘာသာမတူသူမ်ားၾကား ဘာသာေရး [...]

  3. De Ning a BuddyPress | TodoWordPress on 03-May-10 at 3:36 am

    [...] una solución que aprovecha el archivo CSV que se puede generar mediante la lista de miembros. Ning to BuddyPress importer nos importará el nombre para mostrar, el usuario, el correo electrónico… Además, la [...]

  4. Ning cambia su modelo de negocio | blog on 05-May-10 at 8:35 pm

    [...] Tras el anuncio de este cambio de modelo de negocio, hay varias alternativas que han preparado su servicio para permitir migrar de tecnología sin demasiadas complicaciones; y [...]

  5. [...] ところで、今回の発表に合わせてBuddyPressがNing上のデーターをBuddyPressにインポートするツールをリリースした。もうNingなんて嫌だと思うユーザーはBuddyPressを候補に入れてみてはどうか。 [...]

  6. [...] Buddypress installation. I'm going to explore the "import from Ning" options, which include a limited (but free) user profile importer, and a more powerful (but commercial – $79 US) importer from the WPMUDEV team led (I think) by [...]

  7. [...] all over the place Skip to content HomeAbout BooneDonateCodeWordPress/WordPress MUShared BlogrollImport from Ning: Import Ning users to WordPress and BuddyPressBuddyPressBP Include Non-Member CommentsCustom Profile Filters for BuddypressBP TinyMCEInvite [...]

  8. De Ning a BuddyPress | PHP SPain Blog on 23-Jul-10 at 10:10 pm

    [...] una solución que aprovecha el archivo CSV que se puede generar mediante la lista de miembros. Ning to BuddyPress importer nos importará el nombre para mostrar, el usuario, el correo electrónico… Además, la [...]

  9. [...] Developer at CUNY Academic Commons, has developed a sophisticated WordPress to BuddyPress importer, available for download from his [...]

  10. links for 2010-08-26 | Ronaldo Richieri on 26-Aug-10 at 11:02 am

    [...] Teleogistic / Import from Ning: Import Ning users to WordPress and BuddyPress Uma ferramenta para ajudar a migrar uma rede ning para BuddyPress (tags: ning buddypress wordpress) [...]

+ 44 Tweets

Post a Comment

Your email is never published nor shared. Required fields are marked *
*
*