If you have never used CMS software before, trying to
find the appropriate package for the job at hand is not
a trivial task. There is no such thing as the perfect
CMS. It all depends on what you need to do. What is right
for me may be next to useless for you and vice versa.
Before
even starting to look for a CMS, you need to be clear
in your own mind about the features you really need.
Is ease of use the fundamental criterion? Or is it more
important that the software should be capable of managing
a really big and complex site with numerous contributors?
For help on determining the essential features to look
for, see our article CMS
:: What’s It For? Do You
Need It?
Here,
I’ll outline the process that I personally went
through in trying to find a CMS product for a very specific
task. There is certainly no guarantee that the one I
chose will satisfy your requirements. However, if this
is the first time you have grappled with CMS software,
you will doubtless have to go through many of the same
steps I did in order to find, setup and configure a suitable
package. So save yourself some time and frustration by
learning from my experiences…
First, Define The Problem…
If you are looking for a CMS, you probably want to create
a ‘dynamic’ web site of some sort - one which
grows and changes as new data (‘content’)
is added. That, after all, is what a CMS (Content Management
System) is for. One or more authors add the content and
the CMS ‘manages’ it!
In
my own case, I wanted to have web site with multiple
discrete sections and a front page on which the newest
posts from these sections are automatically displayed.
So, for example, if one new item were added to the News
page and two new items were added to the Reviews page,
the front page would show all three items. In other words,
the front page would act as a ‘digest’ of
the latest posts from all the other sections of the web
site.
The
other thing I wanted was to have two Blog pages. In one
page, I would post my personal entries. In another page,
another author would post his. The other author is not
particularly technical so another important criterion
when choosing the software was that it should be easy
to use. A user should be able to log in and post a new
message without getting lost in the user interface and
without any likelihood that he might make a catastrophic
error and corrupt the entire database.
The
project in hand was not a commercial venture so spending
my hard earned cash was not an option. Consequently,
I wouldn’t even bother looking at commercial products
(some of which are stunningly expensive). Instead, my
choice would be restricted to the free CMS packages (or,
as the developers often prefer to call them, CMS ‘scripts’)
available. Oh, and one final thing. As I’d never
used a CMS before I would ideally like one that is easy
to install and maintain.
In
summary then, these were my main criteria:
- The ability to host multiple linked sections and
blogs
- The ability to aggregate posts from several sections
on the front page
- Inexpensive or free
- Easy to use for a non-technical user
- Easy to install and maintain
Finding The Software
There
is a surprisingly large number of open source CMS packages.
They are implemented in various programming languages
including (but not restricted to) Java, Perl, Python
and PHP and they are normally hosted on either Windows
or Linux. By far the largest number are written in PHP
and are hosted on Linux.
Note: For information on hosting a development
system on a Windows based PC and uploading it to
a Linux based web server, see our guide
to WAMP -
Windows, Apache, MySQL and PHP. |
Rather
early in my search for a CMS, I chanced upon the invaluable
OpenSourceCMS site which is devoted to PHP CMS systems.
Amongst other things this has a useful ‘score
table’ which lists many of these systems by category
- Portal, Blog, e-Commerce and so on. The rankings in
this table are dictated by users’ votes and are
by no means perfect - not only do they vary from week
to week but, in addition, some are ranked on the basis
of very few votes and other on the basis of hundreds
of votes. Still, as long as you treat the ratings with
caution, these tables provide an excellent jumping off
point when searching for a CMS.
Better
still, the same site provides ‘live demos’ of
most packages. You can log into the administration panel;
and start adding data or configuring the software. The
demos are ‘reset’ at regular intervals to
undo the changes that testers have made.
After
some time, I eventually narrowed down my choice to four
packages - pLog (note, this has recently
been renamed to: LifeType), b2evolution, TextPattern and Pivot -
all of which claim to be good at handling multiple blogs.
After giving the demo installations a test-run, I felt
that I should be able to find my way around and configure
them without too much heartache. I also decided
to try out WordPress which, while it
doesn’t claim
to do multi-blogging, is very widely used and praised
and might (for all I know as a total novice) be able
to do what I require anyway.
First
of all, I had to install them…
These are the Blogs I installed and the sites
from which you can download them
|
INSTALLATION
When you log into pLog, all available weblogs are shown
and you must select one in order to access the administration
or authoring features
LifeType (pLog)
pLog was the first CMS I installed (note, this system
has now been renamed to LifeType) and it no doubt suffered
from my inexperience. I was attracted to the fact that
it had an installation wizard “that
will walk you through every step of the installation
process”.
In my innocence, I expected this to work like most Windows
setup wizards - i.e. a dialog pops up, you click a few
buttons and, a couple of minutes later, everything is
setup and ready to run. Not so…
The
wizard started out by asking me for my database server,
user and table names without giving me any clues as to
what they might be or where I might find them. I spent
some time hacking around in my web host’s control
panel and trying out a large combination of possible
values in the hope that I might chance upon the right
combination. But each time I tried to create the database,
I just ended up with a page of inscrutable error messages.
Finally, instead of letting the wizard create a database
for me. I decided to do it for myself. In my web host’s
control panel, I used the MYSQL page to create a new
user and a new database and add the user to that database
(this is explained in more detail in our guides to MySQL and WordPress).
Then I started the pLog Wizard again. This time I told
it to use the database server named
localhost, entered
my newly created database, user name and password and
made sure that the automatic database creation option
was not checked. Simple and user-friendly this wasn’t.
To make matters worse, as with so much open source software,
pLog’s documentation is less than ideal.
While the installation
instructions in their Wiki
may look comprehensive at first sight, in practice, they
miss out many of the essential steps which may baffle
a novice user.
The
b2Evolution control panel is divided into tabbed areas.
You can select a specific blog when you wish to write
a new post
b2Evolution
This was my second Blog installation and this time I
was prepared. Without further ado, I went into MySQL
in my web host’s Control Panel and created a new
user and database called b2evolution.
Then I told the b2Evolution installer to use this database
(the actual name, just to confuse matters, takes the
form of the main website user name - for example, if
you are registered with the name myname,
and your database is called b2evolution,
you must tell the installer to use the database called
myname_b2evolution). At least it had
already entered the name localhost to save me
the trouble. While the installation was reasonable trouble
free, this was undoubtedly aided by the fact that I’d
already been through a similar process once before, using
pLog. The b2Evolution installation
documentation is pretty poor and tends to assume a) that you know what
you are doing and b) that you won’t encounter any
major problems.
The
Pivot control panel lets you click an icon to select the post editor or click
another to work in the Administration area
Pivot
This was the third Blog I installed and it turned out
to be far easier than I was expecting. This is largely
due to the fact that Pivot saves its data in files rather
than in a database so I didn’t have to go through
the messy business of setting up MySQL. The only complicated
part of the setup process was having to chmod a
whole load of files. This is something that is required
by most CMS software and, while it may be second nature
to hardened Unix users, it can seem a bit like witchcraft
to a mere Windows user. At least this process is well
documented in Pivot’s clear step-by-step installation
guide.
Another advantage of Pivot is that it is a doddle to
install on your local PC. As long as you have Apache
and PHP installed (see our Apache and PHP setup
guides), you can just download your entire Pivot installation
from the remote server and copy all the files into a
subdirectory beneath the Apache \htdocs directory.
At first I was a bit suspicious about the lack of a MySQL
connection. In practice, I discovered that there are
considerable advantages when you take into account the
ease of installation and simultaneous development on
a local PC and a remote server.
WordPress
has a fairly straightforward user interface which uses menus and tabbed pages
- here the post editor is seen
WordPress
WordPress is not exactly reticent about the ease of
its installation process. It claims to have a “5
minute installation” which, in practice, can
take even less than five minutes.
As always, you should take such claims with a very large
pinch of Sodium chloride. The fact of the matter is that,
if you re an old hand at CMS installation, you may well
whiz through this in a few minutes. But if this is the
first time you’ve done it, you probably won’t.
Even so, while the installation may not be quite as quick
and easy as they’d have us believe, it is relatively
straightforward as these things go. Moreover, WordPress
is one of the better documented Blog systems whose Wiki
is more complete than most and has a decent section
on installing.
For a detailed account of installing WordPress on a remote
server or on a local PC, see our separate
feature.
TextPattern
is another system that’s big on tabbed pages. The interface is a bit
more complicated than some of the other systems I tried out
TextPattern
Credit where it’s due - this has excellent installation
instructions. These instructions come in several versions
- from very terse for the benefit of experienced CMS
users to exhaustive step-by-step
guidance for novices
(though even this is a bit vague on the mysteries of
creating a MySQL database for those who have never done
this before). In my case, the installation was
not entirely without its problems, however. When, according
to the installation instructions, I should have been
viewing a setup screen, what I actually saw was this
somewhat mysterious error message:
config.php is not ok
or not found. If you would like to install, go to [/subdir]/textpattern/setup/
I changed to the /textpattern/setup subdirectory
and tried again but the message didn’t go away.
Unsure what to do next, I tried changing to the setup
directory a few more times and, eventually, the setup
screen appeared. Don’t ask me what the problem
was. I don’t
know. It may have been the fault of TextPattern, of my
server or some obscure combination of the both. Or it
might simply have been my own ineptitude. At any rate,
once the installation proper started, everything went
pretty smoothly - though you do have to know how to create
a new file (for configuration) on your server. And, while
chmoding isn’t required when installing,
you may subsequently need to chmod various directories
in order to be able to upload images and files.
CHMOD For Unix Virgins
CHMOD is the name of the Unix/Linux command to
change file permissions and is short for ‘Change
Mode’. You need to do this in order
to allow some files to be rewritten when data is
changed while other files are made read-only so
that malicious users or programs cannot attempt
to modify them. The easiest way to change file
permissions on your web host may be with the help
of an FTP program or by using the File Manager
in your web host’s control panel. The permissions
associated with each file or directory are expressed
as a three digit number. This number varies between
0 (no permissions) to 777 (all permissions). The
value can be decomposed into three types of permission
(to read a file, to write it or to execute it)
and three groups of user (the owner, the User/Group
and Everyone). The user here means you - the ‘administrator’;
the user/group could, in principle, be other people
to whom you assign special privileges and Everyone
is the rest of the world. You don’t need
to know all the possible values which can be set
using CHMOD. Just be sure to set the values suggested
by the installation documentation of your chosen
CMS.
Even after an successful installation you may need
to set file permissions to allow certain operations
such as uploading files to the server. Here, the
help in TextPattern gives me some basic advice
on what needs to be done.
If you are using
an FTP application, you may be able to change
file permissions by entering numbers or ticking
off check-boxes. Here the number ‘777’ gives
the highest level of access to a file or directory
and you should only set this value when the
documentation specifically tells you to. |
Ideally, having installed these five systems, I would
now have spent a few weeks experimenting in depth with
each of them before coming to a decision on which to
use for the project at hand. Real life is rarely ideal,
however. The fact of the matter is that circumstances
dictated that I had to get this web site up and running
in just a couple of weeks. As a result, I was forced
to make a decision pretty damn’ quickly.
So
I played with each of the packages for just a couple
of hours. In that time I decided that the pLog interface
might be confusing for a novice user (such as my non-technical
partner in this project). Curiously, it doesn’t
have a central ‘dashboard’ which appears
at the outset but instead requires that you log into
one of the weblogs before gaining access to other features.
TextPattern too has a slightly confusing
interface (lots of tabs and screens) and lacks a WYSIWYG
editor. The choice of editor is, I should point out,
quite deliberate; there are disadvantages as well as
advantages to WYSIWYG - but nonetheless for a novice
user, I think WYSIWYG is simpler.
I wasn’t sure how easy it would be
to get the various separate sections to work together
in WordPress so I discounted that at the outset. I am
still not sure if this was a correct decision on my part
and I shall take a closer look at WordPress in coming
months. All I can say for sure is that, in the short
time available to me, I was not convinced that WordPress
had what I needed.
I was very drawn towards b2evolution and
very nearly decided to use it. In the end, however, I
plumped for Pivot - mainly because of
its ease of setup and use. It has a straightforward user
interface which makes it simple for a novice user to
post to specific categories using a WYSIWYG editor. The
categories can be used to create discreet blogs (if the
category is Fred, for instance, that post may
go into Fred’s
blog; if it’s
Bert it may go into Bert’s Blog) and also
to group multiple categories onto the front page (you
just set up that page to display posts from both the
Fred and Bert categories). Moreover, by using flat files
to store data instead of the MySQL database, it makes
it very simple indeed to share your local and remote
Blog development. To bring your local Blog up to date
with the Blog on your web server, you just download the
files from the server to your hard disk.
ONE-CLICK INSTALL…?
This is the first screen of the Fantastico version
of the b2evolution installation. It's simpler than
installing it from scratch but does have some drawbacks...
If you want a simpler way to install a CMS or
Blog, take a look in your web host's control
panel. If this is a CPanel control panel, you should
see an icon called Fantastico down
at the bottom. Click this to enter a screen from
which a number of tools and scripts can be installed.
The actual range of options may vary from host
to host but typically you will find several popular
Blogs and CMSes such as WordPress, b2evolution
and Drupal. When you install these using Fantastico,
you will be guided through the setup process and
this will normally be much simpler (avoiding many
of the complexities of MySQL configuration and
setting file permissions). The downside, however,
is that often the versions of software available
in Fantastico are somewhat out of date. When critical
updates are released you may need to install those
in the more long-winded way, by downloading from
the developers, uploading to your host and setting
file permissions as instructed. But doing so may ‘break’ your
Fantastico installation. In other words, once you’ve
installed an update yourself, Fantastico may refuse
to install other updates in future. |
Now,
I’m not saying that Pivot is the ‘best’ of
the systems tested. Far from it,. The others each have
features which, for some users, make them superior. However,
Pivot did most of what I wanted, it did it simply and
it let me get my
site up and running within the limited
time I had available.
I’ll
be taking a closer look at the pros and cons of these
and other CMS systems over the coming months… (more)
Huw Collingbourne
November 2005 |