Index of /conferences/SC2002
SOFT WEB SITE FRAMEWORK AND TEMPLATES
CHANGE HISTORY
Date Comment Author
------------------------------------------------------------
990825 Initial revision David Byers
990927 New registration script David Byers
------------------------------------------------------------
DIRECTORY CONTENTS
This directory contains everything you need to build a simple SOFT
web site. At least I hope so. It was first designed after SOFT-21,
using the SOFT-21 web site as a template.
These are the files that you will have to change:
config.shtml Configuration file for the event. See
below.
body/ Contains the body of all pages. The files
have the same names as the corresponding
configuration files.
blocks/ Contains the extra left-hand side
information box for each page. The files
have the same names as the corresponding
configuration files.
cgi-bin/register.cgi The registration script.
final.tmpl Template used by the registration script.
initial.tmpl Template used by the registration script.
error.tmpl Template used by the registration script.
register.tmpl Template used by the registration script.
logo.gif Logo for SOFT. You need to draw a new one.
These files can probably remain unchanged:
liulogo.gif LiU logo. Not used, but might be convenient.
spacer.gif Spacer used to tweak the layout. Hands off!
soft.css Style sheet for the site.
framework.shtml Framework for every page. You shouldn't have
to change this, unless you want a very
different layout.
org.shtml Configuration file for the details page.
index.shtml Configuration file for the main page.
register.shtml Configuration file for the registration page.
noregister.shtml Configuration file for the no registration page.
speaker.shtml Configuration file for the speaker page.
The individual files contain comments that should explain what to
do with them. If you have problems, ask the last person who
arranged a SOFT for help.
SETUP PROCESS
If you're simply going to use the standard framework of pages,
just follow these steps to configure your SOFT web site.
-1. Create a mailing list.
If you are organizing SOFT-23, ask the systems administrators to
create the mailing list soft23@ida.liu.se. Not only does the web
template assume it, but it's actually useful too.
0. Get a place in the WWW tree
Contact the IDA webmaster to get a directory to put the site in.
You will need a subdirectory named cgi-bin that is enabled for CGI
scripts to put the registration script in. You can't test the site
until this is set up.
1. Edit body/index.shtml
This file should contain a description of your SOFT and a schedule
of events. Replace [DESCRIPTION] with a description of the seminar
and edit the table for the schedule.
2. Edit config.shtml
This file contains information that is added to the various
templates. You have to set several variables as is appropriate for
your event. The variables are all documented in config.shtml.
3. Install cgi-bin/register.cgi
You need to set a few variables in this script that are specific
for each SOFT. There are directions in the cgi-bin directory for
how to do this. Most of the variables have reasonable default, but
some need to be changed.
4. Check initial.tmpl, final.tmpl and error.tmpl.
These files are used by the registration script.
initial.tmpl is a template for the form the user fills in. If you
add additional fields, you'll have to edit register.cgi to define
those fields in the script.
final.tmpl is a template for what the user sees when registration
is complete. If you add fields to initial.tmpl, add them here too.
error.tmpl is a template for what the user sees when the
registration script encounters a serious problem (when the Perl
script dies.)
These files are documented in far greater detail in
cgi-bin/README.
5. Try everything out
Try every single page and every single link. In particular, make
sure that none of the external links are bad. Try the registration
script.
THE CONFIG.SHTML FILE
The file config.shtml contains configuration information for the
site framework. You currently have to edit it manually. In the
future, perhaps someone will write a tool that asks the user for
all the necessary information.
The configuration is in the form of variables. Each variable
definition looks something like this:
<!--#set var="name" value="Something"-->
This defines a variable named "name" with the value "Something".
This variable can be inserted in an HTML document by saying:
<!--#echo var="name"-->
All the event-specific content is generated this way. It works
fine with the Apache web server. Any other server and you may be
in trouble.
These are the variables that you must define and what they are
used for:
number The number of SOFT ("22" for SOFT-22.)
title The full title of the event.
speaker The speaker for the event. The framework
doesn't handle multiple speakers.
affiliation The affiliation of the speaker
city The city where the SOFT is held, usually
"Linköping".
date The date of the event.
venue Where the event is to be held.
fee The fee for the event. The framework doesn't
handle more than one fee (and there is rarely
any reason to have more than one.)
includes What the fee includes. This is inserted into
org.html (try "lectures, handouts and lunch".)
fax The fax number to which registrations (and
messages) can be sent.
deadline The date of the registration deadline.
confirmdate The date on which confirmations and invoices
will be sent (usually near the deadline.)
register Set this to "yes" to enable on-line
registration. Set it to "no" to disable
on-line registration. Set it to an URL if you
want the on-line registration link to go
anywhere else.
regscript If on-line registration is enabled, the script
to run. Normally cgi-bin/register.cgi
admin The name of the administrative contact for the
event.
adminphone The phone number of the administrative
contact.
adminemail Email to the administrative contact.
cn1 First regular contact. Must be supplied.
cn2 Second regular contact. Set to "" to exclude.
cn3 Third regular contact. Set to "" to exculde.
cn1phone Phone numbers of the first contact.
cn2phone Phone numbers of the second contact.
cn3phone Phone numbers of the third contact.
cn1email E-mail address of the first contact.
cn2email E-mail address of the first contact.
cn3email E-mail address of the first contact.
webmaster The name of the webmaster.
webmasteremail E-mail address of the webmaster.
The confirmation file uses these variables to define several
others that may be convenient if you add or modify pages:
pagetitle A suitable title for every page.
emailsoft An e-mail link for the SOFT mailing list.
emailadmin An e-mail link for the administrative contact.
emailcn1 An e-mail link for the first contact.
emailcn2 An e-mail link for the first contact.
emailcn3 An e-mail link for the first contact.
usoft Uppercase SOFT-NN.
lsoft Lowercase softnn.
ADDING NEW PAGES
If you need to add a new page to the site, follow these steps.
0. Create the configuration file
The .shtml files that are in the top-level directory of the site
are called configuration files. They simply set a variable to an
identifier for the page and then include framework.shtml. Create
one of these for your new page and set the identifier to the name
of the configuration file, sans the .shtml extension.
1. Create the body file
The files in the body directory are called body files. They
contain the bulk of the data for every page. The name of the body
file must be the identifier of the page with a .shtml extension.
So if you created xyzzy.shtml in the root directory and gave the
page "xyzzy" as its identifier, the body page should be named
xyzzy.shtml.
2. Create the block file
The files in the blocks directory are called block files. They
contain a blurb that is put in the left-hand column of the page
framework. If yon don't want a blurb you still have to create an
empty block file.
3. Update framework.shtml
Update the link bank in framework.shtml. This is the most tricky
bit. The basic format for a link in the link bank is:
<dt><b>
<!--#if expr="$doc != ID --><a href="ID.shtml"><!--#endif -->
LINKNAME
<!--#if expr="$doc != ID --></a><!--#endif --></b>
<dd>DESCRIPTION
ID is the document identifier; LINKNAME is the name of the link
(what the user will see); and DESCRIPTION is the description of
the link.
An important thing to remember is that if you want to add this
page as part of the standard framework you'll have to write the
link name and description in a general way. Take a look at the
Home, Details and Speaker links for examples on how to do this.
4. Document it
If you add a new page to the framework, not just to your site,
PLEASE don't forget to document your changes here (and in any
other affected file.)
OPEN ISSUES
This framework isn't perfect. I encourage everyone who uses it to
update it. Try to make it more general, more flexible and easier
to use. Here are some of the open issues:
* You still have to edit body/index.shtml to add the description
and schedule. It would be nice if it were possible to do this
without having to hack HTML.
* config.shtml is truly ugly. It would be nice to be able to
generate this file automatically from a human-readable file. It
would be nice to have a tool that asked the user for all the
information, put it in a file and generated config.shtml.
* The framework doesn't deal with multiple speakers.
* Adding new pages isn't exactly trivial. It would be nice if the
process could be streamlined.