Sunday, 14. September 2008, 14:38:03
My
personal web site is basically a set of templated XHTML pages with a whole lot of Perl scripts holding everything together.
For nearly a year now I've been toying with the idea of re-writing my site into PHP. What started this was my acquisition of a
QNAP TS-109 Pro. This cool hard drive enclosure has a built-in Apache web server and MySql support. I would host my local copy of my web site on the QNAP, and have my ISP host my "live" site on their servers. I'd also had a couple of run-ins with my ISP complaining about my inefficient Perl scripts. Maybe PHP would be better?
That's where it becomes complicated. My ISP only has PHP 4 - no PHP 5! Nor do they provide any database support. No MySql, no sqlite. My web pages are currently split across two sites: my personal site of static web pages, and my blog here on my.opera. I have some photo galleries on both sites. I'd really like to create an integrated site and have easy access to the data for backing up. None of my my.opera stuff is backed up anywhere.
So for me I want to use PHP, no database, and build a site that incorporates a decent tree of static pages (a depth of five or more would be comfortable, unlimited would be best), supports a blog and multiple photo galleries. Comments and trackbacks on the blog items and photos (and maybe the static pages too) would be really nice. Being able to directly maintain the site online using a WYSIWYG editor is a high priority.
Apart from my own pages, I've also made a couple of web sites for customers. All hand-made, which I was getting tired of. What I wanted was some way of being able to make a web site that would be updatable by someone with minimal web knowledge - i.e. so customers could update and add/remove pages themselves using a WYSIWYG editor. Since my customers have so far wanted to host their sites in their own web space, I needed a system with minimal requirements. For example, no database. I decided something that worked with text files and written in PHP would be required, but nothing like the requirements for my own site.
For the simple types of web sites I've built so far for my customers, I found
CMSimple to be an excellent fit. While I'm not going to rebuild my older web sites using it (unless I'm paid for it, of course), I think I will use it for any future customer sites. CMSimple comes with a custom WYSIWYG editor, but allows the more full-featured editors TinyMCE and FCKeditor to be used. TinyMCE in particular has very good integration, being able to easily create intra-site links and refer to images. CMSimple supports a hierarchy of pages, but only to a depth of three. There is no built-in support for a blog or photo galleries, but there seems to be a photo gallery plugin available. Restyling the site via templates is pretty straightforward.
Limbo was one of the first I looked at. I was immediately put off by the date of the most recent changes (March 2006), but I downloaded it anyway. I could not get it running at all, and subsequently found out it isn't compatible with PHP 5, which is what my home servers are running.
Quick.Cms is a nice looking system. It supports a tree hierarchy (to seemingly unlimited depth), and supports the TinyMCE editor, but doesn't support full-featured page editing. For example, no table or images support, although it has a separate facility for adding images to pages that creates automatic thumbnails and Lightbox viewer. There is no blog support, but gallery (sort of) and visitor comments are supported by upgrading to a paid version. The free Quick.Cms would be an excellent alternative to CMSimple for my customer sites.
ReloadCMS is a nice looking CMS too. There was a small hiccup on install as the "content" subfolder was missing the subfolders "users" (which blocked adding any users - even the administrator), "datafiles" and "forum". The "gallery" subfolder was missing subfolders "new", "images" and "thumbnails". Yes, it comes with a simple web forum and photo gallery. It has a limited page (it calls them articles) hierarchy - just sections and categories within sections. In general I wouldn't consider ReloadCMS for my customers, mostly because it is very much a multi-user oriented system, and so far my customers are just interested in static pages. Nor would I consider it for me due to the very limited article organizational capabilities.
NanoCMS is an extremely simple CMS. As its name implies, it is tiny. Page categorisation is flat (single level). It supports the TinyMCE editor as an add-on. If you want images on your site, you need to upload and manage them yourself. There are no gallery or blog facilities. This would also be suitable for some of my customer sites, but I think CMSimple or Quick.Cms are almost as simple with better functionality.
GuppY is the Opera of CMSs. That is, I'm sure that if I looked hard enough, I'd find a kitchen sink in there somewhere! It supports static pages (articles), but only a single level of categories. It also has facilities for a blog, photo galleries, downloads, links (bookmarks), a forum, a guestbook, news items, an FAQ, and polls. I'm sure I've forgotten several other things. The lack of depth in the article categories is quite annoying, as it would otherwise seem to be a fine option for my new personal web site.
Sapid is rather interesting. It seems to be a general purpose CMS framework. There is a tree hierarchy of pages and it looks like each page can specify its own template to use. There are all sorts of interesting modules to do menus, navigation, news items. I have no idea how they work! The modules seem to be a declarative programming language of some sort, written in XML. I have a sneaking suspicion that if you knew what you were doing, you could relatively easily make Sapid do
anything. As it stands, it's too complex to figure out. There do seem to be modules for a "personal website" and a "blog", though.
Pivot is a blog system. Multiple blogs are supported. It does not support a hierarchy of static pages. When you create new entries/articles there is a flat category system to organise them. The WYSIWYG editor is custom and really a markup-style editor that you click to preview the item.
Project Steve Guttenberg (they really need to change their name to something like "PSG") is a multi-user blog system. It doesn't support static pages, so not of interest to me.
FlatPress is basically the same.
In short, I've looked at stacks of CMSs. Collectively, all the features I want are out there. The problem is that they're in different systems and I just want to deal with a single system!

The PHP programmer in me is now itching to start development on my own CMS so that I can get exactly the system I want. The voice of reason is telling to just pick one and work around its limitations. A CMS system seems deceptively simple, but I know if I were to start, all the simple tasks would become monsters. Page management, navigation tools, photo gallery management, visitor comments, polls, site statistics, etc, etc.

I guess the question is - are there any PHP plain text CMSs I've missed? GuppY seems to be the closet thing for my personal use. However, for some reason I can't explain it just doesn't feel right. The lack of article depth is certainly a problem. Maybe it just feels too much like a community system and less like a personal web site?
I think I'll continue looking. I'm planning on revamping my site over the Christmas break, so there's still a few months for something new to turn up.
...continued in Part 2...