Open source CMSes prove well worth the price

We look at five free offerings boasting solid Web publishing features that challenge their commercial competitors

When last surveying open source Web CMSes (content management systems) I provided some common-sense advice. For example, it's important to look for not just functionality but also frequent updates, a healthy user community, and the availability of professional support. Some points are still true today, but new offerings may get you rethinking the role of these products in your enterprise.

That point is one of my takeaways in my most recent foray into the world of open source CMSes, during which I looked at the latest offerings from Alfresco, DotNetNuke, Drupal and Joomla, and Plone.

The one constant among these offerings, as with any open source area, is there's no such thing as free. You'll still need to budget for datacenter staff to install and maintain applications, consider costs for custom programming and commercial add-ons, and factor in training. Today's CMSes, however, are friendlier for IT staff to maintain and generally don't have the extreme end-user learning requirements of a few years ago.

Another positive is more standardization, which may translate to lower development costs. For example, Alfresco's based on a JSR-170 repository, integrates with JSR-168 portals, and can be extended by those with Java skills.

Still, think carefully about each product's nucleus, and how that fits with your existing infrastructure, commercial or open source. The other solutions in this roundup -- DotNetNuke, Drupal and Joomla, and Plone -- were respectively constructed with VB.Net, PHP, or Zope (Python). You can certainly find programmers and other support resources skilled in each technology. You may find it more difficult, however, to integrate your PHP-based CMS with other systems compared to working with a .Net or Java foundation.

Another potential shortcoming of open source products – especially in high-performance environments -- is the underlying database. There's nothing inherently bad about MySQL (that Dupal, Joomla, and Plone use). But in certain situations (or even just an IT bias), a CMS's database may influence your selection. So remember that you may need to include the license and hardware cost for Microsoft SQL Server, which Alfresco and DotNetNuke support.

Still, across these products you'll probably discover overall cost savings compared to their commercial counterparts. That, and open source products' continuous feature and usability improvements, can make them a very good fit for particular enterprise Web or document management projects.

Alfresco Community Release 2.1

Alfresco has a superstar lineup of experienced executives and developers previously with Business Objects, Documentum, Interwoven, Oracle, and Vignette. The result of their work shows in the quality and depth of Alfreso's Community Release, earning it the top spot in our evaluation. When I last reviewed Version 1.2.1 of Alfresco, it was primarily a document management system. That's changed, though, over the previous year. Alfresco 2.1 extends Web content management while adding record and image management, federated search, and better ease of use through the Alfresco AJAX (Asynchronous JavaScript and XML) Web client.

Another plus for Alfresco is its flexible licensing with the FLOSS (Free/Libre and Open Source Software-only) exception. This lets you embed the Alfresco JSR-170 content repository into other projects -- without having to license the entire Alfresco community package.

Installation went fast for both Windows and Linux, and you can run Alfresco with JBoss Portal 2.2 or Apache Tomcat. For most of my testing I used Windows Server 2003 and Tomcat. The main Alfresco work area continues to be well organized, with breadcrumbs to jump around quickly and summary areas that show available actions. Additionally, each user can create custom views to their documents and tasks. On top of this, Alfresco 2.1's portlet container enables users to access their spaces, tasks, documents, and Web Forms from JSR-168-compliant portals.

After creating user accounts and shared spaces (which can be further broken down by language), I started my Web Content Management (WCM) tests by using Adobe Dreamweaver CS3 to design Web pages and style sheets. Further, the CIFS (Common Internet File System) feature let me drag and drop these assets, existing Web pages, and rich media into the repository. I liked the new Web 2.0 user interface that let me conveniently zoom into a folder or content in any space – then preview Microsoft Office files, images, and video.

Click for larger view.

You may not need to do a lot of development because there's a nice library of sample forms for entering content (articles, news flashes, and multimedia) and site components (navigation, recent items, RSS feeds, site maps, and mashups) that add functionality to pages. I also published Alfresco content to WordPress and TypePad blogs.

Administration, a traditional Alfresco strength, is now even better. Using wizards, I quickly built a library of custom SmartWebForms. These enabled content contributions to enter and submit material in the correct format. Editorial workflows (created the same way) kept reviewers informed, using e-mail notification, of pages they needed to approve. As before, Alfresco includes extensive rules that automate both routine and complex tasks. For example, in a few steps I created a rule to watch a space for newly approved documents and convert them into PDF files.

Other changes in Version 2.1 let me check for broken links, set a time when content is to be published, and expire content.

The previous version enhanced content deployment in some important ways. For example, I published a Web site to multiple servers. For even more efficiency, Alfresco's transactional deployment function pushed recent content updates (rather than publishing a whole folder or site section). Additionally, the software now tracks these individual changes and there's immediate rollback to prior versions of a site.

Effortless document capture

Underlying WCM is Alfresco Document Management, which I accessed from the common work area. Users can also interact with documents from other interfaces they may already know, including shared drives, portals, WebDAV, and FTP.

A smart folder structure similar to what you'd find when working with Web content holds documents – which enabled me to create rules to reduce manual processing. For instance, after users responded to an "approve/reject" e-mail, Alfresco moved the draft document to the appropriate folder and performed any additional steps.

I liked the way Alfresco automatically extracted metadata from documents and then categorized them. Afterward, the Google-like OpenSearch (available from Internet Explorer 7 or Firefox) helps users find material quickly in the repository.

Records management (which meets U.S. Department of Defense 5015.2 requirements, but is not yet certified), works much like document management, and thus is likely to have a high adoption rate among end-users. For instance, documents can be dragged into the Alfresco repository from Office, Exchange, and Open Office desktop applications. I set up Alfresco to automatically classify records based on predefined types and then assign retention and archive policies. Further, it's easy to perform full-text searches or queries by file plans, categories, or types.

Image management relies on the same JSR-170 content repository and also let me reuse business policy rules I'd created for Web content and documents. There's also metadata extraction plus transformation among many image formats including TIFF, JPEG, GIF, PNG, Office, PDF, and Flash.

Combining document, Web, records, and image management, Alfresco 2.1 is a full-fledged EMC (enterprise content manager). Although such breadth often signals extra complexity in commercial offerings, Alfresco doesn't succumb to this problem. Using Web 2.0 techniques (such as lightweight scripting), native Office integration, and one common Web interface, users submit material to the common repository. And with integration throughout the modules, administrators can reuse components, such as business rules for publishing content.

DotNetNuke 4.5.5

DotNetNuke's built-in features -- generally broad and centrally managed -- make it appropriate for quickly deploying small Web sites or intranets. This solution is well-suited for moderate-sized e-commerce sites because it supports banner ads and referral programs.

Moreover, DotNetNuke's ASP.Net foundation contributes to its extensibility and usability. Therefore, you might consider it for larger, custom corporate Web projects. One notable enterprise feature is multiple portals within one software instance -- each site with its own identity and access rights.

DotNetNuke doesn't exaggerate its usability statements. Within an hour of downloading the software I had a functional site that incorporated many of this product's more advanced features. One tip is to get DotNetNuke's automated installer utility that you'll find hidden in the company's download area; even if you're familiar with creating .Net sites, this tool may save you time --  it automatically installed .Net prerequisites and configured IIS for me.

Overall site settings, security roles, and user settings are all easily managed from a single administration menu. More important, finding your way around the forms doesn't require much experience. For example, customizing the user registration form to make certain fields mandatory just requires checking off a few boxes.

I followed the same process for other global selections, including changing the look of the portal. (The built-in style sheet editor is available if you want to make more extensive changes). I was especially impressed with the granularity of these options. For instance, I applied one style to a certain section of my site that was designed as an extranet, while public areas received a different visual treatment.

Developing and managing the general structure of your site is equally straightforward. The Pages area let me reorder how pages appeared within the site navigation and move them down to different levels -- changes that were immediately reflected in my site's navigation.

A DotNetNuke page starts as a blank canvas with panes where you easily position modules. After deciding on the main sections of my site, I easily dropped modules in place and then dragged them into different arrangements until I was satisfied with the appearance. I created page layouts with a main HTML area, list of links to the right, and a login area under the top banner. Once a design is set, it's easy to reuse it on child pages or elsewhere in your site, which is done using the Page function menu.

Solid to the core

Click for larger view.
Other standard modules include wiki, blogs, discussions, IFrame, news feeds (RSS), FAQs, event calendar, and announcements. Importantly, each module can be permissioned, thereby keeping it visible only to registered users who have a particular role.

With my layouts done, entering and editing content for these modules progressed quickly. The rich-text editor equaled other commercial and open source products, including a convenient image gallery browser. Also beyond the basics: the ability to set publish and content-expiration times, and a way to recover deleted pages from the recycle bin.

Still, DotNetNuke lacks CMS features that are available in Alfresco and Plone. Case in point: You won't find built-in versioning or workflow.

Nonetheless, DotNetNuke surpasses other products in e-commerce, as demonstrated by a number of modules. These range from inserting ads based on your Google AdSense account and a basic online store (which uses PayPal payment processing) to very detailed reports about visitors who sign up on your site based on referrals from affiliate sites. Moreover, I enabled banner advertising, uploaded images, and easily tracked metrics for each vendor.

In general, when a core module didn't offer a particular feature, I was able to find a workaround in the DotNetNuke discussion forum or substitute in the DotNetNuke community download area. Many of these third-party solutions require purchase, but the prices are typically reasonable, with most priced between $100 and $600.

Compared to the other products, the only other weakness I see is authentication, which may be addressed in DotNetNuke 4.6. The product's road map calls for support of OpenID, Active Directory, and perhaps Microsoft's LiveID (when they go live with the service). LDAP is planned for a later upgrade.

Like most open source CMSes, DotNetNuke 4.5.5 offers much to like along with a smattering of omissions. In the plus column go high usability, a large number of stock modules, and a penchant for commerce. But you give up some enterprise management functions, especially versioning, formal workflow, and authentication.

Drupal 5.2

Drupal CMS lets you publish a variety of content to corporate Web sites and intranets -- or build community portals with discussion boards and blogs. Beyond a collaborative authoring environment, Drupal handles tasks such as newsletter posting, podcasting, picture galleries, along with file uploads and downloads.

The system provides good personalization, which lets you control content and its presentation based on each user's preferences. Underlying features are also generally strong, which range from version control and a news aggregator to site-access statistics reports.

1 2 Page 1
Page 1 of 2
How to choose a low-code development platform