CMS Collegiality - A Practical Approach

The idea with collegiality is that badmouthing and competing in cut-throat fashion is not productive. What the competing systems should do instead is evaluate each others' strenghts and weaknesses objectively and embrace common protocols and standards for interoperability.

This interoperability would enable users to build their own "Frankenstein CMS" by selecting best building blocks from different Open Source CMSs, or to replace an old solution as their needs evolve.

What would then be good interoperability targets? For example, to be honest, the standard discussion forum component for Midgard CMS sucks. Why are people not using phpBB instead, then?

The reasons for this are quite simple. While both run on the LAMP platform, it lacks integration in several areas:

  • It doesn't use Midgard's layout templates
  • Features like "Latest comments" or "Comments on this page" are difficult to pull from phpBB into a Midgard page
  • User accounts and permissions have to be managed separately

Layout management

Keeping layouts synchronized between different systems used to be difficult. However, as the new school of standards based web design is gaining popularity this problem can finally be solved.

Web site components do not have to carry any layout information, just provide a needed set of <div /> elements. The actual layout can then be loaded dynamically as a separately and centrally managed CSS file.

Of course, the problem here is that every CMS and web script will still use its own set of class names and IDs. But maybe some conventions can be developed, like has been done in the CSS Zen Garden.

Comments listing

With the advent of syndication formats like RSS and Atom, sharing news or comments listings between different servers and CMSs has become really easy. The only thing we really have to ensure is that all the different systems provide RSS feeds of their content, support RSS auto-discovery and make it easy to aggregate content from other sources into them.

This way a news posting done in the Midgard newsticker could easily list related posts from a Planet feed, and provide a "comment on this page" functionality that is actually served by phpBB.

User management and authentication

Sharing users and groups across different systems is not easy. While some universal and "proper" solutions like LDAP and Liberty exist, they are generally too heavy to be practical. Centralized solutions like Passport and TypeKey are also ruled out because CMSs should be able to work self-sufficiently.

There have been some more lightweight but language-specific solutions like PHP-Universal, but these are not interoperable enough for OSCOM purposes.

FOAF import and export could be one way to share information about user accounts across systems. FOAF is an RDF-based XML format for describing people and their relations, which would sort also group and permission sharing. However, it doesn't solve the question of single sign-on.

Link and media management

Another typical problem is handling connections between links and media files between different systems. For example, if images used on a Plone site are managed in Midgard's photo gallery, how to enable users to select them in Plone's content editing UI?

The Kupu XHTML editor team has a good approach here. As their editor is used in several different CMSs, they had to come up with a CMS-agnostic XML format describing images and links available for the editor. These XML files could easily be pulled from all different CMS and web scripts running on the server and and parsed by Kupu into a nice "Insert image" dialogue.

This format should be made a CMS standard endorsed by OSCOM.

Wrap-up

The basic premise here is that interop between Open Source CMSs and web scripts is possible and can bring huge benefits for the end-users. However, the interop standards should be lightweight and easy to implement. In addition, they should still allow the different systems to stay self-sufficient.

Supporting standards well could also gain lots of positive attention for a CMS project, much like WordPress is now experiencing with Movable Type migrations.

OSCOM has a conference coming in fall. Maybe there could be a Sprint session to expand these ideas.

Read more Decoupled CMS posts.