Felder und Bäume
Mini-Datenbanken, Teil 2: gCatalog und xmbase-grok
Eigene Datenbanken definieren
Grok-Datenbanken bestehen aus mindestens zwei Dateien: die mit der Endung .db speichert die Datensätze, und bei der mit der Endung .gf handelt es sich um die Formulardatei.
Um eine neue Datenbank anzulegen, erzeugen Sie zunächst mit dem Befehl touch im ~/.grok-Verzeichnis eine Datei zum Speichern der Datensätze:
touch meinedatenbank .db
Anschließend wählen Sie den Menüpunkt File | Form Editor | Create new form from scratch an, und der Formulareditor von Grok erscheint (Abbildung 5).
Erschrecken Sie nicht ob der Vielfalt der Felder und Knöpfe; wichtig ist zunächst das obere Viertel. Ins Feld Form Name geben Sie einen Namen für das Eingabeformular ein. Sie brauchen dabei die Endung .gf nicht mit anzuführen. Referenced database füllen Sie mit dem Namen der soeben erzeugten Datensatzdatei. Im Allgemeinen haben Datensatz- und Formulardatei den gleichen Namen, sie unterscheiden sich nur in der Endung. Wenn Sie keinen Pfad zu den Dateien angegeben haben, werden sie automatisch im ~/.grok-Verzeichnis gespeichert.
Im Feld dbase field delim können Sie das Zeichen festlegen, das Grok als Trennzeichen zwischen den Feldern verwenden soll. Standard ist hier der Doppelpunkt. Wenn Sie nicht möchten, dass Benutzerinnen die Daten in der Datenbank verändern, wählen Sie die Option Read Only. Bei Comment können Sie das Formular kurz beschreiben.
Unter diesen Eingabefeldern finden Sie eine Reihe von Schaltflächen, mit denen Sie verschiedene Teile des Formulars bearbeiten können. Ein Klick auf Preview zeigt Ihnen das Formular so, wie es später im Hauptfenster von Grok zu sehen sein wird. Def Help öffnet ein Fenster, in das Sie einen Hilfetext zum Formular eingeben können. Dieser erscheint später, wenn die Benutzerin Ihrer Datenbank Help/Current Database aus dem Grok-Menü wählt.
Mit einem Mausklick auf Done verlassen Sie den Formulareditor, das "Formblatt" wird gespeichert und steht sofort für die Dateneingabe zur Verfügung. Wollen Sie die Formularbearbeitung beenden, ohne die Änderungen zu speichern, klicken Sie auf Cancel. Wenn Sie mit den Angaben im oberen Teil des Formulars fertig sind, können Sie beginnen, die einzelnen Felder der Datenbank zu definieren. Um ein neues Feld anzulegen, klicken Sie auf Add. Die Felder im unteren Teil des Formulareditors werden jetzt aktiviert. Zunächst müssen Sie den Feldtyp auswählen. Tabelle 3 gibt einen Überblick über die verfügbaren Typen. Anschließend legen Sie mit Internal field name den Namen des Felds fest. Für einfache Datenbanken sind jetzt noch Angaben im Textfeld Label text für die Beschriftung des Eingabefelds und Max input length für seine maximale Länge nötig. Im Textfeld Summary column müssen Sie eintragen, in welcher Tabellenspalte das Feld auftauchen soll. Mit Width in summary geben Sie schließlich die Breite des Felds in der Zusammenfassung an. In den anderen Formulareditorfeldern sind keine Einträge erforderlich. Wenn Sie hier mehr wissen möchten, bietet sich die Grok-Dokumentation als Referenz an.
Tabelle 3: Feldtypen
| Input | In ein Feld vom Typ Input können Sie Text und Zahlen eingeben. |
| Time | Der Felddatentyp Time dient zur Verwaltung von Datums- und Zeitwerten. |
| Note | Ein Note ist ein mehrzeiliges Eingabefeld. Sie können hier längere Texte eingeben. |
| Choice | Dieser Felddatentyp erlaubt das Speichern einer Auswahl aus mehreren Möglichkeiten. Mehrere dieser Elemente beziehen sich auf das selbe Datenfeld. Grok sorgt dafür, dass stehts nur ein Choice ausgewählt werden kann. |
| Label | Ein Label dient zur Ausgabe eines einzeiligen Texts. Es ist nicht an ein Feld in der Datenbank gebunden. |
| Felder vom Typ Print dienen zur Ausgabe des Inhalts eines Datenfelds. Sie können hier keine Daten eingeben. | |
| Flag | Mit Feldern vom Typ Flag können Sie die Begriffe wahr und falsch darstellen. |
| Button | Mit Buttons lösen Sie Aktionen aus, zum Beispiel den Start eines Skripts. |
| Chart | Mit Hilfe von Charts können Sie Werte grafisch ausgeben. Ein Beispiel für die Verwendung von Charts sehen Sie in Groks Beispieldatenbank weather.
|
Nach und nach definieren Sie jetzt die Felder Ihrer Datenbank. Wenn Sie einen Blick auf das Aussehen des Formulars werfen möchten, klicken Sie auf Preview. Um die Felder der Datenbank auf der Oberfläche des Formulars zu platzieren, wechseln Sie ins Form Editor Canvas. Dieses Fenster zeigt den Inhalt des Formulars an. Felder sind dunkelblau, mit einem schwarzen Rand und einer Trennlinie in der Mitte dargestellt (Abbildung 6). Sie können ein Feld bewegen, indem Sie mit der linken Maustaste hinein klicken und es dann mit gedrücktem Mausbutton verschieben. Wenn Sie eine der Ecken mit der linken Maustaste greifen, verändern Sie die Größe des Felds.
Sind Sie mit Ihren Felddefinitionen zufrieden, klicken Sie auf Done. Das Formular wird gespeichert, das Hauptfenster von Grok mit dem soeben neu definierten Formblatt erscheint, und Sie können sofort mit der Dateneingabe beginnen.
Einfach ein Baum
GCatalog unterscheidet sich von anderen Datenbankprogrammen dadurch, dass es keine Listen- und Tabellenansicht kennt, sondern die Daten in einer Baumstruktur sortiert. Wir stellen das Programm an dieser Stelle kurz vor, um das Konzept dahinter zu erläutern. Für die tägliche Arbeit ist GCatalog momentan noch nicht geeignet.
Download und Installation von gCatalog sind schnell erledigt. Sie besorgen sich von [3] die Version 0.2.3, packen das Archiv mit dem Befehl
tar -xvzf gCatalog-0.2.3.tar.gz
aus, wechseln ins neu entstandene Verzeichnis gCatalog-0.2.3 und starten die Übersetzung mit dem Befehl
make
GCatalog benötigt zum Übersetzen die GNOME-Bibliotheken und das Paket imlib. Wenn der Kompiliervorgang beendet ist, geben Sie als Root
make install
ein, und fortan lässt sich das Programm durch Eingabe von gCatalog in einer Shell starten.
Das gCatalog-Hauptfenster ist dreigeteilt (Abbildung 7). Am oberen Rand finden Sie wie gewohnt Menü- und Werkzeugleiste, links unten sehen Sie eine Baumansicht der Datensätze, unten rechts die Datensätze selbst. GCatalog kann beliebig viele Dateien gleichzeitig geöffnet halten, über die Karteireiter wechseln Sie zwischen den Dateien hin und her.
Die Daten werden in der Baumstruktur nach Rubriken, Unterrubriken und Einträgen oder Items sortiert. Um eine neue Rubrik anzulegen, wählen Sie Bearbeiten/Operations/New Category. Im jetzt erscheinenden Dialog geben Sie eine Bezeichnung für die Rubrik ein. Unterrubriken erstellen Sie auf die gleiche Weise. In jeder Rubrik oder Unterrubrik können Sie beliebig viele Datensätze, in gCatalog items genannt, ablegen. Sie wählen Bearbeiten/Operations/New Item und tragen eine Überschrift für den Datensatz ein. Um seine Beschreibung zu ändern, wählen Sie Bearbeiten/Change Description aus dem Menü und geben einen neuen Text ein. Zu jeder Rubrik und jedem Datensatz können Sie eine Grafik ablegen. Die Grafik ändern Sie mit Hilfe des Menübefehls Bearbeiten/Change Image, ein Dateiauswahldialog erscheint, in dem Sie die gewünschte Datei wählen können. Leider wird das Bild in der gegenwärtigen gCatalog-Version beim nächsten Öffnen der Datenbank nicht mehr angezeigt.



