Content Management Systems
The purpose of this article is to introduce the essential concepts of content management systems (CMS), and to explain how we've approached this complex market. There is no way that we can provide an exhaustive survey of all CMS software projects, as that would require an entire website to cover properly (if you want to visit such a website, try www.cmsinfo.org). Instead, we will focus on explaining the merits of CMS in general, and the specific CMS programs that we have chosen to support at this time.
In bare essence, a content management system is a program that helps organize the unique content of your website, and presents it to the viewer according to a predefined design template (usually referred to as a 'theme' or 'skin'). The theme can also be unique, and tailored to fit your company culture or desired public image. This arrangement has several advantages; most significantly, it separates website design from content development.
For commercial and organizational websites, it is usually the case that the people who generate the content (ideas, documents, missions, etc.) are not the people that design and administer the website. Without a CMS the content creators must go through the 'webmaster', who then attempts to interpret their wishes online, based on the materials that they present. Usually, this requires a bit of iteration before all parties are satisfied. This process can often become an overwhelming burden for the poor employee that 'volunteered' to maintain the site; or a significant expense if you pay a consultant for every content update.
The initial approach to this conundrum was to use a 'WYSIWYG' web design application, like Microsoft FrontPage or Macromedia Dreamweaver. The former was an attempt to make web design 'as easy as word processing', which is laughable if you've ever tried to use Microsoft Word to do any production quality work (with all those wonderfully advanced features). The problem with this approach is that small business-folk simply don't have the spare time to learn the nuances of yet another 'friendly but powerful' application. So they usually hire a web designer, and end up paying for every update.
With a CMS you can update the website from any Internet-enabled computer, using a simple web-based interface (no $pecial software needed). Good CMS's have so called workflow features, which allow many contributors to be governed by a few editors; this arrangement allows for quality control, while distributing the content creation workload across many human resources. The design limitations imposed by a CMS format are not at all oppressive. If you wish, you can use a CMS 'backend' for the most grippingly artistic websites you could conceive. But once the theme is implemented, anyone (authorized) could add content within the context of that design, regardless of their ability to appreciate the overall aesthetics or function of the site. Therefore, once your CMS is designed, customized, and implemented, go ahead and delegate your content creation to internal staff without fear of running up a huge consulting bill. Use your website to say precisely what you want to say, on your schedule, in your words, and with your company's own internal effort.
There are over a hundred production-quality open source projects that describe themselves as content management systems, and there are dozens of competing commercial software packages. Actually, if you count e-commerce software, photo-galleries, bulletin boards, and intranets, then there are several hundred programs that satisfy the deliberately vague definition I offered above. This situation can be quite confusing when you are trying to evaluate which CMS is right for you.
The complexity of the CMS market reflects the nature of the problem that CMS's are designed to solve. To some people, a content management system means a 'blog' (a web-log), which should have strong textual and photographic features. Other organizations may think of a CMS as a discussion forum, an online storefront, an intranet, a magazine, etc. It all depends on their mission and approach. The common theme is the need for an automated system to relieve them of the burden of maintaining a consistent look and feel, while displaying a lot of dynamic content.
CMS's that are sold for profit, such as Microsoft's Content Management Server and IBM's WebSphere, are usually compiled code and require a dedicated server environment. The quality of comercial products tends to be quite high, as does the expense.
We recommend that small businesses consider an open source approach, rather than spending many thousands of dollars on such a product. Either way, there are still implementation costs, a learning curve, and maintenance costs. If you are going to handle millions of hits a week, or if you need to develop an elaborate but reliable web application, then you might justify spending the thousands of dollars on software and a dedicated server (and good bandwidth). But if you are simply looking for a way to take direct control of your site's content, or perhaps display an event calendar or take surveys, then you don't need such an elaborate and expensive setup.
Within the open source CMS 'marketplace', there is a broad spectrum of applications and underlying technologies. The most developed, and impressive solution, is undoubtedly Zope, and its associated applications (like Plone). It rivals or beats all of the commercial products. But, like the expensive commercial products, Zope requires a dedicated server environment, and has a significant setup cost. We would refer any customers interested in a Zope solution to our friends at WebslingerZ; they can create a site that rivals the best WebSphere implementation, at a fraction of the cost, with arbitrary scalability.
Allora provides a more economical solution, appropriate for the small to mid-sized business market. We offer (shared) hosting, implementation, design, and support for several open source content management systems. The underlying link is a set of technologies: the php programming language and the mySQL database, as well as Linux and the Apache web server. Within these constraints, we are willing to try-out any server-side software you wish to implement (at our standard rates, and once vetted by security). However there are some programs with which we are already have good experience, and which we specifically endorse...
There are always trade-offs in any choice about software and implementation; all applications have their strengths and weaknesses. So we hesitate to make a blanket recommendation for an open source content management system. Nevertheless, we do recognize that there are two general approaches to deploying a CMS-based web presence, either of which will suit the vast majority of our customers. These differing approaches dictate the two choices of CMS software that we endorse: Mambo Open Source and phpWebSite.
If you want an elegant, simple site, uncluttered by special features like calendars or discussion lists, then Mambo is the among the most mature (php-based) open source CMS's, and it is the easiest to customize and use. Mambo sites can incorporate a news section, photo galleries, site-wide search, and attractive, customizable menus. Other features can be added, but if you want to focus on features, we'd advise you to consider phpWebSite. We endorse Mambo because it is very stable, easy to use, and extremely flexible with respect to your site's visual design.
phpWebSite is appropriate for more complicated, feature-rich web sites. It comes with an event calendar, polls, a discussion board, a FAQ module, universal comments, automatic user-handling, news feeds, a download manager, and all of the features mentioned for Mambo. There are many more modules for phpWebSite written by third parties, like mailing lists, staff directories, shopping carts, auctions, real-estate listings, etc. The reason there are so many is that phpWebSite is, in fact, much more than a CMS: it is an object-oriented, open-source web development framework! In English this means that it makes it relatively easy to develop custom web-applications without having to constantly reinvent tools like user-management or form creation. So it is cheaper to develop quick web apps. phpWebSite is not as polished as Mambo, and it is a little harder to understand and use; but it is the software we endorse for developing a dynamic web presence with especially deep content and/or custom programming.
There are other php/mySQL packages out there that we have used and greatly respect. For example, GeekLog is a feature rich CMS like phpWebSite, which is relatively easy to implement (but relatively difficult to extend or customize). And WordPress is notable as the best open source CMS for blogging. Moreover, if you are primarily interested in one feature, like a shopping cart or a bulletin board, then there are usually superior individual projects, like ZenCart or phpBB. We are open to all of these possibilities, or other php/mySQL solutions; but we believe the majority of our customers in the market for a CMS will be best served by using either Mambo or phpWebSite.
Most of our customers are primarily interested in controlling their site content, once a basic design and structure have been implemented. With a conventional website, they must either pay for such updates, or learn to edit their code themselves. Depending on the number of updates necessary per month, the former can be an expensive proposition; and the latter often leads to wasted time and unsatisfactory results.
Mambo Open Source is an application that lets you directly edit your website with a relatively simple rich-text editor, while the design remains consistent (governed by templates). No special software, besides a web browser, is necessary to make these changes; you simply logon to the management interface for your web site, select the page you want to edit, and the content will be directly accessible in a rich-text (WYSIWYG) editing window. You can save your work with or without posting it to the site; and you can define levels of users, such that only editors have the authority to actually post changes. This makes it possible to delegate content creation, without being concerned that an inappropriate page gets posted to your public website.
A typical conventional website, with 5-15 pages of information-oriented content, will take around 15 to 20 hours of labor to design, code, implement, and review. Getting the same result with Mambo will take a little longer, perhaps 20-30 hours (including training); so the initial cost is higher. But once your staff is trained to update and extend the site, there will be no need to call Allora for content updates or page additions. If you need to fundamentally change the features, design or structure of the site, you will probably need assistance; but with Mambo, you can plan on having dynamic site content without spending a lot of money on the labor necessary to keep it fresh.
If you decide to add some other features in the future, such as an event calendar, you are not penalized for having initially chosen Mambo Open Source. Since Mambo is extremely mature and popular, there are numerous third party modules that can extend its functionality. We prefer phpWebSite as a platform for feature rich websites, because so much functionality is supported in the core product, rather than by unpredictable third parties; but Mambo Open Source is by no means a 'limited' program.
Most of our past, present, and future customers need Mambo. It is a powerful, intuitive solution to the essential problems of website content management. It generates beautiful, custom websites with less design effort than other content management systems. It has broad support from a worldwide community of users and developers, so Mambo will continue to grow, flourish, along with your evolving web presence.
We have assembled a list of links to several examples of Mambo powered sites. Please contact us to learn how Allora can implement a Mambo Open Source solution that fits your needs.
phpWebSite is quite successful in spite of being a relatively young project (currently at version 0.9.3-4, as of this post); that is because it is very capable and reliable, and the number of production sites has proliferated. Moreover, phpWebSite has a significant advantage over most other open source projects (including Mambo); it has a dedicated team of professional programmers that actively improve it, as a major part of their jobs. And while the phpWebSite user and developer community is worldwide, this core team of developers is located right here in North Carolina, employed by Appalachian State University.
The Web Technology Group at App State is routinely assigned to website and web-application development projects for the university's various departments, institutions, and student organizations. A few years ago, they began to assemble their solutions into a content management system and development framework. Rather than start from scratch, they chose to create a development fork from the powerful (but volatile) phpNuke, which is still among the most popular CMS's on the Internet. They set out to recast the 'Nuke code' in a clean, consistent, object oriented fashion. In so doing, they have rewritten over 100,000 lines of code, slashed the memory footprint by a factor of four, and engineered a system that generates standard XHTML code. Their efforts have been warmly received by the open source community, as well as the university. The evolving project known as phpWebSite, is in very good hands.
A typical project with phpWebSite will take quite a few more hours of labor than a simple, informational website. That is why we recommend that you consider using Mambo if you do not need a complex website. While the software is free, the labor is not, so you should not think of these special features as giveaways. Each module you use, such as the calendar, requires some time to create a design template, and some time to configure and learn. Complexity is not without cost; but if features and deep content are what you need, then we maintain that phpWebSite is the most cost effective way to conquer that complexity.
The tools that are part of the standard installation of phpWebSite can be adapted to a wide variety of site structures and/or features. In theory, the visual site design is infinitely flexible; but in practice, phpWebSite works best with a two or three column layout. Nevertheless, the design is based on extremely flexible templates; so almost any look can be achieved within that context. The columns can contain menus, articles, announcements, polls, comments, news feeds, event calendars, advertisements, mailing lists, etc. They can all be interrelated by a site-wide categorization scheme, which also makes it easy to create menus that can reach arbitrarily deep into your content. They are all searchable, and coordinated, so that your site always shows the most relevant content to the viewer. And best of all, when developing new modules, it is easy to tie into other, preexisting modules, so that both the look and the feel of the site remain consistent.
If you want to set up a phpWebSite, we would recommend that you give some thought to the structure of your site. Have a look at the list of links to other phpWebSites that we have assembled. Develop a priority list of features you want to implement, and a list of existing websites that you want to influence your site's visual design. Then, contact us to arrange a meeting and we'll discuss how to best implement your site's structure and design, and how to customize phpWebSite to meet your needs.