Grundlagen und Hilfe zum Programm DB_edit

Peter Lenhard

Version 1.0.0 vom 10. Februar 2006

Inhaltsverzeichnis

  • Einführung
  • Grundlagen, Hauptfenster
  • Menü
  • Die einzelnen Datentypen
  • Fenster und Dialoge
  • Hintergründe
  • Problembehebung
  • Neuerungen in dieser Version


Einführung

Das Programm DB_edit ermöglicht die Eingabe und Korrektur von strukturierten Daten in relationalen Datenbanken.

Der Benutzer muss sich für die Arbeit mit einer Datenbank am Programm anmelden. Das Programm überprüft dabei, ob der Benutzername in der ausgewählten Datenbank bekannt ist und welche Rechte ihm zugeordnet sind. Das Passwort des Benutzers wird verschlüsselt in der Datenbank gespeichert.

Das Programm zeigt eine Übersicht der bekannten Typen und Objekte und generiert für jedes Objekt ein Eingabefenster, das den Benutzer so weit als möglich bei der Eingabe von Daten unterstützt.

Die Struktur der Daten wird dem Programm vorgegeben und muss in der Datenbank entsprechend vorhanden sein. Hierfür werden interne Tabellen benutzt, die Art und Umfang der Nutzdaten-Tabellen bestimmen.
Ebenso können hier untere und obere Grenzen für die erlaubten Werte vorgegeben werden.

Zur Verbindung mit einer Datenbank verwendet das Programm ODBC, das also auf Ihrem Rechner installiert sein muss.


Grundlagen, Hauptfenster

Während der Dateneingabe (also nach erfolgreicher Anmeldung und nach Auswahl eines Objektes) zeigt DB_edit ungefähr folgendes Bild:

(Ansicht des Hauptfensters während der Dateneingabe)

Im linken Bereich befindet sich eine Baumansicht der bekannten Typen und der Objekte dieser Typen. Für jedes Objekt ist dabei der Name und der Status sichtbar. Wird auf ein Objekt geklickt, so wird es in das Eingabefenster im rechten Teil geladen.

Für jedes Merkmal des ausgewählten Typs generiert das Programm ein passendes Eingabefeld. Diese Felder werden untereinander in einem ggf. scrollbaren Fenster angezeigt.

Ein Objekt kann hier betrachtet und verändert werden. Es wird gespeichert, wenn der Button "Speichern" gedrückt wird, wenn ein anderes Objekt gewählt wird oder wenn das Fenster geschlossen wird.

Jedes Eingabefeld besitzt einen Status, der als kleines farbiges Bild links danaben angezeigt wird und einer Ampel vergleichbar ist. Dieser Feldstatus wird immer dann neu bestimmt, wenn das Feld verlassen wird oder wenn das Objekt geladen oder gespeichert wird.

Grün steht für "alles in Ordnung", dieses Feld besitzt einen Wert und er ist gültig im Rahmen der Vorgaben.

Gelb steht für "Achtung", dieses Feld besitzt keinen Wert oder es wurde verändert, aber noch nicht gespeichert.

Gelbrot steht für "noch nicht richtig", dieses Feld wurde als Kopie aus einem anderen Objekt übernommen und noch nicht modifiziert.

Rot steht für "nicht erlaubt", diese Feld besitzt einen Wert, der gegen die festgelegten Grenzen verstößt.

Wenn ein Objekt gespeichert werden soll, dann wird es zunächst validiert, das heißt, für jedes Feld wird der Status bestimmt und das Ergebis dieser Prüfung wird als Meldungsfenster angezeigt, wenn Probleme vorliegen. Gibt es Fehler (Status rot), so ist nur der Abbruch der Aktion möglich. Gibt lediglich Warnungen, so ist auch der Button "OK" erlaubt, der die ursprünglich angestoßene Aktion weiterführt.

Wird ein Objekt gespeichert, so bekommt es insgesamt einen Status, der im linken Teil angezeigt und auch in der Datenbank gespeichert wird. Wird ein Objekt ohne Probleme gespeichert, so bekommt es den Status "grün". Wird ein Objekt trotz Warnungen gespeichert, so bekommt es den Status "gelb". Da ein Objekt mit Fehlern nicht gespeichert werden kann, kommt der Status "rot" in der Baumansicht der Objekte nicht vor. Ähnliches gilt für den Status "gelbrot".


Menü

In diesem Kapitel werden alle Menüeinträge erläutert.

Datei
Nutzer
Struktur
Test
Extra
?


Datei

Unter diesem Menüpunkt befinden sich Einträge auf Datei- und Programmebene.

Datenbank
Beenden


Datenbank

Öffnet den Anmeldedialog:

(Ansicht des Anmelde-Dialoges)

Im oberen Teil werden ggf. Hinweise zu einer bestehenden Verbindung gegeben.

Im mittleren Teil werden alle ODBC-Verbindungen zu Datenbanken angezeigt, auf die Sie Zugriffsrecht besitzten. Wenn die gewünschte Datenbank hier nicht aufgeführt wird, dann kontaktieren Sie den zuständigen Administrator.
Zu beachten ist, dass der Name einer ODBC-Verbindung nicht notwendigerweise dem Namen einer Datenbank entsprechen muss.
Die Verbindung des letzten Programmlaufes ist in der Regel bereits ausgewählt, sie wird beim Programmende jeweils gespeichert.

Im unteren Teil geben Sie Ihren Anmeldenamen und das zugehörige Passwort ein. Der Anmeldename wird ebenfalls vom letzten Programmlauf übernommen.

Der Klick auf den Button "OK" baut die Verbindung mit der ausgewählten Datenbank auf und meldet den Benutzer mit seinen zugeordneten Rechten an. Nach erfolgreicher Anmeldung zeigt der Dialog die Anmeldedaten an.

Die Datenbank muss per ODBC zugänglich sein und die internen Tabellen für DB_edit enthalten, andernfalls ist die Anmeldung nicht erfolgreich.
Die Anmeldung scheitert ebenfalls, wenn nicht alle Nutzdaten-Tabellen gefunden werden und der Benutzer nicht das Recht zur Struktur-Administration hat. Hat er es, so werden die fehlenden Datentabellen angelegt. Sie enthalten dann jeweils ein Vorlageobjekt ohne Werte.
Bestehen Unterschiede zwischen existierenden Nutzdaten-Tabellen und ihrem erwarteten Format, so scheitert die Anmeldung ebenfalls.

Wenn bereits eine Datenbank-Verbindung besteht, so wird sie zuvor geschlossen.

Nach dem Anmeldeversuch erscheint ein Meldungsdialog mit dem Ergebnis.


Beenden

Mit diesem Eintrag wird das Programm beendet.
Ist das aktuelle Objekt noch nicht gespeichert, so erscheint eine entsprechende Warnungsmeldung. Wird hier "Abbrechen" gewählt, so wird das Programm nicht beendet. Dasselbe gilt für das Schließen des Hauptfensters.


Nutzer

Unter diesem Menüpunkt befinden sich Einträge, die nicht direkt mit der Eingabe von Daten zu tun haben, sondern die Nutzerverwaltung betreffen.

Eigenes Passwort


Eigenes Passwort

Hier kann der angemeldete Benutzer sein Passwort ändern. Die Änderung wird sofort verschlüsselt in der Datenbank gespeichert.
Auch ein privilegierter Anwender kann das Passwort nicht rekonstruieren, er kann nur ein neues vergeben bzw. das Passwort entfernen.


Struktur

Unter diesem Menüpunkt befindet sich die Steuerung der Strukturansicht.

Strukturansicht zeigen
Strukturansicht nachführen


Strukturansicht zeigen

Hiermit öffnet der angemeldete Anwender eine baumartige Strukturansicht der Datenbank, die in einem eigenen Fenster angezeigt wird:

(Strukturansicht)

Für jedes Datenfeld gibt es einen Eintrag im Strukturbaum. Das verwendete Bild gibt den Datentyp an, die Auflistung erfolgt bei den Datentypen.

Änderungen können in dieser Ansicht nicht vorgenommen werden. Jedoch können die einzelnen Gruppen und Typen aufgeklappt werden und zeigen dann ihre Datenfelder. Für das ausgewählte Datenfeld wird im oberen Teil der beschreibende Text angezeigt, der in der internen Tabelle hinterlegt ist.
Solange die Strukturansicht angezeigt wird, ist der Menüeintrag mit einem Häkchen versehen.


Strukturansicht nachführen

Auch dieser Menüeintrag kann mit einem Häkchen versehen sein.
Ist das Häkchen gesetzt, so wird bei Auswahl eines Eingabefeldes im Eingabefenster auch der entsprechende Eintrag im Strukturbaum ausgewählt, sodass der Hinweistext sofort gelesen werden kann.


Test

Wenn dieser Menüpunkt erscheint, sollten Sie mit Ihrem Administrator oder dem Hersteller der Software Kontakt aufnehmen. Dieser Menüpunkt ist nur in der Debug-Version des Programmes sichtbar und enthält keine Einträge, die für Endanwender von Interesse sind.


Extra

Unter diesem Menüpunkt können allgemeine Einstellungen getätigt werden. Diese Einstellungen werden wie die Anmeldedaten (bis auf das Passwort) und die Fensterkoordinaten dauerhaft gespeichert.
Der Speicherort ist die Datei DB_edit.ini im Programmverzeichnis.

Bilder-Verzeichnis
Bildergröße
Höhe Textfeld
Fehlerprotokoll


Bilder-Verzeichnis

Es öffnet sich ein Standarddialog zur Verzeichnisauswahl. Hier kann der Benutzer angeben, in welchem Verzeichnis Bilder gesucht werden sollen.


Bildergröße

Hier kann der Benutzer einstellen, welche Größe (in Pixeln) Bilder im Eingabefenster haben dürfen. Es gilt die längere Seite, größere Bilder werden entsprechend verkleinert.


Höhe Textfeld

Hier kann der Benutzer einstellen, welche Höhe (in Pixeln) die mehrzeiligen Textfelder im Eingabefenster haben sollen.


Fehlerprotokoll

Hier öffnet sich ein kleines Dialogfenster, mit dem der Status des Fehlerprotokolles angezeigt wird und geändert weden kann. Wenn das Fehlerprotokoll eingeschaltet ist, werden zahlreiche Ausgaben in die Protokolldatei "prot.txt" im Programmverzeichnis gemacht sowie Datenbankzugriffe in der Datei "sqllog.txt" protokolliert. Dieser Modus dient dazu, ein festgestelltes Fehlverhalten zu reproduzieren und die währenddessen erfolgten Ausgaben zur Fehlersuche durch den Entwickler zu verwenden.

Bei Programmstart ist das Protokoll ausgeschaltet und in die Datei "prot.txt" werden nur sehr wenige Ausgaben gemacht, z.B. wird das Auftreten einer Ausnahme (Laufzeitfehler) protokolliert, wenn das möglich ist.


?

Unter diesem Menüpunkt befinden sich Hilfe und Information zum Programm.

Hilfe
Admin-Hilfe
Info...


Hilfe

Ruft dieses Hilfedokument auf.
Mit der Taste F1 wird ebenfalls diese Hilfe aufgerufen, nach Möglichkeit passend zum Kontext.


Admin-Hilfe

Ruft ein Dokument auf, das Hinweise für Administratoren enthält.


Info...

Zeigt die Programmversion sowie eine kurze Information zum Programm und zum Entwickler.


Die einzelnen Datentypen

In diesem Kapitel werden die einzelnen Datentypen beschrieben, die das Programm kennt. Zu jedem Datentyp wird eine Erläuterung des erzeugten Eingabefeldes gegeben.

  • Ganze Zahl
    (Symbol in der Strukturansicht)
    Die Eingabe erfolgt in einem Textfeld. Wenn Minimal- und Maximalwert definiert sind, werden sie in der Kopfzeile angegeben.
    Das komplette Fehler einer Eingabe führt zu einer Warnung über den fehlenden Wert. Die Eingabe von "oP" (Kleinschreibung beliebig) steht für "ohne Prüfung", also einen fehlenden Wert ohne Warnung.

  • Gebrochene Zahl
    (Symbol in der Strukturansicht)
    Die Eingabe erfolgt in einem Textfeld. Wenn Minimal- und Maximalwert definiert sind, werden sie in der Kopfzeile angegeben.
    Das komplette Fehler einer Eingabe führt zu einer Warnung über den fehlenden Wert. Die Eingabe von "oP" (Kleinschreibung beliebig) steht für "ohne Prüfung", also einen fehlenden Wert ohne Warnung.

  • Textfeld einzeilig
    (Symbol in der Strukturansicht)
    Die Eingabe erfolgt in einem Textfeld. Wenn Minimal- und Maximallänge definiert sind, werden sie in der Kopfzeile angegeben.

  • Textfeld mehrzeilig
    (Symbol in der Strukturansicht)
    Die Eingabe erfolgt in einem mehrzeiligen Textfeld. Die Höhe des Feldes ist einstellbar. Wenn Minimal- und Maximallänge definiert sind, werden sie in der Kopfzeile angegeben.

  • Ja/Nein, Wahrheitswert
    (Symbol in der Strukturansicht)
    Die Eingabe erfolgt in einer Checkbox. Um die Selektiertheit dieses Feldes deutlicher zu machen, wird ggf. der Hintergrund des Hinweistextes weiß angezeit.

  • Datum
    (Symbol in der Strukturansicht)
    Das Eingabefeld zeigt eine Checkbox und das Datum als Text, aufgeteilt in Tag, Monat und Jahr. Die Checkbox gibt an, ob das Datum gültig sein soll oder nicht. Mit den Cursortasten links und rechts kann zwischen diesen vier Elementen gewechselt werden. Die Cursortasten rauf und runter ändern den jeweiligen Wert um eine Stufe. Bei der Checkbox ist dafür wie gewohnt die Leertaste zuständig. Die Eingabe eines Punktes bewirkt den Sprung nach rechts auf das nächste Element, sodass ein Datum wie gewohnt eingetippt werden kann. Dabei kann das Jahrhundert auch weggelassen werden, also z.B. "1.1.06". Mit der Funktionstaste F4 oder einem Click auf das Aufklappsymbol ganz rechts wird eine Kalenderansicht aufgerufen.
    Mit aufgeklappter Kalenderansicht:

    Das Datum wird gelöscht, wenn die Checkbox kein Häkchen enthält.

  • Bild
    (Symbol in der Strukturansicht)
    Das Bild wird am linken Rand dieses Eingabefeldes angezeigt. Es erscheint ggf. verkleinert auf die maximale erlaubte Bildgröße (einstellbar).
    Die Textzeilen rechts daneben zeigen Information zum eingestellten Bildpfad und zum ausgewählten Bild. Wenn das Bild nicht gefunden wird (Datei fehlt oder falscher Bildpfad eingestellt), so erscheint als Bild ein weißes Quadrat, das durchkreuzt ist.
    Der Button "Ändern" öffnet einen Standarddialog zur Dateiauswahl, der die Bilddateien im eingestellten Bildverzeichnis auflistet. Dort kann eine Bilddatei ausgewählt werden, Unterordner sind erlaubt.
    Der Button "Ansehen" öffnet ein Dialogfenster mit dem gewählten Bild in Originalgröße.
    Der Button "Löschen" entfernt den Dateinamen und wählt damit kein Bild aus. Die Bilddateien selbst werden dadurch nicht beeinflusst.

  • Einfache Auswahl
    (Symbol in der Strukturansicht)
    Das Eingabefeld zeigt eine Auswahlbox und rechts daneben drei Buttons:

    Der Button Ansehen zeigt das ausgewählte Objekt in einem eigenen Eingabedialog an, dabei besteht unabhängig von den Rechten des angemeldeten Benutzers kein Schreibrecht und damit keine Änderungsmöglichkeit.

    Der Button Bearbeiten zeigt das ausgewählte Objekt in einem eigenen Eingabedialog an, dabei besteht abhängig von den Rechten des angemeldeten Benutzers ggf. ein Schreibrecht. Somit kann das Objekt verändert werden.

    Der Button Kopie erzeugen zeigt eine Kopie des ausgewählten Objektes in einem Eingabedialog an. Dabei wird der Name um den Text "(Kopie)" ergänzt (und die ID ungültig gemacht). Wird das Objekt im Eingabedialog erfolgreich gespeichert und der Dialog geschlossen, so ist das neue Objekt nun das ausgewählte Objekt.

    In allen drei Fällen wird das aktive Objekt zunächst gespeichert, bevor der Eingabedialog mit dem Verweisobjekt angezeigt wird. Hierbei können wie bei jedem Speichervorgang Warnungen oder Fehler auftreten, die das aktive Objekt betreffen.
    Ebenfalls in allen drei Fällen muss der Eingabedialog über das Schließkreuz rechts oben im Fenster geschlossen werden, um wieder im Hauptfenster arbeiten zu können.

  • Mehrfache Auswahl
    (Symbol in der Strukturansicht)
    Dieses Eingabefeld ist veränderlich.
    Es zeigt ein Zahlenfeld und eine Gruppe Auswahlboxen, deren Anzahl dem eingestellten Wert entspricht. Rechts neben jeder Auswahl gibt es drei Buttons:

    Der Button Ansehen zeigt das ausgewählte Objekt in einem eigenen Eingabedialog an, dabei besteht unabhängig von den Rechten des angemeldeten Benutzers kein Schreibrecht und damit keine Änderungsmöglichkeit.

    Der Button Bearbeiten zeigt das ausgewählte Objekt in einem eigenen Eingabedialog an, dabei besteht abhängig von den Rechten des angemeldeten Benutzers ggf. ein Schreibrecht. Somit kann das Objekt verändert werden.

    Der Button Kopie erzeugen zeigt eine Kopie des ausgewählten Objektes in einem Eingabedialog an. Dabei wird der Name um den Text "(Kopie)" ergänzt (und die ID ungültig gemacht). Wird das Objekt im Eingabedialog erfolgreich gespeichert und der Dialog geschlossen, so ist das neue Objekt nun das ausgewählte Objekt. Das neue Objekt ist nun auch in den anderen Auswahllisten vorhanden und kann ggf. dort gewählt werden.

    In allen drei Fällen wird das aktive Objekt zunächst gespeichert, bevor der Eingabedialog mit dem Verweisobjekt angezeigt wird. Hierbei können wie bei jedem Speichervorgang Warnungen oder Fehler auftreten, die das aktive Objekt betreffen.
    Ebenfalls in allen drei Fällen muss der Eingabedialog über das Schließkreuz rechts oben im Fenster geschlossen werden, um wieder im Hauptfenster arbeiten zu können.

  • 1:1-Beziehung
    (Symbol in der Strukturansicht)
    Ansicht und Bedienung entsprechen der einfachen Auswahl.
    Es steht kein oder genau ein Objekt zur Auswahl. Dieses verbundene Objekt besitzt einen Rückverweis auf das aktive Objekt. Der Rückverweis bezieht sich auch auf das Eingabefeld, sodass nebeneinander mehrere Exemplare eines 1:1-Verweises auf denselben Typ, aber verschiedene Objekte möglich sind.
    Das verbundene Objekt entsteht durch Klick auf den Button "Kopie erzeugen". Es kann danach nicht mehr entfernt werden. Das verbundene Objekt steht für die Auslagerung seiner Eingabefelder aus dem aktiven Objekt (Zusammenfassung, mehrfache Verwendung des Hilfstyps).

  • Einfache Auswahl mit Rückverweis
    (Symbol in der Strukturansicht)
    Ansicht und Bedienung entsprechen der einfachen Auswahl.
    Die zur Auswahl gestellten Objekte sind eingeschränkt auf die, die einen Rückverweis auf dieses Objekt aufweisen.
    Das Erzeugen einer Kopie erzeugt immer ein Objekt, das einen Rückverweis auf das aktive Objekt besitzt.

  • Mehrfache Auswahl mit Rückverweis
    (Symbol in der Strukturansicht)
    Ansicht und Bedienung entsprechen der mehrfachen Auswahl.
    Die zur Auswahl gestellten Objekte sind eingeschränkt auf die, die einen Rückverweis auf dieses Objekt aufweisen.
    Das Erzeugen einer Kopie erzeugt immer ein Objekt, das einen Rückverweis auf das aktive Objekt besitzt.

  • Rückverweis
    (Symbol in der Strukturansicht)
    Ansicht und Bedienung entsprechen der einfachen Auswahl, jedoch besteht in diesem Eingabefeld grundsätzlich kein Schreibrecht.
    Der Rückverweis wird beim Anlegen eines Objektes als Kopie von einem verweisenden Objekt aus gesetzt.


Fenster und Dialoge

Dieses Kapitel enthält die Beschreibung der wesentlichen Dialoge des Programmes, soweit sie nicht bei den Grundlagen oder unter den Menüpunkten bereits erläutert wurden.

Eingabedialog
Meldungsbox


Eingabedialog

Dieser Dialog wird als eigenes Fenster angezeigt, wenn in einer Auswahl der entsprechende Button gedrückt wird.
Er entspricht auch dem rechten Teil des Hauptfensters.

(Eingabedialog als eigenes Fenster)

Hier werden untereinander alle Eingabefelder des dargestellten Objektes angezeigt. Felder ohne Schreibrecht sind dabei grau und inaktiv.

Das erste Feld ist immer das Feld ID, es gibt die ID in der Datenbank wieder und ist für den einfachen Anwender nicht von Interesse. Auf diesem Feld besteht grundsätzlich kein Schreibrecht für den Anwender.

Das zweite Feld ist immer das Feld Name, es zeigt den verwendeten Namen für das Objekt, der auch in der Baumansicht der Objekte und in Auswahllisten auftaucht. Der Name darf innerhalb eines Typs nicht mehrfach verwendet werden, ggf. wird das als Fehler gemeldet.

Der Button Speichern ruft für das Objekt den Speichervorgang in die Datenbank auf. Davor werden alle Felder validiert (auf Gültigkeit geprüft) und die gefundenen Fehler und Warnungen in einem Meldungsfenster angezeigt. Dort bedeutet der Button OK ein Fortsetzen des Speichervorganges und Abbrechen ein Verhindern der Speicherung. Liegen Fehler vor, kann der Button OK gewählt werden und somit das Objekt nicht gespeichert werden.

Der Button Kopie erzeugen speichert das Objekt (mit allen Konsequenzen, s.o.) und erzeugt bei Erfolg eine Kopie. Dabei wird an den Namen der Text "(Kopie)" angehängt (und die ID ungültig gemacht). Alle Felder erhalten den Status rotgelb. Werden sie bearbeitet, so ändern sie ihren Status entsprechend.
Wird das Objekt nun gespeichert, so werden alle Felder, die noch rotgelb sind, der Reihe nach in einem Meldungsfenster moniert und können einzeln auf den leeren Wert gesetzt werden. Dabei werden die geleerten Felder bearbeitet, verlieren also den rotgelben Status. Ist kein Feld mehr rotgelb, so wird das Objekt wie gewohnt validiert und bei Erfolg gespeichert. Dabei wird die ID in eine gültige ID aus der Datenbank geändert.

Der Button Erneut Lesen liest das Objekt erneut aus der Datenbank und macht damit alle ungespeicherten Änderungen rückgängig.

Schließen des Fensters Das Fenster wird über das Schließkreuz rechts oben geschlossen. Dabei wird eine Warnung erzeugt, wenn das Objekt nach der letzten Änderung nicht gespeichert wurde. Somit kann das Schließen des Fensters mit dem Button Abbrechen im Meldungsfenster verhindert werden.
Das Meldungsfenster beim Schließen weist noch eine Besonderheit auf: Hier kann auch bei Fehlern OK gewählt werden, da das fehlerhafte Objekt ja nicht gespeichert wird.

Kontexthilfe zum Eingabefeld Sie wird aufgerufen, indem der kleine Button mit dem Fragezeichen angeklickt wird. Der Mauszeiger wird dann zum Hilfesymbol. Wird nun auf eines der Eingabefelder geklickt, so erscheint ein Hinweistext, der mit der nächsten Benutzeraktion wieder verschwindet.
Alternativ kann auch im aktiven Eingabefeld die Taste F1 gedrückt werden.

Die Kontexthilfe zeigt nicht einen Text aus der Onlinehilfe zum Programm an, sondern den hinterlegten Hinweistext aus der Strukturdefinition. Dieser Text kann von einem Adminitrator angepasst werden.


Meldungsbox

Dieser Dialog zur Anzeige einer Liste von Meldungstexten wird an mehreren Stellen im Programm verwendet. Er kann in zwei Versionen und unterschiedlichen Stilen angezeigt werden.

Die Stile betreffen die Sortierung der Einträge (nach Level Fehler/Warnung/Meldung oder nach Ursprungsreihenfolge) und die Anzeige als einfachen Text (kann kopiert werden zum Einfügen in anderen Fenstern) oder als Html mit farbig hinterlegten Meldungen je nach Level.

Die Versionen sind:

  • Variabler Stil, hier kann der Anwender über einen Button einen kleinen Einstellungsdialog für die Stile öffnen:

    (Meldungsfenster im variablen Stil)

    Der Button Export zeigt einen Dateiauswahldialog an, der mit dem aktuellen Pfad und einem sinnvollen Dateinamen vorbelegt ist. Gespeichert wird das dargestellte Format, also möglicherweise Html-Code statt Text.

    Der Button Extra öffnet einen Einstellungsdialog:

    (Einstellungsdialog des Meldungsfensters)

    Hier kann die Darstellung der Meldungen in Aussehen und Reihenfolge beeinflusst werden. Die Meldungen selbst bleiben dabei unverändert, sodass die Einstellungen beliebig oft geändert werden können.
    Die Darstellung als normaler Text kann hilfreich sein, wenn die Meldungen in einer Datei gespeichert werden sollen.
    Die Sortierung kann hilfreich sein, wenn die Anzahl der Meldungen groß ist.

  • Fester Stil, hier kann der Anwender aus dem Html-Modus einmalig in den Textmodus wechseln und dann den Text als Datei speichern:

    (Meldungsfenster im festen Stil)


Hintergründe

Hier befindet sich Hintergrundinformation, die dem gewöhnlichen Anwender (lediglich Lese- und/oder Schreibrecht auf den Daten) in der Regel nicht bekannt sein muss.

Speichern von Einstellungen
Tabellen in der Datenbank
Protokollierung der Eingaben
Rechte
Locks
Passwort


Speichern von Einstellungen

Das Programm speichert die vom Benutzer gemachten Einstellungen sowie die Koordinaten der Fenster dauerhaft in der Datei DB_edit.ini im Programmverzeichnis. Die Datei wird beim Programmstart gelesen und beim ordnungsgemäßen Beenden des Programmes geschrieben.

Der Anwender sollte in dieser Datei keine Veränderung vornehmen.

Ist die Datei nicht vorhanden, so werden sinnvolle Standardwerte verwendet. Beim Programmende wird die Datei dann angelegt.


Tabellen in der Datenbank

Das Programm speichert die Daten in Tabellen mit den Tabellennamen, die in der Tabellenstruktur angegeben sind (Nutzdaten-Tabellen). Jedes Eingabefeld entspricht dabei einer Spalte in der entsprechenden Datentabelle. Ausnahme dabei ist die Mehrfachauswahl, für sie wird keine Spalte, sondern eine eigene Zuordnungstabelle angelegt. Namenskonvention: "DEM_", Name der ersten Tabelle, "_", Name des Eingabefeldes, "_", Name der zweiten Tabelle. Daher sollten die Tabellen- und Spaltennamen selbst keinen Unterstrich enthalten.

DB_edit hält die Struktur der Datentabellen und weitere Information in internen Tabellen. Ihr Name beginnt jeweils mit "DE_".
Welche internen Tabelle mit welchen Spalten erforderlich sind, ist im Programm fest vorgegeben. Werden sie nicht gefunden, so liegt keine Datenbank für die Bearbeitung mit DB_edit vor. Sind dagegen nur die Datentabellen nicht vollständig entsprechend der Tabellenstruktur vorhanden, so können sie prinzipiell vom Programm angelegt werden.
Hierzu muss der angemeldete Benutzer das Recht zur Struktur-Administration besitzen.


Protokollierung der Eingaben

Das Programm legt in einer Protokolltabelle (DE_PROT) immer dann einen Eintrag an, wenn sich ein Benutzer anmeldet oder wenn ein Objekt speichert wird.
Der Eintrag enthält Information über den Benutzer, die Art des Vorgangs, die zugeteilten Rechte (beim Anmelden), den Namen des Objektes und seinen Typ (bei Änderung oder Neuanlegen) sowie über den Zeitpunkt.


Rechte

Jeder Benutzer, der sich mit dem Programm an einer Datenbank anmeldet, bekommt bestimmte Rechte: Lesen, Schreiben und/oder Struktur(Datentabellen anlegen).

  • Lesen
    Dieses Recht erlaubt es dem Benutzer, sich an der Datenbank anzumelden und Objekte ohne Schreibrecht aufzurufen.
    Ohne dieses Recht ist keine Anmeldung an der Datenbank möglich.

  • Schreiben
    Dieses Recht erlaubt es dem Anwender, Objekte mit Schreibrecht zu öffnen, Änderungen daran vorzunehmen, Kopien davon zu erzeugen und Speichervorgänge in die Datenbank auszulösen.
    Ohne dieses Recht ist keine Veränderung an den Daten möglich.

  • Struktur
    Dieses Recht erlaubt es dem Anwender, Änderungen an der Struktur der Daten (der Nutzdaten-Tabellen) auszulösen. Insbesondere legt das Programm nach der Anmeldung fehlende Nutzdaten-Tabellen an.
    Ohne dieses Recht führen fehlende Nutzdaten-Tabellen zum Fehler und der Anmeldevorgang scheitert. Bei Abweichungen zwischen der Struktur der Nutzdaten und ihrer Beschreibung in den internen Tabellen ist dann keine Arbeit mit dem Programm möglich.

Diese Rechte sind in der Datenbank für jeden Benutzer getrennt hinterlegt und können bei Bedarf geändert werden.


Locks

Das Programm verhindert konkurrierende Schreibzugriffe auf ein und dasselbe Objekt. Dazu wird die Erteilung eines Schreibrechtes gespeichert (ein Lock angelegt) bzw. bei Vorhandensein eines anderen Schreibrechtes verweigert.

Wenn ein Benutzer ein Objekt mit Schreibrecht öffnet, so wird in einer internen Tabelle (DE_LOCKS) ein Eintrag gemacht, der Nutzer, Objekt und Zeitpunkt enthält. Dieser Eintrag ("Lock") wird wieder gelöscht, wenn der Benutzer im Hauptfenster ein anderes Objekt auswählt oder das Programm beendet.

Fordert nun ein weiterer Anwender Schreibrecht auf ein Objekt an, für das ein solcher Lock besteht, dann erscheint eine Warnungsmeldung und er erhält kein Schreibrecht auf dieses Objekt.

Wird das Programm nicht ordnungsgemäß beendet, so kann ein solcher Lock in der Datenbank verbleiben. Er lässt sich beseitigen, indem sich der betreffende Benutzer an- und wieder abmeldet.


Passwort

Das Passwort für jeden Benutzer ist in der Datenbank gespeichert, aber nicht im Klartext. Es wird als Hashwert nach dem MD5-Algorithmus verschlüsselt. Aus dem vom Anwender bei der Anmeldung eingegebenen Passwort wird ebenfalls durch den MD5-Algorithmus ein Hashwert berechnet. Wenn die beiden Hash-Werte gleich sind, war das Passwort korrekt. Der MD5-Algorithmus gilt zwar als nicht mehr vorbehaltlos sicher, darf aber im gegebenen Zusammenhang als geeeignet und sicher angesehen werden.

Der MD5-Algorithmus ist eine "Einbahnstraße": Aus dem Eintrag in der Datenbank kann das Passwort nicht rekonstruiert werden. Allerdings kann durch Raten und Ausprobieren ein einfaches Passwort herausgefunden werden.

Gibt es ein Problem mit einem vergessenen Passwort, so kann das Passwort in der Datenbank auf den leeren String gesetzt werden. Dieser Wert führt unabhängig vom Passwort bei der Anmeldung zur Akzeptanz. Der Benutzer erhält dann bei der Anmeldung eine entsprechende Warnungsmeldung und sollte umgehend ein Passwort setzen.


Problembehebung

Die Fehlerfreiheit von Software lässt sich nicht mit Sicherheit garantieren.
Das Programm DB_edit enthält daher einige Möglichkeiten, um die Eingrenzung und Behebung von Fehlern zu erleichtern:
  • Meldungsfenster speichern
    Sämtliche Meldungsfenster bieten die Möglichkeit, ihren Inhalt zu speichern. Dabei entspricht die Darstellung und Reihenfolge der Ausgabe der aktuellen Ansicht im Meldungsfenster. Für eine spätere Analyse ist es (vor allem bei sehr zahlreihen Meldungen) hilfreich, hier das Textformat zu wählen.
    Es kann ggf. auch einfach eine Kopie des Textes gemacht werden, um ihn in eine Email einzufügen.

  • Protokolldateien
    Das Programm legt beim Start eine Datei prot.txt im Programmverzeichnis an, eine vorhandene solche Datei wird dabei gelöscht. Wenn das Fehlerprotokoll eingeschaltet ist (Menü "Extra", auch diese Einstellung wird in der INI-Datei gespeichert), dann gibt das Programm in diese Datei zahlreiche Meldungen aus, die Information über den Programmablauf und dabei aufgetretene Fehler enthalten.

    Ähnliches gilt für die Datei sqllog.txt:
    Bei eingeschaltetem Fehlerprotokoll werden hier Fehler beim Zugriff über die ODBC-Schnittstelle auf die Datenbank ausgegeben.

    Zur Problemlösung sollten beide Dateien angelegt und nach Programmende gepackt (gezippt) werden. Sie können dann per Email verschickt werden.

    Eine Mitteilung über die vom Benutzer ausgelösten Aktionen darf nicht fehlen.

    In der Regel wird es von Nutzen sein, wenn auch die verwendete Datenbank zum Nachvollziehen des Problems vorliegt.


Neuerungen in dieser Version

Die Version dieses Hilfedokumentes steht im Inhaltsverzeichnis.
Die Version des Programmes wird mit dem Menüpunkt Hilfe/Über angezeigt.
  • 1.0 (geplant) Diese Version ist noch nicht fertiggestellt.
    Sie soll vier weiter Feldtypen enthalten:
    • 1:1-Verweis
      (Symbol in der Strukturansicht)
      Feste Koppelung zweier Objekte, z.B. für Vererbung ("ein Schlepper ist ein Basisfahrzeug").
    • Einfachverweis mit Rückverweis
      (Symbol in der Strukturansicht)
      Einfachverweis, eingeschränkt auf Objekte mit passendem Rückverweis.
    • Mehrfachverweis mit Rückverweis
      (Symbol in der Strukturansicht)
      Mehrfachverweis, eingeschränkt auf Objekte mit passendem Rückverweis.
    • Rückverweis
      (Symbol in der Strukturansicht)
      Der Rückverweis für die drei oben genannten Typen. Dieses Feld kann vom Benutzer nicht direkt verändert werden.
    Damit wäre der vereinbarte Leistungsumfang des Programmes erreicht.

  • 0.9.9 (30.1.2006)
    • Fehler behoben: Speichern von Fließkommazahlen (auch mit deutschem Dezimaltrenner).
    • Bilddateien werden in das Bildverzeichnis kopiert, der Name kann dabei gewählt werden.
    • Die Spalte für den eindeutigen Namen heißt nun IDTEXT statt NAME. Der Wert wird beim Speichern erzeugt, wenn die Spalte NUMMER (Text) existiert und die Spalte NAME (Einfachverweis) und für die Spalte das Schreibrecht entzogen wurde.

  • 0.9.5 (16.12.2005)
    • Die Hilfe und die Admin-Hilfe wurden überarbeitet und beschreiben nun den aktuellen Stand des Programmes.
    • Die Menüleiste wurde überarbeitet.
    • Die Strukturansicht wird optional dem aktuellen Eingabefeld nachgeführt.
    • Einige Einstellungsmöglichkeiten wurden hinzugefügt: Größe der Bilder, Höhe der mehrzeiligen Textfelder.
    • Beim Speichern eines als Kopie erzeugten Objektes werden alle unveränderten Felder einzeln angemahnt und können geleert werden.
    • Datenbanknamen für Tabellen und Spalten werden auf Sondrzeichen geprüft.

  • 0.9.3 (10.12.2005)
    • Die Buttons neben der Einfach- und Mehrfachauswahl sind angebunden.
    • Es wird jeweils ein Lock auf ein Objekt gesetzt, wenn es mit Schreibrecht geöffnet wird. Mehrfaches Schreibrecht wird verhindert.
    • Einige kleinere Fehler wurden behoben.
    • Feldstatus überarbeitet
      Kopierte Felder weisen jetzt den Status GelbRot auf, der sich beim Editieren in Gelb verwandelt und beim Speichern in Grün. Hier soll beim Speichern noch die Abfrage erfolgen, was mit den gelbroten Feldern geschehen soll.
    • Geändert: Mehrfachauswahl mit Anzahl Null ohne Warnung
      Es gibt nun keine Warnung mehr, wenn die Anzahl Null ist.
    • Behoben: Kopieren und sofort speichern erzeugt Fehler
      War ein Bug, ist behoben.
    • Behoben: Verwerfen war ohne sichtbare Effekt
      Das war ein Bug und ist behoben.
    • Behoben: "Schwerwiegender Fehler" beim Programmende
      Das war ein Bug. Er trat dann auf, wenn ein Eingabefeld aktiv war (den Fokus hatte) und ist behoben. Dieser Fehler trat nach Ende aller Speichervorgänge auf und hat die Daten nicht beeinflusst.

  • 0.8.0 (3.10.2005, Produktivversion) Diese Version ist bereits für den Testbetrieb im produktiven Umfeld gedacht.
    • Die Passworte werden verschlüsselt gespeichert.
    • Alle Typen von Eingabefeldern sind vorhanden (auch Bilder), mit Ausnahme der Rückbezüge.
    • Die Feldampel (farbige Statusanzeige für die Eingabefelder) ist implementiert.
    • Alle Anmeldungen und modifizierenden Zugriffe werden in der internen Tabelle DE_PROT protokolliert.
    • Ein reproduzierbarer Absturz (bei Objektwechsel ohne Speichern) wurde behoben.
    • Fensterprositionen, letzte Datenbank und Login werden in der DAtei DB_edit.ini gespeichert.