TECHNICAL INFORMATION
The computer that runs the DASC site and domain was donated to the club
and the software used is all completely free so there was no financial
cost in setting up the site.
HARDWARE
The server that runs the site is a SUN SPARC 5
workstation running Unix
(Solaris 7).
The machine has a 170Mhz microSPARC processor, 96Mb RAM and a 2Gb hard disk.
(This may not sound much compared with modern PC's but it is all that is
needed when running this OS and software!)
SOFTWARE
- The WWW (httpd) server is The CERN v3 server. This was an early web server
but is free, very stable and is fast enough for the load it supports...
- The mail server is the excellent EXIM
mail program. As well as being free,
this is easy to configure and offers many very powerful features.
- Mail access for club members is provided by POP3 and IMAP4 servers written
by the University of Washington. Again, these are free and work extremely
well.
- SAMBA is also used to make files
available to club members using standard
Microsoft Windows PC's. This excellent free software allows a Unix
workstation to act like a 'Windows for Workgroups' server.
- The 'aerial.org' domain namespace is managed by the IN.NAMED server which
comes bundled with the Solaris Operating
System.
- The "clever" bits of the site are programmed 'in house' by the club
webmaster. Several languages are used which include the following...
- CSH and AWK (scripting languages that come bundled with Unix)
- C (compiled using the free GCC compiler)
- Javascript (for client side code that runs on most browsers)
DYNAMIC ROUTINES
The site contains a number of "clever" dynamic CGI scripts and routines.
These include routines to do the following...
- The homepage can be delivered in a number of different languages. The
language is automatically chosen depending on the language preference of the
requesting client. The links on the pages are then also modified to link
to the pages and scripts using the appropriate language.
- The homepage contains 4 photographs which are chosen randomly. However the
choice of these pictures is weighted depending on the link that was used to
access the site. (For example, if a user arrives at the site having searched
for 'parachuting' on a search engine then the photographs will be biased
towards parachuting).
- Every request of the homepage and several other pages, such as each
photograph, causes log data to be sent to a named pipe. Another low priority
background process continually waits for this log data to arrive and then reads
each entry when it does. It processes the entry by updating a number of
statistical tables. This method ensures all tables are updated synchronously.
- A cookie is used to store the date that a given browser is used to access
the site. If this browser accesses the site again at a later date then a
link is automatically generated on the homepage to a program that calculates
all the pages and pictures that have been added or updated since the previous
access.
- The gallery is automatically generated on each request from a database of
pictures. The surrounding text on the page is also added from a seperate file
which depends on the required language.
- The program to display a photograph automatically detects if a 'low source'
and/or a 'high resolution' version of the picture exists. If so, then the
appropriate links and information are automatically generated. The program
also detects if there is a web page that is related to the picture and also
generates a link to that if so. The layout is also changed depending on
whether the user is inside the frames environment or not. Also if the user is
viewing a slideshow, then the next picture is requested automatically.
- The frames environment is created automatically by a program. This means
that the main frame to appear when the frames environment is initialised can be
specified as an argument in the link to this program. Like the homepage, this
'frames' program also looks at the language preference of the requesting client
and loads the appropriate frames into the environment accordingly.
- Another program allows a user to add their email address to the club
news email list. This program (with the help of
Exim) checks that the email
address is valid before adding it to the list. It then sends a welcome
email to the specified address.
- When a message is sent to the news distribution list, a copy gets sent to
a program that displays the message on a web page.
- Several programs have been written which allow club members to see various
'up to date' web site statistics via a web page. The displayed statistics are
generated from the data produced by other programs (described previously).
- Javascript is also used on many pages for various reasons. These include
generating dynamic buttons (on the menu frame) which light up and also to
automatically download the frames environment if ever a page is requested by
a browser without having loaded the environment (eg. by following a link from
an external site). Even this page uses this routine! The slideshow in the
gallery also uses Javascript to display the countdown.