Monday, July 1, 2002

Building a Content Management System using Lotus Domino: a tour of the XML API

PROGRAMMING POWER

By Andrew Stuart

I'd like to be able to go into depth about every facet of the content management system and delve into the code, but there just isn't enough time in the day and it would take about three years of DominoPower columns to get us there.

Instead we'll be doing an overview of the system. If there are particular areas you want to know more about, drop me an email at astuart@mira.net, and I'll focus on those in a future article.

Lets have a look at where we have been, where we are going, and where we'll end up. Please note that this is just a rough guide. The actual topics and dates may change along the way.

  • Article one, June 2002: Introduction, the rise of XML (at http://www.dominopower.com/issues/issue200206/contentmanage001.html);
  • Article two, June 2002: software architecture and system requirements (at http://www.dominopower.com/issues/issue200206/kontentman001.html);
  • Article three, July 2002: Overview of the XML API (current article);
  • Article four, August 2002: Overview of the HTML display template;
  • Article five, September 2002: Content administration system, document navigation and editing, menu navigation and editing, text properties navigation and editing, site configuration editing;
  • Article six, October 2002: Content administration system--overview of views, forms, and agents;
  • Article seven, November 2002: Wrapping it up.

Heading on

This month we'll be looking at the XML API.

In many ways, the XML API and the XML documents returned by the API are the heart of the content management system. In theory, the XML API should end up being a clean interface that separates the content administration and content management from the display of that content.

If the XML API is implemented well, then it should be easy for any software developer to grab and use XML content documents via the XML API, using any technology that they choose: Websphere, Lotus Domino, Microsoft IIS, Apache, anything that can process XML. The content administration system is written using Lotus Domino, but since the output is pure XML, then any XML technology should be able to grab that content and render it for display using HTML, or WML (Website Meta Language), or whatever.

So the end user of the XML API is you: software developer and programmer.

The XML API and XML document structures must be easily used and understood by other programmers. Therefore the XML API and XML document structures must be clean, consistent, easy to understand, and logical. The XML API and XML document structures should be self-explanatory as far as possible.