Anwendungsentw. unter Lotus Notes Domino 6.5 <Leseprobe

Transcription

Anwendungsentw. unter Lotus Notes Domino 6.5 <Leseprobe
Markus Donskoj
Matthias Knäpper
Primoz Perc
Anwendungsentwicklung
unter Lotus Notes Domino 6.5
Konzepte, Technologien, Realisierung
ADDISON-WESLEY
An imprint of Pearson Education
München • Boston • San Francisco • Harlow, England
Don Mills, Ontario • Sydney • Mexico City
Madrid • Amsterdam
3
Arbeiten mit DominoDatenbanken
Eine Domino-Datenbank ist der Grundbaustein einer jeden Domino-Anwendung.
Im Gegensatz zum klassischen Verständnis des Begriffs Datenbank beinhaltet eine
Domino-Datenbank nicht nur Daten, sondern auch die so genannten Gestaltungselemente – diese bestimmen das Aussehen der Benutzerschnittstelle einer DominoAnwendung und enthalten die zur Verarbeitung von Daten erforderliche Programmlogik. In diesem Kapitel wollen wir uns zunächst einmal mit Grundlagen
der Domino-Datenbanken auseinander setzen und diese auch sofort in der Praxis
ausprobieren. Hierzu beginnen wir in diesem Kapitel mit der Entwicklung eines
einfachen Praxisbeispiels – einer Anwendung zur Verwaltung von Informationsquellen, die wir in den nächsten Kapiteln noch weiter ausbauen werden.
3.1
Über Domino-Datenbanken
Eine Domino-Datenbank ist zunächst einmal eine Ansammlung von miteinander
in sachlicher Beziehung stehenden Dokumenten (engl. notes), welche sich wiederum
aus mehreren Feldern zusammensetzen. Domino-Dokumente sind zunächst mit einzelnen Datensätzen einer relationalen Datenbank zu vergleichen (die sich in der
Regel auch aus mehreren Feldern zusammensetzen), mit dem Unterschied, dass bei
Domino-Datenbanken auch sämtliche Metadaten, die Programmlogik und die Ausgestaltung der Benutzerschnittstelle – die so genannten Gestaltungselemente – in
Form von Dokumenten bzw. Feldern verwaltet werden. Die Bezeichnung »Datenbank« ist in diesem Zusammenhang also leicht irreführend, denn eigentlich ist eine
Domino-Datenbank eine fertige Anwendung, welche allerdings (im Vergleich zu
einem EXE-Modul beispielsweise) eine spezielle Ablaufumgebung braucht – eben
den Notes-Client oder den Domino-Server. Dies ist ein wichtiger Unterschied zu
klassischen Datenbankanwendungen, die häufig durch eine ausgeprägte Trennung
der Benutzerschnittstelle und der Anwendungslogik einerseits und der Datenhaltung andererseits gekennzeichnet sind.
Rein physisch manifestiert sich eine Domino-Datenbank in Form einer Datei mit
der Endung .NSF. Diese stellt eine abgeschlossene Einheit aus Anwendungslogik
und Daten und ist als solche entsprechend einfach zu transportieren. Eine
Domino-Anwendung besteht in der Regel aus einer einzelnen Domino-Datenbank.
Beispiele für solche Anwendungen sind etwa Diskussionsforen, Dokumentenverwaltungsablagen oder Adressbücher. Aus der Sicht der Anwendungsentwicklung
spricht allerdings nichts dagegen, die Funktionalität einer Domino-Anwendung
auf mehrere Datenbanken zu verteilen: gerade komplexere Anwendungssysteme,
z.B. Domino-basierte Intranetportale bestehen in der Regel aus mehreren, miteinander vernetzten Domino-Datenbanken.
IBM SOFTWARE PRESS
58
Arbeiten mit Domino-Datenbanken
Vorteile von Domino-Datenbanken
Für den Anwender (und noch vielmehr für den Anwendungsentwickler) dürfte sich
zunächst einmal die Frage stellen: warum Inhalte in einer Domino-Datenbank ablegen? Um den Charakter und die Vorteile von Domino-Datenbanken zu verstehen,
wollen wir diese im Folgenden zwei Alternativen gegenüberstellen: zum einen dem
konventionellen Dateisystem und zum anderen einer relationalen Datenbank.
Domino-Datenbanken und Dateisysteme
Das konventionelle Dateisystem besticht vor allem durch seine Einfachheit: Das
Ordnerparadigma ist intuitiv verständlich sowie von jeder Anwendung heraus verfügbar. Außerdem eignet sich das Dateisystem zur Verwaltung unterschiedlicher
Dateitypen. Warum also eine weitere Dateiablage? Gegenüber einem Dateisystem
führt Domino eine Vielzahl von Vorteilen ins Feld. Zunächst einmal besticht eine
Domino-Datenbank durch einen höheren Grad an Informationsstrukturierung. Da
sämtliche Informationen auf Feldebene verwaltet werden, lassen sich in Notes
Domino verhältnismäßig einfach sowohl gängige Metadaten (also Daten über
Daten, z.B. Name des Autors) erfassen als auch neue Kategorien von Metadaten definieren. Gepaart mit der Fähigkeit von Notes Domino, beliebige Sichten auf solche
Metadaten zu erstellen, ergeben sich daraus leistungsstarke und flexible Möglichkeiten des Informationszugriffs. Dieser wird noch erleichtert durch die kostenlos
mitgelieferte Möglichkeit der Volltextsuche in den Informationsbeständen. Ferner
lassen sich die Informationen in Domino-Datenbanken durch die Replikation
besonders einfach verteilen (man spricht in diesem Zusammenhang von so genannter kontrollierter Redundanz). Das fein gegliederte, Web-kompatible Sicherheitsmodell ist zudem um einiges flexibler als bei konventionellen Dateisystemen. Für
den Einsatz von Domino-Datenbanken sprechen nicht zuletzt die Plattformunabhängigkeit von Domino und die Möglichkeit, die Informationen in Datenbanken
durch die integrierten Werkzeuge zur Anwendungsentwicklung schnell im Sinne
der Anwendungsbedürfnisse aufzubereiten.
Domino-Datenbanken und relationale Datenbanken
Gegenüber klassischen relationalen Datenbanken besticht eine Domino-Datenbank insbesondere, wenn es um die flexible Verwaltung unstrukturierter Inhalte
geht. So kann man in einer Domino-Datenbank Inhalte eines beliebigen Typs
(Office-Dokumente, Applets, Bilder, Videos, Sounds) verwalten und die Struktur
einzelner »Datensätze« ad hoc beliebig verändern. Dieser Vorteil muss allerdings
durch die fehlenden Mechanismen zur Sicherstellung der Datenqualität erkauft
werden: So kennt eine Domino-Datenbank keine referenzielle Integrität (diese
kann lediglich manuell »nachgebaut« werden). Eine automatische Vermeidung
von Redundanzen fehlt ebenso. Somit wird man eine Domino-Datenbanken kaum
einsetzen, wenn es um die Verwaltung großer Mengen von strukturierten Daten
geht, was allerdings in Groupware-Anwendungen ohnehin selten der Fall sein
wird1. Eine Zusammenfassung der Vor- und Nachteile der einzelnen Alternativen
ist in der Tabelle 3.1 dargestellt.
1
Wohl wissend um diese Nachteile, spendierte Lotus Domino einen leistungsfähigen Mechanismus zur Anbindung von externen Datenquellen.
Aufbau einer Domino-Datenbank
59
DominoDatenbank
Dateisystem
relationale
Datenbank
Integration mit
gängigen OfficeAnwendungen
Insbesondere
Lotus-Anwendungen
(SmartSuite),
teilweise auch
Microsoft Office
Sehr gut
Nein
Replikation
Ja
Nein
Ja
Verwaltung von
strukturierten Inhalten
Geeignet
Ungeeignet
Sehr gut geeignet
Verwaltung von unstrukturierten Inhalten
Geeignet
Geeignet
Ungeeignet
Volltextsuche
Ja
Nein
Nein1
Sicherheit
Vielzahl von Sicherheitsmechanismen,
fein granulierte
Zugriffsbeschränkung,
Web-kompatibel
Zugriffsbeschränkung auf der
Betriebssystemebene
Fein granulierte
Zugriffsbeschränkung
Tabelle 3.1: Domino-Datenbanken und Alternativen – ein Vergleich1
3.2
Aufbau einer Domino-Datenbank
Wie in der Abbildung 3.1 dargestellt, kann man sich eine Domino-Datenbank wie
eine große Tabelle vorstellen, in der die Zeilen durch die Felder und die Spalten durch
die Dokumente repräsentiert werden. Dokumente können ihrem Typ nach noch mal
in Datenbankinformationen, Gestaltungselemente und Daten unterteilt werden.
Datenbankinformationen
beinhalten Einstellungen wie den
Datenbanknamen, Größe und die
Zugriffsbeschränkungen.
Felder können auch
nachträglich ergänzt
werden.
Gelöschte Dokument
stellen erstmal ein
"Loch" in der Struktur
dar.
Abbildung 3.1: Aufbau einer Domino-Datenbank
1
Volltextsuche in relationalen Datenbanken erfordert in der Regel den Zukauf eines speziellen Moduls.
IBM SOFTWARE PRESS
60
Arbeiten mit Domino-Datenbanken
Metadaten
Die Metadaten umfassen alle Eigenschaften, welche die Datenbank als Ganzes und
einzelne Dokumente beschreiben, jedoch nicht den eigentlichen Inhalt darstellen.
Dazu gehören beispielsweise Informationen über die Identifikation einer Datenbank
wie Datenbanktitel, Name der Datenbankdatei, eindeutige Replik-ID, Verwaltungsparameter, z.B. die Versionsnummer, maximale Größe, freier Speicherplatz, das Nutzungsprotokoll sowie die Informationen über den Zugriffsschutz, welche in Form so
genannter Zugriffskontrolllisten verwaltet werden. Darüber hinaus lassen sich auch
einzelne Dokumente durch Metadaten beschreiben: Name des Autors, Erstellungsdatum und Zugriffsberechtigungen sind nur einige Beispiele. Bei Metadaten handelt
es sich größtenteils um Informationen, welche beim Erstellen einer Datenbank vom
Anwender spezifiziert oder aber vom System automatisch verwaltet werden.
Gestaltungselemente
Neben reinen Inhalten in Form von Dokumenten besteht eine Domino-Datenbank
aus einer Reihe von Gestaltungselementen. Informationen über diese werden intern
ebenfalls in Form von Dokumenten und Feldern verwaltet und unterliegen daher
den gleichen Gesetzen: Sie können kopiert, gelöscht und – nicht zuletzt – repliziert
werden. Das letztere Feature ist insbesondere bei der verteilten Anwendungsentwicklung unentbehrlich. Die nun folgende Auflistung gibt einen Überblick über
die Gestaltungselemente von Notes Domino. Einzelheiten zu jedem Gestaltungselementtyp finden Sie in den nachfolgenden Kapiteln.
: Gliederungen; stellen das logische Grundgerüst einer Anwendung bzw. Website dar und ermöglichen eine prompte Navigation zu einer bestimmten Stelle.
: Rahmengruppen: Besser bekannt unter der englischsprachigen Bezeichnung
»Framesets«, stellen sie eine Ansammlung von Informationen über die Aufteilung des Bildschirms in mehrere Teilbereiche (»Frames«) dar. Dieses Feature
wurde vor allem durch Netscape popularisiert und ist nun auch Bestandteil von
Lotus Domino.
: Masken: dienen zum Erstellen, Editieren sowie Anzeigen von Dokumenten.
Das Aussehen eines Dokuments und ein Großteil der Funktionalität einer Anwendung werden im Rahmen von Masken festgelegt. Ein Dokument erhält ein
Erscheinungsbild erst, indem es im Rahmen einer Maske angezeigt oder bearbeitet wird.
: Ansichten: Listen von Dokumenten, die anhand bestimmter vorgegebener Kriterien selektiert, kategorisiert und sortiert werden, vergleichbar mit dem Begriff
»View« aus der Welt der relationalen Datenbanken
: Ordner: ähneln in ihrer Funktion stark den Ansichten. Der Unterschied besteht
lediglich darin, dass Inhalte von Ordnern nicht anhand eines vordefinierten
Auswahlkriteriums angezeigt werden, sondern dort erst vom Benutzer manuell
abgelegt werden müssen (ähnlich den Ordnern im Windows-Explorer).
: Seiten: Eine Seite ist einfach – wie der Name vermuten lässt – ein visuelles Konstrukt, welches zur Darstellung von Inhalten dient, die nicht aus einem Dokument basieren. Sie kann wie ein jedes Dokument mit beliebigen Inhalten (Text,
Aufbau einer Domino-Datenbank
61
Bilder, Applets usw.) gefüllt werden, hat aber den Vorteil, dass sie nicht an eine
bestimmte Maske gebunden ist.
: Navigatoren: Grafische Steuerelemente, die in der Regel zur Auswahl einer bestimmen Ansicht verwendet werden. Falls man keinen Navigator einsetzt, wird
ein vom System vorgegebener Standardnavigator (»Ordner & Ansichten«) angezeigt, in dem alle verfügbaren Ordner und Ansichten enthalten sind.
: Agenten: Makroähnliche Programmabläufe, die in einer Datenbank im Hintergrund (in Abhängigkeit von einem bestimmten Ereignis) oder per Knopfdruck
für den Benutzer routinemäßige Aufgaben erledigen. Agenten können sowohl
einfache Aktionen als auch komplexe in Java oder LotusScript geschriebene Abläufe ausführen.
: Ressourcen: sind alle diejenigen Elemente, die in der einen oder anderen Form
wiederverwendet werden können. Hierzu gehören:
–
Gemeinsam genutzte Felder: enthalten das Gestaltungsgerüst (Felddefinition) von Feldern, die in mehreren Masken in etwa die gleiche Funktion
erfüllen und daher nicht mehrfach gespeichert werden müssen.
–
Teilmasken: unterstützen das Konzept der Wiederverwendung auf der Maskenebene. Maskenbereiche, die in mehreren Masken eingesetzt werden, können hiermit wiederverwendet werden (z.B. ein Briefkopf).
–
Script-Bibliotheken: Wiederverwendbare LotusScript-Routinen, die man
hier zentral verwalten und pflegen kann, um sie dann an unterschiedlichen
Stellen einzusetzen.
–
Bilder: Bildressourcen, welche archiviert und verwaltet werden können. Für
die Anwendungsentwickler hat dies den großen Vorteil, dass Bilder nicht im
Dateisystem abgelegt werden müssen, sondern direkt in einer DominoDatenbank.
–
Applets: Ähnlich wie Bilder, kann man auch Java-Applets an einer zentralen
Stelle verwalten, um sie dann an einer beliebigen Stelle in der Anwendung
einzusetzen.
: Andere
–
Über diese Datenbank-Dokument: Ein Hilfsdokument, in dem kurz der Sinn
und Zweck sowie die abgedeckten Anwendungsbereiche der betreffenden
Datenbank dargestellt werden
–
Benutzen dieser Datenbank-Dokument: Dieses Hilfsdokument erfüllt den
Zweck, die wichtigsten Bedienungskonzepte sowie Hinweise für den Benutzer zusammengefasst darzustellen.
: Datenbank-Script: Im Rahmen von Datenbank-Scripten lassen sich LotusScript-Code-Fragmente einbauen, die bei bestimmten Datenbankereignissen,
beispielsweise beim Öffnen oder Schließen einer Datenbank oder beim Löschen
von Dokumenten ausgeführt werden.
: Datenbank-Symbol: Die visuelle Darstellung der Datenbank auf dem Bildschirm
lässt sich anpassen. Hierfür steht ein einfaches Zeichenprogramm zur Verfügung.
IBM SOFTWARE PRESS
62
Arbeiten mit Domino-Datenbanken
: Gemeinsame Aktionen: Wiederverwendbare Schaltflächen zur Ausführung
von bestimmten vordefinierten Aktionen
Daten
Auch die eigentlichen Daten werden in Form von Dokumenten verwaltet. Eine nahe
liegende Analogie ist hier der Datensatz in einer relationalen Datenbank. Doch im
Gegensatz zu diesem ist ein Dokument eine autonome Einheit, welche auch die
Information über ihre Struktur selbst verwaltet und sie nicht von einem externen
Objekt (z.B. einer Tabellendefinition) bezieht. Dieser flexible Aufbau hat den Vorteil,
dass die Struktur und die Größe eines Dokuments zu jedem Zeitpunkt beliebig verändert werden können. In diesem Zusammenhang ist oft von compound-documentFunktionalität die Rede. Dokumente fungieren hierbei quasi als Behälter für Grafiken, Texte, Objekte oder multimediale Daten – eine Funktionalität, die bei relationalen Datenbanken nur über sehr umständliche Umwege realisiert werden kann. In
einer dokumentorientierten Umgebung wie Notes bilden compound-documents die
Grundlage einer jeden Internet/Groupware-/Workflow-Anwendung.
3.3
Umgang mit Domino-Datenbanken
Die bisherigen Ausführungen vermitteln lediglich einen recht groben Überblick
darüber, was Domino-Datenbanken sind und wie sie eingesetzt werden. In den folgenden Abschnitten werden wir uns den Umgang mit ihnen anhand eines praktischen Beispiels ansehen. Hierzu werden wir eine Datenbank namens »Literaturverwaltung« anlegen, welche wir in den Folgekapiteln schrittweise ausbauen werden.
3.3.1
Datenbanken öffnen
Doch bevor wir uns der Erstellung einer eigenen Datenbank widmen, werfen wir
zunächst einmal einen Blick auf das Öffnen bestehender Datenbanken. Letzteres
erfolgt mit dem Menübefehl DATEI/DATENBANK/ÖFFNEN. In dem daraufhin erscheinenden Dialogfenster kann man zunächst den SERVER und anschließend die
DATENBANK auswählen. Ferner können Sie mit DURCHSUCHEN eine detailliertere
Suche im Dateisystem durchführen.
Es ist zu beachten, dass neben den Datenbanken, die im Dialogfenster DATENBANK ÖFFNEN angezeigt werden, noch weitere existieren. Der Anwendungsentwickler kann nämlich mit der Option IM DIALOGFELD DATENBANK ÖFFNEN ANZEIGEN in den Datenbankeigenschaften (siehe weiter unten) eine Anzeige im
Dialogfeld verhindern.
Falls Sie ferner über eine lokale Server-Installation verfügen, berücksichtigen Sie,
dass das Öffnen der Datenbank mittels der Angabe des Server-Namens nicht das
Gleiche ist wie das Öffnen der Datenbank über das Dateisystem (etwa mittels
Durchsuchen). Nur im ersten Fall kann die Datenbank von mehreren Benutzern
gleichzeitig geöffnet werden.
Umgang mit Domino-Datenbanken
63
Domino Designer präsentiert beim Öffnen einer Datenbank standardmäßig den
Inhalt des /DATA-Verzeichnisses und zeigt alle dort verfügbaren Datenbanken
(Dateiendung NSF) und Datenbankschablonen (Dateiendung NTF, siehe weiter
unten).
Neben diesen beiden klassischen Dateiendungen gibt es noch weitere, beispielsweise NSF4 (Notes-Version 4) oder BOX (Mailbox-Datei). Um diese zu öffnen,
müssen Sie den Umweg über das Durchsuchen des Dateisystems machen.
Mit der Schaltfläche ÜBER können Sie sich eine Kurzbeschreibung der Datenbank
anzeigen lassen, ohne diese zu öffnen.
3.3.2
Datenbanken erstellen
Eine neue Datenbank kann mit dem Menübefehl DATEI/DATENBANK/NEU erstellt
werden. Es erscheint ein Dialogfenster, in dem man für diese Datenbank mehrere
Optionen festlegen kann (vgl. Abbildung 3.2):
Abbildung 3.2: Neue Datenbank anlegen
: Server: Hier legt man fest, auf welchem Domino-Server die Datenbank angelegt
werden soll. Es empfiehlt sich, zu Testzwecken eine neue Datenbank auf dem
lokalen Rechner anzulegen, da nur hier uneingeschränkte Zugriffsrechte bestehen. Der voreingestellte Eintrag LOKAL ist also beizubehalten.
: Titel: Die Bezeichnung der Datenbank, durch welche die Datenbank im Arbeitsbereich fortan repräsentiert wird. Der Titel sollte kurz und aussagekräftig sein.
Eindeutigkeit der Datenbanktitel ist nicht erforderlich.
IBM SOFTWARE PRESS
64
Arbeiten mit Domino-Datenbanken
: Dateiname: Der eindeutige Name der Datenbankdatei, welcher automatisch
(anhand des Titels) generiert wird, jedoch nicht notwendigerweise mit diesem
übereinstimmen muss
: Größenbeschränkung: Bei Domino-Datenbanken in der Release 4 musste man
bereits bei der Erstellung der Datenbank eine maximale Größe angeben. In der
aktuellen Version besteht diese Anforderung nur, falls die neue Datenbank auf
einem älteren Domino-Server (z.B. Version 4) stationiert wird. Die maximale
Größe einer Domino-Datenbank ab der Release 5 beträgt 64 Gbyte.
: Volltextindex: Mit dieser Option kann automatisch ein Volltextindex erstellt
werden. Ein Volltextindex kann darüber hinaus jederzeit nachträglich erstellt
werden. Mehr Informationen zum Umgang mit der Volltextsuche finden Sie im
entsprechenden Kapitel über die Volltextsuche.
In der Praxis reicht es aus, wenn man beim Erstellen einer Datenbank lediglich den
Titel angibt (in unserem Fall: Literaturverwaltung) und auf OK klickt. Die meisten
Einstellungen können wir zu einem späteren Zeitpunkt anpassen.
3.3.3
Neue Kopie erstellen
Mit dem Befehl DATEI/DATENBANK/NEUE KOPIE kann jederzeit eine 1:1-Kopie einer
Datenbank angefertigt werden. Hierbei kann wahlweise nur die Gestaltung oder
die komplette Datenbank kopiert werden. Das Anfertigen einer Kopie ist (neben
der bereits beschriebenen Komprimierung) ein möglicher Weg, die Datenbankstruktur zu konsolidieren und etwaige Fragmentierungsfolgen zu beseitigen.
Beachten Sie, dass der Befehl NEUE KOPIE nicht identisch mit dem Befehl DATEI/
REPLIZIERUNG/NEUE REPLIK ist. Im letzteren Fall stellt Domino zwischen dem Original und der Kopie mittels einer so genannten Replik-ID eine Beziehung her,
welche zwei Datenbanken als Repliken ausweist, also quasi identische Kopien,
welche im Rahmen der Replikation laufend abgeglichen werden können. Dies
ist beim Befehl NEUE KOPIE nicht der Fall, eine Replizierung kann also nicht stattfinden.
3.3.4
Datenbank löschen
Zum Löschen von Datenbanken existiert ebenfalls ein gesonderter Menübefehl,
DATEI/DATENBANK/LÖSCHEN, welcher über einen »geregelten« Weg eine zuvor ausgewählte Datenbank samt ihrer Inhalte von der Festplatte entfernt.
3.3.5
Datenbankeigenschaften
Nach dem Erstellen bzw. Öffnen einer Domino-Dateibank präsentiert uns Domino
Designer eine Auflistung der Gestaltungselemente der neugebackenen Datenbank
(vgl. Abbildung 3.3).
Umgang mit Domino-Datenbanken
65
Abbildung 3.3: Neue Datenbank im Domino Designer
Wir werden uns den einzelnen Typen von Gestaltungselementen in den nächsten
Kapiteln widmen. Im Folgenden wollen wir uns zunächst einmal den wichtigsten
Features einer Datenbank widmen, welche uns im Dialogfenster EIGENSCHAFTEN:
DATENBANK zur Verfügung stehen. Dieses kann mit dem Befehl DATEI/DATENBANKEIGENSCHAFTEN oder aber kontextsensitiv mit der rechten Maustaste aufgerufen werden, wobei der Cursor sich über dem Datenbanktitel im Arbeitsfenster befinden
sollte.
Abbildung 3.4: Datenbankeigenschaften
Wir werden uns im Folgenden den Umgang mit den – aus der Sicht der Anwendungsentwicklung – wichtigsten Datenbankeigenschaften ansehen. Andere Eigenschaften werden teilweise in speziellen Zusammenhängen verwendet, auf die wir
erst in den folgenden Kapiteln eingehen werden.
IBM SOFTWARE PRESS
66
3.3.6
Arbeiten mit Domino-Datenbanken
Datenbank umbenennen
Die Umbenennung einer Datenbank erfolgt auf der ersten Registerkarte der Eigenschaften: Datenbank im Feld Titel. Wichtig ist hierbei die Unterscheidung zwischen dem Titel und dem Datenbankdateinamen. Während wir den ersteren jederzeit auf der besagten Registerkarte ändern können, kann der Datenbankdateiname
lediglich auf der Betriebssystemebene geändert werden.
Alternativ zur Registerkarte kann eine Datenbank durch den Aufruf des kontextsensitiven Menüs umbenannt werden (Menüpunkt UMBENENNEN).
3.3.7
Datenbank komprimieren
Eine Domino-Datenbank ist, wie bereits erwähnt, wie eine riesige Tabelle aufgebaut. Löschen von Dokumenten in einer Datenbank bewirkt, dass »Löcher« in die
Tabellenstruktur gerissen werden. Die interne Speicherverwaltung von Domino
kann diese zwar zum Teil wieder ausfüllen, indem neue Inhalte anstelle von
gelöschten eingefügt werden. Doch mit der steigenden Anzahl von Löschoperationen findet – ähnlich wie bei herkömmlichen Dateisystemen – eine immer höhere
Fragmentierung der Datenbankstruktur statt, mit der Konsequenz, dass die Datenbank aufgrund der wenig effizienten Speichernutzung »aufgebläht« wird. Um dem
entgegenzuwirken, kann man eine Datenbank komprimieren. Dies kann entweder
manuell (Client) oder automatisch in regelmäßigen Zeitabständen (Server-Task
Compact) erfolgen und resultiert oft in erheblichen Speicherplatzeinsparungen.
Wir wollen uns im Folgenden den ersten Fall ansehen – nämlich die manuelle
Komprimierung. Diese erfolgt auf der Registerkarte INFO (vgl. Abbildung 3.5).
Abbildung 3.5: Komprimieren von Datenbanken
Hier gibt es neben dem aktuell benötigten Speicherplatz sowie der Dokumentenanzahl zwei Schaltflächen, welche die Komprimierung steuern: MIT % VERWENDET
kann man die Fragmentierungsquote einer Datenbank ermitteln. Der eigentliche
Komprimierungsvorgang wird jedoch mit KOMPRIMIEREN eingeleitet.
Benutzer können während des Komprimierungsvorgangs weiter mit der Datenbank arbeiten.
Umgang mit Domino-Datenbanken
3.3.8
67
Mit Schablonen arbeiten
Schablonen
Neben der Möglichkeit, Datenbanken von Grund auf neu zu erstellen, besteht im
Domino Designer die Möglichkeit, auf vorgefertigte Datenbanken – so genannte
Schablonen – zurückzugreifen. Schablonen sind Domino-Datenbanken, die keine
Dokumente, sondern nur das Gestaltungsgerüst (also nur Gestaltungselemente)
enthalten (erkennbar an der Dateiendung .NTF)1. Im Lieferumfang von Domino
sind eine Reihe von interessanten Schablonen enthalten, darunter etwa eine Diskussionsdatenbank und eine Dokumentbibliothek.
Eine umfangreiche Dokumentation zu Domino-Schablonen finden Sie auf der Website von Lotus Developer Domain unter Domino Designer Templates Guide unter der
Adresse
http://www-10.lotus.com/ldd/notesua.nsf/
Schablonen sparen zum einen Entwicklungszeit und -kosten und eignen sich zum
anderen hervorragend als Musterbeispiele für angehende Domino-Entwickler,
denn sie enthalten viele Tipps und Tricks aus erster Hand.
Datenbanken auf Basis von Schablonen erstellen
Wie schnell und einfach man komplette Domino-Anwendungen auf Basis von
Schablonen »programmieren« kann, soll am Beispiel der Diskussionsdatenbankschablone aufgezeigt werden. Um diese zu erstellen, sind folgende Schritte erforderlich:
1. Wählen Sie den Menübefehl DATEI/DATENBANK/NEU.
2. (Optional) Klicken Sie auf die Schaltfläche SCHABLONENSERVER, um den Server
auszuwählen, bei dessen Schablonen Sie sich bedienen möchten. Die Einstellung LOKAL bewirkt die Anzeige der lokalen Schablonen des Domino Designers.
Eine Domino-Server-Installation enthält teilweise andere Schablonen als eine ClientInstallation.
1. Wählen Sie eine Schablone aus. In unserem Fall: DISKUSSION – NOTES UND WEB.
2. Benennen Sie die Datenbank und klicken Sie auf OK.
Gestaltungsänderungen übernehmen
Eine aus der Sicht der Anwendungsentwicklung besonders interessante Eigenschaft
von Schablonen ist, dass man als Entwickler beim Erstellen der Datenbank mit der
Option KÜNFTIGE GESTALTUNGSÄNDERUNGEN ÜBERNEHMEN festlegen kann, dass alle
Gestaltungsänderungen der Schablone automatisch in diejenigen Datenbanken
übernommen werden, die auf dieser Schablone basieren. Insbesondere in großen
1
Die Beschränkung auf Gestaltungselemente ist der häufigste Praxisfall. In einigen Fällen könnte es jedoch
sinnvoll sein, auch Dokumente als Gestaltungselemente zu betrachten. Beispielsweise könnte eine Schablone
Hilfsdokumente enthalten, welche für alle Datenbanken gelten, die mit dieser Schablone erstellt wurden.
Auch dies ist mit der Aktualisierung von Schablonen ohne weiteres möglich.
IBM SOFTWARE PRESS
68
Arbeiten mit Domino-Datenbanken
Unternehmen mit mehreren tausend Arbeitsplätzen lassen sich auf diese Weise
schnell und effizient neue Versionen von Domino-Anwendungen verteilen.
Manuelle Aktualisierung der Gestaltung
Wenn eine Datenbank auf einer Schablone basiert, wird die Aktualisierung der
Gestaltung automatisch von der Server-Task DESIGN, in der Regel auf täglicher
Basis, durchgeführt. Manuelle Aktualisierung ist ebenfalls möglich. Hierzu befinden sich im Menü DATEI/DATENBANK zwei Befehle:
: Gestaltung aktualisieren: ermöglicht die manuelle Aktualisierung der Gestaltung basierend auf einer Schablone. Im Gegensatz zum nächsten Punkt werden
nur die Gestaltungselemente aktualisiert, die anhand einer Schablone erstellt
wurden. Es werden mindestens Entwickler-Zugriffsrechte vorausgesetzt.
: Datenbank-Gestaltung ersetzen: ersetzt die Gestaltung einer Datenbank komplett durch eine andere Schablone. Der Inhalt (die Dokumente) sowie persönliche und/oder geschützte Gestaltungselemente bleiben dabei unberührt. Auch
hier sind mindestens Entwickler-Zugriffsrechte Voraussetzung.
Repository-Datenbanken anlegen
Der Bezug zur Schablone umfasst hierbei nicht notwendigerweise die gesamte Datenbank. Vielmehr lassen sich lediglich einzelne Gestaltungselemente aus Schablonen
übernehmen, womit auch nur diese von einer Aktualisierung betroffen sind.
Um ein einzelnes Gestaltungselement aus einer Schablone zu übernehmen, sind
folgende Schritte erforderlich:
1. Öffnen Sie die Schablone (z.B. die soeben angesprochene Diskussionsdatenbank
im Gestaltungsmodus).
2. Markieren Sie im Arbeitsfenster das betreffende Gestaltungselement.
3. Wählen Sie den Menübefehl BEARBEITEN/KOPIEREN.
4. Öffnen Sie die Zieldatenbank.
5. Wählen Sie den Menübefehl BEARBEITEN/EINFÜGEN.
Domino erkennt automatisch, wenn es sich bei der Quelldatenbank um eine Schablone handelt. Somit werden Änderungen am betreffenden Gestaltungselement, welche in der Schablone vorgenommen werden, beim nächsten Mal automatisch in die
Zieldatenbank(en) übertragen.
Manchmal sind an den Gestaltungselementen, welche auf die oben beschriebene
Art und Weise aus einer Schablone übernommen wurden, Anpassungen erforderlich. Um zu verhindern, dass diese durch die automatische Aktualisierung der
Gestaltung versehentlich überschrieben werden, kann man ein Gestaltungselement schützen. Hierzu sind folgende Schritte erforderlich:
1. Markieren Sie das betreffende Gestaltungselement im Arbeitsfenster.
2. Wählen Sie den Menübefehl DATEI/EIGENSCHAFTEN: DOKUMENT.
3. Aktivieren Sie auf der Registerkarte GESTALTUNG die Option DURCH AKTUAL./ERSETZ. DER GESTALTUNG NICHT ÄNDERBAR (vgl. Abbildung 3.6).
Umgang mit Domino-Datenbanken
69
Abbildung 3.6: Gestaltungselemente schützen
Auf dem eben beschriebenen Weg können Repository-Datenbanken angelegt werden, also Ansammlungen von standardisierten Gestaltungselementen, die unternehmensweit in allen Domino-Anwendungen eingesetzt werden.
RepositorySchablone
A
+
Datenbank
+
Dokumente
+
Schablone
B
+
+
+
+
Abbildung 3.7: Arbeiten mit Schablonen
Das Schablonenprinzip
Abbildung 3.7 soll die prinzipielle Arbeitsweise mit Schablonen verdeutlichen: Hierbei wird eine Datenbank (fortan als Zieldatenbank bezeichnet) basierend auf der
Schablone B erstellt. Dies bedeutet, dass die Zieldatenbank automatisch sämtliche
Gestaltungselemente (dargestellt als Formen) der besagten Schablone übernimmt.
Zusätzlich wird aus der Repository-Schablone A lediglich das pentagonförmige Element in die Zieldatenbank kopiert. Dies könnte beispielsweise ein Maskenbereich
IBM SOFTWARE PRESS
70
Arbeiten mit Domino-Datenbanken
mit dem Logo des Unternehmens sein. Wann immer sich in einer der beiden Schablonen ein Gestaltungselement ändert, reicht es aus, in der Zieldatenbank eine Aktualisierung der Gestaltung durchzuführen (wobei die Aktualisierung, wie gesagt,
sowohl manuell als auch automatisch initiiert werden kann) und schon ist die Zieldatenbank auf dem letzten Stand der Entwicklung. Interessant wird das Ganze,
wenn wir es nicht nur mit einer, sondern unter Umständen mit mehreren hundert
Zieldatenbanken zu tun haben. Darüber hinaus kann die Zieldatenbank ihrerseits
wiederum eine Schablone sein und als solche zur Erstellung weiterer Datenbanken
eingesetzt werden. In Kombination mit der Replikation ermöglicht uns dieses Feature, dass wir quasi über Nacht eine beliebige Anzahl von Datenbanken aktualisieren können.
Eigene Datenbanken als Schablone kennzeichnen
Ob eine Datenbank auf einer Schablone basiert, kann man leicht erkennen. Die
diesbezüglichen Informationen befinden sich auf der Registerkarte GESTALTUNG der
Datenbankeigenschaften (vgl. Abbildung 3.8).
Abbildung 3.8: Registerkarte GESTALTUNG
Umgang mit Domino-Datenbanken
71
Hier besteht zudem die Möglichkeit, eine eigene Datenbank als Schablone zu kennzeichnen. Dies macht Sinn, wenn Sie komplett neue Datenbanken oder auch nur
einzelne Gestaltungselemente, basierend auf einer bestimmten Datenbank, erstellen möchten.
Hierzu sind zwei Schritte erforderlich:
1. Aktivieren Sie auf der Registerkarte GESTALTUNG die Option DATENBANK IST EINE
SCHABLONE.
2. Geben Sie im Feld SCHABLONENNAME einen beliebigen Namen ein. Dieser Name
sollte bei abgeleiteten Datenbanken bzw. Gestaltungselementen im Feld SCHABLONENNAME (bei AUS SCHABLONE ÜBERNEHMEN) eingetragen werden.
Eine Datenbank, welche Sie als Schablone deklarieren möchten, muss nicht notwendigerweise die Dateiendung NTF tragen.
3.3.9
Startoptionen für eine Datenbank festlegen
Mit dem Befehl DATEI/DATENBANKEIGENSCHAFTEN kann auf der Registerkarte STARTEN
festgelegt werden, was geschehen soll, wenn die Datenbank geöffnet wird. Diese
Einstellung kann man in Abhängigkeit davon, ob die Datenbank im Notes-Client
oder im Webbrowser geöffnet wird, getrennt vornehmen (vgl. Abbildung 3.9).
Abbildung 3.9: Startoptionen für eine Datenbank festlegen
IBM SOFTWARE PRESS
72
Arbeiten mit Domino-Datenbanken
Die in Frage kommenden Alternativen sind getrennt für beide Client-Typen in der
Tabelle 3.2 aufgelistet.
Startoptionen im Notes-Client
Startoptionen im Webbrowser
So anzeigen wie vom Benutzer zuletzt verlassen
Notes-Startoption verwenden
Dokument Über Datenbank öffnen
Dokument Über Datenbank öffnen
Angegebene Rahmengruppe öffnen
Angegebene Rahmengruppe öffnen
Angegebenen Navigator öffnen
Angegebene Seite öffnen
Angegebenen Navigator im eigenen Fenster
öffnen
Angegebenen Navigator im eigenen Fenster
öffnen
Ersten Anhang in Über Datenbank starten
Erste Dokumentverknüpfung in Über Datenbank starten
Erste Dokumentverknüpfung in Über Datenbank starten
Angegebene Dokumentverknüpfung starten
Erstes Dokument in Ansicht starten
Tabelle 3.2: Startoptionen einer Datenbank
Dem Aspekt der Software-Verteilung dienlich sind die Optionen BEI ÄNDERUNG
DOKUMENT »ÜBER DATENBANK« ANZEIGEN sowie BEIM ERSTEN ÖFFNEN DER DATENBANK
DOKUMENT »ÜBER DATENBANK« ANZEIGEN. Diese beiden Features ermöglichen es dem
Anwendungsentwickler, eine kurze Information über die Art und den Umfang der
Änderungen bzw. den Sinn und Zweck einer Datenbank gut sichtbar zu platzieren.
Insbesondere in großen Unternehmen, wo neue Datenbanken fast täglich entstehen und der Nutzerkreis nur bedingt im Voraus bestimmt werden kann, ersparen
diese beiden Funktionen die aufwändige Erstellung und Verteilung einer entsprechenden Papierdokumentation.
Weitere Informationen zur Verwendung der Hilfsdokumente finden Sie in Kapitel 32 über die Benutzung von Hilfefunktionen in Domino.
3.3.10
Volltextsuche einrichten
Durch den integrierten Mechanismus der Volltextindizierung können wir die Suche
nach Informationen in einer Datenbank erleichtern, indem wir einen Volltextindex
erstellen. Wir kennen diese Funktion bereits aus dem Kapitel 2 »Arbeiten mit
Domino Designer« im Zusammenhang mit der Volltextindizierung der Domino
Designer-Hilfe, die uns zu diesem Zweck eine besonders komfortable Benutzerschnittstelle bereitstellt. Analog hierzu kann die Volltextsuche in jeder beliebigen
Datenbank eingerichtet werden. Die Einstellungen befinden sich auf der Registerkarte SUCHE, dargestellt anhand eines Lupen-Symbols (vgl. Abbildung 3.10).
Umgang mit Domino-Datenbanken
73
Abbildung 3.10: Einrichtung der Volltextsuche in einer Datenbank
Zur Einrichtung der Volltextsuche in der Datenbank Literaturverwaltung klicken Sie
auf die Schaltfläche INDEX ERSTELLEN. Es erscheint das Dialogfenster INDEX ERSTELLEN, welches die Einstellung von Indizierungsoptionen ermöglicht (vgl. Abbildung
3.3). Mit Ausnahme der letzten ermöglichen alle Optionen einen erweiterten Suchumfang bzw. eine detailliertere Suche. Dieser Vorteil muss jedoch mit einer
beträchtlichen Vergrößerung der Volltextindexdatei erkauft werden.
Indizierungsoption
Anmerkung
Angehängte Dateien indizieren
Indiziert Dateien, welche als Anhang im Rahmen eines
Dokuments vorliegen
Verschlüsselte Felder indizieren
Ermöglicht die Suche nach Feldinhalten, die verschlüsselt
und für den herkömmlichen Benutzer unsichtbar sind. Der
Benutzer kann den Inhalt eines solchen Feldes zwar nicht
lesen, aber vom Suchergebnis auf das Vorhandensein eines
bestimmten Ausdrucks im verschlüsselten Feld schließen.
Daher ist diese Option mit Sicherheitsrisiken verbunden.
Satz- und absatzweise indizieren
Ermöglicht die Verwendung von Operatoren, welche
Begriffe innerhalb eines Satzes bzw. Absatzes suchen
Groß-/Kleinschreibung beachten
»USER« ist nicht das Gleiche wie »user«.
Aktualisierungsintervall
Legt fest, wie oft ein Volltextindex aktualisiert wird. Diese
Einstellung gilt nur für diejenigen Datenbanken, welche
auf dem Server gespeichert sind.
Tabelle 3.3: Indizierungsoptionen
Weitere Informationen zum Umgang mit der Domino-Volltextsuche finden Sie
im entsprechenden Kapitel zur Volltextsuche.
IBM SOFTWARE PRESS