The MODx developers recently celebrated the launch of MODx Revolution. A total rewrite of the CMS many have known to grow and love (myself included), but is this really a milestone worth celebrating?

I've been tinkering with websites for a number of years starting out with solutions such as Homestead (now owned by Intuit). Looking back it's hard to understand how I considered this to be a "good" solution, but if anything can be said about the trip it was educational. I feel it's important that we take the time to look back on our past accomplishments, many of our best accomplishments stem from failures. If you think some about your prior projects which do you remember the best? If you're like me it would be your worse projects.

I've progressed through using Photoshop to build websites (ImageReady table based sites) to spicing things up with php includes. These methods may seam crude, but at the time it was all I knew and well it worked! I had heard about this cool idea called a "CMS", yea old news now, but at the time it was a new challenge. I looked around and found Drupal and Joomla. I took some time to try them out and found them to be complicated, confusing, and well requiring I read through documentation to get the hang of things (never been a huge fan of documentation to get the basic idea). I knew there had to be a better CMS after reading all the praise for these systems so back to Google.

The searching lead me to this strangely named system called MODx, their website was lacking, but for some reason I had to give it a try on a site. I got version 0.9.5 installed and started to build my first CMS driven site for a client. It took me countless hours of work to figure out the code and get everything working. I went though all the documentation provided and then some to make this amazing site. It took a few months, but the site finally launched with a new look, current information, and some happy people. The project was a success, but I wasn't very happy with the end result so I didn't spend much time with it until my next client several months later. The client needed a method to edit the site online so I looked around again, but in the end came back to MODx. I wasn't too thrilled with the idea, but they had released version 0.9.6 so hopefully things would be better. Talk about a change, the interface seamed to fly and the new style didn't hurt my feelings. I had found the perfect solution! Well as stories go the rest is well history, I started converting templates for use with the 9.6.x series and rebuilding client sites with it.

Fast-forward a few years, releases, and then some we have MODx Revolution. A totally fresh start on the concept with a ton of improvements such as an improved core, better user permission system, improved caching, multi website support, and more. So enough talking about the past let's talk more about the future!

The Revolution Starts Now

I suspect most of you are already familiar with the power of Revolution so I will skip the sales pitch and discuss the conversion process. I encountered a few issues in converting my site, but with a little effort you can accomplish just about anything. If you have visited my site recently you may have noticed the addition of /evo/ to the address, this was done so development could take place live. I was able to use the following .htaccess code to allow my access to the development site while sending other traffic to the sub folder (live site).

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} !^/live/
RewriteCond %{REMOTE_HOST} !^255\.255\.255\.255
RewriteCond %{HTTP_HOST} domain.com$
RewriteRule ^(.*)$ live/$1 [L]

Just change out the values with your information and now all traffic not from your ip address is directed to the folder you specify.

Migration

The process of hiding the revolution site was the easy part, but at this point in time there isn't an official migration/upgrade method for Evolution/ 0.9.x. I have no desire to lose/recreate my content so the question was how to move it all over to Revolution. I first attempted to use the Provisioner addon which did the job, but I had issues with the imported documents. Instead of debugging those issue and delaying the relaunch I shifted to plan B, manually moving the site.

I compared the content table in Evolution and Revolution to find only three extra fields and a few tweaks to the design. I duplicated the content table for Evolution and proceeded to use phpmyadmin to tweak the design to match that of Revolution. I was then able to directly move content from the test table to the revolution table.

I used the Provisioner addon to move templates, chunks, snippets, and plugins. The process was quick and painless thanks to some great work by it's creator, I feel with more testing this should be a great migration system.

Upgrades

It would be one thing to just convert the site over for use with Revolution, but that wouldn't be fully taking advantage of the new improvements. This was a great time to make some improvements to the site tweaking the menu, and upgrading the blog. The MODx team has done a great job in improving the documentation. I took advantage of the great documentation on creating blogs here: http://rtfm.modx.com/display/revolution20/Creating+a+Blog+in+MODx+Revolution

I could have just installed ditto, but the replacement seams to be working a tad better and well this is Revolution so why not mix things up! I still need to figure out OpenID login to make things easier for anyone wishing to comment. (If anyone has this working and cares to share please email me). The re-haul of the blog also introduces the need for other changes such as the RSS feed generation. Enter Garry Nutting and his tutorial on using getResources to generate an RSS feed.

These two tutorials covered most of the heavy lifting required to get things up and running, but then there we have some fine tuning, the sharing buttons! Ryan Thrash provided the final puzzle pieces with his sharing code and then bit.ly snippet.

Conclusions

The process of switching over to Revolution was a long road filed with me finding the code needed, but in the long run I feel the effort was worth it. I've got a powerful backend that allows me to expand my site as needed and best of all, it's simplified things in so many ways. Draging pages in the tree, drag and drop snippets, quick update, the package manager, and more. Looking back at prior projects and my first experience with MODx I can say one thing, the future is very bright and only time will tell what kind of insanely cool things will come. We have Evolved and now we are holding a Revolution, I can only guess what the Future holds.


Tags: