W3C home > Mailing lists > Public > www-html@w3.org > January 2000

RE: Process for site development

From: <rev-bob@gotc.com>
Date: 31 Jan 2000 10:59:44 -0500
To: www-html@w3.org
Message-Id: <20000131110070.SM01100@Unknown.>
> ** Original Sender: Jennifer Pereira <jperei02@ctp.com>
> Can anyone share with me their processes for web site development?? I am
> specifically looking for steps procedures, requirements to accomplish a web
> development project.

I suppose I'd better put a disclaimer at the top of this - this is the method I've been using and 
evolving for a couple of years or so, and so I've gotten past the hard part.  In short, it can be 
a lot of work to set up (especially if you're converting an existing site to this system), but the 
work pays off in terms of ease of maintenance, reusability of code, and uniformity of results.  
This is how I generate all the stuff at www.gotc.com (close to 300 pages, each of which 
appears as HTML and as XHTML, for a total of about 600 distinct documents) - and I can 
make large changes in the site by changing about four total files.

First up, the ingredients.  You'll need a copy of the HTML specification you'll be using, a 
good text editor, a good FTP client, and a copy of the freeware program called htp (at 
http://www.crl.com/~jnelson/htp).  For the FTP client, I recommend FTP Voyager for its 
scripting flexibility and the ability to "synchronize up" (upload changes only) between a local 
directory and a directory on your server.  As a good text editor, I like HTMLed Pro - syntax 
highlighting and hotkeys for HTML tags are always handy.  Oh, yeah - grab a copy of Lynx 
from somewhere.  I'm really tempted to force a copy of the RSACi ratings into the package, 
too - after all, people who filter based on these ratings have the option of banning all unrated 
sites, so it's in your best interest to provide proper ratings for your pages.

Before doing anything, read the docs.  You don't have to memorize everything, but you 
should have a good idea of what you can and cannot do with your tools.  For instance, know 
that you cannot treat the Web as a WYSIWYG platform, because almost none of your 
visitors will have their systems set up like yours is.  Remember, you can always come back to 
the docs when you need specifics.

Now you're ready to think about the site itself.  What do you want it to look like (so far as 
you can arrange that) and what sort of content will you have?  The better you plan your 
structure now, the easier it will be to maintain it in the future.  I was lucky enough to hit on a 
good strategy for GOTC early on, so I haven't had to go through a massive restructuring.  
This is also where you start looking for any CGI scripts you might need, working on your 
graphics, and basically getting all your non-HTML stuff together.

Once you've got the skeleton worked out, you can start working on the flesh - so to speak.  
Figure out what your pages are going to look like, and start writing a generic sample of each 
different type of page.  To refer back to GOTC for an example, I have four major types of 
pages - index, column, photo, and "other".  Every page in each of these categories fits into 
the same general scheme - there's certain formatting that's common to every index page, the 
blurbs that describe each author are pretty standard, and so on.  In fact, about all I have to fill 
in for each index page is the date/volume/issue data, a tearline for the "Welcome to GOTC" 
sentence, and a description/link to each new column.  This means that I can write a generic 
"boilerplate" template of a page which has slots for the changing information - and that's 
where htp comes in.  Write a generic page, with a <USE blockname> tag everywhere you 
have changing content, and save that as a template.  Then, for every page that uses that form, 
refer to that template and specify each of the required blocks with this syntax:

<BLOCK blockname>content</BLOCK>

Hence, the htp input that gets paired with my index page template for a typical issue of 
GOTC looks like this:

<file template="gotc.htt">
<set front="index" mind="/" inc="T" last="index44">
<block text>
<set vol="III" num="2" date="January 25, 1999">
<p>Welcome to <i>Get Off The Cross!</i>, where we're trying to get our act 
<p>Allow me to introduce our (semi-)regular columns:</p>
<p><b>This week:</b></p>
<li>Mike gives a few tips on how to <ilink g="mike/mike43">stop 
<li>Rev. Bob takes a longing look back at the <ilink 
g="justme/justme36">convention</ilink> he attended last weekend.  (<al 
href=${bcon}>Photos</a> are forthcoming.)</li>

Everything else on the page is inserted through the template.  Hence, change the template and 
you can affect all the pages which use that template - which means that if I want to add a new 
feature to all my index pages, all I have to do is change that one template, recompile, and 
upload the changes.  Be sure to test your template in a few different browsers to make sure 
it's stable - and don't forget about that copy of Lynx.  The idea here is that if your template 
works, everything based on it ought to work - but if it breaks, everything that uses it will 
break, so get it right.

Once you get the skeleton and the flesh figured out, you can actually start creating pages - 
and if you've done everything right, this is the easy part.  Just apply markup to your content 
and associate each page with the proper template, then add a line for that page into your 
htp.rsp file.  (The htp docs explain that in detail.)  You should know enough about your 
structure by now that it's just a matter of marrying the content to the templates and linking it 
together...and really, that's about the end of the process.

 Rev. Robert L. Hood  | http://rev-bob.gotc.com/
  Get Off The Cross!  | http://www.gotc.com/
Received on Monday, 31 January 2000 10:59:04 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 7 January 2015 15:05:52 UTC