EF2HTM - Ein EF-Konverter für HTML Version 0.45 (1. März 1999)
Dieses Bild wurde von der Seite
http://linus.psych.tu-dresden.de
geklaut.

TU Dresden, Psychologie des Lehrens und Lernens
Rüdiger Krauße

Allgemeines     Aufrufen von ef2htm     Schalter     EF-Hauptseite


1 Allgemeines[Inhalt]

"Beim EF-Format handelt es sich um eine Möglichkeit, die abstrakten Daten einer Aufgabe in einer Datei abzuspeichern.
EF-Datein enthalten also nur die Werte, wie z.B. Überschrift, Frage, Antwortformat, Hinweise usw., ohne spezielle Angaben über das Erscheinungsbild oder den Verarbeitungsablauf im Computer. EF ist ein Plain-Text-Format, d.h. es handelt sich um normal lesbaren Text, der auch mit einem gewöhnlichem Text-Editor bearbeitet werden kann ..."

Um die Aufgaben dann schließlich bearbeiten zu können, werden die Datein von speziellen Anwendungsprogrammen gelesen und die Aufgaben werden entsprechend generiert.
Das Programm ef2htm generiert in diesem Sinne aus EF-Quellkode-Datein HTML-Datein (mit Javascript), sodass man die Aufgaben in einem Internet-Browser bearbeiten kann. Die Schaubeispiele in der EF-Dokumentation sind beispielsweise mit ef2htm erstellt. ef2htm kann aber auch HTML-Datein erzeugen, die man in MS WORD importieren kann, um Papierversionen der Aufgaben zu erhalten. Dabei können auch EFC-Datein (Mehrere Aufgaben zu einem Test zusammengefaßt) angegeben werden. Bei der Ausgabe für WORD wird gleichzeitig eine kleine HTML-Datei mit der korrekten Lösung erzeugt.
Wichtig: Die so erzeugten HTML-Datein für Browser funktionieren nur in Browsern ab der 4. Generation (also Version 4.x).
Für Insider: Es werden nämlich das all-Objekt (Microsoft) bzw. Layer (Netscape 4.x) bzw. das DOM (Netscape ab 6.1)  verwendet.

Anmerkung: ef2htm ist mittlerweile zu EFb weiterentwickelt worden, einem Browser und Editor mit bequemer Nutzeroberfläche. EFb ist eine vollständige Erweiterung von EF2htm und kann genauso über die Kommandozeilenparameter betrieben werden (mit dem Zusatzschalter -silent) (bes. für Batch-Dateien nützlich).
Von Ef2htm gibt es zwar noch aktuelle Versionen, diese werden aber im Moment nicht mehr verwendet. Evtl. sind sie später Ausgangspunkt für Implementationen auf anderen Betriebssystemen.

Zu ef2htm gehören folgende Dateien (Version 0.6):

ef2htm.exe Der eigentliche Compiler, der dann auch aufgerufen wird.
#Simple.htm
#Simple_t.htm
:
:
"Schablonen"-Datein für die verschiedenen Plattformen. Wenn Sie das Outfit der erzeugten Datein global ändern wollen (Hintergrundfarbe usw.), dann müssten Sie in diesen Datein ihr Glück versuchen.
ef_h2t.js
ef_st.js
ef_pl.js
:
:
JavaScript-Datein, die Teile des Programmcodes für die Bearbeitung der Aufgaben im Browserfenster enthalten.

Wichtig: Alle diese Datein müssen sich in ein und dem selben Verzeichnis befinden.

ef2htm selbst ist ein relativ robustes Programm. Auch wenn der EF-Quellkode fehlerhaft ist, versucht das Programm immer eine Ausgabedatei zu erzeugen, die dann jedoch unter Umständen unvollständig oder fehlerhaft ist. Wenn es sich aber nur um kleinere Fehler handelt (z.B. Zeichenkette nicht geschlossen) müsste die HTML-Datei eigentlich OK sein (Das soll jetzt aber keine Aufforderung zum Schreiben schlampiger EF-Datein sein!).

2 Aufrufen von ef2htm[Inhalt]

Kommandozeilenaufruf     "Windows-Klick" einrichten     Batch-Datein

ef2htm.exe ist ein Windows-Konsolenprogramm, d.h. es öffnet sich ein (schwarzes) DOS-Fenster und das Programm wird abgearbietet. Es besteht während das Übersetzens keine Möglichkeit Daten oder Parameter einzugeben. Diese Werte müssen ef2htm alle zu Beginn übermittelt werden, siehe dazu auch den Abschnitt Schalter. Es können auch mehrere Dateien auf einmal übersetzt werden.
Im wesentlichen gibt es 3 gängige Methoden des Aufrufs, die im folgenden beschrieben werden.

2.1 Kommandozeilenaufruf[Inhalt]

ef2htm.exe ist ein Windows-Konsolenprogramm. Der Aufruf erfolgt über "Ausführen" im Windows-Startmenü. Als Parameter ist der Name der EF-Datei bzw. EFC-Datei anzugeben, die übersetzt werden soll. Es ist auch möglich, mehrere EF-Fateien anzugeben und Wildcards (?, *) zu verwenden. ef2htm erzeugt, dann jeweils eine HTML-Datei, die den selben Namen wie die Quell-Datei hat, aber als Anhängsel ".htm". Bei der Ausgabe für WORD wird zusätzlich eine Datei erzeugt, die auf "..._loes.htm" endet und die Lösung enthält (ebenfalls für die Weiterverarbeitung in WORD gedacht).Wenn das nicht klappt, versuchen Sie einfach den "Windows-Klick" einzurichten. Der geht eigentlich immmer.

Ausführen-Dialogfenster Beispiel:
In diesem Fall wird aus der EF-Datei aufgabe1.ef in die Datei aufgabe.htm generiert.
(Die Angabe der Extension .ef in der Komandozeile ist optional, .efc hingegen muß immer angegeben werden)

Wichtig: Unter Umständen ist es erforderlich, das ganze von dem Verzeichnis aus zu starten, in dem sich auch ef2htm befindet.

Für TEE: Wenn diese Aufgabe in TEE eingebunden werden soll muß in der Kommandozeile noch der Schalter "-t" hinzugefügt werden.

Für study2000: Wenn diese Aufgabe in den Studierplatz study2000 eingebunden werden soll, muß in der Kommandozeile noch der Schalter "-s" hinzugefügt werden.

Für MS WORD: Wenn diese Aufgabe als Papierversion benötigt wird muß in der Kommandozeile noch der Schalter "-w" hinzugefügt werden. Die entstehende HTM-Datei kann dann mühelos in MS Word übernommen werden. ef2htm erzeugt in diesem Fall eine weitere Datei, die auf "..._loes.htm" endet, und die Lösung der Aufgabe(n) enthält.

Für AM: Wenn diese Aufgabe im Aufgabenmodul AM verwendet werden soll, so ist der Schalter "-a" anzugeben.

Weitere Schalter finden Sie im Abschnitt Schalter.

Die Kommandozeilengeschichte ist aber in der Regel etwas mühseelig. Lesen Sie deshalb am besten auch die beiden folgenden Abschnitte.

2.2 Einrichten eines "Windows-Klicks" für ef2htm[Inhalt]

Popup-Menü Wenn man ef2htm öfter benutzt, ist der Kommandozeilenaufruf eher umständlich (falls er überhaupt funktioniert). Es wäre hingegen sehr praktisch, wenn man eine EF-Datei mit der rechten Maustaste anklicken könnte und dann im üblichen Pop-Up-Menü einen Eintrag "Nach HTML übersetzen" hätte. Und genau das kann man (mit einmaligem Aufwand) such einrichten. (Es lohnt sich auf jeden Fall.)

Die folgende Beschreibung ist soll eher exakt als schön sein. Wer damit Probleme hat wende sich einfach an mich.

(Achtung: alle jetzt vorkommenden Anführungszeichen sind als solche gedacht und natürlich nicht in die Eingabefelder einzutragen.)

1. Registrieren von .ef

2. Anschließen von ef2htm

Wenn Sie mit mehreren Zielumgebungen arbeiten, ist es sinnvoll sich mehrere "Klicks" anzulegen (mit jeweils verschiedenen Schaltern).

3. EF-Logo (optional, non plus ultra für Schönheits-Fans) (Windows verwendet dann ein spezielles Icon in den Verzeichnis-Fenstern)

Wenn man EFC-Datein verwendet, muß man das ganze noch mal für einrichten (nämlich für EFC, klar).

2.3 Aufruf über Batch-Datein[Inhalt]

Die Batch-Datein (Extension *.bat) sind ein nützliches Überbleibsel aus der DOS-Ära. Sie enthalten Textzeilen, die wie aufeinander folgende Eingaben im "Aufführen"-Dialog abgearbeitet werden.

Beispiel: demo.bat

c:\ef\ef2htm auf1.ef -t -h0
c:\ef\ef2htm auf2.ef -t -h0
c:\ef\ef2htm auf3.ef -t -h0
c:\ef\ef2htm auf4.ef -t -h0

Diese Datei würde also die Datein auf1.ef, auf2.ef, auf3.ef und auf4.ef ef für TEE übersetzen ohne Anzuhalten (siehe Abschnitt Schalter).
Solche Batch-Datein können in der Regel mit beliebigen Texteditoren (z.B. Notepad) bearbeitet werden und werden durch Doppelklick gestartet.

Natürlich kann man auch alle EF-Dateien auf einmal übergeben:

c:\ef\ef2htm auf1.ef auf2.ef auf3.ef auf4.ef -t -h0

Unter Verwendung von Wildcard läßt sich dies aber auch noch kürzer realisieren:

c:\ef\ef2htm auf*.ef -t -h0

3 Übersicht der Schalter[Inhalt]

Hier eine Übersicht über die Schalter, die in der Kommandozeile, in Stapeldatein oder Verknüpfungen hinter dem Dateinamen angegeben werden können (Reihenfolge beliebig, es können auch mehrere Schalter angegeben werden, sofern sich diese nicht wiedersprechen). Manche Schalter bestehen aufs einem Buchstaben und einem übergebenen Wert. Dieser kann optional (zur besseren Übersicht) durch einen Doppelpunkt abgetrennt werden (d.h. -r:rep.txt und -rrep.txt bedeuten das gleiche).

Zielplattform Vorein-
stellung
-t übersetzen für TEE Erzeugt eine HTLM-Datei, die nur eingebunden in TEE funktioniert.  
-s übersetzen für study2000 Erzeugt eine HTLM-Datei, die nur eingebunden in study2000 funktioniert.  
-w übersetzen für Word Die erzeugte HTML-Datei kann dann mühelos in MS Word übernommen werden. ef2htm erzeugt in diesem Fall eine weitere Datei, die auf "..._loes.htm" endet, und die Lösung der Aufgabe(n) enthält.  
-a übersetzen für AM Erzeugt eine HTLM-Datei, die nur eingebunden in AM (Aufgabenmodul) funktioniert.  
-simple:shape Schablonen-Datei angeben (für Type Simple) Erzeugt eine HTML-Datei, wobie die angegebene Datei als Schablone verwendet wird. Diese Schablone steuert das Layout der Aufgabe. Mit etwas Geschick können Sie auch selber Schablonen schreiben und abändern.  
  wenn kein Schalter dieser Kategorie angegeben wird, erzeugt ef2htm eine autonome HTML-Datei x
Ausgabeverzeichnis
-opfad Ausgabepfad festlegen (output) Wenn dieser Schalter angegeben ist, werden die erzeugten HTML-Datein im angegebenen Verzeichnis pfad abgelegt. Das ist besonders bei größeren Projekten und der Verwendung von Batch-Datein sinnvoll. (z.B. -oc:\ELehre\aufgaben)  
Version
-vxxx Version der Schablonen Durch Angabe der Versionsnummer kann man bei verschiedenen Plattformen Datein für verschiedene Versionen dieser Zielplattformen. Wenn dies möglich ist, wird dies bei den Plattform-Dokumentationen angegeben. (z.B. -v021)  
JavaScript
-j0 JavaScript inline Der Programmcode, die der Browser bei der Bearbeitung der Aufgabe benötigt, wird komplett in der HTML-Datei mit eingebunden. Man benötigt zum Arbeiten also nur die erzeugte HTML-Datei. x
-j1 mehrere externe JS-Datein Bei dieser Variante verbleiben die Programmcodes in den JS-Datein (diese haben die Namen ef_... .js und befinden sich im selben Verzeichnis wie der ef2htm). Es ist später notwendig, daß Sie diese Datein in das selbe Verzeichnis wie die HTML-Datei der Aufgabe kopieren. Die erzeugten HTML-Datein sind in diesem Fall etwas kleiner, diese Einstellung lohnt sich, wenn sich viele Aufgaben in einem Verzeichnis befinden.  
-j2 eine große externe JS-Datei Diese Einstellung ähnelt -j1, nur benötigt die Aufgabendatei lediglich die Datei ef.js benötigt. Unter Umständen ist das Laden der Aufgaben-HTML-Datein etwas langsamer als bei -j1.  
Einzelfeedback
-pf:0 Einzelfeedback (precise feedback) Es wird kein Code für einzelnes Feedback der Eingabefelder eingebunden.
-pf:1   Es wird zusätzlicher Code in die HTML-Dateien eingefügt, der bei "Eingabe bestätigen" farblich (oder mit +/-) eine Information über richtige und falsche Einträge anzeigt.x
Mailfunktion
-mailtype:x Art der Mailfunktion (typ) Gibt die Art der Einbindung der Mailfunktion an, und zwar mit Hilfe einer Zahl:
0 ... Mailfunktion wird nicht in die Aufgaben eingebunden
1 ... Mailfunktion wird automatisch bei solchen Aufgaben eingebunden, die nur Eingabefelder ohne Lösungsvergleich haben ($MEMO und $MCA, $MCS ohne korrekte Lösung); ansonsten nicht
2 ... Mailfunktion wird generell bei allen Aufgaben eingebunden
0
-mail:address Mailadresse (address) Gibt die Mailadresse an, an die die Lösungseinträge der Nutzer (Schüler) geschickt werden sollen.
Verwendung von Java-Applets für MathePad
-mpadjava:x Arte der Verwendung des Java-Applets Gibt an, ob und für welche Mathepads Java-Applets verwendet werden sollen, und zwar mit Hilfe einer Zahl:
0 ... Keine Applets verwenden
1 ... Verwendung des Applets nur für $ST-Felder mit zugeordnetem Mathepads als interaktives Eingabefeld (anstelle eines $ST-Feldes mit separater Anzeige).
2 ... Verwendung des Applets nur für feste Mathepads (also Mathepads ohne Namen und ohne zugehöriges $ST-Feld in $ANSWER, $QUESTION, $HINT usw.) (anstelle von Konstruktionen mittels HTML).
3 ... Verwendung des Applets für alle Mathepads
0
Sichere Kodierung der Lösungen im HTML-Text
-scramble Lösungen im HTML-Text unkenntlich machen Dieser Schalter sorgt dafür, dass der die Lösungen und Hinweise im HTML-Quelltext (von dem nicht auszuschließen ist, dass der spätere Nutzer ihn im Browser anzeigen lässt) nicht lesbar sind. Die Lösungen werden dazu als kryptische Zeichenketten abgelegt. Dies schützt somit vor cleveren "Spickern".

Auf die sonstige Benutzung der Aufgabe hat dies natürlich keinen Einfluss.

Halt bei Fehlern
-h0 nicht Halten Die Übersetzung erfolgt ohne Unterbrechung (sinnvoll, wenn Sie über Batch-Datein viele Aufgenen übersetzen wollen ohne Rüchsicht auf etwaige Fehler zu nehmen).  
-h1 Halten bei Fehlern Wenn bein Übersetzen Fehler aufgetreten sind, hält ef2htm am Ende des Übersetzungsvorgangs an und wartet auf einen Tastendruck. Auf diese Weise können Sie verhindern, daß sich bei Fehlermeldungen das Konsolenfenster unter Windows sofort schließt, bzw. können Sie Batch-Datein anhalten damit die Fehlermeldung nicht "weg-gescrollt" wird x
-h2 Halten bei Fehlern und Warnungen Wie -h1, es wird allerdings auch bei Warnungen angehalten.  
Report
-r Report erzeugen Wenn Sie diesen Schalter angeben erzeugt ef2htm detailiertere Meludungen während des Übersetzens (besonders bei EFC-Datein sehr nützlich).  
-rdatei Report erzeugen und in Datei schreiben Bei dieser Einstellung wird der Report und sämtliche Fehler und Warnungen in die angegebene Datei geschrieben. Es wird dann sinnvollerweise auch nicht angehalten, unabhängig von anderen Einstellungen.  
Fehlerzeilen anzeigen
-e0 Fehlerzeilen nicht anzeigen (error) Ausgabe der fehlerhaften Quellzeilen (also aus der EF-Datei) wird unterdrückt. Es wird lediglich der Fehler und seine Position gemeldet.  
-e1 Fehlerzeilen nicht anzeigen Wenn Fehler oder Warnungen auftreten wird die fehlerhafte Zeile direkt angezeigt, ein Marker zeigt die (ungefähre) Position des Fehlers. Somit ist das Auffinden der fehlerhaften Stellen in den EF-Datein relativ bequem möglich (besonders wenn man bedenkt das Texteditoren mit Verfolgung der Zeilennummern aus de Mode gekommen zu sein scheinen). x

Das wars!

Alle möglichen Feed-Backs bitte an R.Krauße rkrausse@rcs.urz.tu-dresden.de.

Originalquelle im WEB: http://linus.psych.tu-dresden.de/Stupla/ef/doc/ef2htm.htm