When I started developing Web applications many years ago,
the approach was always the same, as everything was built from the ground up.
There may have been some code reuse, but the entire site was always a custom
solution. That is no longer true with open source and other online communities
providing powerful solutions at little or no charge. You can choose to piece
together a solution using one or more parts or utilize a complete solution that
has everything to meet your needs.

Content is king

Why visit a Web site if its content is useless or out of
date? While it is a relatively simple process to create an HTML file and place
it on your site, it can be time consuming to maintain the content contained in
a large site. A content management system (CMS) provides an easy way to manage
your site’s content.

While TechRepublic uses a custom
solution, the open source community has taken the reins with many options. A
major ingredient in this trend is the rise in popularity and functionality of
the straightforward script-based language PHP, as well as the popular open
source database platform MySQL. Most of these
solutions utilize these development options; more mainstream platforms like .NET
and Java have been used to develop solutions as well.

Weekly development tips in your inbox

Keep your developer skills sharp by signing up for TechRepublic’s free Web Development Zone newsletter, delivered each Tuesday.

Automatically sign up today!

The list of freely available CMS solutions is a bit
overwhelming; here’s a sampling of what is out there:

  • ASPBite:
    The Microsoft community finally has options for quickly building Web
    applications. ASPBite is a complete site and CMS
    that makes it easy to build comprehensive sites. The free version includes
    articles, news, downloads, uploads, FAQ, guestbook, feedback, and more.
  • Mambo: A dynamic
    content management tool facilitates the building of sites of any size. It
    uses PHP and MySQL and features a very powerful
    and extensive administration manager. Mambo uses a modular framework for
    extensibility.
  • PHP-Nuke:
    A CMS written in PHP featuring a MySQL backend,
    focusing on the style, appearance, and functionality.
  • PostNuke:
    A PHPNuke fork that provides features via
    modules that are easily enabled or disabled to use the feature.
  • phpWebSite: This tool (developed by the
    Web Technology Group at Appalachian State University) provides a complete
    site CMS. All client output is valid XHTML 1.0 and meets the W3C’s Web Accessibility
    Initiative requirements. A great solution for small sites, but it may be
    too restrictive for larger applications.
  • Zope:
    An open source content management server developed with Python. It can be
    used for an intranet or portal as well as the base for a custom
    application. It provides very flexible user security management and its
    strong object-oriented approach.

These tools provide features to cover most popular site
options, such as content workflow management, which allows you to keep a site’s
content fresh. Other options may include feedback, library/archive, downloads,
uploads, security, and news feeds. Site administration is maintained through a
separate interface, so making changes to site content or structure is a simple
process.

Customization

A key feature of a CMS is the degree of customization it
allows; products like Zope and PostNuke
make it easy to customize site presentation themes and module selection. In
addition, programming languages allow you to dig into the code and make the
necessary changes. The language will depend on the product, such as PHP with
Mambo or ASP.NET with ASPBit. Using this approach,
you should choose a solution that features a language familiar to you and/or
your staff.

Community support

Freely available CMS solutions often feature an active
online community of developers. These developers work hard to enhance the
application and address any bugs. This is a sharp contrast to shrink-wrap
solutions where support can be hard or costly to locate. While all open source
solutions do provide an online community, many commercial support
options are available to meet the more stringent needs of corporate
clients.

Take it for a test drive

A good approach for deciding on which CMS solution is best
for your needs is a test drive. Open source solutions are readily available via
Web downloads. You can have them up and running in an afternoon to get a feel
for product options and whether it can meet the needs of your user base.

Time is money

It seems like we all have less time to do more work these
days, so any way to trim the workload is attractive. Thankfully, the Internet
and open source communities provide various options for cutting the work
involved with developing powerful Web applications. The most comprehensive
option is a CMS. Take a long look at these tools before developing the next
application from scratch.

Tony Patton began his professional career as an application developer earning Java, VB, Lotus, and XML certifications to bolster his knowledge.

Miss a column?

Check out the Web Development Zone archive, and catch up on the most recent editions of Tony Patton’s column.