The first blog post

I've finaly found my holy grail. After years of searching for ultimate CMS I've found one. Or not. It depends. I've found out that best CMS is no CMS at all. These pages are proof of concept of an idea I had at the end of year 2009. And it seems to work. Read more about technologies I used for my new "publishing platform".


History of my CMS efforts is very long. It started when I realized for the first time that when I change CMS, I loose all my data. Why? Because all the fancy CMS stores it's data in a fancy database schema, so although you don't have to be skilled engineer to install them in minutes, you have to be university graduate to migrate data from one to the other. Typicaly it's so time consuming that it's not worth it at all.

For a few years I was driven by an idea "let's choose the ultimate CMS and use it for the rest of my life". After I tried tens of them I came to the conclusion that it's impossible. And I didn't wrote a single article.

There is a solution in creating a statical pages only. But after a few years you will end up with medieval ages looking web which you are unable to restructure because, again, it would take tens or hundreds of hours of stupid search and replace work. But it at least gives you the opportunity to abandon it at current working version without any additional work. And that's the good way.

So I came with an idea of "filter". The point was to create the basic xhtml pages and add all the design and dynamic content programatically by parsing such file and injecting dynamic content into it. It combines the possibility to globaly change behavior and design in one place with possibility to abandon this CMS with static data being still available without any additional work. I tried to write a tiny framework in php, which would do just that. It took me another two years and in the end it was so time consuming that I gave up again. But at least I didn't lost the data. The first good sign.


I got the last (and I hope that final) idea during work on a project with heavy use of XSLT. I discovered great xslt function document() (which I wasn't aware of before, to my shame). I also discovered several interesting facts about xslt. Firstly, it's turing complete pure functional programing language (funny is that when I learned lisp at the university I thought "nice, but I will propably never use it":-)). Secondly, all the major browsers are supporting it. I realized how big is the power of this technology.

In a month (of calendar time, in reality some 2MD) I was able to create basic structure of xslt templates for dynamicaly looking but static web pages. My solution features are:


Project is not hosted anywhere now since it's too young and there is a lot of work to do. But the code is of course available here and I also recomend you viewing source of every page here. Future plans are:

Last update