Thursday, March 28, 2024

Web Developers, Meet the Content Management System (CMS)

Let’s face it, web developers, web content management
systems (CMS) are here to stay. Not to worry, there remains
room for designers and coders in the world of CMS.


For the sake of brevity, this article will focus on the
free (i.e., open source, GPL, GNU licenses) software —
Drupal, Joomla, WordPress are three of the more popular of
the bunch. After all, the open source are the most fun and
challenging for developers, as you can show off your mad
programming skills by contributing your own, or contributing
to, custom plugins referred to by the various applications
as modules, components, extensions, plugins.


As with any Web project, it is important to first
identify the intent of the Web site and the client’s needs.
If your non-techy client is interested in generating and
publishing their own content, you are on the right track
with a CMS. So, onward.


Are they interested in creating a simple blog, a factory
of client-managed multimedia content, or a community site
(social networking)? Don’t forget the oft overlooked use,
intranet. CMS makes a great intranet!


What is a CMS?


Wikipedia describes it thusly: “A ‘web content
management’ (WCM) system is a CMS designed to simplify the
publication of Web content to Web sites, in particular
allowing content creators to submit content without
requiring technical knowledge of HTML or the uploading of
files.”


From a developer’s standpoint, a CMS is digital Lego’s. A
foundation (“core” code) and predefined building elements
that you can manipulate to your heart’s desire without even
getting your coding hands dirty…unless of course you want
to. Because it is “modular”, you can easily expand the scope
and functionality of a site through plugins (a/k/a
“modules”, “components”, “extensions”, “plugins”).


Why Use a CMS?


Well, let’s just say, not because of coder laziness,
although there is that. As a site builder, you need nothing
more than great CSS chops, and a solid understanding of best
practices. No need to script from scratch; but, if you are a
PHP coder, the CMS world is your oyster. (Sorry ASP
programmers, there’s not much to see here, except
DotNetNuke.)


Key reasons to use a CMS include:



  • Client wants control over content creation and
    publishing, including uploading of images and files, and a
    WYSIWYG interface.

  • Client wants public and private (registered user)
    sections of a Web site.

  • Client wants visitors to be able to interact with the
    content.

  • Client wants rotating, blog style content display – for
    example, front page article summaries with ‘read more’
    links.

  • You, or client manager, want integrated Web
    administration control of site.


An ancillary reason is that you enjoy being part of such
a large developer community. A fraternity (/sorority) of
people who enjoy building and sharing great new modules,
improving great modules, and appreciate great modules.
Hundreds of thousands (probably millions) of volunteers
around the world working to make a product better, every
single day. Well, that’s open source, for ya.


On this note, there certainly are developers profiting
from these contributor modules. Some sell their module code
directly, while others are sponsored by a company to build a
custom module, which then often is made available to the
community. The same is true for CMS templates or themes.
So, you need not think of developing for CMS a waste of
time.


NOTE: In the CMS world, the term developer tends
to mean module programmer, whereas a site builder is
referred to as a designer or themer.


How to Choose From Among Content Management Systems


The decision of which CMS to use will be dictated, in
large part, by the intent of the Web site. While there are
many free content management systems (see Wikipedia’s quick
glance table: http://en.wikipedia.org/
wiki/List_of_content_management_systems
), the following
is meant to serve as example of the kinds of features and
differences among a few–things to consider when researching
a CMS.


Drupal


Drupal, for example, has been widely used for community
or social networking sites where visitor interactivity is
encouraged; it lends itself well to this format through a
flexible commenting feature. It also is a great, flexible
tool for Internet or intranet portals. Another standout
feature of core Drupal is its finite permissions control for
each user role, and for each module. You can create your own
roles, as well.


With an active developer community and a plethora of free
contributor modules, you should find plenty of tools from
which to choose. And, if you don’t find a module to do
precisely what you need, two modules–Content Construction
Kit (CCK) and Views–make Drupal highly customizable,
allowing you to push/pull and manipulate data in a myriad of
ways. All without having to access any programming code.


The Whitehouse recently rolled out a Drupal site, http://www.recovery.gov/, and the French Government also said oui oui to Drupal
with their http://www.gouvernement
.fr/
. To prove that a CMS site does not have to be boring
and templatey-looking, check out a few top-notch sites
featured here: http://sixrevisions.com/web_design/31-drupal-content-
management-system-cms/
.


Among other uses, the author uses Drupal as a (private)
client job ticket center, through the delightful JobTrack
contributed module.





Click here for larger image

Get the Free Newsletter!

Subscribe to Developer Insider for top news, trends & analysis

Popular Articles

Featured