Bahá'í Library Online
. . . .
.
>>   Essays and short articles Library Miscellany
Abstract:
A brief overview of the technology underlying the Baha'i Library Online, and why this technology represents the next step in the Internet's evolution [since this was written, the term "Web 2.0" has been coined for the "next step" I described].
Notes:
Presented to the Baha'i Language Educators Special Interest Group session of the Association for Baha'i Studies Conference, August 29 2003, San Francisco. See also Notes about and history of the Bahá'í Library Online.

This is a brief summary written by a layperson, not a polished article. I prepared it so that users of the Baha'i Library Online (myself included!) would better understand the way this new system works and its potential.


What is a Content Management System?

by Jonah Winters

2003-08
Contents
    What's a Content Management System?
    How's It Work?
    History of Content Management Systems

What's a Content Management System (CMS)?

Note: this document is now old and incomplete, and no longer fully describes the Bahá'í Library. See e.g. history of BLO.

Simply put, a CMS is a complete computer system that manages information. A CMS can be programmed in any computer language and run on any computer system. It allows data to be input, stored in a database, edited by authorized users, and displayed to the public. A good CMS handles every aspect of formatting, storing, cataloguing, and retrieving data, which means that editors and users don't need any technical expertise and don't need to use a special program. CMSs are used both professionally, by newspapers, libraries, online stores, academic journals, and non-professionally, for personal applications like online photo albums, diaries, and music collecting.

The best way to explain what a CMS does is to summarize the way it's being used to upgrade the Bahá'í Library Online [note: as of August 2003, when the system was under initial construction. -J.W.]. I'll describe the painstaking, slow old way and the fairly error-free, infinitely-expandable, multi-language new way. Note that all the points in the old method start with "I", but the new method is done by "Users" -- turning the Bahá'í Library into a CMS thus weans it off of a single editor and opens it to the world.

The old way (a partial summary):
  1. Documents are emailed to me in a variety of formats
  2. I manually convert all the formatting to HTML
  3. I use a number of professional, often complex programs to create content: PhotoShop to edit images, RTFtoHTML to convert Word documents to HTML, DreamWeaver to edit HTML, and numerous helper apps
  4. I compile all document info I can find and create a blurb for index pages
  5. I add links to the new site to the index pages, the "What's New" page, and possibly 2-5 other cross-reference links
  6. I add the document to my Microsoft Word-based list catalogue
  7. Making corrections: I manually make any corrections in the HTML document, test, and upload the new document
  8. If anything more than cursory changes are made, I re-convert the entire document
  9. I search for all links that need to be updated and change them one-by-one

  10. My time commitment: 2 hours/day every day every month every year.
    Pros: full control over formatting and cataloguing
    Cons: only works well with sites of a few hundred files (the Bahá'í Library now has 18,000 files); site ends up being full of errors, dead links, outdated content, limited crossreferencing, and becomes wholly unmanageable for an individual or even a small team of individuals.
The new way (a complete summary):
  1. I program an interface in PHP and set up a back-end database
  2. All further content is added by public users, not by myself
  3. Users login, then are taken to an upload/editing screen, where they contribute new content or update preexisting content.
  4. When users click "update," the system (1) formats basic HTML automatically; (2) prepares the blurb and as many index entries as are cross-referenced; (3) catalogues the document; and (4) displays the document to the public
  5. Making corrections: users login and make any updates they wish; the system then stores and catalogues the corrections across the entire site

  6. My time commitment: 1000 hours up front (300 initial programming, 200 upgrades and module additions, and 500 hours for manual data migration, copying all information for each file into the database in each appropriate field), less than 30 minutes/day from then on.
    Pros: Anyone can register, upload content, correct errors, and add crossreferences; site is easy to navigate and search; content is always up-to-date; site can and soon will house millions of files; site can handle documents in any language
    Cons: Limited flexibility; significant up-front time requirements

How's it work?

Easy to explain. First, understand that there are two computers involved in any internet transaction:  the home user's "client" computer, which sits on her desk at home or office, and the website's "server" computer, which can be anywhere in the world (and often is). The client-side computer is called the "front end" and the server-side computer is called the "back end".

In the old way of doing things, a website editor has to run a bunch of programs on her home computer in order to create a webpage. She has to use one program to edit photos, another program to convert documents to html, another program to upload them, yet another program (an internet browser) to view them online, and a handful of other specialized programs for various webmastering tasks. This requires installing a lot of expensive software on one's own computer, learning how to use it, and keeping up with regular upgrades. Other than storing the files, the server computer does almost nothing -- all the work is done on the client-side computer.

With a CMS, the only program a user has to use is the internet browser like Internet Explorer or Netscape, and everything else is done on the server. After preparing the HTML, an editor uses the browser to upload and edit documents and the server software takes care of the rest. In other words, it's almost a complete reversal of the old method! This puts all the burden on the website programmer, and relieves the home user of any technical knowledge.

Here's the actual process:
  1. User goes to the website, logs in, and goes to an upload page
  2. User enters all text, with or without html formatting, into a form and clicks "submit"
  3. The form is sent to the server, where a back-end PHP script reads the data, processes it as required, and saves the data in a back-end database called MySQL.
  4. When a webpage is requested, the PHP script fetches the relevant data from the MySQL database, adds any necessary html formatting, and generates a new html page on-the-fly. This page is what appears in the user's browser. It looks like a normal, manually-created html page, but is actually generated anew by the PHP code every time it is requested. It is not static, but is dynamic.

Content Management Systems represent a wholly new paradigm for using computers. Home users have taken two decades to get used to the idea of a file system, where data is stored in discrete documents, each with a name and a location in a directory. This paradigm was intended to be a close facsimile to a real office, with desktops, files, folders, and so forth. In a physics analogy, this is a Newtonian virtual world.

CMSs will lead users to accept a new paradigm, one in which the filesystem has been discarded in favor of a database backend which is interpreted by PHP and the HTML interface is created on-the-fly. In this paradigm data is nebulous and without fixed form. In our physics analogy it is a quantum reality, where content is only given shape in the process of interacting with it. It is thus an extremely flexible virtual world, where structure is created by interpretation and can thus be infinitely expanded, shaped, and delivered.

History of CMSs

CMSs as described above have existed for at least a decade, and were first created as custom-coded internal computer networks for libraries, newspapers, and other information-oriented sites. Now the term is used almost exclusively to refer to web-based systems.

1992-95: In the early days of the web, CMSs were employed only by big-budget websites such as Amazon.com. They were programmed mostly in C++ and were run on commercial databases like Oracle. Set-up costs ran into the millions of dollars.

1995: In 1995 the first free, or "Open-Source", CMS was created for the Portland Pattern Repository. The programmer named his system "Wiki Wiki," Hawaiian slang for "quick and easy". He credited the seed for the system to Apple's Hypercard, which was released in the mid-1980s and has been said to be the first true CMS.

1997: PHP, a dynamic HTML engine first created in 1995, was retooled and was released to instant acclaim for its versatility, stability, and ease-of-use. The acronym "PHP" originally stood for "Personal Home Page" but was rechristened "PHP Hypertext Processor".

1995-1999: Thousands of Perl-based Wiki sites appeared around the internet, each devoted to highly specific areas of interest and each with numerous dedicated contributors. A number of PHP-based CMSs also appeared, such as PhpNuke and PostNuke, and a combination of the two called PhpWiki (which is in use at bahai9.com). However, they were largely of interest to techies only and not common. Most CMSs of this period remained those created by well-funded companies and used proprietary ("expensive"!) software such as Allaire's ColdFusion, MicroSoft's ASP "Active Server Pages," and Oracle databases.

During these years three other Open Source elements matured: the back-end database program MySQL, the server operating system Linux, and the webserver software Apache all became more useful and more stable, and enjoyed widespread implementation by host providers, meaning they became available to home users at low cost.

2000: PHP 4.0 was released, which was a vast improvement on all earlier versions. Now all the pieces were in place to witness the beginnings of an Internet revolution, one which is just now becoming apparent. The combination of a free stable operating system (Linux), a free web server (Apache), a free backend database (MySQL), and a free easy-to-learn HTML generator (PHP) allowed web developers to build and manage complex sites at little cost and without years of technical training. These four tools together are such a complete and well-integrated package that they earned the designation LAMP: Linux Apache MySQL PHP.  (Not all open-source CMSs use LAMP -- there are many variants on this combination, e.g. using Unix instead of Linux or coding in Perl instead of PHP -- but the LAMP combination is so common that it serves as a useful shorthand.)

2003: Fast forward three years to an internet landscape very different from the 1990s: anyone can now do for free and on their own something equivalent to the system Amazon.com invested millions of dollars and thousands of people to create just a decade before. In the past three years the number of LAMP sites blossomed from a few dozen thousand to millions. LAMP enthusiasts claim that the advantages over the proprietary systems like Microsoft and Oracle are not only price but also ease of use, stability, security, and large, helpful user communities. Not only do proprietary systems often not seem worth their price, they can be harder to use and less secure as well.

2005: Above I mentioned "an Internet revolution". This is a topic worthy of another presentation, so for now let me offer an observation and a prediction. My observation is that keen observers of contemporary social and political trends are beginning to suspect that the unfolding of the information age has been accompanied by an unprecedented transfer of political power from the American people to the forces of technology and capital. However, the same computer technologies which have allowed capital to control the emergent plutocracy may also provide the seeds of its undoing. My prediction is that by the end of 2004 Americans will be very familiar with the words weblog (or blog) and sites such as MeetUp, IndyMedia, or WikiPedia, and will credit such CMS projects with helping revitalize and eventually restore democracy.

Back to:   Essays and short articles Library Miscellany
Home Site Map Forum Links Copyright About Contact
 
.
. .