Chris Tankersley

· PHP Jack of All Trades ·

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.

Posted on 2009-02-07

Comments


I've been meaning to do this for a while since BiffCMS has stablized to the point where I feel comfortable running it in production since switching it to Zend Framework from the old BiffAPI that it had been running. This is good since I just finished setting up and working on the website for Dragonlance: What If?, a new MUSH that will be going into beta this week.

Want to know how easy it is to get up and running with BiffCMS? I installed the app, ported the layout, and added a few pages in just about four hours total. Less than half of a day and I've got a site that I'm happy with and will have to do less to maintain than the straight Zend Framework-based site that was there before.

Want to try out BiffCMS? Head on over to the Google Code site and check out the latest working copy. I'll be bundling a full release here within a week or so.

Posted on 2009-01-18

Comments


Another project of mine has been launched - Biff Project Manager. Biff Project Manager is a project management system that I am building to replace my by-hand method of project management. The first SVN commit has been made and you can check out a fresh copy from Google Code.

What does it do?

Right now not a whole lot. You can add projects and tasks to those projects. Thanks to the beauty of jQuery and AJAX you can edit the tasks right there in the table without having to go to any special pages so updating your tasks is as simple as using a spreadsheet. It is great for simply noting down what you need to do but in the coming weeks it will be expanded to do much more. Time spent on each task is recorded as well as who completed the task.

Installation

Installation is fairly easy. Check out a copy from SVN and put it up on your web host. You will need to edit the 'public/.htaccess' file's rewrite rule to the path that you unpacked it to. Once that is done run the SQL setup script in 'data/db/base.sql' to set up a basic database. That's all there is!

Posted on 2008-11-19

Comments