ExamMail

Ein automatisches Testprogramm.

Konzept von John Oyston

Copyright (C) 1996 by Carsten Schafer


ExamMail enthält 6 Teile:

  1. Die Frageseite. Ein HTML-Formular mit mehreren HIDDEN-FIELDS und einigen Kommentar-Tags die die Fragen einschliessen
  2. Eine Konfigurationsdatei (demo1.cfg). Eine Textdatei mit den Antworten und verschiedenen Konfigurationsoptionen.
  3. Das CGI-Script selbst (exammail.cgi), welches PERL4 erfordert.
  4. Cgi-lib.pl. Eine kleine PERL-Library, die vom Script benötigt wird.
  5. Einige Grafiken (back.jpg und rbline.gif) um das Aussehen zu verbessern.
  6. Die Datei "demo1expl.htm". Ein HTML-Dokumen. Wenn das Script eine Seite generiert, wird das Script den Link auf diese Seite setzen, auf welcher sich der Besucher Ihrer Seite detailierte Informationen einlesen kann.

ACHTUNG!!!!!!
Das Script arbeitet NICHT mit Sendmail. Aber mit MAIL. Bitte fragen Sie Ihren Administrator nach dem Verzeichnis, in welchem dieses Programm liegt. Sollten Sie einen Telnet-Zugang haben, so geben Sie im Telenet-Fenster bitte folgendes an: whereis mail
In der Regel wird Ihnen der Pfad zu Mail (/usr/bin/mail oder /bin/mail) ausgegeben. Dies müssen Sie in der .cgi und in der .cfg Datei angeben.

Das CGI muss so modifiziert werden, daß der korrekte Pfad zu PERL und der Pfad zu MAIL stimmt. Die eMail-Adresse des Webmasters ist auch anzugeben. Die .cfg Datei beinhaltet auch noch mehrere Einstellungsmöglichkeiten, die immer dokumentiert sind. Die Angaben in der .cfg Datei übertreffen immer die Angaben in der .cgi Datei. Sie können das Script nachdem es einmal läuft auch mit mehreren HTML-Seiten betreiben. Das heisst, Sie können unterschiedlich viele Tests über ein Script ausführenn.
Die einfachste Installation ist, wenn Sie alle Dateien in ein Verzeichnis kopieren (Sie müssen da natürlich CGI ausführen können) und dann das Script selbst mit den Rechten 755 belegen. Bedenken Sie bitte, das CGI-Script sowie die Library im ASCII-Modus und nicht im Binary-Mode auf den Server zu laden.

Installation:

 

Das Format der CFG-Datei:

Für jeden Test muss eine Datei mit dem Namen für den Test existieren. Wenn der Teste mathematiktest heisst, muss es auch eine Datei mathematiktest.cfg geben.

	    # Die volle URL zur Datei exammail.cgi
	    def_explain_url=http://something..
	    # Das Markierungsschema ( Wert für Richtig, geraten, falsche Antwort)
	    def_scheme=2,0,-1
	    # Die Art des Reportierens (0 - wenig ,1, 2 - das meiste)
		#0 gibt keinen Report aus, 1 gibt nur bei falschen Antworten einen Report aus,
		#2 Reportet alles
	    def_report=1
	    # Horizontale Linien 
	    def_rule=<HR>
	    # Der Inhalt des Body-Tags
	    def_body=BGCOLOR="#DDFFFF" TEXT="#000099" BACKGROUND="back.jpg"
	    # Der Pfad zum Mailprogramm
	    def_emailprog=/usr/bin/mail
	    # Der Testgeber
		#Geben sie hier Ihre Mailadresse an
	    def_marker=fred@compuserve.com
	    # Der Titel des Quiz´s
	    def_header=A New Test
	    # Graduieren Sie die korrekten Antworten
	    grd=90,Excellent!
	    grd=80,Ziemlich gut!
	    grd=70,Gut!
	    grd=60,Naja
	    grd=50,Kaum jemand war schlechter
	    grd=0,Schlecht
	    # Die Antworten für die von Ihnen gestellten Fragen
	    ans=q1,c
	    ans=q2,d
	    ans=q3,Richtig
	    ans=q4,2
	    ans=q5,Falsch
      

Konfiguration:

Sehen Sie sich die Datei demo1.htm an um Informationen über die erforderlichen angaben für exammail.cgi zu erhalten

Die meisten der untenstehenden Variablen können übergangen werden, wenn man sie in der .cfg-Datei vornimmt (siehe oben)

def_pathtests sollte auf ein sicheres Verzeichnis auf dem Server zeigen.

Die folgenden Variablen können exammail.cgi vorgenommen werden:

$def_rule:
Die HTML-Marke für horizontale linien
	    $def_rule = "<BR><IMG SRC=\"rbline.gif\"><BR>";
	
$def_marker:
Die eMail-Adresse des Testverwalters. Stellen Sie sicher, daß Sie einen Backslash (\) vor das @-Zeichen setzen. Es können auch mehrere Adressen eingetragen werden.
	    $def_marker = "m1\@bus.com m2\@bus2.com";
	
$def_report:
Dies ist der Stufe, wie reportiert wird (0,1,2). Für Stufe 0 gile: Nur korrekte Antworten reportieren. Für Stufe 1 gilt: Nur inkorrekte Antworten werden reportiert und für Stufe 2 gilt: Alle Antworten werden reportiert.
	    $def_report = 2;
	
$def_emailfile:
Dies ist das Verzeichnis in welchem eine temporäre Datei liegt, die eine präparierte eMail an den Besucher sendet. Die aktuelle Datei wird aus einer generierten Nummer konstruiert, so daß mehrere Leute gleichzeitig den gleichen Test absolvieren können ohne daß die eMails später durcheinander geraten. Dies Datei wird gelöscht, wenn die eMail verschickt ist.
 
$def_tmppath:
Das Verzeichnis in welchem temporäre Dateien abgelegt werden können.
 
$def_emailprog:
Dies ist der Name des Programmes, welches die Mail versendet. Auf den meisten Servern ist dies /bin/mail. Es sind folgende Argumente erlaubt:
	    /bin/mail -s "Subject" email_addr ...
	
$def_pathtests:
Dies ist das Verzeichnis (mit abschliessendem Slash) in welchem die Antworten und Wortgraduierungen abgelegt werden. Wenn das Script exammail.cgi im Verzeichnis public_html/ läuft, ist es eine Gute Idee hier ../ anzugeben

Der Dateiname für die Konfigurationsdatei ist wie folgt festzulegen:

	    configfile = def_pathtests + testname + ".cfg"
	

Autoren:

NAME Telefon e-MAIL WEB
Carsten Schafer
(Programmer)
(705) 726-7942 cschafer@barint.on.ca http://www.barint.on.ca/~cschafer
Dr John Oyston
(Concept)
(705) 325-2201 x 906 oyston@oyston.com http://www.oyston.com/anaes