Die einzelnen Programmodule befinden sich im Unterverzeichnis tcl unterhalb des FBTOOLS-Verzeichnisses.
Die folgende Tabelle gibt groben Überblick darüber, welche Funktion diese Module haben. Die Schnittstellen und Funktionsbeschreibungen entnehmen Sie bitte der Inline-Dokumentation in den .tcl-Dateien. Da das Generatormodul aus relativ vielen Untermodulen besteht, werden diese im Programmiererhandbuch für das Generatortool näher beschrieben, diese Auslistung soll nur einen kurzen Überblick geben.
Modul |
Funktion |
Analyze.tcl |
Auswertemodul, erzeugt XML-Auswertungen von Fragebögen |
builder.tcl |
Generiert Fragebögen als XML-Code |
cgi.tcl |
Auslesen der CGI-Parameter |
complexInput.tcl |
Erstellt komplexe Eingabeelemente in HTML |
dbOperations.tcl |
Steuert Datenbankzugriffe des Generators |
dbc-mysql.tcl |
Datenbankkomponenten für MySQL (Fremdsoftware) |
dbc.tcl |
Datenbankkomponenten allgemein (Fremdsoftware) |
dbconfig.tcl |
Konfigurationsskript für die DB-Einstellungen, wird vom Makefile verwendet |
dbcutil.tcl |
Datenbanktools (Fremdsoftware) |
element.tcl |
Operationen auf Elementen (kopieren, einfügen usw.) |
error.tcl |
Fehlermeldungen |
exportExcel.tcl |
Exportmodul, daß Fragebögen in das Excel-CSV-Format exportiert |
form.tcl |
Alle Operationen, die auf Fragebögen ausführbar sind, z.B. generieren, kopieren, löschen, usw. |
generator.tcl |
Hauptmodul, welches situationsabhängig (Festellung per CGI-Parameter) die Ablaufsteuerung durchführt, generiert z.B. die Indexseite usw. |
plausibel.tcl |
Modul für Plausibilitätsprüfung |
tableinfo.tcl |
Meta-Informationen über die Attribute und Datenbanktabellen |
util.tcl |
Einige Hilfsfunktionen, die vom Generator benutzt werden |
Die folgende Tabelle zeigt, welche Funktion die einzelnen Style-Files haben, die zur Übersetzung der XML-Tags in HTML-Tags dienen:
Style-Datei |
Enthält Layout für... |
analyze.style |
... HTML-Auswertemodul |
basic.style |
... gekapselte HTML-Basisattribute |
body.style |
... Body-Elemente und Überschriften |
dbc-msql.style |
- |
dbc-mysql.style |
- |
dbc-pgsql.style |
- |
dbcutil.style |
- |
essentials.style |
... häufig verwendete Tags |
form.style |
... Formularkomponenten |
generator.style |
... Style-File, welches v. Hauptmodul eingebunden wird |
head.style |
... gekapselte HTML-Attribute für HEAD-Abschnitt |
page.style |
... Seitenlayout |
publicForm.style |
... Formulare |
staticInput.style |
... statische Seitenkomponenten |
templateInput.style |
... Schablonen für Fragebogenelemente |
Das folgende Datenbankschema wurde für die FBTOOLS verwendet:
Tabelle formdata - für die Fragebogendaten selbst:
Feldname |
Wertebereich |
Beschreibung |
---|---|---|
FORMID |
Varchar(20) |
eindeutige Identifikation zur Unterscheidung der Fragebögen |
ORDERNO |
Integer |
Reihenfolgeposition des Elementes im Fragebogen |
ATTRIBUTE |
Varchar(50) |
Name des zum Element gehörigen Attributes |
VALUE |
Text |
Wert des bezeichneten Attributes |
Tabelle results - für die Ergebnisse der Befragungen:
Feldname |
Wertebereich |
Beschreibung |
---|---|---|
FORMID |
Varchar(20) |
eindeutige Identifikation zur Unterscheidung der Fragebögen |
SESSSIONID |
varchar(20) |
eindeutige Identifikation zur (anonymen) )Unterscheidung der antwortenden Personen |
QUESTIONNO |
Varchar(9) |
Nummer der Frage im angegebenen Fragebogen |
ANSWER |
text |
Ausgewählte bzw. eingegebene Antwort |
Tabelle resultlog - für die Zeiten der Ergebniseintragungen:
Feldname |
Wertebereich |
Beschreibung |
---|---|---|
SESSSIONID |
Varchar(30) |
Eintragsidentifikation |
REMOTEHOST |
Varchar(30) |
Addresse des Clientrechners |
Die folgenden Attribute werden in der Datenbank verwendet:
Attributname |
mögliche Werte |
Element(e) |
Bedeutung |
---|---|---|---|
FORMID |
integer |
Fragebogen allgemein |
Eindeutige Ziffernfolge, generiert aus Datum und Uhrzeit, zur Identifikation der Fragebögen |
ORDERNO |
integer |
alle |
Reihenfolgenposition der Elemente innerhalb des Fragebogens |
FrmTitle |
text |
Fragebogen allgemein |
Titel/Überschrift |
FrmDescription |
text |
Fragebogen allgemein |
Beschreibung |
FrmCreatedOn |
datum |
Fragebogen allgemein |
Datum der Erstellung |
FrmCreatedBy |
text |
Fragebogen allgemein |
Name des Erstellers |
FrmLastUpdated |
datum |
Fragebogen allgemein |
Datum der letzten Änderung |
FrmPassword |
Text |
Fragebogen allgemein |
Passwort des Fragebogens (neu eingeführtes Attribut gegenüber dem alten Generator) |
FrmShowTitle |
boolean |
Fragebogen allgemein |
Anzeige der Überschrift im Fragebogen? |
FrmBgColor |
farbwert |
Fragebogen allgemein |
Hintergrundfarbe |
FrmFgColor |
farbwert |
Fragebogen allgemein |
Vordergrundfarbe |
TxtText |
text |
Textelement |
Text eines Textelementes |
TxtAlignment |
left, center, right |
Textelement |
Ausrichtung des Textes |
TxtSize |
[-5..+5] |
Textelement |
Größe des Textes |
TxtColor |
farbwert |
Textelement |
Farbe des Textes |
TxtLinkTarget |
integer |
Textelement |
Nummer der Frage, auf die das Textelement verweisen soll |
SepType |
hr, space, img |
Trennelement |
Typ des Elementes |
SepData |
integer, url |
Trennelement |
Nähere Angaben zum Ausgewählten Typ |
QstNumber |
integer |
Fragen |
Nummer einer Frage |
QstShowNumber |
boolean |
Fragen |
Anzeige der Fragenummer im Fragebogen? |
QstText |
text |
Fragen |
Text einer Frage |
QstAlignment |
left, center, right |
Fragen |
Ausrichtung des Fragetextes |
QstAnswerAlignment |
aaal, aaar, baar (*) |
Fragen |
Ausrichtung der Antwort |
InpTxtLength |
integer |
Textfrage |
Länge des Feldes |
InpTxtWidth |
integer |
Textfrage |
Breite des Feldes |
InpTxtHeight |
integer |
Textfrage |
Höhe des Feldes |
InpSelType |
radio, kombi, lists, check, listm |
Auswahlfragen |
Typ des Auswahlelementes |
InpSelOptionValues |
text |
Auswahlfragen |
Werte und Bezeichnungen der Optionen |
InpSelDefault |
integer |
Auswahlfragen |
Vorausgewählter Wert |
InpSelAlignText |
behind, before, above |
Auswahlfragen |
Anordnung der Optionsbezeichnungen |
InpSelAlignOptions |
horizontal, vertical |
Auswahlfragen |
Anordnung der Optionen |
InpSelBlockValues |
text |
Blockfrage |
Unterfragen |
InpSelSubQstAlignment |
left, center, right |
Blockfrage |
Anordnung der Unterfragen |