Two CMSs, one pageload
Here’s to the crazy ones. The misfits. The rebels. The troublemakers. The round pegs in the square holes.
The ones who see things differently. They’re not fond of rules. And they have no respect for the status quo.
This may have been written for Apple computer, but I think Julien Egelstaff has taken it to another level.
In this month’s php[architect] free article (PDF), he talks about running two CMSs together, on one pageload.
Why do we draw neat little boxes around one CMS or anotherninstead of using bits of one system and bits of another? Even though CMSs are supposed to offer modularity and avoid the need for hooking up massive bits of code to each other they only do so within their own walled garden of modules and plugins. What happens if you push this boundary and throw multiple systems at a single HTTP request?
I share his article because it’s pretty fascinating, not really because I think it’s a great idea. He walks through the code to actually accomplish the task. While he discusses the loading mechanisms for WordPress as well, his full example is for integrating Drupal and the CMS he works on, Formulize.
After taking you through the steps, which I’d recommend reading for pure fun, he highlights why you may do this (the question I wish he would’ve answered to start):
With a few conceptually simple steps, it is possible to integrate two (or more) CMSs so they can collaborate in delivering content for a website. The major challenge lies not in tying the two together but occurs when deploying content from one to the other. Architectural assumptions underlying how the systems are built can make this easy or hard. If you can overcome that barrier for your given use case, then you can break out of a CMS’s walled garden and reap the benefits of a module or feature from a secondary CMS that is not available in your primary CMS.
This can give your employer or client much greater flexibility in terms of what systems they use and how. It can also avoid the need to migrate 100% of content and features from one system to another when a decision has been made to move from an old CMS to a new one.
The argument for migrating to a new CMS without migrating all old content is the best argument he made. But I still think it’s nuts.