I've been looking at porting an existing site to 0.9.7 to give it a shakedown. The site has manager users, web users, MaxiGallery, Wayfinder, file uploads, custom snippets, Personalize, Ditto, SPForm, and multiple templates so it would give 0.9.7 a good ride. I have the latest 0.9.7 up and running but with no content.
Obviously, I can cut and paste everything into the new site, but I'm wondering if I can use some shortcuts (and possibly develop a conversion script).
First, checkout the class
modTranslator (a wrapper for the utility class
modTranslate095), and
an example conversion script I used to jump-start the process of translating Wayfinder 2.0 to Revolution. After running this, only a very few things had to be adjusted in the script, and these are things that will either be fully documented in a migration guide or refactored/fixed so the change is not necessary when we finally release this.
The site_content table looks to be the same except for the addition of the class_key and context_key fields and the renaming and restructuring of the contentType/content_type field. There are also a few changes from int(1) to tinyint(1) and vice versa although I'm guessing those shouldn't be an issue.
Is it possible to dump the site content table and import it into the new site after editing the dump to drop contentType, add the three new fields, and modify the snippet and chunk calls appropriately? Or would that be a suicidal undertaking? If it's possible, what should go in the new fields?
Is the site_content table modular enough that it can be imported on its own, or does document creation modify other tables that would make this move unwise?
The aforementioned modTranslator will handle conversion of old tags to new accurately in probably 95% of all cases, with most of the false positive matches occurring in snippets where valid PHP code can match some of the legacy tags.
As for the site content, just dump using complete and extended insert options, import, and add a class_key of modDocument (or modWebLink) and match the content_type fk to the appropriate match in the content_type table, which will likely be 1 (which should be the HTML content type record) for most modResources (modDocument, modWebLink, etc.); you can actually use contentType to find a match in content_type table as the value in site_content.contentType will match the content_type.mime_type field (these are kept in sync for now to allow new functionality without sacrificing legacy dependency on the contentType column).
I imagine there would have to be some editing of the permissions numbers and the groups would have to be done from scratch.
This is a whole other can-of-worms, and I'm working on migration strategies to ease the transition along with scripts to help automate these strategies when moving to the new security framework I've just recently implemented on top of the merged web/manager user model.
Are there any other tables that could be imported this way (member_groups, membergroup_names, document_groups, documentgroup_names, site_templates, site_snippets, site_htmlsnippets?
Start with the translator class and your manual site_content (i.e. modResource) import and we'll go from there.

The installer will eventually include interfaces to these and possibly other tools to help most 0.9.6'ers easily migrate their sites through a series of steps born out of best practices we develop here in collaboration.