Migrating plone.org from 2.0 to 2.1 and a new server
Work log for things that need to be done / are done wrt. migrating plone.org to new server and Plone 2.1.
- [ ] Put plone.org into read-only mode
- [X] Create new, clean 2.1 instance - wiggy
- [X] move accounts from plone.org into LDAP database
- [X] PAS authentication with LDAP backend - wiggy, rockyburt
- [X] Squid setup using Geoff's Cache-fu - geoffd, longsleep, wiggy
- [X] The old Data.fs mounted somewhere in the ZODB - sidnei
- [X] ZWiki Product on the file system (just so I can read the objects that are wiki pages, we will remove it after the conversion)
- [X] zwikiremover Product on the FS
- [X] Documentize the wiki pages
- [X] Export everything but the collector
- [X] Import it into the clean instance
- [X] Perform content migration (not the same as Plone migration)
Then we can start piecing together the rest of plone.org:
- [X] Make sure all products are updated for 2.1 compatibility (PHC and PSC have special branches, ExternalStorage has been updated for 2.1 lately)
- [X] Move over the ExternalStorage files from PSC on plone.org (they are not in the ZODB).
- [ ] Figure out which of the scripts in /custom are really needed anymore, and remove the rest
- Install and test Poi (so the products get issue trackers) and make sure the PHC areas work (they don't at the moment, for some reason - I believe this is fixed in the updated PHC/PSC releases for 2.1, though).
- [ ] Figure out the caching approach to portlets, if any
- [ ] Make members.plone.org redirect to plone.org, it is no longer necessary with CacheFu
- [ ] Have CMFCollector in a separate instance that can be restarted and mucked with independently. This also stops it from polluting the general search results. Redirect anything request to http://(members.)plone.org/collector/ to dev.plone.org/ticket/* (the ticket part to make transition to Trac transparent later?)
- [ ] Add a validator to the new user creation form to only accept lowercase usernames. This is needed since LDAP treats uid as case insensitive
- [X] Ruthlessly delete accounts which only differ in capitalization
- [X] Force all existing accountnames to be all lowercase
- [ ] Mail exports of the few remaining Member folders to their owners - we are not in the business of hosting web pages. ;) (Include instructions on how to import 2.0 content in 2.1)
Migration log
- Mounted old Data.fs inside the new one
- Exported:
Members.zexp about.zexp collector.zexp contact.zexp contributing.zexp countries.zexp development.zexp documentation.zexp events.zexp foundation.zexp newsitems.zexp products.zexp workspaces.zexp
- Dorneles fixed a bug that made the import of PloneSoftwareCenter's products.zexp fail (so make sure latest version from SVN is on the FS)
- Unmounted the old Data.fs
- Renamed
eventsSmart Folder to avoid conflict, deletedMembers - Imported all the zexp files with "Retain ownership"
- Installed PloneHelpCenter and PloneSoftwareCenter from the 2.1 compatible branches - and ArchAddOn + ExternalStorage (it has been updated for Plone 2.1) - reinstall was required for PSC after we updated the ExternalStorage and imported, probably not necessary after doing the install above, though. The symptom was that the default view did not pick up the right template.
- Put ZWiki on the file system so imports don't break (do not install it, though)
- Converted the 2.0 content to 2.1 format per the instructions in the FAQ
- Ran the normal ATCT migration after this finished (this never returned to my browser - the page that is - but CPU usage went down to 0% and all seemed well)
- Recataloged everything (it's really fast - love new.plone.org ;)
- Documentized the wiki pages - worked well
- Moved external storage data from the CA server to antiloop. Slightly complex since the two zeo clients on the server have different file sets, and some files are empty in one of them. Basic recipe: create directory structure based on the dirs from both clients, copy all non-empty files into the new structure and transfer the result over.
- Setup a script to export users from the plone.org system to a LDIF file and transfer that properly encrypted to antiloop
- Setup a script to import the LDIF data from plone.org into the antiloop LDAP server
Current issues
Memberswon't import because there is an object with iddocumentationin there - logged this in the Collector