Time to market matters, period! And in today's fast-paced Internet world, this is more evident than ever. There were times when a corporate press release had to go thorough numerous steps to get published on the company Web site. But that is changing and the technology that is enabling that is Content Management Systems (CMS).
A CMS is a system that supports the collection, creation, administration, publication, and distribution of information. A good CMS allows non-technical users to add and edit the content without needing to know any HTML or to have any Web design knowledge.
From a business point of view, a CMS offers the following:
- Direct access to content. It allows the content owners to access, publish, and manage their content directly through an easy Web interface.
- Instant publishing. It allows for quicker updates of news and information.
- Accountability. Keeping track of changes is one of the inherent features of a good CMS tool.
- Standardization. It provides a pre-defined platform for your users to follow corporate standards for creating and managing content. The Web-based publishing feature allows individuals to use a template or a set of templates approved by the organization, as well as wizards and other tools to create or modify Web content.
Technically, a CMS stores all of the content in a database. It keeps the presentation layer separate from the application layer. A CMS system indexes all data within an organization and lets individuals search for data using keywords. The CMS is designed and can be configured to allow content updates to be escalated to different levels automatically. This makes content management systems highly scalable.
One of the main challenges AIX adminstrators face is maintenance and upgrades of different software running on their systems. The good news for them is that the tools discussed in this article are easy to install and maintain. They only require Apache, PHP, and MySQL to run. And if you are running AIX in your enterprise setup, it is highly likely that these three applications are installed on your AIX system and are already being managed and maintained. You can find pre-complied binaries of each of these applications for AIX on dozens of online sites. You can find some good links in the Resources section to get started on these.
Open source options for AIX platform
For the last few years, the adoption of open source software has been on the rise and it has changed how enterprises look at operating systems, application servers, and databases. Now the benefits of open source are being realized in CMS also, which traditionally had been a vendor-controlled world of expensive licensing and closed APIs. Some well-known players here include Vignette and Interwoven, which provide enterprise-level products. Those systems are usually bulky and difficult to use. At the other end of the spectrum are blogging platforms such as WordPress, which are renowned for being fairly lightweight and easy to use.
Typically, your choice of CMS for your AIX setup will be driven by your project requirements. And there are many open source options when it comes to CMS. To keep things simple for this article, I chose CMS tools that can be easily integrated into your existing AIX setup. And if your setup is different, it should be easy to install the core applications needed to run any of these tools. As mentioned, the core applications for this article use Apache Web Server, the PHP programming language, and MySQL.
The main objective of this article is to get you started with a simpler CMS that supports some basic features like managing the Web content and blogs, and one which can be easily deployed on the AIX platform. This article looks at three such tools that provide easy and extensive support for this functionality: WordPress, Drupal, and Joomla!.
WordPress has grown to be one of the most prominent blogging software platforms with one of the biggest communities in both the blog and CMS worlds. It is an open source blog publishing application written in PHP. While WordPress is known more commonly as a blogging platform, it is in many ways a CMS. At its core, the WordPress system allows you to create and manage the content that is created within these blogs. WordPress also comes bundled with a lot of CMS features.
WordPress is the official successor of another Web publishing application called b2Cafelog. The application architects of WordPress claim that this application was born out of a desire for an elegant, well-architectured personal publishing system. It is also built upon strong technologies such as PHP and MySQL and licensed under GPL, which has much-improved security and enhanced performance on the AIX platform.
The MySQL database server provides the ultimate in scalability on AIX. This, coupled with the AIX PowerVM™ Live Application Mobility, allows any application, including a running instance of a MySQL database inside of a Workload Partition, to be moved from one system to another without restarting the applications. This is a key tool for AIX adminisrators for managing planned outages or workload balance between servers.
Figure 1 shows how the home page of the site using Wordpress looks like after being installled on AIX.
Figure 1. Default home page of WordPress application
An easy installation, user management, highly abstracted presentation layer, built-in RSS support, spam protection, archiving, and searching are just a few features of WordPress. Here is some more information on some of these open source goodies:
- Easy installation and upgrade. WordPress' famous five-minute install can't be beaten for simplicity and ease of use. You just have to follow a few steps from the administrative console and it's done; it's that easy. Upgrading your weblog to the latest version of WordPress is easy, too, and it should take less time than the installation! All this is based on Apache, PHP, and MySQL; binaries for these are easily available for the AIX platform (see Resources).
- Template-based design. Templates make it possible to abstract and easily change the look and feel of your Web pages, and good developers love to work with templates. At its core, WordPress uses templates to generate the pages dynamically. You can control the presentation of content by editing these templates using the Template Editor tool and the Template Tags.
- WordPress Themes. WordPress comes with a full theme system, which makes designing everything from the simplest blog to the most complicated webzine a piece of cake, and you can even have multiple themes with totally different looks that you switch with a single click.
- Full user management with complete publishing controls. WordPress has a built-in user registration system that (if you choose) can allow people to register and maintain profiles and leave authenticated comments on your blog. You can optionally close comments for non-registered users. There are also plugins that hide posts from lower-level users. WordPress also comes with a friendly administrative back end. Although different from those used by Drupal and Joomla!, it seems to take less time to learn to use WordPress, and fewer trips to forums and tutorials to figure things out.
WordPress is not a complete CMS tool. WordPress is the best tool if all you want to do is provide blogs for your site. As a standalone blog tool, it is the best of breed by most measures and its usability is its key strength, particularly easy customization and personalized themeing allows for creating individually customized Web pages.
WordPress is slower than Drupal and Joomla!, the other two CMS tools discussed in this article. There are ways to overcome this; for example, you may manually optimize the database queries, clean some code, compress CSS, and implement caching. Some of these are part of Drupal and Joomla!'s architecture and that's what makes them faster.
Many of the WordPress templates also look so similar that it is sometimes easy to recognize a WordPress site simply by the layout and theme. This is changing, with better templates appearing almost daily.
If you need more features, such as allowing your users to create and manage more diversified content such as personalized Web pages or corporate communities, the next tool, Joomla!, is a better fit.
Joomla! started life as an open source CMS called Mambo. In August 2005, a split took place between the core developers of Mambo and the owners of the Mambo name. The developers decided to continue the development of this software under the name Joomla! and most of the community that previously supported Mambo have now thrown their weight behind the new product.
Joomla! is a powerful open source CMS for publishing content online. It is feature rich and is being used for building professional Web sites easily. Similar to the Firefox browser, the core system can be extended using easily installable add-ons authored by the developer community. The comprehensive internationalization feature of Joomla! 1.5.x supports right to left languages (such as Hebrew or Arabic) and extended character sets. Dozens of language packs can be separately downloaded.
The default home page after Joomla! 1.5.9 installation looks as shown in Figure 2.
Figure 2. Joomla! home page after default installation
Joomla! is both free and fully open source software (the Joomla! group is actually trying to make it GPL-compliant, too). This ensures steady support from the active developer's community. Joomla! also has a large and growing user base, which is very helpful if you get stuck. You should have little trouble finding answers to your problem from one of the experts in the forum threads. Here are some of the key features that make Joomla! such a powerful tool:
- CMS in a true sense. Joomla! easily manages user logins and registrations, along with the ability to give end users the control to upload and edit information on their own sites without system administrators having to continuously be the bottleneck to providing up-to-the-minute information to their clients.
- Flexibility. It is very easy to change the overall look and feel of your Web site using many multitudes of professionally and commercially created themes. All it takes is a few clicks from the administrative console. In addition, the headers and information can then be further customized to give the user just what he is looking for on his site.
- Modular architecture. What makes Joomla! such a strong CMS is its extensible application interface. Joomla! supports extensions in three forms: plugins, components, and modules. Installing or removing these extensions is easy, too, and you have an option to automatically preserve previous entries from the database, so you do not need to bother backing up or restoring the SQL database. If you just feel like removing a component and installing a better one, it is no big deal.
- Templates-based design. A single site can handle multiple templates, and each one is quite easily customizable. Plus, you have option to choose from hundreds of really nice templates that have been professionally designed. Drupal and WordPress lag far behind in this regard. More large commercial enterprises are actively developing and selling Joomla! templates than for Drupal and WordPress.
- Search-engine-friendly URLs. Older versions required various additional components. The Joomla! 1.5.x series makes this much more transparent.
Joomla! is not particularly secure "out of the box." It's a common mistake to install Joomla! and assume the resulting Web site is secure. Joomla!'s security can be substantially improved if the administrator takes time to do some recommended configuration changes (There is a link to Joomla!'s security check list in the Resources section).
A significant drawback of Joomla! is that there is no tagging of posts. A post can only go into one category. Without any third-party products, Joomla! cannot list an article in more than one category, so creating rich, contextual content is very challenging.
Drupal is an open source CMS, designed with flexibility at its core. It is considered as one of the most important platforms for PHP. Drupal has a large fan base of professional developers that use the software for creating all sorts of personal and commercial sites.
Drupal can support many types of features with ease, from shopping carts to user profiles, calendars, galleries, and more. Drupal is also robust and safe. With over 700 developers working on the latest version of the core, a platform like Drupal has endured rigorous testing and deep scrutiny before it is allowed to become part of your Web site.
Along with being very cost effective, Drupal allows you to develop complex sites in a fraction of the time it would take using other technologies. With thousands of community-contributed modules extending the flexibility of Drupal, chances are that Drupal already supports whatever features you or your clients might need. The default screen after the easy installation setup looks as shown in Figure 3.
Figure 3. Drupal's default home page after out-of-the-box installation
Along with lots of standard CMS features like presentation-layer abstraction using themes and templates, an embedded searching module, user creation and management, version control for all published content, syndication, and RSS feeds, and logging and reporting, there are some features that make Drupal an advanced Web 2.0 CMS:
- SEO-friendly URLs. Drupal uses Apache's
mod_rewriteto enable customizable URLs that are both user- and search-engine friendly. This option enables any node to have a custom keyword rich title that is easy for both users and search engines to follow. By adding on another popular module called the pathauto module, you can have Drupal automatically create URLs of your choice based off a number of parameters such as the user who submitted it, the date it was submitted, the title of the article, and things like this.
- Easy-to-use administrative interface. The administration in Drupal is extremely powerful and feature rich. From this section you can control virtually all aspects of your Drupal site easily and efficiently. There are number of logging reporting features that display information such as the number of visitors, what sites your visitors are coming from, and a list of all the errors, should any occur.
- Roles-based robust user management. Drupal administrators don't have to set up permissions for each user. Instead, they assign permissions to roles and then group like users into a role group.
- Rich Web-forms API. There is a easy-to-use module in Drupal called the Webform that allows you to create virtually any type of form. The good thing about this module is that all data collected in these forms is automatically stored in the database and emailed wherever the administrator would like to. This module also comes with a pre-built spam control and security features.
- Built-in Blog API. Drupal's built-in blog system is very easy to use and customize. The Blog API module also enables a post to be posted to a site using external GUI applications. Many users prefer to use external tools to improve their ability to read and post responses in a customized way. This API provides users the freedom to use the blogging tools they want but still have the blogging server of choice. It supports several XML-RPC-based blogging APIs such as the Blogger API, MetaWeblog API, and most of the Movable Type APIs.
- Caching. Built-in caching is one of the most promising features of Drupal. Busy Drupal sites may consider caching their pages to lighten the load on their server and speed up page-generation times. These sites can reduce the work required to generate pages by enabling Drupal's page cache through the administration console.
- Security. Drupal is secure when installed, without doing anything special.
Usability is an issue with Drupal. Its administrative back end is still somewhat disjointed, requiring that you know where to go to make particular changes, and sometimes those changes require multiple steps in separate places to accomplish your goal.
Drupal may be powerful, but it is also complex. The key is overcoming its steep initial learning curve.
The CMS Matrix shown in Figure 4 allows you to select from a huge variety of content management systems and generate a side-by-side comparison of features.
Figure 4. CMS Matrix comparison of Drupal, Joomla!, and WordPress
If Google Search Trend, as shown in Figure 5, is any indication, WordPress and Joomla! are more popular than Drupal. Conversely it might also mean that the Drupal system is more stable and has fewer issues for people to search answers for.
Figure 5. Google Search trend
Which CMS is right for you?
Let's summarize the different CMS options that are available to AIX administrators. AIX provides a secure and robust shell to run any of these applications. The only thing they need to worry about is the actual customization of the look and feel for the user interface.
If you have a simple personal or company site that would primarily be used for blogging and where you don't need to maintain a large library of documents or make sales online, consider WordPress. Many attractive WordPress themes are available for both personal and business-style sites.
Joomla! is the preferred choice for small business and personal users who want a professional-looking site that is simple to deploy and easy to maintain. Joomla!'s high extensibility and large user community has allowed it to be good enough to deliver a robust enterprise-level corporate site, as well. If you need an e-commerce solution or an online library, Joomla! may be the ticket. Visit the Joomla! Extensions page to begin investigating third-party products to meet your needs. There are many Joomla! themes available.
Drupal meets the needs of different types of Web sites from community to news portals, from corporate sites to educational institutions, from media sites to international sites. So if you can invest some time in customizing your template and you need a secure, well-maintained, powerful codebase, Drupal may fit your needs well. There are many Drupal themes available, as well as a large number of powerful Drupal modules.
AIX provides a solid operating system for running your enterprise applications. It is also ideal for your CMS because it allows you to easily and effortlessly expand and scale as your content management needs grow. And what administrator wouldn't like the Live Application Mobility feature of AIX 6 that allows for planned outages, software upgrades, or changing the load balancing configuration of your online systems without affecting the server availability at all?
The three CMS tools discussed in this article clearly show that the open source community has matured to great levels and has grown stronger over the years. It is also evident that whatever your blogging and content management needs be, there is a solid open source tool already available for it; you might have to customize it a little bit though. I hope this article was enough to get you started on the CMS bandwagon. So hop on and remember to share what you learn back with the community.
- Optimizing AIX 5L performance: Tuning network performance, Part 1 (Ken Milberg, developerWorks, November 2007): Read Part 1 of a three-part series on AIX networking, which focuses on the challenges of optimizing network performance.
- For a three-part series on memory tuning on AIX, see Optimizing AIX 5L performance: Tuning your memory settings, Part 1 (Ken Milberg, developerWorks, June 2007).
- TechCrunch is a popular technology news site that uses the WordPress CMS.
- The United Nations (Governmental organization) site uses the Joomla! CMS.
- This Nasa Web site uses the Drupal CMS.
- Read an easy step by step guide to Building and installing Apache and PHP on AIX 5.2.
- Get a list of CMS tools on Wikipedia.
- CMS Matrix gives you tools to compare different CMS's online.
- Read the Joomla! security checklist.
- See the Top 5 SEO Friendly Content Management Systems according to CMSCritic.com.
- Download and read the IBM whitepaper Improving Database Performance with AIX concurrent I/O.
- The AIX and UNIX developerWorks zone provides a wealth of information relating to all aspects of AIX systems administration.
- Open source: Visit the developerWorks Open source zone for extensive how-to information, tools, and project updates to help you develop with open source technologies, and use them with IBM products.
- PHP: A Web-based language for supporting dynamic content.
- Apache: An open source Web server.
- developerWorks technical events and webcasts: Stay current with developerWorks technical events and webcasts.
- Podcasts: Tune in and catch up with IBM technical experts.
Get products and technologies
- Drupal: An open source content management system.
- Joomla: Home of the Joomla CMS.
- Wordpress: WordPress CMS and community portal.
- MySQL: An open source database store.
- Build your next development project with IBM trial software, available for download directly from developerWorks.
Dig deeper into AIX and Unix on developerWorks
Get samples, articles, product docs, and community resources to help build, deploy, and manage your cloud apps.
Keep up with the best and latest technical info to help you tackle your development challenges.
Software development in the cloud. Register today to create a project.
Evaluate IBM software and solutions, and transform challenges into opportunities.