Chris Tankersley

Major Upgrade to BiffCMS

Posted on 2009-02-07

One of the nice things about switching BiffCMS to using the Zend Framework from the now extremely old and not-PHP5 BiffAPI that it used to run on is flexibility with power. Due to Zend Framework's nature of allowing the programmer to do what they want instead of forcing them into a design paradigm, BiffCMS is now more modular.

What was overhauled?

The basic folder structure and some plumbing were overhauled in the last few days. The introduction of a 'plugins', a 'sections', and a better theme system were all moved around and coded to allow for easier development. If you were using the Zend Framework version of BiffCMS all you will need to do is move some files around, but this is not a simple 'overwrite files' kind of upgrade.

Plugins

The heart of BiffCMS has always been Modules, which dictate what pages you can add to your site through BiffCMS. Since this has a much different term to Zend Framework developers these are now renamed Plugins and are much more easy to develop. Using the new 'plugins' folder, each plugin is now fully self contained inside its own folder. Need to install a new plugin? Drop it into the 'plugins' folder and go from there (still needs to be manually entered into the DB, but work on installation is coming along).  I've also added an Externallink plugin that allows pages that direct to outside URLs.

Sections

BiffCMS is built using Zend Framework's MVC components and therefore has full support for Zend Framework modules (collections of Controllers and View Scripts). BiffCMS calls these Sections and they can be used when a simple page Plugin is not enough. Drop them into the 'sections' folder and add them to the index.php page just like a regular Zend Framework module. Work is also progressing on allowing Sections to be enabled and disabled via the admin GUI.

Theming

The last thing a web developer wants is for his website to look like everyone elses. BiffCMS now has support for packaged themes, much like the BiffAPI version used to. Just create a folder containing at least a 'layout.phtml' and an 'admin-layout.phtml', drop it into the 'www/themes/' folder, and you can select it from the System Config portion of the Admin. These are just regular Zend Framework layout files so existing layouts can be easily ported.

Administration

Along with the above changes, BiffCMS now supports adding and editing users (deleting coming soon!), the beginnings of a System Config section to allow low level config changes like Themes, and a better Plugin management system.

If you want to check it out, head over to http://code.google.com/p/biffcms and check out a copy of the SVN. Within a few weeks there will be a formal release as some loose ends are tied up.


Comments