This project was the result of some thought into alternative interfaces to the project oral
timetabling model, which was proving problematic to implement in tkeden due to the need for
many similar Scout boxes. HTML can render tables and an entire basic interface can be described
in an HTML file, so the idea was to try and provide a web interface to the timetable. Soha Maad
made an early version, but in that version, copy and paste work was required by a human at the
server in order to get Eden to give output to a web browser.
tkeden includes a tcl interpreter and various tk widgets for its user interface. Tcl includes various
socket functions which can be used to implement a web server at the basic HTTP level. I looked
and found mini1.1.tcl, which is a basic HTTP server written in Tcl, and figured out how to integrate
that with some Eden code.
The basic project is quite functional. I ran into some worries about state update: when a form is
submitted to the server, only the values are provided, some of which are new, some are old.
Semantically there is no way to tell which values the web browser user wanted set (perhaps to the
old value), which changed, and which left alone. This problem can be helped slightly by sending
the original form values in the form as hidden data.
There is a version of the server (previously named EMHTTPTT) in the Timetable sub directory which
was some initial experimentation into applying this idea to the timetabling model.
One (of many) idea for a possible extension would be to use the HTTP facility to leave the
connection open to the web client and send another page down when the state has changed,
meaning the state shown in the web browser is always up to date. Unfortunately when this new
state is sent, any changes the user is currently making are lost. Another idea would be to extend
ttyeden with some socket functions and reimplement the web server in Eden, so tcl is not required
(and the result can be run on a headless server).
|emhttpdWard1999 is available locally within DCS at /dcs/emp/empublic/projects/emhttpdWard1999|
Uncompressed, emhttpdWard1999 is 425.8 Kbytes (in 29 files).
Your download will be smaller as it will be compressed.
Help on extracting the files from the download.
||2856||01:46 PM Oct 27 2003||12:19 PM Jul 27 2017|
||2868||08:54 PM Nov 03 2003||12:19 PM Jul 27 2017|
||2750||02:15 PM Oct 27 2003||12:19 PM Jul 27 2017|
||60||01:59 PM Sep 08 1999||12:19 PM Jul 27 2017|
||4800||01:48 AM Sep 27 1999||12:19 PM Jul 27 2017|
||7983||04:58 PM Sep 15 1999||12:19 PM Jul 27 2017|
||1498||08:42 PM Sep 13 1999||12:19 PM Jul 27 2017|
||13192||09:34 PM Sep 13 1999||12:19 PM Jul 27 2017|
||36348||01:49 PM Oct 27 2003||12:19 PM Jul 27 2017|
||306413||05:20 PM Sep 06 1999||12:19 PM Jul 27 2017|
||4096||01:41 PM Oct 27 2003||12:19 PM Jul 27 2017|
||4096||08:12 PM Nov 23 1999||12:19 PM Jul 27 2017|
empublic system initially created by Ashley Ward with assistance from Chris Roe and Meurig Beynon.