Maintaining a Web-Site with CVS

by Lars Poulsen (lars@beagle-ears.com)

I am responsible for maintaining several websites, including two at my job and a couple related to volunteer organizations, including my church. Some of these are updated by multiple people, so I have developed a system to do this safely using the Concurrent Version System (CVS).

What is CVS, and what benefits does it give us?

CVS, the Concurrent Version System, is a type of software known as a source code control system. It provides a general mechanism whereby a collection of text files (original computer programs in source code form) can be stored in such a way that updates can be tracked, and the state of the system at any time in the past can easily be recreated.

The "concurrent" aspect releates to the fact that CVS allows several members of a group to make updates, and CVS will help resolve the possible abiguities when two different people are updating the same files at roughly the same time.

In the regime that I have developed, the CVS repository lives on a server somewhere on the Internet. When you need to participate in website updates, you get an "account" on the repository server, i.e. an identity so that the server knows who you are. This takes the form of a username and password. You also need to install a software bundle on your home PC. (Although CVS is available for almost any computer, including Apple MacIntosh systems, I have not used it on Macs, and I don't have a prepackaged bundle for them. My Mac experience has all been on older, slower 68000 based Macs, anyway.)

How do I set up my computer to participate?

There are four steps to this:

How do I update the website?

Five steps:

What tools should I use to edit web files?

Start with NOTEPAD

The power of the World-Wide Web is that a very simple mechanism has been defined that is a common standard, independent of any specific tools, and as strange as it seems to many, the best tool for beginners to use to create and maintain a website is a straightforward text editor such as NOTEPAD.

How can that be? When there are dozens of tools, some free, some sold for up to 500 dollars per machine they run on; if all you need is NOTEPAD, how can they sell all this other stuff?

The answer to that, of course, is that it depends on what your goals are. For some people, the goal is to prove how intelligent they are, by demonstrating that they are able to do stuff that looks like it was produced by the advertizing department of a major movie studio. For this, the tools can be very helpful. But if that is your goal, I have no time for you. After all, any time I spend pulling you out of the holes you dig for yourself would serve only to boost YOUR ego, not mine.

But if your goal is to present some information in a straightforward way, with the focus on the information rather than the presentation, the amount of "markup" commands that need to be inserted is minimal, and by taking the time to understand the basics, you will be able to work much more effectively.

Understand the basics of HTML

To get started, look at a few simple web pages such as this one, then from your web browser's menu bar, select "View:Page Source". This will open a new window, where the text you see is interspersed with a modest amount of commands in "angle backets" (also known as "less than" and "greater than" signs). This page will explain what those commands are.

After you have seen a few pages like that, you may find it instructive to look at a page created by an advertizing agency, such a the Disney Company CNN or "the Avon Lady". When you look at a page like this with "View:Page Source" you may be completely unable to find anything resembling the information content of the page. In fact, it is not unusual to discover that the "text" you see on such pages is represented by pictures of the text. Such pages are often abusing the standardized command language to such a degree that they cannot be made to look the same on differnet browsers, leading either to a footnote that you must use Netscape (or Internet Explorer) to view this page, or to having different pages selected, depending on which browser the viewer is using. In my (strongly held opinion) this runs completely counter to the Internet philosophy of information sharing.

Once you understand the basics of page markup, you can start using tools. The reason that you need to understand the basics before you can safely use the tools, is that the tools often make silly mistakes which are easy to fix if you can read the HTML that was produced by the tool.

Why do the tools make errors?

If the tools are supposed to be helpful, why do they make errors? Why did the people who made the tools not fix the errors? These are good questions, but the answers are not so simple.

First of all, you need to understand that what you see on a single page on your web browser is usually not a single object on the server that sent you the page. Most pages have pictures on them, and there are separate files for

The advantage of a webpage editing tool is that it will collect all of these pieces and show them as one document. This is a lot like what happens when you import pictures, spreadsheet pieces etc into a word processing document. But when you do this is MS Word, or Star Office, or WordPerfect, the imported pieces actually become part of the single file that contains the document. When you do this in a web page editor, the web page file only gets to contain a "tag", i.e. a pointer to the imported object, so that the browser can pull it in when you display the page. And here is the rub: Such reference tags (whether for links or for pictures) can be done in two ways: In most cases, you want to use the relative form; then the links or picture references work both when you test the pages on your own machine, and when you move the whole folder together to the server where it is visible to the public. But sometimes, you need an absolute reference. So the editing tools can do either, and sometimes they get it wrong, especially when you use point-and-click to put the references into your document. Then your page gets an absolute reference to a file on your PC, and when someone else displays the page on their PC, they don't have that file in that place on their hard drive, and the browser displays a broken picture. This is very simple to fix if you know the tags used for links and images, but overwhelming if you don't.

Another common class of errors, is that Microsoft uses slightly different character set tables than what is standard, and tools produced by Microsoft often put out HTML that converts quotes to accented vowels or something equally silly. Again, this is easy to fix with NOTEPAD, but only if you know enough to spot the error.

The simple tools: Word, Composer, Frontpage

The three most common tools used by beginners are: Of these, my recommendation is for Netscape Composer.

MS Office

The tools in the Office suite have been there since Office 4.2, when they were a free download (called Internet Assistant for Word, Excel etc) from the Microsoft Website, released at the time Windows 95 came out. They have been included in Office 95, Office 97 and Office 2000. Every new version is better, has fewer bugs and is easier to use. Unfortunately, the things you have to know to use them change with each version, because each version works a little differently. If you know HTML, you can see what is happening and what you must do, but if not, you will have problems. For these reasons, I hesitate to recommend them.

Early versions of the Office tools would create a folder for each document, and save both the main HTML file, and the embedded pictures (converted to GIF files) into that folder. The version in Office2000 saves the HTML document is the folder where you ask to save it into (typically the folder where you had the DOC document) but maintains a common sub-folder within that folder to contain all the pictures from all the documents in the folder. At least I think that is what it does. This means that when you update the HTML document, you need to transfer everything in the subfolder to the server along with the HTML document.

If these things were better explained (and more consistent between versions of Office) I think this might be my preferred tool set to recommend to beginners, but as it is, I find that they need too much hand holding when trying to use this.

Netscape Composer

Netscape Composer feels a lot like a word processor. I have found it easy to learn and to teach, and for beginners that need to maintain pages with TABLES. this is the easiest way to do it. It is not quite as easy as to use Excel, buty certainly easier than to set up tables in WORD.

I very much recommend Netscape Composer.

Frontpage

Frontpage is intended to do for Internet Explorer what Composer does for Communicator. Unfortunately, it has some major problems: I am sure that almost everything that can be done with Composer can be done about as easily with Frontpage, but I am not eager to switch.
  $Log: cvsweb.htm,v $
  Revision 1.2  2001/10/26 13:28:29  lars
  Replaced CMC -> Beagle-Ears

  Revision 1.1  2001/01/15 07:08:11  lars
  New document: Maintaining websites with CVS