Web sites are fantastic at content delivery and generally terrible for content authoring. If you’re old enough (like me), you may have experienced the pain of hand-coding HTML or even editing HTML files live on your web server.
These days, hardly anyone codes HTML by hand. Instead, we use web content management systems (web CMSs), such as WordPress, Drupal, Magnolia, and many, many others. Web CMSs have two major functions: letting authors create content, and running a web site to deliver content to readers. The problem arises when web CMS A provides great authoring functionality and web CMS B provides great web site functionality. Which do you choose? Do you make life easier for your authors or for your audience?
After sufficient pain in that area, you eventually decide to decouple the web site and content management. This approach lets you choose the best option for authoring and web site, but it also requires you to glue the two components back together. Somehow, you have to move your content from the content management (authoring) system over to the web site:
A decoupled CMS enables you to take advantage of new and innovative technologies for creating rich web and mobile experiences, while ensuring your content authors and editors have a consistent approach to content management. (Spelling out the advantages of a decoupled CMS, CMSWire)The decoupled approach lets you choose a content management system with a great authoring experience for the authors and a web site delivery system that meets the needs of your web site visitors. It does introduce a few new problems, though:
- You have to maintain two systems instead of one.
- You have to find a way to glue the two systems together.
Adding complexity with DITA
When you add structured technical content and DITA into the mix, things get sticky (!!). How do you manage DITA content if you already have a web CMS (which may in fact be more than one platform)? If you decouple everything, you are faced with a fairly sketchy-looking architecture:
NOTE: I’ve labeled the contents of each repository as CSS (for formatting), DITA (for DITA XML), and HTML (for web authoring). This is of course a gross oversimplification. Not all formatting is CSS. The content repositories can and should include other types of content.
It’s rare to see the decoupled architecture with DITA involved.
Instead, the web CMS owns one set of content (usually marketing content). Inside the web CMS, you manage that content and also control the presentation layer for the web site. A separate component content management system (CCMS) manages DITA content. So DITA content is created, edited, reviewed, and approved in the CCMS. Then we send it over to the web CMS. The process of gluing together the CCMS and the web CMS is generally painful and expensive. The advantage to this approach is that the web CMS people (marketing) and the CCMS people (tech comm) can basically ignore each other. Oh, and the people who know how to create glue code? They are very, very overworked.
In a few systems, the glue is built into the CCMS. For example, you can deploy SDL’s LiveContent Architect (the CCMS) along with LiveContent Reach (web CMS). easyDITA offers connectors to Mindtouch and WordPress. So in this case, the glue technology is attached to the CCMS:
With the just-announced XML/DITA connector for AEM (Adobe Experience Manager), Adobe is gluing together the repository and the display management. Nearly every other solution—for example, a DITA CCMS plus Drupal—requires you to create that glue.
If you take the AEM approach, you get free glue. (That is, when you license the XML/DITA connector along with AEM, you do not have to build out a connector yourself.) You can manage your DITA content in the same repository as your non-DITA content. And you can be sure that your web site delivery will be consistent across all of your content. If you work in a company that has already invested in AEM for web delivery, this could be a reasonable answer.
So what is your glue strategy? Will you choose individual components for maximum flexibility and pay for glue? Or does it make more sense to choose a single integrated solution?
PS I really wanted to entitle this post “The Glue Factory,” but my coworkers are mean.