The SeSAMe and SeL Concept
Up   Diese Seite auf Deutsch.

The SeSAMe and SeL Concept

Introduction
The SeSAMe Language (SeL) is developed and used at the University of Kassel (Germany) since 1998. It is best suited as a real time text filter. Therefore, it can be used to modify and convert source code dynamically. Currently, SeL is used by a number of institutions mainly in WWW/HTML contexts. Problems in this field were the initial reason to develop SeL. This is why today SeL is most useful in WWW publishing contexts. Nevertheless, it should easily be possible to use SeL to process other plain text document description languages than HTML (LaTeX, XML, WAP etc.) to modify and/or convert them to each other (as well as to their different specifications and standards).

Version 1 of the authoring frontend SeSAMe was developed at the University of Kassel 1998. It is based on SeL data processing. The idea is that WWW authors use SeSAMe to create document contents whereas the university's PR department provides the design for those documents. SeL allows separate storage of document design and document content and it is best used with only a few central design templates and lots of (content) documents. Once a WWW server runs SeL, minor or major redesign projects are done very easily without changing thousands of documents manually. Beyond design and content, other formal document elements (such als methodological behaviour in online learning environments) can be treated separately as well.

Content file and masterfile
We call the SeL content files (provided by WWW authors) *.ghk files but on other SeL hosts this naming convention can be adapted to local ideas (e.g. *.sel). These files contain logically expressed content elements. Centrally stored "masterfiles" contain descriptions of the content behaviour. When a *.sel file is served, the requested *.sel file, followed by a masterfile are sent to the SeL interpreter which sees both files as one single data stream.

Technically, in this stream, the *.ghk file part contains SeL variable declarations for the program body contained in the masterfile part. This is done whenever a document is requested and (at least this is the way we use SeL) an HTML output is generated and sent to the client. The SeL interpreter is an add-on for WWW servers (only Apache has been seriously tested yet).

Dynamic masterfile selection
If no further information is given in a document request, documents are processed with a default masterfile. However, it is possible to select from a number of offered masterfiles by adding a URL externsion to the requested document's address. By activating alternative masterfiles, different data behaviour is caused and for example pdf print versions etc. can be offered. At the University of Kassel we use this feature to generate document appearences for blind and visually disabled readers, optimized for Braille output media. The is a very long list of potential applications...

SeSAMe and SeL compared to other solutions
Actually, it is hard to compare SeL with other technologies as it caters for a comprehensive number of application areas. As a meta language which is developed for document administration it can handle practically and plain text language, and of course all their various specifications and standards. Nevertheless, we want to illustrate the SeL application profile and its power with the following list of comparisons which discusses different qualities of SeL compared to other technologies:
SeL compared to HTML:
Throughout its history, HTML has developed from a rather logical document description language to a more or less useful desktop publishing language. One of the resulting problems is that content and design elements od WWW documents are mixed. This proved as the main problem during a WWW redesign project at the University of Kassel and finally was our reason to develop SeL. SeL allows logical separation of content and design but the client side still only "sees" regular HTML.
SeL compared to CSS:
As a reaction to the HTML problems mentioned above, style sheets now try to express design information separately from content. Practically, this often results in problems as old browsers do not understand style sheets, different current browsrs interpret style sheets in different ways and readers have no simple means to select from different author-defined presentation modes.
SeL compared to XML:
SeL files do not differ much from XML files as they are both description languages for document content. But whereas the behaviour of XML is defined in the client side, SeL allows behaviour definitions on the server side (and requires nothing more than HTML compatibility in the client side). Therefore, the server side is in full control of its document's behaviour on the client side. Serving SeL output as (old) HTML as it is done at the University of Kassel, guarantees a maximum of compatibility. While this part of the SeL documentation is written, we read that the next Internet Explorer version (5.5) will not or not completely support the W3 Consortium's specifications for DOM Level 1 and CSS1. In the future, this phenomenon of standard dis-unification will not disappear. It is actually very likely that it will get worse. In this situation, SeL offers a future-proof way to administrate docments in a logical plain text format and to serve them dynamically in required languages and standards.
SeL compared to CGI/Perl:
SeL supports CGI functionality which can be implemented in SeL itself. As SeL is much faster than Perl and much more easy to learn, it is a powerful alternative for simple applications. Depending on the SeL administrations permission, it is possible to execute and evaluate external progrms in the SeL interpreter's environment. Those external programs can be written in arbitrary languages (such as Perl). Therefore, it is easily possible to integrate SeL with other languages..
SeL compared to ASP:
SeL's comprehensive application area probably makes it most compareable to ASP. But SeL is faster, for free and compatible to more than itself (even runs on WIN32).
Last modified: Mon May 08 17:26:17 MEZ 2000