November 28, 2015
A while ago I made Coalescence for Wordpress open source. It can now be found at Coalescence for Wordpress at Github. The reason I have done this, is that I don’t have the time to properly support it and the interest in this has faded from my side. This does not mean Coalescence is no longer maintained, though! I am still using it on several live sites.
The idea behind Coalescence for Wordpress came from my experience with Diazo, through Plone. The idea of using a static/html theme and simply replacing the content with your own applied very much to me. The only problem was that it seemed less portable. Plone has direct integration, another possiblity is handling the transformation from within the webserver (Apache/nginx.) The required custom Apache/nginx configs, which is often not possible using standard hosting platforms.
Also, configuration is done through an XML file. At the time, no point-and-click-tools were available to configure Diazo. As a result, setting up a theme was a hard thing to do. Not only because of the lack of tools, also because of the - in my opinion, inflexible - ordering of the execution of rules. Perfectly fine for use in a professional environment/development shop, but hardly user-friendly for anybody else.
As a result, I made Coalescence for Wordpress, hoping to defeat these shortcomings. I chose Wordpress because I already had some sites/maintained some sites running Wordpress. Also, Wordpress is one of the most popular CMS systems nowadays.
The result consists of two parts: the rule execution engine and the configuration interface. The rule execution engine takes the configuration file - currently called rules.xml - and applies the transformation rules. Rules consist of instructions like:
- replace this part in the static/html theme with this part from the contents
- drop this part in the static/html theme or contents
The configuration part consists primarily of a point-and-click interface showing both the static/html theme and the contents from Wordpress. You can then click on an element in the static/html theme, click on an element in the content, and create a replace-instruction from it by clicking on the replace-button. The idea works pretty well. Content can usually be easily replaced by a single rule, and widgets are used to replace content of side bars.
I built a few new sites using this mechanism. Next to that, I replaced some old sites, keeping the original theme. I did this by saving a page from the original site, including images, create a static/html theme of it (usually just saving is enough), and re-use it in combination with Coalescence. Migrating a simple website from a custom CMS or static pages to Wordpress is done within an hour or two, without any programming.
Nevertheless, there are shortcomings. At this moment Coalescence cannot do complex transformations. Sometimes you need an extra class on an element because the static/html template uses it. A transformation would help here, adding the class to the contents from Wordpress. This can be overcome, though, by editing the contents (php files) and simply adding the class. May sound scary, but really isn’t. Easily overcome.
At first I wanted to make Coalescence for Wordpress paid. I set up EDD Software Licensing, hoping to protect the software and provide an easy way to buy it. Using EDD this was fairly simple. I created a website (no longer in the air), all happy and ongoing. However, after a while, I lost interest in maintaining the website due to other projects and decided to remove the EDD integration. Also, I decided to make Coalescence open source. You can now find Coalescence for Wordpress on GitHub.
Coalescence is now open source and is provided to everybody who can use it. I hope this is useful for anybody who is looking for somebody who wants to use a static/html template on his/her website. Feel free to contact me on Coalescence for Wordpress.