XML Content Management System Built on the .NET Framework
By Mike Riley
Content Management Systems (CMS) are deceptively simple in their design and functionality. Several popular ASP.NET tutorial books even feature the construction of such systems as a real-world application example to reward the ardent reader. Many Web developers have cut their first real application practices on the construction of a rudimentary CMS for their corporate intranet or even personal Web sites. Yet anyone who has walked that development path knows how intricate the evolution of a scalable CMS can become. What seemed like a simple HTML posting text box one day can advance into a DHTML-rich text editor with sophisticated access control lists, localized presentation layers, XML-driven syndication, and portal-managed front ends the next.
Although some large IT organizations may pride themselves with the care and feeding of their homegrown CMSes ( it started as a simple Access database on Tim s desk and grew from there ), many companies see such investments as non-core, non-value-add efforts that drain the constrained resources from the organization s budget. Several commercially canned solutions are viable alternatives to the increasingly complex demands on a CMS, including a few from ASP.NET s progenitor. Regrettably, these pre-packaged options are often limited by the number of programmable objects they expose. For those developers seeking the well designed CMS building blocks with the flexibility of constructing a system that can suit their company s specific content needs, Ektron created CMS400.NET.
Figure 1: Ektron CMS400.NET ships with a complete intranet .NET example, demonstrating most of what the product has to offer.
The Ektron CMS400.NET system is a comprehensive Web-based CMS framework that can be integrated with as much or as little technical investment as deemed appropriate for the business need. The system can be put to use immediately upon installation, but its real power becomes apparent when .NET developers leverage the solution s ASP.NET server controls. Drag and drop data-binding controls including Calendar, ContentBlock, LanguageSelect, Login, and Search make wiring up such functionality a simple task. Advanced features such as RSS syndication feeds, XML data binding, and metadata manipulation are all available to keen developers. The 163-page Developer Reference Manual that accompanies the product is clear and generally well-written (though I did spot a few spelling errors), as is the 169-page Setup Guide. The system also installs a Developer Demo section that provides working examples of the functions available. Unfortunately, code samples are rare (and are provided exclusively in VB.NET syntax), and links to the code used to drive the pages is not part of the output.
Figure 2: End users can edit and monitor their contributions from within a simple, completely customizable Web interface.
Many interesting features stand out in this product. The Workflow Suite is an impressive access control and rules engine that allows non-technical users to administer their own content, as well as monitor in real-time the status of content flow as it goes from assignment to review to approval to posting. Such monitoring can be controlled and measured on an atomic level, right down to the images being placed or the Web forms being created by an approved user; each phase can be tied into e-mail alerts, as well. Content can also be set to expire, and expiration reports can help administrators and contributors identify the impact of such occurrences. Even the WYSIWYG editor makes content entry a breeze for those contributors lacking HTML skills. The main drawback of this rich editor is its dependency on ActiveX, making it an exclusive requirement to have a Windows PC running Internet Explorer 5 or higher. The level of management and control on all these features is well designed, intuitive, and will no doubt free up content posting and management requests to the Web team.
Figure 3: The ActiveX control-driven WYSIWYG editor removes any burden of HTML coding knowledge overhead.
The CMS400.NET system is also an excellent platform for serving multi-language content, providing support for the OASIS XML Localization Interchange File Format (XLIFF). This makes it easy for contracted translators to provide precise language content swaps, and on-the-fly content translation, allowing an instantly re-rendered page in the targeted language with a single request. For companies serving an international marketplace or employing a distributed, multilingual workforce, this synchronized presentation feature is immensely valuable.
Another powerful feature is CMS400.NET s capture of content metadata and its subsequent XML indexing of that content. This provides highly relevant return results when searching for specific values in the structured content. Unstructured content in the form of plain text from the HTML content generated from the system is also indexed and can be quickly searched.
Figure 4: Developer examples are adequate but lack detailed code listings, with only a few examples shown exclusively in VB.NET syntax.
Overall, the Ektron CMS400.NET is an impressive platform offering an extensible framework to customize the already powerful base system. The system is clearly targeted to the large enterprise committed to the Microsoft vision of Web applications, and the price tag demands that only the most serious organizations seeking a .NET CMS need enquire further.
Mike Riley is an advanced computing professional specializing in emerging technologies and new development trends. He also is a contributing editor for asp.netPRO. Readers may contact Mike at mailto:[email protected].
Web Site: http://www.ektron.com/cms400.aspx
Price: 10 users, US$7,200; unlimited (Enterprise) users, US$29,999
At a Glance
- Comprehensive and highly flexible Content Management System written for the .NET environment.
- Extensive content workflow processing.
- Excellent multilingual presentation capabilities.
- Rich content editor is an ActiveX-based utility, limiting its use to a PC-based Internet Explorer user population.
- Lack of rich code examples within the online documentation.