How pages are generated

A base metadata is used to generate a research group webpage. An example, iip.cfg:
[group]
title = IIP Mixture Project
path = iipmixture
sponsors = tekes, nokia, sonera

[members]
contact = kraatika, kojo
members = gurtov, kulve, jkyro, tkt_legg, riva, sarolaht, saarto

Title can contain acronyms, as they will be automatically expanded against a database.

The path in this example will be translated to :

http://www.cs.helsinki.fi/group/nodes/2004/iipmixture/

Note 2004 is added automatically as this metadata will probably be updated once a year.

The comma delimited sponsors list is a one word abbreviation or keyword. This again is expanded against a database.

Members list must be the account usernames used on the department network.

Adding content

Once the base is in place, a script is run to create the tree:

hendry@bogrund-17:/home/group/nodes/public_html/2004/iipmixture$ tree
.
|-- CVS
|   |-- Entries
|   |-- Repository
|   `-- Root
|-- includes
|   |-- CVS
|   |   |-- Entries
|   |   |-- Repository
|   |   `-- Root
|   |-- members.inc
|   |-- overview.inc
|   `-- releases.inc
`-- index.shtml

3 directories, 10 files

When creating a project for the first time only members.inc will be generated.

You must please provide content for the overview.inc section and if possible the (optional) releases.inc section. That's all beside the metadata from the previous step.

CVS

/home/group/nodes/public_html

is under source control with CVS.

QUICK EDIT cycle

Just edit directly.

A cron process will commit your changes nightly automatically.

Else, mail the author of this page or any support staff, requesting access or your wanted edit.

What and why source control?

Source control with CVS allows us to:

  1. See who made changes, and it keeps a history of who edited the page before.
  2. See what was changed. Keeping a history of all previous changes.
  3. Ensure correct permissions.
  4. See when it was changed. Checking this CVS history again shows how healthy the page is.
  5. Keep backups. Not only to the last version, but to all past versions.
  6. Allows logging. With each modification, a log message is required which informs the reader why the file was changed.

Longer, more cautious edit cycle

Set up your CVS environment in bash:

export CVSROOT=/home/group/nodes/cvs

Checkout the website module in your own webspace from CVS.

mkdir ~/public_html/test; cd ~/public_html/test && cvs co public_html

Check the changes. http://www.cs.helsinki.fi/u/youruserid/test/public_html/ Spell check, check links, and please validate ! (Check links on the footer)

Commit to the CVS.

cvs commit

Then update the actual "live" nodes website.

cd /home/group/nodes; cvs update public_html

Reverting or rolling back to previous versions (e.g. 1.9) is easy:

cvs update -r 1.9 index.shtml