ARTICLES
Using
content management software
by Chris Bailey, Internet
Rights Bulgaria
2004
What
is content management software?
At
the most basic level, websites consist of a collection of text files
written in a programming language called html together with image
files. When viewed with a browser these files combine to appear
as web pages. Initially most websites were constructed by people
who became experts in writing their own html code just using simple
text editing programs such as Notepad in Windows.
As
new and more complex versions of html developed, allowing much more
versatility in what websites could contain, the job of writing html
code became more and more complicated. A range of software tools
developed that allowed websites to be constructed using a graphical
interface that automatically produced the html code rather than
having to write it directly. Examples of programs that do this are
Microsoft FrontPage, Macromedia Dreamweaver and Adobe GoLive.
These
programmes are best used for producing what is known as static content.
Online web pages can be changed and updated using these programmes,
but they remain fixed in between the changes. In recent years, however,
there has been the growing use of dynamic web pages on websites.
Anyone
who has used a search engine such as Google is familiar with dynamic
web pages. You enter some text and a web page is created dynamically
based on the request you made. The page you are then viewing didn't
exist until you made your particular request.
Dynamic
web pages are created by using a combination of a programming language
and a database. There are a number of different programming languages
used; examples are PHP, ColdFusion, Javascript, VBScript and Perl.
A range of different database programs can also be used. The database
program probably known to the largest number of people is Microsoft
Access and some web hosting companies do allow its use as the database
for dynamic web pages. It is not really that suitable for this purpose
though and most web servers either use Microsoft's more advanced
database SQL Server or a Free Software database called MySQL. The
most widely used combination is MySQL and PHP, which is also Free
Software.
Using
a database combined with a programming language to create a dynamic
website allows it to include a lot of new possibilities. Examples
are: producing a searchable library of documents, evaluating surveys,
making customised web pages that change according to the person
visiting the site as is done with MyYahoo for instance, and making
directories of organisations searchable in a number of different
ways. The possibility we want to consider here though is to use
a scripting language and database for operating a Content Management
System (CMS).
CMS
programs work by using the scripting language/database combination
to manage website content. They provide a front-end graphical user
interface that is accessible using a normal web browser to manage
the production of dynamic web pages without the user needing to
know how the underlying languages work. CMS makes it much easier
for people to create, edit and publish content on a website. Rather
than developing web pages using html or a graphical website program,
content is entered using relatively simple text entry that requires
much less training. This allows non-technical authors and editors
to easily and quickly publish their content using simple cut and
paste techniques. The content is automatically entered into the
database and turned into dynamically created web pages by plugging
the content into templates that have been previously set up using
the scripting language. CMS programs can also automate the production
of a whole range of facilities such as events calendars, newsletters,
online forums, search facilities, archiving, etc.
Does
our website need CMS?
This
is a good question to ask. Technology should not be used just because
it exists. Although the final result makes web publishing much easier,
setting up a CMS based website, and particularly converting an already
existing website to CMS, is a major and pretty daunting technical
task. At a minimum, it will take several weeks to carry out the
main steps in the changeover and many more to sort out bugs and
other problems.
If
you are not publishing more than about 10 new items a week or involving
more than 4 or 5 different people in content publishing then you
don't really need CMS. CMS comes into its own when a website is
being produced as a collaborative effort between a lot of different
authors and editors with varying technical knowledge. More than
anything else CMS is an effective tool for information sharing between
organisations with similar aims. So the questions you need to look
at when considering whether you need CMS concern the information
you have to share, the other groups you want to share it with, and
what information they could share with you.
If
yes, what CMS do we need?
These
are the same questions you need to continue asking after you have
made the decision that using CMS is justified. There are a large
number of CMS programs and they differ considerably in the facilities
they provide and their ease of use. After making a list of the various
facilities CMS can provide you should stop and think carefully about
what you want to accomplish by using CMS, both now and in the future.
Discuss this carefully within your organisation and with the other
organisations you intend using CMS to information share with. You
are making a big decision that will be difficult to reverse later.
Don't be carried away by the technology; it is far more important
that the program easily provides the things you really need rather
than it having a range of features you won't use. Another very important
question to consider is how much long-term support there will be
for the program. Because there are so many CMS programs about many
of them will cease to be supported. This is true for both commercial
and Free Software programs. So it is probably best to stick to programs
that already have a wide user base and clear indications of long-term
support.
Most
CMS programs work with only one particular scripting language/database
combination. Your web hosting company needs to provide that particular
combination or you cannot use that program. The majority of commercial
programs and almost all Free Software programs use PHP as the scripting
language and MySQL as the database. This combination is also widely
used by web hosting companies because of the popularity of Apache
server software, which has facilities for incorporating these two
programs.
Commercial or Free Software?
Another
key issue in deciding what program to use is whether to use a commercial
product or Free Software. Some commercial CMS programs can be very
expensive indeed - tens of thousands of dollars - far beyond the
reach of most NGOs. However, there are some much cheaper ones that
provide the most essential basic features of CMS. In most cases
their use involves making an agreement with the vendor that they
act as an Application Service Provider (ASP) for your website, which
means paying them an initial set up fee and then regular monthly
payments for developing and maintaining the system. A good guide
for non-profit organisations deciding to take this commercial route,
along with a list of ASPs is contained in the December
2002 issue of the Dot Org online magazine.
Extremely
good Free Software exists for doing most jobs and this is certainly
true when it comes to CMS software. The problem for most NGOs is
the technical difficulty of implementing Free Software solutions.
Although most Free Software CMS programs give detailed instructions
about how they need to be installed and implemented they definitely
need someone with considerable technical knowledge to do this.
Internet
Rights Bulgaria has built a good relationship with the Free Software
movement and it certainly has paid off for us in the recent conversion
of our website to using CMS. We feel there is a great potential
for collaboration between the Free Software movement and NGOs working
on human and social rights issues. We often share similar outlooks.
Growing numbers of Free Software activists are looking towards providing
software solutions for the NGO community and this is going to be
boosted considerably by the interest now being shown by the Open
Society Institute. They have started organising events and making
funding available to promote projects that bring the two communities
together. Based on our experience, Internet Rights Bulgaria would
encourage any NGO that decides to take the route of using CMS to
contact the Free Software groups that want to work with NGOs. A
good place to make initial contact would be via the Not-for-profit
Open Source Initiative (NOSI). You may soon find you have an
enthusiastic team of Free Software techies only too willing to help
out!
Even
within Free Software CMS there is a vast range of programmes. CmsInfo.org provides a very comprehensive list. An extremely useful facility
is provided by opensourceCMS.
On this website you can actually try out and test many of the most
popular Free Software CMS programs. They also provide a downloadable
guide "How do I decide what is the best CMS for me?".
Free
Software CMS programs on offer generally tend to fall into two categories:
programs that work to a fairly set format incorporating a number
of fixed features; and programs that allow more flexibility of layout
and presentation, but need more initial work setting up. Many programs
work on a module basis; an initial set of standard features can
be built on by adding further modules later. Some good examples
of the different types are:
Plone. This is based around a fairly standard fixed layout. It is mainly
aimed at providing a way for organisations to get up and running
with CMS quickly. It uses a standard file and folder system to publish
content that is familiar for all computer users.
PHPNuke. This is based on a module system. It is more flexible than Plone,
but still requires working to a fairly fixed layout. It was developed
from the software used by the SlashDot weblog/portal website and still sticks basically to that layout,
although it has introduced a lot of new add-on modules - calendars,
discussions, etc.
EZPublish. Much more flexible than Plone or PHPNuke in terms of changing design
and layout, but more difficult to set up. Comes with a standard
set of modules that include articles, discussions, calendar and
newsletter production. The new version 3 is even more flexible than
the version 2 that most people are using, but it is also considerably
more difficult to set up and unfortunately doesn't provide a way
of upgrading easily from version 2.
SPIP. This was our final choice at Internet Rights Bulgaria. It provides
similar options to EZPublish. It was developed within the French
speaking online community where it is a popular choice, but isn't
so widely known within the English speaking community. For me the
biggest problem is that there is not yet an English language manual
for it. But I accepted the assurances of the French speakers in
the IRB team that it compared very favourably with EZPublish in
flexibility whilst being easier to set up. I am very happy with
the final results (see www.socialrights.org)
though we are still sorting out a few problems. I do feel the difficult
work of making the changeover has been worthwhile as we are now
in a position to involve our target groups of non-technical Bulgarian
NGOs in the production of the website. This has also meant us making
our own contribution to Free Software by translating the SPIP interface
into Bulgarian!
Action
Applications. This CMS, which was developed by the Association
of Progressive Communications, works differently from the others.
It was designed particularly with the idea of content pooling between
a number of partner websites in mind. Unlike all the other programs
mentioned it allows the dropping of a small dynamic section into
an existing website. This section can then share its content with
other Action Application websites. Setting up the necessary templates
is done in a rather unusual way and can be initially off-putting
even to techies used to other CMS programmes.