Plone export, import, and bulk import of zexp files
The issue of trying to migrate from older versions of Plone to newer versions has been a bane to many a system administrator, especially older 2.x versions to the 3.x and 4.x versions. I have steadily migrated about 50 websites from versions 2.5 to 3.x, and more recently 4.x, with the exception of one stubborn site. This site was by far the highest traffic and largest content.
At it's peak it was receiving over 1.5 MILLION unique visitors pre month. This is not huge, but more importantly it has thousands of unique pieces of content, and that is where the trouble has been. This site's traffic has died off critically because of years of being stuck in limbo trying to get all the content upgraded. It took 17 volunteers just manually copying and pasting text from thousands of pages to just migrate about 50% of the site, and was never finished. Many postings and suggestions from Plone dev folks have never been able to resolve this in a more elegant or efficient manner unfortunately. Again, about 50 other sites in the same instance upgrade okay, but the largest site is unable to.
This older site used a lot of "Products" (Zope / Plone's versions of "modules") that were not later developed for newer versions of Plone (3.x and 4.x), so many of these content types can't be migrated. The normal recommended approach(over simplification here) is to install the new version of Plone. Copy over the old Data.fs, into the new instance, and migrate/upgrade from within that new instance. unfortuntaely the old products in the old Data.fs make it impossible to even get a new instance to fully start up to be able to run the upgrade/migrate process.
So, for years I have been "breaking the rules" and using the export/import manual method through the ZMI (Zope Management Interface). This is normally only intended to be used between identical versions of zope, plone, and related products, to move to a new server setup. It was never intended as an upgrade tool. That being said, I have found that if done with very limited content types, especially just basic "pages", without using the folder (major differences between folder structures from 2.5 to 3.x, and also from 3.x to 4.x apparently), instead just each individual page. This is tedious, but less tedious than manuallyc reating a new page, copying and pasting the text through a browser, and then saving.
I had hoped there was some sort of Bulk Import tool available, but so far the Plone community in the chat room has not only not been helpful, but downright derisive.
BE WARNED ABOUT USER MacYet: you should automatically "auto-ignore" the user MacYet. I have seen this person for a long time never provide useful responses to any users, he only trolls and throws out condescending, rude, and completely unproductive comments. My suspicion is that this is some adolescent child who is immature by even adolescent standards, and can only get ego boosts through deriding others. You are strongly advised to auto-ignore this user, since it appears to just be a troll.
"* MacYET rolling eyes back and forth"
"* MacYET biting on the tongue"
"<MacYET3> nobody can help unless you ask a question"
So, just to be clear. It is not recommended to use zexp export/import to migrate to newer versions of Plone, but the claim that "<SteveM|away> merp: It's not just "not recommended" -- it doesn't work. Period" is wrong under very specific circumstances. "
When I then asked "but it DOES work on my server, why is that?"
"<SteveM> merp: Pure, fluke luck?"
"<SteveM> merp: I think it never occurred to anyone before to try it without folders."
Unfortunately no one provided any suggestions for a bulk import other than the usual "write your own script". Which is a legitimate suggestions of course. I know many other administrators of Plone have had the same problems for many postings in the IRC room over the years (I've been using Zope-Plone live since about 2004 for about 50 different sites). So I am surprised at the dearth of hits through web searching on a solution to this topic or any sample script code.
I will post if/when I find a solution and/or write a script myself.