Introducing Content
Management Systems
In This Part of the blog post
✓ Understanding the
need for content management systems
✓ Previewing typical
content management systems
✓ Installing a content
management system
✓ Adding content to a
content management system
✓ Setting up the
navigation structure
✓ Adding new types of
content
✓ Changing the
appearance with themes
✓ Building a custom
theme
If you’ve ever built
a large Web site, you’ll probably agree that the process
can be improved.
Experienced Web developers have discovered the
following maxims
about larger projects:
✦ Duplication should be
eliminated whenever possible. If you find yourself
repeatedly copying
the same XHTML code, you have a potential
problem. When (not
if) that code needs to be changed, you have a lot of
copying and pasting
to do.
✦ Content should be separated
from layout. You’ve already heard this
statement, but it’s
taken to a new level when you’re building a large
site. Separating all
content from the layout would be helpful so that you
could create the
layout only one time and change it in one location.
✦ Content is really data. At
some point, the content of the Web site is
really just data.
It’s important data, to be sure, but the data can — and
should — be separated
from the layout code, and should be, if possible.
✦ Content belongs to the user.
Developing a Web site for somebody can
become a long-term
commitment. If the client becomes dependent on
the site, he
frequently pesters you for changes. It would be helpful if the
client could change
his own content and ask you only for changes in
structure or
behavior.
✦ A Web site isn’t a
collection of pages — it’s a framework. If you can
help the client own
the data, you’re more concerned with the framework
for manipulating and
displaying that data. It’s a good deal for you
and the client.
A content management
system (CMS) is designed to address exactly these
issues, as this very post will show you.
Overview of Content
Management Systems
CMSs are used in many
of the sites you use every day. As you examine these
CMSs, you start to
recognize them all over the Web. If you have your own
server space, a
little patience, and a little bit of knowledge, you can create
your own
professional-looking site using a CMS.
This list describes
the general characteristics of a CMS:
✦ It’s written in a
server-side language. The language is usually PHP, but
CMSs are sometimes
written in other languages. Stick with PHP for now
because it’s
described in this post, it’s easy to use, and it’s the most frequently
used CMS language.
✦ All content is treated as
data. Almost all the content of the CMS is
stored in text files
or (more commonly) a MySQL database. A CMS usually
has few HTML files.
✦ The layout consists of data,
too. The CSS and XHTML templates, and
everything else the
CMS needs, are also stored as data, in either text
files or the
database.
✦ All pages are created
dynamically. When a user logs in to a CMS, she is
normally talking to a
PHP program. This program analyzes the current
situation and
generates an HTML document on the fly.
✦ There are different levels
of access. Most CMSs allow anonymous
access (like regular
Web pages) but also allow users to log in for
increased access.
✦ The content can be modified
from within the system. Users with the
appropriate access
can modify the content of the CMS without knowing
anything about PHP or
databases. Often, you don’t even need HTML
or CSS.
✦ The layout can be modified
from within the system, too. Most CMSs
allow you to change
the layout and design from within the system,
although the process
is usually more involved.
✦ CMSs can be expanded. Most
CMSs are easily modified with hundreds
of visual themes, add-in
modules, and new capabilities available for free.
In most cases, if you
need something that isn’t there, you can make it
yourself.
✦ Many of the best CMSs are
open source. CMSs are a shocking value.
When you consider how
much they can contribute to your online presence,
it’s amazing that
most CMS programs are absolutely free.
Previewing Common CMSs
To get a true feel for the power
of CMSs, you should test-drive a few. The
wonderful resource
www.opensourcecms.com allows you to log in to hundreds
of different CMSs as a user and
as an administrator to see how they work.
I show you a few typical CMSs so
that you can get a feel for how they work.
Moodle
Often, you have a special purpose
in mind. For example, I wanted to teach
an online course without
purchasing an expensive and complicated course
management system. I installed
the special-purpose CMS Moodle. Figure 3-1
shows the Moodle screen for one of my courses.
Moodle has a lot of features
that lends it to the educational setting:
✦ Student and instructor
management: The system already understands
the roles of student
and instructor and makes appropriate parts of the
system available.
✦ Online assignment creation
and submission: One of the biggest problems
with online
courseware is getting assignments to and from students.
Moodle has a complete
system for handling this problem.
✦ Online grade book: When
a teacher grades an assignment (online
through Moodle), the
student’s grades are automatically updated.
✦ Online testing support: Moodle
has built-in modules for creating, managing,
and scoring online
quizzes and exams.
✦ Communication tools: Moodle
includes a wiki (a collaborative documentation
tool), online chat,
and forum tools you can set up for improved
communication with
your students.
✦ Specialized educational
content: Moodle was put together by hundreds
of passionate (and
geeky) teachers, so it has all kinds of support for various
teaching
methodologies.
Community-created
software can be very good (as Moodle is) because it’s
built by people who
know exactly what they want, and anybody with an idea
(and the skills to
carry them out) can add or modify the features. The result
is an organic system
that can often be better than the commercial offerings.
I find Moodle easier
to use and more reliable than the commercial course
management system
that my university uses. I keep a Moodle backup for my
classes because when
the “official” system goes down, I can always make
something available
for my students.
WordPress
WordPress is another
specialty CMS, meant primarily for blogging (short for Web
logging,
or keeping an online public diary). WordPress has become the
dominant
blogging tool on the
Internet. Figure 3-2 shows a typical WordPress page.
0 comments:
Post a Comment