These days, creating a content-heavy Web site with static HTML pages is just a bad idea. Updating these static pages on a frequent basis is time-consuming and tedious, and changing the page layout and user interface (UI) at a later date -- even with the advantages of CSS and HTML templates -- can be both technically challenging and expensive.
In these situations, a content management system (CMS) makes sense. A CMS does exactly what the name suggests: it provides a framework to create new Web pages, populate them with content, attach them to templates, link them together and publish them to the Web -- all with a few clicks. The CMS engine takes care of merging the layout with the content and dynamically generating the required HTML output at runtime.
A CMS-based approach offers many advantages, but three stand out:
- Most CMS packages come with a graphical set of tools to manage content, allowing even non-programmers to quickly get started with Web content publishing.
- They usually include with a set of professionally designed templates, which ensure the final pages are attractive, SEO-optimized and conformant to current specifications.
- By separating layout from content, they produce more maintainable code and make updates significantly easier (not to mention less expensive!)
Introducing Magnolia CMS
Magnolia CMS is an open-source, highly scalable CMS written in Java. Built and maintained in Switzerland by Magnolia International, it is very popular with both small and large Web sites because of its easy-to-use graphical tools and its large library of standard templates.
Here's a quick list of the key Magnolia CMS features:
- WYSIWYG interface: Perhaps the coolest thing about Magnolia is its graphical WYSIWYG interface, which allows you to edit pages "in place" and view your changes immediately. Magnolia uses a template-based architecture that allows you to define page types and subsections; it then presents a composite view with built-in editing controls for each subsection, allowing editors to directly modify different sections of the page and see the changes take effect instantly.
- SEO-compliant URLs: Magnolia comes with a full-featured SEO implementation that automatically takes care of generating descriptive URLs for each page, thereby optimizing these URLs for search engine indexing.
- Full-text search support: Magnolia provides a structured framework for data management, which provides more efficient indexing. All Magnolia page content is automatically indexed, and the CMS also provides built-in full-text search controls that enable users to find specific information quickly. These search controls, as well as search result pages, can be customized through the CMS administration console.
- Distributed architecture and caching: One of Magnolia's key features is its distributed architecture, which allows content authors to add and modify content in a staging environment and then "push" this content to the live environment when ready. This allows content to be fully reviewed and verified prior to becoming public. And Magnolia also includes a built-in disk cache for frequently accessed pages, which can significantly reduce page load time for users.
Note that Magnolia CMS also comes in three flavors: Enterprise Edition Pro, Enterprise Edition and Community Edition. The Community Edition (the version used in this article) is offered to users free of charge under the GNU General Public License. The other two editions are commercial packages that provide additional functionality and include service-level agreements, vendor support, and other business benefits.