The Mighty Setlink CERN AS/DH Library Support - 18th August 1999 D. McGlashan, J.-Y. Le Meur

Technical Stuff...

[next] [toc]
 
 
blankness
The Setlink Program
  Speed issues, Modularity, The Recipe File.
About HTML
  Presentation, Validity, Stylesheets.
Good Housekeeping
  
 
blankness
 
The Mighty Setlink CERN AS/DH Library Support - 18th August 1999 D. McGlashan, J.-Y. Le Meur

Speed Issues...

[next] [toc] [prev]
 
 
blankness
Setlink must run quickly as a cgi-bin process.
  Users don't like to be kept waiting.
Therefore...
  Setlink should be fast.
  Setlink should transfer HTML data quickly.
Setlink version 1 was written in Bourne shell.
  Bourne needs to be interpretted by the O/S.
  Not too slow, but could be a lot faster.
Setlink version 2 upwards written in C.
  Compiled program with little system overhead.
  Noticable speed increase.
 
blankness
 
The Mighty Setlink CERN AS/DH Library Support - 18th August 1999 D. McGlashan, J.-Y. Le Meur

Version Comparison...

[next] [toc] [prev]
 
 
blankness
How fast?
  Setlink version 1    - 0.80 seconds
  Setlink version 2.0 - 0.40 seconds
  Setlink version 2.1 - 0.15 seconds
How much data?
  Setlink version 1    - 2,879 bytes
  Setlink version 2.0 - 11,689 bytes
  Setlink version 2.1 - 14,605 bytes
Average Transfer rates:
  Setlink version 1    - 3,599 bytes/sec
  Setlink version 2.0 - 29,223 bytes/sec
  Setlink version 2.1 - 97,367 bytes/sec
 
blankness
 
The Mighty Setlink CERN AS/DH Library Support - 18th August 1999 D. McGlashan, J.-Y. Le Meur

Modularity...

[next] [toc] [prev]
 
 
blankness
Modularity was a requirement for later versions of Setlink.
  To make changes without changing the actual program.
What are the benefits of modularity?
  Changes become easier and more convenient to make.
  They can be made by a non-programmer.
  Removes the need to re-compile & debug the program.
This problem was addressed on two fronts.
  A recipe file to control the program's behaviour.
  Writing a parser to control the HTML output.
 
blankness
 
The Mighty Setlink CERN AS/DH Library Support - 18th August 1999 D. McGlashan, J.-Y. Le Meur

The Recipe File

[next] [toc] [prev]
 
 
blankness
Setlink version 2 introduced a recipe file.
  Simple text file which controls the program's behaviour.
  No need to alter program source code.
blankness chef monkey Each base is defined seperately for...
  ...Which directories to search in for files.
  ...What HTML to write to the browser.
  ...Which file formats to search for.
  ...etc...
Makes Setlink very modular.
  No need for specialist code for each base.
  Easy to add & remove bases.
 
blankness
 
The Mighty Setlink CERN AS/DH Library Support - 18th August 1999 D. McGlashan, J.-Y. Le Meur

More Recipes...

[next] [toc] [prev]
 
 
blankness
The Recipe file also defines...
File Format Conversions.
  Which formats can be converted into others.
  Which software to use.
  What HTML to write to the browser.
Other system variables.
  Where other important files are stored.
  Who to email when things go wrong.
 
blankness
 
The Mighty Setlink CERN AS/DH Library Support - 18th August 1999 D. McGlashan, J.-Y. Le Meur

Parsing HTML...

[next] [toc] [prev]
 
 
blankness
To make a web-page Setlink writes HTML to the browser.
Version 1 wrote direct from the program.
  Lines of code dedicated to writing exact HTML.
  To change the HTML you have to change the program.
Version 2.0 implemented a parser.
  All the HTML was broken up into small fragment files.
  Setlink chooses the fragments it needs & builds a page.
Version 2.1 introduced valid HTML & style-sheets.
 
blankness
 
The Mighty Setlink CERN AS/DH Library Support - 18th August 1999 D. McGlashan, J.-Y. Le Meur

Making Web-pages...

[next] [toc] [prev]
 
 
blankness
Setlink web-pages are pieced together from smaller files.
  Each is a small piece of a larger HTML document.
  The text in each is different for each base.
The Recipe file records which smaller files are used.
  There are several different headers, bodies, tails etc.
Setlink parses the files it needs filling in information.
  Filenames, file sizes, links etc. updated on the fly.
 
blankness
 
The Mighty Setlink CERN AS/DH Library Support - 18th August 1999 D. McGlashan, J.-Y. Le Meur

HTML Jigsaw...

[next] [toc] [prev]
 
 
blankness
Header, Body, Links, Tail:




 
blankness
 
The Mighty Setlink CERN AS/DH Library Support - 18th August 1999 D. McGlashan, J.-Y. Le Meur

Interactivity...

[next] [toc] [prev]
 
 
blankness
Setlink uses special commands embedded in the HTML.
  Initially used to return information filenames, filesizes etc...
Trivial Example:
<html>
This file is called: <i>$Fn</i> ($Fs bytes)
</html>
  This file is called: 9612008.pdf (123008 bytes)
 
blankness
 
The Mighty Setlink CERN AS/DH Library Support - 18th August 1999 D. McGlashan, J.-Y. Le Meur

Complex Interactivity...

[next] [toc] [prev]
 
 
blankness
As Setlink evolved, so did the tags.
<html>
This file is called: <i>$Fn</i> ($Fs bytes)<br>$C
</html>
This file is called 9612008.pdf
You can convert this file to PostScript or GIF.
 
blankness
 
The Mighty Setlink CERN AS/DH Library Support - 18th August 1999 D. McGlashan, J.-Y. Le Meur

Controlling Output...

[next] [toc] [prev]
 
 
blankness
The tags are almost a language in their own right.
<html>
$IR
  This file is called: <i>$Fn</i> ($Fs bytes)
$E
  <b>Sorry!!!</b> This file does not exist.
$N
</html>
 
blankness
 
The Mighty Setlink CERN AS/DH Library Support - 18th August 1999 D. McGlashan, J.-Y. Le Meur

System Overview...

[next] [toc] [prev]
 
 
blankness





 
blankness
 
The Mighty Setlink CERN AS/DH Library Support - 18th August 1999 D. McGlashan, J.-Y. Le Meur

Why Validate your HTML..?

[next] [toc] [prev]
-
 
 
blankness
"HTML 4.0 is an SGML application conforming to International
  Standard ISO 8879"
- http://www.w3.org/
HTML standards exist, but are not used.
  Browsers will display non-standard HTML.
Why is valid HTML important?
  Your pages are viewable on all platforms.
  No need for seperate pages for different browsers.
  They will still be readable in the future.
All Setlink pages are HTML 4.0 compliant.
  Creating valid HTML is not difficult.
 
blankness
 
The Mighty Setlink CERN AS/DH Library Support - 18th August 1999 D. McGlashan, J.-Y. Le Meur

Cascading Style-Sheets...

[next] [toc] [prev]
 
 
blankness
Why use style-sheets?
  To seperate style from content.
  No need to specify sizes, colours, fonts etc. in the document.
To give the user control of the presentation.
  They can override our style-sheet with their own.
  Useful for disabled users.
It's the way the industry is heading.
  W3C "will eventually phase out presentation elements".
blankness netscape monkey Style-sheet support in Netscape
remains very poor.
 
blankness
 
The Mighty Setlink CERN AS/DH Library Support - 18th August 1999 D. McGlashan, J.-Y. Le Meur

Other Setlink Applications...

[next] [toc] [prev]
 
 
blankness
HTML allows embedded images for the PHOTO catalogue.
Setlink can display documents directly.
Setlink is flexible enough to be used in other web-apps.
  CERN Conversion Service.
  Agenda Maker.
  Greybook On-Line. (AS-DB)
 
blankness
 
The Mighty Setlink CERN AS/DH Library Support - 18th August 1999 D. McGlashan, J.-Y. Le Meur

Good Housekeeping...

[toc] [prev]
 
 
blankness
Setlink can perform some rudimentary housekeeping tasks.
PostScript distillation.
  General trend on CDS to store files in PDF.
  Setlink can copy PostScript files to Adobe Distiller.
Replacing Preprints.
  If a preprint file is missing it is possible to replace it.
  Setlink records all the files it does not find.
 
blankness