CMSity – small, generic content management system

05 Mar 2009

CMSity Logo

After spending few years using WordPress, MODx, PHPnuke I found out those systems getting more and more complicated, well yes sophisticated too, but first of all complicated. Anyway, feeling that this is not right direction I have decided to rewrite something by my own; simple, but powerful enough to provide functionality that you expect from most of the modern sites – blog, forums, RSS feeds.

Such functionality was requested by few of my clients, asking me: “Adam, we need something like WordPress, but we would like to have forums too, also site should be multi-lingual and finally we would like to limit the access to some parts of the site.” Just to mention those clients were running websites at PHP virtual hosting. I said, “Roger that” and started looking for some (any) CMS that could satisfy their needs.

I use to browse for new CMSes time to time. I did it again last October. Nothing new. Okay, maybe I could somehow tailor MODx, or WordPress. Nah. Then I found BBpress, well I was excited. A forum system made by WordPress creators, that integrates with WP. Great! Maybe this will fit.

Unfortunately I was hitting so many problems syncing WP and BBpress user database and logins, cookies (Why the hell it is so complicated?), so I gave it up.

I decided to write my own system, having in mind that forum, blog, they just differ at presentation level! There is always some parent page and subpages, post and replies, forum and topics. All having some hierarchy relations, and different presentation model. So why we have to install BBpress over WP if it is just a matter of presentation. Forum should look more like a table, while blog more like list of post excerpts. Why we cannot just turn WP sub-blog into the forum?

The difference is the presentation

So thing that makes forum or blog special is the way it is presented to the user. But from structure point of view both are the same. So this is the idea of the CMSity. For CMSity all pages (document tree nodes) are the same, they just carry the type which is used to determine what template to use to render them – what is their presentation.

CMSity Template

Why PHP? Even I know more optimized/fast languages such as Ruby (1.9 is really fast), Java, C++, started learning Erlang, still PHP is kind of standard that is present on most of the web servers and you can expect your clients will have PHP on their web servers. So I have chosen PHP; not really my favorite language, but the one I know pretty well and have spent quite a while with.

So this is genesis of CMSity. I hope it will find many users and will be useful for you all.

Posted in CMS