March 01, 2010
A few days ago I released the latest update to the HomePortals framework and its counterpart management platform ColdBricks. Besides the obligatory bug fixes and improvements, there was one new major feature on this release: the CMS Plugin. The CMS Plugin is a HomePortals extension to provide content management and site administration features to any HomePortals-based application without requiring the use of an external application (like ColdBricks) or building your own administration features.
At first glance it might seem that this functionality overlaps with ColdBricks, since ColdBricks has also content management features. In reality both projects, ColdBricks and the CMS Plugin, have two different and even complimentary goals. ColdBricks is a full blown platform that can be used to create and manage multiple sites and applications and can even be expanded with custom modules to handle additional administration tasks. This power and flexibility sometimes can seem a bit daunting if you only need to provide an easy and quick way of managing content and layout on a single site. And this is exactly what the CMS plugins aims for.
The CMS plugin is a super easy and quick way to instantly provide live authoring capabilities to any website that uses the HomePortals framework. The plugin provides and in-page interface layered on top of the existing webpage to allow the author to add and edit content, rearrange layout, add or remove pages and change layout templates; all without having to worry much about the internal details or configuration of the site.
Here are two screenshots of the same website, with and without the CMS Plugin activated:
From the previous screenshot you can see the main user interface. At first glance we can see controls to do several things on the page: add content, add more pages, edit page properties, view the site pages, etc. Also, the plugin detects all the regions on the page that can be used to place content and provides a quick and small handle bar to facilitate adding content to each region. All in all this type of interface may seem familiar to users with experience on most CMS products. However the difference here is that instead of building your site around a CMS, here you "inject" the CMS functionality into your site. This means that you have much more freedom in how you build and structure your application. Want ColdBox? no problem! Want Model-Glue? no problem! Want something quick and simple? you got it!
The plugin code is included in the latest version of HomePortals, so you only need to update to get it.
To activate the plugin you need to edit your homePortals-config.xml.cfm and add the following line to the < plugins / > section:
If you are using ColdBricks, an easier way to activate the plugin is to just navigate to the site configuration page, select the "plugins" panel from the menu on the left and click on the "enable" radio button corresponding to the CMS plugin.
After you reinitialize your site to take in the configuration changes, you can access the CMS interface by appending "admin" to the url. So for example if your site is in a directory named "sample" then you would use your browser to go to:
The first time you invoke the plugin it will prompt you to create a user and password to access the authoring features. After you do so, you will be able to login and start editing your site.
All the authoring work is done on the same page without having to go elsewhere. Everything is done through dialog panels that are displayed below the main authoring bar. For example here is the dialog for editing a content module, showing a rich text editor:
As always any feedback and comments is greatly appreciated!