Plenty of Choice in Open-Source CMS

By  Steven J. Vaughan-Nichols
eWeek

September 1, 2005

There are dozens of Linux distributions, but only one Linux. There are over a dozen open-source Web servers, but only one Apache. When it comes to content management systems, however, there are over a hundred choices, and there is no market leader.

And, unlike Linux, where the distributions are variations on a single theme, most CMSes (content management systems) are quite incompatible with each other and take very different routes to achieve the goal of making complex Web sites manageable.

Is it any wonder that CMS Watch Editor Tony Byrne has called open-source CMS "prohibitively fractured?"

Don't think, by the way, that Byrne is an open-source Luddite. CMS Watch, the leading Web-based portal on CMSes, was first built on LAMP (Linux, Apache, MySQL and PHP) using the Midgard open-source CMS.

The problem, as Byrne described it, is "What appears to have happened is that development resources have become dissipated among so many different initiatives that seemingly none of them is achieving critical velocity."

It also doesn't help any that one of the best known, open-source CMSes—Mambo—has become locked in a civil war between its executives and its developers.

There are other concerns as well with open-source CMSes.

To Janus Boye, managing director of the Danish vendor-neutral content management consultancy Boye IT, the main challenges are "a reputation for being user-unfriendly and having a steep learning curve."

Some of that reputation, according to Boye, is earned. "Open-source in general has traditionally been focused more on the technical audience and less on the daily Web editors. Many open-source CMSes are hence still a good alternative for the daily super-user, but a bit hostile for the irregular non-technical user."

"That is an important point," said Byrne.

"Many people assume—wrongly—that open-source tools are simple because they are free. That is almost never the case. Most of these tools have very steep learning curves, but can offer powerful platforms for developing custom content applications in the hands of an experienced developer," Byrne said.

"Open-source projects are also frequently criticized for feature bloat and bad documentation," added Byrne.

That, however, is not a unique open-source CMS problem, since "most commercial tools suffer from the same problems."

Questions with the ASP model.

So with all this in mind, why consider an open-source CMS instead of one from a proprietary vendor such as Vignette?

Gregor J. Rothfuss, the COO of Wyona, an international, open-source CMS consultancy, explained, "Many proprietary CMS vendors have had good experiences with the ASP (application service provider) model. Instead of selling their product into enterprises and the mid-market, they sell subscriptions to their CM services, which are powered by their CMS products."

That's fine as far as it goes, but "the ASP model has brought questions of data lock-in to the fore. Many customers started to demand standardized ways to import and export their data from the ASP to ensure that the service provider would not be in a position to hold their data hostage."

Another inherent benefit of open-source CMSes is that they tend to have broad platform support. Since they tend to be written in high-level scripting languages or Java, most come ready to run on your server platform.

Still, as Byrne pointed out, "Open-source tools do generally lag in their native integration with Microsoft products, including the Windows desktop and Office integration. Commercial vendors generally don't shy from integrating closely with, say, MS Word."

That said, "They do compare well (in features) and are increasingly being seen as a serious alternative," observed Boye.

In addition, "most buyers are realizing that the implementation is much more expensive than buying the actual system. With this in mind, together with the uncertainty around (the future of) many proprietary CMS vendors, many buyers are considering open-source CMS," said Boye.

How much more expensive? RedDot CMS 6.1 starts at a cool $55,000. With similar implementation costs, open-source program's much-lower-to-free software prices can be very tempting for the Web manager on a budget.

So, what's a business Web administrator to do when all he or she wants is an open-source CMS system to make an unmanageable Web site manageable? Well, while we can not even begin to claim that this is any kind of definitive guide, here's our overview of some of the better known CMSes.

First, before tackling any of these you should be aware of two side issues, which may not have occurred to you.

The first is that since many of these programs are works in progress, you should be ready to get your hands dirty with the source code. If the program doesn't have a feature you need today, be ready to put it in yourself.

You'll find, as Byrne has said, "open-source CMS community has become fractured into various camps centered principally around different scripting languages (e.g. Perl, PHP, Python, Tcl)." Unfortunately, "their adherents tend to promote them with a quasi-religious fervor despite the fact that none of the languages holds a decisively compelling edge for developing content management systems."

In short, when picking an open-source CMS, it would be a very good idea to have programmers on staff who can handle the language it's written in.

There is some potential good news from the viewpoint of users, rather than developers. There is now an effort under way by the OpenUsability Project to bring "common User Interface Guidelines for Content Management Systems to provide a reasonable level of consistency to specific areas of the UI and promote good interface design."

While Byrne is "somewhat skeptical about the ability of different projects to align UI (user interface) efforts," still "the important thing is that now we have a forum to discuss it."

If this effort is successful it will make it much easier for Web content providers to switch from one CMS to another without losing much time.

The second issue is that most serious CMSs depend upon a DBMS (database management system) on the backend. With the wrong DBMS, you could run into serious system performance problems.

For example, Jason Perlow, founder and director of technology for the eGullet Society for Culinary Arts & Letters, a popular gourmand site with over 3 million page views a month reported, "eGullet has pretty much maxed out on MySQL performance."

Worse still, "eGullet now has to be rebooted on a weekly basis, because MySQL won't release memory correctly."

For most sites, worrying about millions of hits a month isn't a problem. For those that do face those kind of issues, having a DBA (database administrator) on call would be a good idea.

Or, better still, consider a CMS that has a higher end DBMS as its engine. For example, Zope and Plone, which are related open-source CMSes built on Python, use CA's (Computer Associates) open-source Ingres DBMS.

You should also consider exactly what it is that you want from your CMS.

Unfortunately, there is no common agreement on what constitutes a CMS. There is the JSR (Java Specification Request) 170 and the Content Repository for Java Technology API (application programming interface).

Despite the title, JSR-170 is less about Java and more about freeing CMS from being locked in to a specific DBMS. It provides an open API, which will enable any CMS to access data from a JSR-170 compliant data repository.

DBMS concerns are critical.

Thus, while JSR-170 is still gaining support, compliance with this standard may eventually assure Web site managers that they can retain their stories and look and feel even if they switch from one CMS program to another.

In the meantime, though, Web administrators must continue to pay close attention to DBMS concerns and exactly what one can, and can't do, with a given CMS.

The most popular open-source portal application, PHP-Nuke, for instance, can certainly be used as a CMS, but many Web administrators might find it a bit difficult for their purposes.

So it is that other open-source developers have built specific CMS operations from PHP-Nuke such as PostNuke. It may not be as flexible as PHP-Nuke, but at the same time it comes designed expressly for CMS.

In addition to these, the most significant open-source CMSes at the moment are: Midgard, Plone, Zope, Typo3, OpenCMS and eZ," according to Boye.

Midgard, like the Nuke family, is based on PHP. It is a true LAMP setup with APIs for Java and C to provide faster performance. Although, it is primarily meant for Linux, it can also be run on Mac OS X and other BSD Unix systems.

Plone is essentially the cleaned-up for the mass-market son of Zope. While Zope can be used for much more than just CMS, Plone is dedicated to CMS use.

In eWEEK Labs tests, the analysts said, "the free, open-source Plone has taken what was already probably the best option in Web publishing portals and made it the clear leader in this field."

Plone 2 will run on Linux, Mac OS X, Unix and Windows. Interestingly enough, Plone 2 actually has more features on Windows than it does on other operating systems though. For example, the GUI-based controller, which makes it easy to launch Plone and view its status, is only available on Windows at this time.

Typo3 is designed for SMB (small-to-medium business) use. Its strong points include its support for Web-based communication and several different DBMS for its engine.

Unlike the other CMSes we've mentioned so far that are based on scripting languages, OpenCMS is built on Java and XML.

Both OpenCMS and Typo3, while not well known in the U.S. are very popular in Europe, and both products, Byrne pointed out "have been around for at least five years." Thus, if you're looking for a CMS with both longevity and a proven track record, either deserves your consideration.

OpenCMS, however, is far from the only open-source CMS written in Java.

Magnolia is also a worthy program. eWEEK Labs found it to have the "most intuitive content-creation interfaces we've seen in any Web content management product … across platforms and browsers."

It's also the first CMS that's JSR-170 compliant.

That said, the Labs also thought that its "lack of deep workflow" makes it suitable for simpler sites.

Mambo also has its admirers. Unfortunately, with its recent troubled management history, it's hard to see where Mambo, under that name, will be going next.

Mambo's former developers, however, have taken its GPLed code and are creating a new version of Mambo—under a different name—at OpenSourceMatters.

Last, but by no mean least in our 20,000 foot overview, is Drupal, another PHP-based CMS. What sets Drupal apart from the others is that it does a nice job of sitting between CMS and blogger software such as the open-source WordPress.

In the end analysis, Paola Di Maio, editor and publisher of content-wire.com, a vertical technology newsletter service that covers CMS, said it best, "Ultimately, it's the ability of the software to meet the requirements within the budget and schedule that counts."

Fortunately, since open-source software can be freely tried, the wise Web administrator should first determine which CMSes look best for his use, and then test out the best two or three. Then, he'll be able to make the right choice.

As Bryne said, "I never say 'best' or 'worst' among these tools—open-source or commercial—because fundamentally I believe it is a question of the right 'fit' for any given scenario.

 

Copyright (c) 2006 Ziff Davis Media Inc. All Rights Reserved.