Bobs-Bits.com - where stupidity meets reality

BTM Content Management System

Update

BTM-CMS is currently being re-written using BTM MVC Framework.

History

BTM-CMS is something I have intended to create for a while, since working on CTCMS, a custom Content Management System for CrimTrac several years ago.

As with CTCMS, BTM-CMS uses a relatively simple template system, with a central controller identifying and passing template tags off to individual components of the CMS.

However, while CTCMS used syntax embedded in HTML comments for it's template tags, and handled all template operations as String/RegExp manipulation, BTM-CMS stores (and works with) its templates as XHTML documents, using the btm Namespace prefix to identify template tags.

Because the BTM-CMS template system uses XML namespaces, a handler can provide replacement content for a template tag, which in turn contains more template tags.

Functionality

Everything to be dynamically rendered in the page, from basic DB queries to navigation menus, is created by a BTM-CMS handler. Handlers are simply PHP Classes that create the markup for a specific element(s) on the page.

Some handlers are quite generic, and in some cases relatively simple, such as the page and template handlers (both are sub-Classes of more generic Class), which simply output any of the information about a page or template in the database, such as title, version, modified date, etc.

When required, a template-tag and it's accompanying handler can be quite complex. The default navigation handler for example, while providing defaults, can also interpret a user-supplied XML fragment to generate the nested navigation links.

Because of this approach, BTM-CMS can be quickly and easily expanded to support more on-screen elements.

Environment

BTM-CMS is being developed in the following environment:

Operating System:
Mac OS X 10.5
Web Server:
Apache 2
Language:
PHP 5
Database:
MySQL 5

Status

BTM-CMS is currently at a very early stage of development, and as such is both unsuitable for production use, and also growing very rapidly. Updates regarding the status of BTM-CMS will be posted on the BTM-CMS news page.

Screen shots

The following screen shots are not feature-complete, nor finished. They are simply intended to give some idea of the progress on BTM-CMS along with the general look & feel

  • BTM-CMS v0.2 Handlers screen