Content Management (CM) systems are a critical piece of infrastructure in today's enterprise. As Web sites have grown in size and importance, so has CM. Many corporate Web sites suffer from problems, such as non-standard presentation, inconsistency of content, nonexistent editorial process, content publication choke points, and the embedding of content in presentation. Large Web sites have this problem in spades. Without a CM system, handling—or better yet solving—these seemingly disparate problems becomes a nightmare.
The Gartner Group says that CM is critical infrastructure that makes a Web site more effective, dynamic, and usable. The Gartner Group also notes that few enterprises could recover from the loss of unstructured content in a disaster, yet few enterprises have plans to secure such content. In the post-September 11 world, implementing the correct CM system effectively may not only deliver better profit margins, but could help ensure the very survival of your enterprise.
Understanding, defining, and describing the functionality you need, in industry-standard terms, provides an essential ingredient to the success of a CM system implementation. Then you need to clearly grasp CM system element interdependencies. Finally, you must understand the best practices for requirements gathering and project approach. Armed with this knowledge, the battle to create seamless CM system functionality can be won (and the enterprise saved).
Go with the Workflow
Workflow can be viewed as a set of tasks integrated using a work breakdown structure, which defines the sequencing and dependencies of tasks. For example, a workflow may involve a manager assigning a task to a resource, the resource completing the task, and the assigning manager and the legal department reviewing and approving the product, or sending it back for more editing. Workflow must be tightly integrated when designing a successful CM system and, while it could be omitted, re-engineering an existing CM system to include workflow quickly becomes disruptive and expensive. Unless you are absolutely sure that you will never need workflow, design or buy a CM system with strong workflow functionality.
eGrail Enterprise Content Server is one commercially available CM system that features an extremely flexible, powerful, and easy to configure workflow engine. The workflow engine supports multiple task types, allowing branching and looping, and features an integrated visual workflow design tool.
When you begin to define requirements, make an honest evaluation of your corporate culture. If your enterprise's business model requires strong workflow, then it is imperative that workflow be a part of your CM solution. You should, however, avoid implementing CM workflow in a less rigorous and regimented environment. Attempting to foist workflow onto a relaxed culture may spell revolt—overt or covert—and failure shortly thereafter. Understanding how the enterprise works, divorced from automation, and its culture will help determine whether you implement CM workflow.
Even when the corporate culture requires workflow, do not attempt the Herculean task of solving organizational or cultural problems with workflow. Employees who bucked the system will continue to do so regardless of newly implemented technology. Unpopular or ignored procedures in a non-automated setting will suffer the same fate when automated.
With the workflow subsystem in place, you must then design workflows. Do your best to keep it simple. If the design process yields complex workflows, you should circle back and validate the design process. Once you have completed validating the design, you should give serious consideration to re-engineering the work breakdown structures that are being modeled; potentially delivering significant cost savings separate from the CM effort.
Distilling workflow tasks into general component pieces that capture appropriate parameters (e.g., who initiated a task, task start date), work breakdown structures can be modeled and workflow implemented by reusing and reassembling the components as necessary. Go talk with those developers that IT keeps locked in the backroom and ask them for additional object-oriented programming tidbits. If you cough up some pizza and Jolt, and convince them that you are not going to use the knowledge for evil, they will likely be more than willing to have a chat that will help minimize maintenance costs.
Templates provide non-technical content contributors with the ability to maintain and publish content without technical knowledge of the display and navigation framework. Templating can remove the "Webmaster roadblock" that impedes timely Web content publication. Despite the somewhat ominous moniker, Webmasters are not usually at fault, though occasionally there are turf wars. Frequently, non-technical content contributors supply content to Web personnel in word processing documents or email, requiring conversion into Web pages prior to publishing. The Web personnel are not excused from performing their "regular" duties in the meantime, resulting in publication on a "when I have time" basis. Templating, like workflow, must be tightly integrated when designing a successful CM system and is expensive to add after the fact.
Templating should not require domain experts to know HTML, XML, or other Web technology; otherwise, it's probably best to just let the Webmaster publish the content whenever he or she gets around to it. Next, you should take great pains to ensure that content and presentation never meet until publication time, kind of like an old-world wedding. Content wrapped in presentation yields minimal repurposing, potentially resulting in duplicate content. By storing your content in a relational repository, you fulfill all of these requirements without lifting a finger. Relational repositories offer additional benefits, such as non-repetitive data storage, powerful, well-understood data manipulation, and data import and export in XML format.
Microsoft Content Management Server (MSCMS) thrives on strong templating, excelling in the areas noted earlier. MSCMS placeholders, positioned in templates, offer content contributors powerful features, including drag-and-drop content publishing and content repurposing. The content resides in a relational database, and content contributors should never need to read HTML for Nincompoops.
Once the templating subsystems functionality and features are nailed, create the templates. This process resembles all good engineering endeavors—a bit of science mixed with a bit of creativity. You should begin creating the templates by determining which content should be templated. Highly standardized content works well, but may not change enough to matter much. Fairly standardized content that requires rapid updates features a bigger bang for your templating buck. Highly specialized content contributed by domain experts also fits the bill. Next, use a dash of that same object-oriented philosophy detailed in workflow: identify common page elements and implement those elements as component pieces, reassembling them as needed. Bean earners and counters alike will savor the resulting dish. The developers you visited earlier may even begin to believe that you were telling them the truth.