I spent some time during the past few days moving the non-blog portion of webcommunicate.net from Xaraya 1x (aruba) to Xaraya 2x (jamaica). Simultaneously I moved all of this site, including the blog, to a new web host, ServerGrove.
The old host, WebFaction, was OK. No significant complaints. Performance seemed a little uneven at times for my PHP applications, though certainly not bad overall. It’s easier to run PHP 5.3 on ServerGrove, though, and Xaraya 2 requires PHP 5.3 or greater. Overall, PHP performance seems to be a little more crisp on ServerGrove, and I like their control panel (Plesk) a little better than WebFaction’s.
The changes in Xaraya 2x are extensive and thus there is no automated upgrade from 1x to 2x. Much of the work must be done manually. The process is not quite as involved as migrating from one framework to a totally different framework, but is more involved than a typical upgrade. You could say the degree of difficulty is somewhere between an upgrade and a migration. Most of my theme templates required only minor changes here and there for XHTML compliance.
I was able to keep all the same URLs without any use of Apache rewrite rules. This despite the fact that I used different content management modules in 1x (articles and xarpages) than I now do in 2x. In 2x, I use the content module for all content that I previously managed with articles and xarpages in 1x. The 2x path module assists with management of URLs. (Full disclosure: I am the author of content and path.)
Less than half of my website’s pages are public facing. The rest are for my own behind-the-scenes record keeping. My own custom cloud. Therein lies some of the motivation for using 2x. In 2x, I find it easier than ever to customize things quickly as my needs change.
I have written a few functions for exporting 1x articles data in a format that can be easily imported into Xaraya 2x objects. Feel free to contact me if you would like to use those functions. Separately, for conversion of 1x code to 2x code in modules and themes, this script will perform much of the grunt work.
