Welcome!

ColdFusion Authors: Maureen O'Gara, Hovhannes Avoyan, Yakov Fain, Pat Romanski, Liz McMillan

Related Topics: ColdFusion, Adobe Flex

ColdFusion: Article

Content Management with ColdFusion

How ColdFusion can be used to create a CMS covering every phase of the CMS lifecycle

Spellchecker
Content quality can be ensured by including a spellchecker module. Some WYSIWYG editors like FCKeditor come with integrated spellcheckers like ieSpell and Speller Pages.

An interesting article on the ColdFusion Developer's Journal Web site, explaining how to use the Open Sourced Jazzy Spell Checker with ColdFusion MX can be found at http://cfdj.sys-con.com/read/42120.htm.

Localization
rbMan is a cfmx app used for managing Java resource bundles. It can be integrated into other apps or run as a standalone Web-based editor. The beauty of it being Web-based is that your translators can work on a live app from anywhere around the world without having to install any third-party software.

Reporting and Charting
Powerful integrated business reporting capabilities were added to ColdFusion MX 7. The Flex product family includes Flex Charting 2 (a set of charting components).

Using ColdFusion in the Publishing and Content Delivery Phase
Publishing and Distribution
CMS pages can be distributed to the live server using several protocols. CFFTP or the CFSFTP CFC let you transfer files using ftp or the secure sftp protocol.

Syndication
The CFXML tag provides the functionality to create RDF and RSS syndicated news feeds for your or your customer's Web site. This tag creates an XML document that can be converted to a string and written to a file.

You can make any of your ColdFusion components available to any system over the Internet by publishing it as a Web Service. ColdFusion makes this extremely easy to do. In fact, you only have to add one attribute (access="remote") to any of your component's methods to turn it into a Web Service.

Search and Locate
ColdFusion includes the Verity search engine that lets you index and search documents, databases, and existing Verity collections.

Using ColdFusion in the Versioning and Archiving Phase
Storage
JDBC enables ColdFusion MX 7 to interact with a variety of database management systems.

Reactor is an object-relational modeling tool that generates database abstractions on-the-fly as needed, creating an object-oriented database abstraction layer. Objects are regenerated as your database or configuration file changes.

Mark Mandel's Transfer framework automates the repetitive tasks of creating the SQL and custom CFCs that are often required when developing a ColdFusion application. Through a central configuration file Transfer knows how to generate objects and manage them and their relationships back to the database.

A good way to handle SQL trees and hierarchies is the nested set model. Barney Boisvert's TreeManager CFC manages a tree of records in a database table using this model.

Versioning
Rick Osborne's Java SVN browser is a nice example of how you can connect to a Subversion repository. Rick has also created CFDiff. It's intended to provide similar functionality to that provided by the classic Unix diff utility.

Conclusion
This article has been an introductory guide to Content Management with ColdFusion. I've walked through all the phases of the CMS lifecycle and showed you how ColdFusion and Open Source software based on ColdFusion can help you to develop a basic CMS. This was not meant to be an extensive overview of all facets of a CMS, but should provide you with some ideas and links to interesting ColdFusion projects.

Resources
http://cfdj.sys-con.com/read/42120.htm - Spellchecker article
http://cfopen.org/projects/cfm - ColdFusion File Manager
http://cfregex.com/cfcomet - CFComet Web site
http://code.google.com/p/cfdiff - CFDiff project
http://gregs.tcias.co.uk/cold_fusion/cfmx_and_jtidy.cfm - jTidy blog article
http://rickosborne.org/blog/?p=86 - SVN browser
http://trac.reactorframework.com/reactor - Reactor framework
http://transfer.riaforge.org - Transfer framework
http://www.asfusion.com/projects/fileexplorer - AS Fusion File Explorer
http://www.barneyb.com/blog/archives/000532.jsp - Tree Manager
http://www.bennadel.com/blog/79-XStandard-ColdFusion-Web-Services-Solution.htm - XStandard Web Service
http://www.fckeditor.net - FCKeditor
http://xstandard.com - XStandard Editor

More Stories By Harry Klein

Harry Klein is cofounder and CTO at CONTENS Software GmbH, a leading supplier of enterprise content management software. He is a Certified Advanced ColdFusion developer and Microsoft MSCE.

Comments (2) View Comments

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


Most Recent Comments
gg 12/19/06 04:03:20 PM EST

As the Web develops, the need for easy and efficient Web site and portal management increases. Developing an easy-to-use future-proof content management system (CMS) from scratch isn't easy. The basic functionalities can be assembled in a reasonable timeframe, meaning that you will be able to edit the structure and the content of the Web site.

Richard Fallis 12/12/06 12:44:52 PM EST

While recognizing this forum is particularly concerned with programming, I would suggest the first Phase of any CMS project is what we at Acumium.com call the 'Discovery' that determines business needs first.

Only by performing a highly interactive 'Discovery'with everyone affected by the CMS--sales, marketing, shipping, receiving, CEO, accounting etc...can a CMS be created that truly meets business needs. On time. On Budget. Everytime. Guaranteed.

In many respects the technology used is secondary.