ZIFF-logo Zentrales Institut für Fernstudienforschung 
Central Institute for Distance Education Research - FernUniversität in Hagenline
*
Home
Kurse - Courses
Projekte - Projects
Veröffentlichungen - publications
Mitarbeiter - Staff
Links
e-mail
Nov 1999
Dokumentation  der  Software
zum  WWW-FB-Projekt         Dr. Georg Ströhlein,  03.04.2001


1 Einleitung
Das dargestellte Projekt soll auch den Wissenschaftlern, die keine IT-Experten sind, die Möglichkeiten einer vollständig automatisierten WWW-Umfrage zugänglich machen.  Für alle anderen schafft es mehr Komfort durch Automatisierung von Routinearbeiten, die keine inhaltlichen Fortschritte versprechen.  
Es wird besonderer Wert auf die Praxistauglichkeit der im Rahmen des Projektes erstellten Software gelegt.  Dies bezieht sich sowohl auf die möglichst weitgehende Plattformunabhängigkeit als auch auf die Berücksichtigung des üblichen Arbeitsablaufes vom Entwurf bis zur endgültigen Version eines Fragebogens.
Der IT-Hintergrund ist durch die an der FeU-Hagen gegebenen Strukturen festgelegt.  Es können nur die vom URZ ausdrücklich unterstützten Softwarepakete zum Einsatz kommen.
Generell bezeichnen in diesem Dokument in der Schriftart Courier New gesetzte Texte exakt so vorhandene oder einzugebende Daten oder sonstige Bezeichnungen.  Kursiv gesetzte Texte sind gewöhnlich als Variablen aufzufassende Bezeichnungen für die wirklich einzugebenden Daten.
 
1.1 Ziele  des  Projektes
Es soll ein Programmpaket geschaffen werden, das einen zuvor erstellten Fragebogen auf dem Web-Server der FeU-Hagen veröffentlicht und die Antworten automatisch verarbeitet und in anonymisierter Form öffentlich zugänglich macht.  Außerdem sollen die Beantwortenden sich interaktiv Histogramme der bisherigen Antworten anzeigen lassen können.  Es soll die Möglichkeit der Ausgabe auf behinderungs-spezifischen Hilfsgeräten (Screen-Reader etc.) bestehen.

1.2 Umsetzung  des  Projektes
Alle im wissenschaftlichen Bereich Tätigen sollten einen Texteditor bedienen können; daher wird als Ausgangspunkt eine ASCII-Datei den Inhalt des Fragebogens, also die Fragen und Antwortskalen, aufnehmen.  Daraus sollen alle anderen zur Bereitstellung des Fragebogens im WWW und zur automatischen Weiterverarbeitung der Antworten benötigten Dateien automatisch erzeugt werden!  Das ASCII-Format bietet den Vorteil, plattformübergreifend und mit bereits im Betriebssystem eines jeden Computers vorhandenen Mitteln erzeugt werden zu können.  Da für das ASCII-Format in jedem existierenden Bürosoftware-Paket Importfilter implementiert sind, steht bspw. zur Rechtschreibprüfung und Überarbeitung des Fragebogentextes auch deren Komfort zur Verfügung.
Die IT-Struktur an der FeU-Hagen gestattet zur Zeit keine Datenbankanbindung, daher wird zur Beantwortung auf eine vom URZ bereitgestellte, anonymisierte Email-Lösung aufgesetzt (CGI-Skript „gform“).  Dazu wurde vom URZ für das ZIFF ein neues Email-Konto eingerichtet.  Die eintreffenden Mails werden vom URZ-Server auf dem ZIFF-Server abgelegt.
Für die Präsentation des Fragebogens wird wegen der programmiertechnischen Möglichkeiten und Notwendigkeiten ein Java-Swing-Applet gewählt.  Die über die Möglichkeiten des AWT in JAVA hinausgehenden Fähigkeiten von SWING sind insbesondere zur Bereitstellung der Ausgabemöglichkeit auf behinderungs-spezifischen Hilfsgeräten notwendig.  SWING wird jedoch zur Zeit noch nicht von allen WWW-Browsern unterstützt, JAVA 1.1.x ist in den deutschsprachigen Programmen Netscape Communicator ab Version 4.05 und Microsoft InternetExplorer ab Version 4 enthalten.  Um den Fragebogen jedoch allen Internet-Nutzern zugänglich zu machen, wenn auch ohne die Funktionalität der interaktiven Histogramm-Generierung, wird aus einer Definitions-Datei ebenfalls ein HTML-Gerüst <FORM>...</FORM> inkl. der für die Übermittlung der Antwort an das CGI-Skript benötigten HTML-Kommentarzeilen <!-- gform... --> erzeugt, das alle Fragen und Antwortskalen enthält und manuell in eine bestehende WWW-Seite zu integrieren ist.

1.3 Bestandteile  des  Projektes
Das Programmpaket besteht aus fünf wesentlichen Teilen:
1) der Fragebogen-Definitionsdatei mit dem Frage- und Antwortskalen-Text,
2) dem Applet, das die Fragen darstellt und die Antworten vorverarbeitet,
3) der das Applet enthaltenden HTML-Seite und diversen Hilfs-HTML-Seiten, die der antwortenden Person ggf. detaillierte und exakt auf die bei ihr eingesetzte Software abgestimmte Hinweise geben,
4) dem Mail-Verarbeitungsskript, das die eintreffenden Antwort-Emails auswertet 
5) und dem Standard-Dateien-Erzeugungsprogramm.

1.4 Beschreibung  der  Standard-Dateien
1.4.1 Die Fragebogen-Definitionsdatei in ASCII
Als Fragetyp sind nur die Zeichenfolgen „TEXT“, „RADIO“ bzw. „CHECK“ zugelassen.  Sie bezeichnen also Textfelder, in die beliebige Zeichenfolgen eingegeben werden können, Einfachauswahl-Listen, bei denen maximal eines aus einer Itemliste ausgewählt werden kann, und Mehrfachauswahl-Listen, bei denen eine beliebige Anzahl der Items ausgewählt werden kann.

1.4.2 Das Applet in Java /Swing 1.1.x
Ein Applet ist ein in der Programmiersprache JAVA geschriebener Code, der von der sog. Virtual Machine (VM) mancher WWW-Browser bzw. der als sog. Browser-Plug-in zu installierenden JAVA-RUNTIME-ENVIRONMENT (JRE) interpretiert wird. 
1.4.3 Beschreibung der HTML-Seiten
Insgesamt wurden die für die Funktionalität der beiden Fragebogen-Versionen verantwortlichen Inhalte von fünf HTML-Seiten entwickelt.
Die Aufteilung in die genannten HTML-Seiten erscheint auf den ersten Blick unnötig kompliziert, erwies sich jedoch aus zweierlei Gründen als notwendig: erstens leitet das CGI-Skript, das im URZ-Server die FB-Antwort entgegennimmt, automatisch auf eine „Danksagungs“-HTML-Seite weiter.  Wenn dann das FB-Applet direkt in der Seite eingebettet ist, von der weitergeleitet wird, nehmen dies einige Browser zum Anlaß, das Applet „abzuschießen“, so daß die antwortende Person sich entgegen allen Versprechungen keine interaktiven Histogramme mehr anschauen kann.  Also mußten der Mail-Code und das Applet auf zwei verschiedenen Seiten untergebracht werden.  Damit jedoch eine Kommunikation zwischen beiden möglich ist, die konform zum strengen Sicherheitsmodell für Applets ist, kommen hier nur Frames auf einer Seite in Frage.  Nun erwies sich das sofortige Laden des Email-Teils in den unteren Frame als nachteilig, da die Skript-Sprachen in den bis heute gängigen Browsern keine vernünftige Fehlerbehandlung zulassen.  So hätte ein durchaus mögliches, ja wegen der Erscheinung sogar wahrscheinliches Betätigen der „Absende“-Schaltfläche vor dem kompletten Laden des Applets zu unvorhersehbaren Fehlern bzw. sinnlosen Emails geführt.  Daher wurde die Lösung eines in JavaScript implementierten ereignis-gesteuerten Ladevorgangs der Email-Seite gewählt.

1.4.4 Das Mail-Verarbeitungs-Skript
Das Perl-Skript durchsucht das Mail-Verzeichnis nach Dateien und legt intern eine Liste aller gefundenen Dateien an.  Dann stuft es jede Email dieser Liste, die spezielle Zeichenfolgen enthält, von denen anzunehmen ist, daß sie nicht von irgendeiner Person dieser Welt getippt wurden, sondern nur von den beiden (HTML/JAVA) Versionen des Fragebogens stammen können, als FB-generiert ein.  Für jede dieser so eingestuften Mails wird zunächst geprüft, ob die Anzahl der Items in der Email mit der im Datenmatrixfile übereinstimmt.  Dies ist notwendig, da in der HTML-Version nicht überprüft wird, ob in Textfelder Semikola eingegeben wurden, die ja von den Auswertungsroutinen als Trennzeichen verwendet werden.  Falls die Anzahl der Items übereinstimmt, wird für diese Mail
i) eine ASCII-Datei mit der FB-Antwort als Inhalt erzeugt,
ii) die Antwort der Datenmatrix-Datei hinzugefügt,
iii) die Email ins entsprechende Verzeichnis verschoben, damit sie nicht mehrfach verarbeitet wird.
Danach wird im Mailverzeichnis eine neue Version der Spaltensummen-Datei anlegt und beide mit einem „Datumsstempel“ im Dateinamen im Verzeichnis gesichert.
Falls die Anzahl der Items nicht übereinstimmt, wird für diese – immerhin ja zuvor als FB-generiert eingestufte - Mail:
i) im Verzeichnis eine ASCII-Datei mit der FB-Antwort als Inhalt erzeugt und
ii) die Email in ein anderes Verzeichnis verschoben, damit sie nicht mehrfach verarbeitet wird.

1.4.5 Die Anwendung in Java 1.1.x
Die lokale JAVA-Anwendung erzeugt aus der Fragebogen-Definitions-Datei ein HTML-Fragment, nämlich den in die <FORM>...</FORM>-Tags eingebetteten HTML-Fragebogen und die zur Übermittlung „gform“ benötigten HTML-Kommentare der Form <!--gform ... -->.  Der Fragebogen-Code ist dann manuell in eine WWW-Seite zu integrieren, und zwar innerhalb der <BODY>...</BODY>-Tags, die gform-Kommentarzeilen zwischen dem </BODY>- und dem </HTML>-Tag!
Eine BATCH Datei, die vom Windows-Desktop aus aufgerufen werden kann ruft dann die JAVA-Anwendung auf.