JCMS

JCMS is a web-based content management system, originally designed for my own band's needs. The basic features include publishing and updating news entries, blog, gigs, static pages, photo galleries and links. The system includes also guestbook and enables commenting of news and blog entries.

Features can be enabled or disabled independently, so JCMS can be easily tailored to other than bands' use, such as an engine for a personal web site or a photo gallery. Technically the system is divided to an admin part and index part. Admin pages are used for updating the content and naturally require logging in with username and password. Index side is the actual site the visitor sees (what you are browsing now).

As the system is still in development and in beta test phase, it is not published and cannot be yet downloaded freely for personal use. Even though publishing the system seems to be kind of lifetime job for me, I would not hold my breath for it, since the code will never be good enough for public use..

Some screenshots from the admin side

Tech details (jargon alert..)

System is programmed with PHP and a flat-file database. Because of the txt-based database, MySQL is not needed and only PHP5 is required. Short snippets of javascript are used here and there in the admin side to create some smooth JQuery-based user interface elements and to support fluent AJAX-based content editing.

It is also possible to create multiple user accounts for the admin side, so for instance, visitors can see who has posted a blog entry or otherwise updated the site recently.

News and blog entries automatically generate RSS2 compliant RSS feeds, which can be used for automatic bookmarking or subscribed with RSS readers.

I've always been into web graphics and layout design, so rather early it became evident that I really should keep the content, structure and visual part separate to easily update the graphics and layouts. In my own cms, the content, structure and layout are kept separate with simple database, XHTML templates and external CSS files.