Programmiererhandbuch (allgemein)

Programmorganisation

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


Datenbankschema

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


Liste der Attribute in der Datenbank

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