Anwendungsentw. unter Lotus Notes Domino 6.5 <Leseprobe

Werbung
Markus Donskoj
Matthias Kn&auml;pper
Primoz Perc
Anwendungsentwicklung
unter Lotus Notes Domino 6.5
Konzepte, Technologien, Realisierung
ADDISON-WESLEY
An imprint of Pearson Education
M&uuml;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&auml;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&auml;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&auml;chsten Kapiteln noch weiter ausbauen werden.
3.1
&Uuml;ber Domino-Datenbanken
Eine Domino-Datenbank ist zun&auml;chst einmal eine Ansammlung von miteinander
in sachlicher Beziehung stehenden Dokumenten (engl. notes), welche sich wiederum
aus mehreren Feldern zusammensetzen. Domino-Dokumente sind zun&auml;chst mit einzelnen Datens&auml;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&auml;mtliche Metadaten, die Programmlogik und die Ausgestaltung der Benutzerschnittstelle – die so genannten Gestaltungselemente – in
Form von Dokumenten bzw. Feldern verwaltet werden. Die Bezeichnung &raquo;Datenbank&laquo; ist in diesem Zusammenhang also leicht irref&uuml;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&auml;ufig durch eine ausgepr&auml;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&uuml;r solche Anwendungen sind etwa Diskussionsforen, Dokumentenverwaltungsablagen oder Adressb&uuml;cher. Aus der Sicht der Anwendungsentwicklung
spricht allerdings nichts dagegen, die Funktionalit&auml;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&uuml;r den Anwender (und noch vielmehr f&uuml;r den Anwendungsentwickler) d&uuml;rfte sich
zun&auml;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&uuml;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&auml;ndlich sowie von jeder Anwendung heraus verf&uuml;gbar. Au&szlig;erdem eignet sich das Dateisystem zur Verwaltung unterschiedlicher
Dateitypen. Warum also eine weitere Dateiablage? Gegen&uuml;ber einem Dateisystem
f&uuml;hrt Domino eine Vielzahl von Vorteilen ins Feld. Zun&auml;chst einmal besticht eine
Domino-Datenbank durch einen h&ouml;heren Grad an Informationsstrukturierung. Da
s&auml;mtliche Informationen auf Feldebene verwaltet werden, lassen sich in Notes
Domino verh&auml;ltnism&auml;&szlig;ig einfach sowohl g&auml;ngige Metadaten (also Daten &uuml;ber
Daten, z.B. Name des Autors) erfassen als auch neue Kategorien von Metadaten definieren. Gepaart mit der F&auml;higkeit von Notes Domino, beliebige Sichten auf solche
Metadaten zu erstellen, ergeben sich daraus leistungsstarke und flexible M&ouml;glichkeiten des Informationszugriffs. Dieser wird noch erleichtert durch die kostenlos
mitgelieferte M&ouml;glichkeit der Volltextsuche in den Informationsbest&auml;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&uuml;r
den Einsatz von Domino-Datenbanken sprechen nicht zuletzt die Plattformunabh&auml;ngigkeit von Domino und die M&ouml;glichkeit, die Informationen in Datenbanken
durch die integrierten Werkzeuge zur Anwendungsentwicklung schnell im Sinne
der Anwendungsbed&uuml;rfnisse aufzubereiten.
Domino-Datenbanken und relationale Datenbanken
Gegen&uuml;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 &raquo;Datens&auml;tze&laquo; ad hoc beliebig ver&auml;ndern. Dieser Vorteil muss allerdings
durch die fehlenden Mechanismen zur Sicherstellung der Datenqualit&auml;t erkauft
werden: So kennt eine Domino-Datenbank keine referenzielle Integrit&auml;t (diese
kann lediglich manuell &raquo;nachgebaut&laquo; werden). Eine automatische Vermeidung
von Redundanzen fehlt ebenso. Somit wird man eine Domino-Datenbanken kaum
einsetzen, wenn es um die Verwaltung gro&szlig;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&auml;higen Mechanismus zur Anbindung von externen Datenquellen.
Aufbau einer Domino-Datenbank
59
DominoDatenbank
Dateisystem
relationale
Datenbank
Integration mit
g&auml;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&auml;nkung,
Web-kompatibel
Zugriffsbeschr&auml;nkung auf der
Betriebssystemebene
Fein granulierte
Zugriffsbeschr&auml;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&szlig;e Tabelle vorstellen, in der die Zeilen durch die Felder und die Spalten durch
die Dokumente repr&auml;sentiert werden. Dokumente k&ouml;nnen ihrem Typ nach noch mal
in Datenbankinformationen, Gestaltungselemente und Daten unterteilt werden.
Datenbankinformationen
beinhalten Einstellungen wie den
Datenbanknamen, Gr&ouml;&szlig;e und die
Zugriffsbeschr&auml;nkungen.
Felder k&ouml;nnen auch
nachtr&auml;glich erg&auml;nzt
werden.
Gel&ouml;schte Dokument
stellen erstmal ein
&quot;Loch&quot; 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&ouml;ren beispielsweise Informationen &uuml;ber die Identifikation einer Datenbank
wie Datenbanktitel, Name der Datenbankdatei, eindeutige Replik-ID, Verwaltungsparameter, z.B. die Versionsnummer, maximale Gr&ouml;&szlig;e, freier Speicherplatz, das Nutzungsprotokoll sowie die Informationen &uuml;ber den Zugriffsschutz, welche in Form so
genannter Zugriffskontrolllisten verwaltet werden. Dar&uuml;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&ouml;&szlig;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 &uuml;ber diese werden intern
ebenfalls in Form von Dokumenten und Feldern verwaltet und unterliegen daher
den gleichen Gesetzen: Sie k&ouml;nnen kopiert, gel&ouml;scht und – nicht zuletzt – repliziert
werden. Das letztere Feature ist insbesondere bei der verteilten Anwendungsentwicklung unentbehrlich. Die nun folgende Auflistung gibt einen &Uuml;berblick &uuml;ber
die Gestaltungselemente von Notes Domino. Einzelheiten zu jedem Gestaltungselementtyp finden Sie in den nachfolgenden Kapiteln.
: Gliederungen; stellen das logische Grundger&uuml;st einer Anwendung bzw. Website dar und erm&ouml;glichen eine prompte Navigation zu einer bestimmten Stelle.
: Rahmengruppen: Besser bekannt unter der englischsprachigen Bezeichnung
&raquo;Framesets&laquo;, stellen sie eine Ansammlung von Informationen &uuml;ber die Aufteilung des Bildschirms in mehrere Teilbereiche (&raquo;Frames&laquo;) 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&szlig;teil der Funktionalit&auml;t einer Anwendung werden im Rahmen von Masken festgelegt. Ein Dokument erh&auml;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
&raquo;View&laquo; aus der Welt der relationalen Datenbanken
: Ordner: &auml;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&uuml;ssen (&auml;hnlich den Ordnern im Windows-Explorer).
: Seiten: Eine Seite ist einfach – wie der Name vermuten l&auml;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&uuml;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 (&raquo;Ordner &amp; Ansichten&laquo;) angezeigt, in dem alle verf&uuml;gbaren Ordner und Ansichten enthalten sind.
: Agenten: Makro&auml;hnliche Programmabl&auml;ufe, die in einer Datenbank im Hintergrund (in Abh&auml;ngigkeit von einem bestimmten Ereignis) oder per Knopfdruck
f&uuml;r den Benutzer routinem&auml;&szlig;ige Aufgaben erledigen. Agenten k&ouml;nnen sowohl
einfache Aktionen als auch komplexe in Java oder LotusScript geschriebene Abl&auml;ufe ausf&uuml;hren.
: Ressourcen: sind alle diejenigen Elemente, die in der einen oder anderen Form
wiederverwendet werden k&ouml;nnen. Hierzu geh&ouml;ren:
–
Gemeinsam genutzte Felder: enthalten das Gestaltungsger&uuml;st (Felddefinition) von Feldern, die in mehreren Masken in etwa die gleiche Funktion
erf&uuml;llen und daher nicht mehrfach gespeichert werden m&uuml;ssen.
–
Teilmasken: unterst&uuml;tzen das Konzept der Wiederverwendung auf der Maskenebene. Maskenbereiche, die in mehreren Masken eingesetzt werden, k&ouml;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&ouml;nnen. F&uuml;r
die Anwendungsentwickler hat dies den gro&szlig;en Vorteil, dass Bilder nicht im
Dateisystem abgelegt werden m&uuml;ssen, sondern direkt in einer DominoDatenbank.
–
Applets: &Auml;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
–
&Uuml;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&uuml;llt den
Zweck, die wichtigsten Bedienungskonzepte sowie Hinweise f&uuml;r den Benutzer zusammengefasst darzustellen.
: Datenbank-Script: Im Rahmen von Datenbank-Scripten lassen sich LotusScript-Code-Fragmente einbauen, die bei bestimmten Datenbankereignissen,
beispielsweise beim &Ouml;ffnen oder Schlie&szlig;en einer Datenbank oder beim L&ouml;schen
von Dokumenten ausgef&uuml;hrt werden.
: Datenbank-Symbol: Die visuelle Darstellung der Datenbank auf dem Bildschirm
l&auml;sst sich anpassen. Hierf&uuml;r steht ein einfaches Zeichenprogramm zur Verf&uuml;gung.
IBM SOFTWARE PRESS
62
Arbeiten mit Domino-Datenbanken
: Gemeinsame Aktionen: Wiederverwendbare Schaltfl&auml;chen zur Ausf&uuml;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 &uuml;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&ouml;&szlig;e eines Dokuments zu jedem Zeitpunkt beliebig ver&auml;ndert werden k&ouml;nnen. In diesem Zusammenhang ist oft von compound-documentFunktionalit&auml;t die Rede. Dokumente fungieren hierbei quasi als Beh&auml;lter f&uuml;r Grafiken, Texte, Objekte oder multimediale Daten – eine Funktionalit&auml;t, die bei relationalen Datenbanken nur &uuml;ber sehr umst&auml;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&uuml;hrungen vermitteln lediglich einen recht groben &Uuml;berblick
dar&uuml;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 &raquo;Literaturverwaltung&laquo; anlegen, welche wir in den Folgekapiteln schrittweise ausbauen werden.
3.3.1
Datenbanken &ouml;ffnen
Doch bevor wir uns der Erstellung einer eigenen Datenbank widmen, werfen wir
zun&auml;chst einmal einen Blick auf das &Ouml;ffnen bestehender Datenbanken. Letzteres
erfolgt mit dem Men&uuml;befehl DATEI/DATENBANK/&Ouml;FFNEN. In dem daraufhin erscheinenden Dialogfenster kann man zun&auml;chst den SERVER und anschlie&szlig;end die
DATENBANK ausw&auml;hlen. Ferner k&ouml;nnen Sie mit DURCHSUCHEN eine detailliertere
Suche im Dateisystem durchf&uuml;hren.
Es ist zu beachten, dass neben den Datenbanken, die im Dialogfenster DATENBANK &Ouml;FFNEN angezeigt werden, noch weitere existieren. Der Anwendungsentwickler kann n&auml;mlich mit der Option IM DIALOGFELD DATENBANK &Ouml;FFNEN ANZEIGEN in den Datenbankeigenschaften (siehe weiter unten) eine Anzeige im
Dialogfeld verhindern.
Falls Sie ferner &uuml;ber eine lokale Server-Installation verf&uuml;gen, ber&uuml;cksichtigen Sie,
dass das &Ouml;ffnen der Datenbank mittels der Angabe des Server-Namens nicht das
Gleiche ist wie das &Ouml;ffnen der Datenbank &uuml;ber das Dateisystem (etwa mittels
Durchsuchen). Nur im ersten Fall kann die Datenbank von mehreren Benutzern
gleichzeitig ge&ouml;ffnet werden.
Umgang mit Domino-Datenbanken
63
Domino Designer pr&auml;sentiert beim &Ouml;ffnen einer Datenbank standardm&auml;&szlig;ig den
Inhalt des /DATA-Verzeichnisses und zeigt alle dort verf&uuml;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 &ouml;ffnen,
m&uuml;ssen Sie den Umweg &uuml;ber das Durchsuchen des Dateisystems machen.
Mit der Schaltfl&auml;che &Uuml;BER k&ouml;nnen Sie sich eine Kurzbeschreibung der Datenbank
anzeigen lassen, ohne diese zu &ouml;ffnen.
3.3.2
Datenbanken erstellen
Eine neue Datenbank kann mit dem Men&uuml;befehl DATEI/DATENBANK/NEU erstellt
werden. Es erscheint ein Dialogfenster, in dem man f&uuml;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&auml;nkte Zugriffsrechte bestehen. Der voreingestellte Eintrag LOKAL ist also beizubehalten.
: Titel: Die Bezeichnung der Datenbank, durch welche die Datenbank im Arbeitsbereich fortan repr&auml;sentiert wird. Der Titel sollte kurz und aussagekr&auml;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
&uuml;bereinstimmen muss
: Gr&ouml;&szlig;enbeschr&auml;nkung: Bei Domino-Datenbanken in der Release 4 musste man
bereits bei der Erstellung der Datenbank eine maximale Gr&ouml;&szlig;e angeben. In der
aktuellen Version besteht diese Anforderung nur, falls die neue Datenbank auf
einem &auml;lteren Domino-Server (z.B. Version 4) stationiert wird. Die maximale
Gr&ouml;&szlig;e einer Domino-Datenbank ab der Release 5 betr&auml;gt 64 Gbyte.
: Volltextindex: Mit dieser Option kann automatisch ein Volltextindex erstellt
werden. Ein Volltextindex kann dar&uuml;ber hinaus jederzeit nachtr&auml;glich erstellt
werden. Mehr Informationen zum Umgang mit der Volltextsuche finden Sie im
entsprechenden Kapitel &uuml;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&ouml;nnen wir zu einem sp&auml;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&ouml;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&ouml;nnen. Dies
ist beim Befehl NEUE KOPIE nicht der Fall, eine Replizierung kann also nicht stattfinden.
3.3.4
Datenbank l&ouml;schen
Zum L&ouml;schen von Datenbanken existiert ebenfalls ein gesonderter Men&uuml;befehl,
DATEI/DATENBANK/L&Ouml;SCHEN, welcher &uuml;ber einen &raquo;geregelten&laquo; Weg eine zuvor ausgew&auml;hlte Datenbank samt ihrer Inhalte von der Festplatte entfernt.
3.3.5
Datenbankeigenschaften
Nach dem Erstellen bzw. &Ouml;ffnen einer Domino-Dateibank pr&auml;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&auml;chsten
Kapiteln widmen. Im Folgenden wollen wir uns zun&auml;chst einmal den wichtigsten
Features einer Datenbank widmen, welche uns im Dialogfenster EIGENSCHAFTEN:
DATENBANK zur Verf&uuml;gung stehen. Dieses kann mit dem Befehl DATEI/DATENBANKEIGENSCHAFTEN oder aber kontextsensitiv mit der rechten Maustaste aufgerufen werden, wobei der Cursor sich &uuml;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&auml;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&auml;hrend wir den ersteren jederzeit auf der besagten Registerkarte &auml;ndern k&ouml;nnen, kann der Datenbankdateiname
lediglich auf der Betriebssystemebene ge&auml;ndert werden.
Alternativ zur Registerkarte kann eine Datenbank durch den Aufruf des kontextsensitiven Men&uuml;s umbenannt werden (Men&uuml;punkt UMBENENNEN).
3.3.7
Datenbank komprimieren
Eine Domino-Datenbank ist, wie bereits erw&auml;hnt, wie eine riesige Tabelle aufgebaut. L&ouml;schen von Dokumenten in einer Datenbank bewirkt, dass &raquo;L&ouml;cher&laquo; in die
Tabellenstruktur gerissen werden. Die interne Speicherverwaltung von Domino
kann diese zwar zum Teil wieder ausf&uuml;llen, indem neue Inhalte anstelle von
gel&ouml;schten eingef&uuml;gt werden. Doch mit der steigenden Anzahl von L&ouml;schoperationen findet – &auml;hnlich wie bei herk&ouml;mmlichen Dateisystemen – eine immer h&ouml;here
Fragmentierung der Datenbankstruktur statt, mit der Konsequenz, dass die Datenbank aufgrund der wenig effizienten Speichernutzung &raquo;aufgebl&auml;ht&laquo; wird. Um dem
entgegenzuwirken, kann man eine Datenbank komprimieren. Dies kann entweder
manuell (Client) oder automatisch in regelm&auml;&szlig;igen Zeitabst&auml;nden (Server-Task
Compact) erfolgen und resultiert oft in erheblichen Speicherplatzeinsparungen.
Wir wollen uns im Folgenden den ersten Fall ansehen – n&auml;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&ouml;tigten Speicherplatz sowie der Dokumentenanzahl zwei Schaltfl&auml;chen, welche die Komprimierung steuern: MIT % VERWENDET
kann man die Fragmentierungsquote einer Datenbank ermitteln. Der eigentliche
Komprimierungsvorgang wird jedoch mit KOMPRIMIEREN eingeleitet.
Benutzer k&ouml;nnen w&auml;hrend des Komprimierungsvorgangs weiter mit der Datenbank arbeiten.
Umgang mit Domino-Datenbanken
3.3.8
67
Mit Schablonen arbeiten
Schablonen
Neben der M&ouml;glichkeit, Datenbanken von Grund auf neu zu erstellen, besteht im
Domino Designer die M&ouml;glichkeit, auf vorgefertigte Datenbanken – so genannte
Schablonen – zur&uuml;ckzugreifen. Schablonen sind Domino-Datenbanken, die keine
Dokumente, sondern nur das Gestaltungsger&uuml;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&uuml;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 &raquo;programmieren&laquo; kann, soll am Beispiel der Diskussionsdatenbankschablone aufgezeigt werden. Um diese zu erstellen, sind folgende Schritte erforderlich:
1. W&auml;hlen Sie den Men&uuml;befehl DATEI/DATENBANK/NEU.
2. (Optional) Klicken Sie auf die Schaltfl&auml;che SCHABLONENSERVER, um den Server
auszuw&auml;hlen, bei dessen Schablonen Sie sich bedienen m&ouml;chten. Die Einstellung LOKAL bewirkt die Anzeige der lokalen Schablonen des Domino Designers.
Eine Domino-Server-Installation enth&auml;lt teilweise andere Schablonen als eine ClientInstallation.
1. W&auml;hlen Sie eine Schablone aus. In unserem Fall: DISKUSSION – NOTES UND WEB.
2. Benennen Sie die Datenbank und klicken Sie auf OK.
Gestaltungs&auml;nderungen &uuml;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&Uuml;NFTIGE GESTALTUNGS&Auml;NDERUNGEN &Uuml;BERNEHMEN festlegen kann, dass alle
Gestaltungs&auml;nderungen der Schablone automatisch in diejenigen Datenbanken
&uuml;bernommen werden, die auf dieser Schablone basieren. Insbesondere in gro&szlig;en
1
Die Beschr&auml;nkung auf Gestaltungselemente ist der h&auml;ufigste Praxisfall. In einigen F&auml;llen k&ouml;nnte es jedoch
sinnvoll sein, auch Dokumente als Gestaltungselemente zu betrachten. Beispielsweise k&ouml;nnte eine Schablone
Hilfsdokumente enthalten, welche f&uuml;r alle Datenbanken gelten, die mit dieser Schablone erstellt wurden.
Auch dies ist mit der Aktualisierung von Schablonen ohne weiteres m&ouml;glich.
IBM SOFTWARE PRESS
68
Arbeiten mit Domino-Datenbanken
Unternehmen mit mehreren tausend Arbeitspl&auml;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&auml;glicher
Basis, durchgef&uuml;hrt. Manuelle Aktualisierung ist ebenfalls m&ouml;glich. Hierzu befinden sich im Men&uuml; DATEI/DATENBANK zwei Befehle:
: Gestaltung aktualisieren: erm&ouml;glicht die manuelle Aktualisierung der Gestaltung basierend auf einer Schablone. Im Gegensatz zum n&auml;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&ouml;nliche und/oder gesch&uuml;tzte Gestaltungselemente bleiben dabei unber&uuml;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
&uuml;bernehmen, womit auch nur diese von einer Aktualisierung betroffen sind.
Um ein einzelnes Gestaltungselement aus einer Schablone zu &uuml;bernehmen, sind
folgende Schritte erforderlich:
1. &Ouml;ffnen Sie die Schablone (z.B. die soeben angesprochene Diskussionsdatenbank
im Gestaltungsmodus).
2. Markieren Sie im Arbeitsfenster das betreffende Gestaltungselement.
3. W&auml;hlen Sie den Men&uuml;befehl BEARBEITEN/KOPIEREN.
4. &Ouml;ffnen Sie die Zieldatenbank.
5. W&auml;hlen Sie den Men&uuml;befehl BEARBEITEN/EINF&Uuml;GEN.
Domino erkennt automatisch, wenn es sich bei der Quelldatenbank um eine Schablone handelt. Somit werden &Auml;nderungen am betreffenden Gestaltungselement, welche in der Schablone vorgenommen werden, beim n&auml;chsten Mal automatisch in die
Zieldatenbank(en) &uuml;bertragen.
Manchmal sind an den Gestaltungselementen, welche auf die oben beschriebene
Art und Weise aus einer Schablone &uuml;bernommen wurden, Anpassungen erforderlich. Um zu verhindern, dass diese durch die automatische Aktualisierung der
Gestaltung versehentlich &uuml;berschrieben werden, kann man ein Gestaltungselement sch&uuml;tzen. Hierzu sind folgende Schritte erforderlich:
1. Markieren Sie das betreffende Gestaltungselement im Arbeitsfenster.
2. W&auml;hlen Sie den Men&uuml;befehl DATEI/EIGENSCHAFTEN: DOKUMENT.
3. Aktivieren Sie auf der Registerkarte GESTALTUNG die Option DURCH AKTUAL./ERSETZ. DER GESTALTUNG NICHT &Auml;NDERBAR (vgl. Abbildung 3.6).
Umgang mit Domino-Datenbanken
69
Abbildung 3.6: Gestaltungselemente sch&uuml;tzen
Auf dem eben beschriebenen Weg k&ouml;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&auml;mtliche
Gestaltungselemente (dargestellt als Formen) der besagten Schablone &uuml;bernimmt.
Zus&auml;tzlich wird aus der Repository-Schablone A lediglich das pentagonf&ouml;rmige Element in die Zieldatenbank kopiert. Dies k&ouml;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 &auml;ndert, reicht es aus, in der Zieldatenbank eine Aktualisierung der Gestaltung durchzuf&uuml;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&auml;nden mit mehreren hundert
Zieldatenbanken zu tun haben. Dar&uuml;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&ouml;glicht uns dieses Feature, dass wir quasi &uuml;ber Nacht eine beliebige Anzahl von Datenbanken aktualisieren k&ouml;nnen.
Eigene Datenbanken als Schablone kennzeichnen
Ob eine Datenbank auf einer Schablone basiert, kann man leicht erkennen. Die
diesbez&uuml;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&ouml;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&ouml;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 &Uuml;BERNEHMEN) eingetragen werden.
Eine Datenbank, welche Sie als Schablone deklarieren m&ouml;chten, muss nicht notwendigerweise die Dateiendung NTF tragen.
3.3.9
Startoptionen f&uuml;r eine Datenbank festlegen
Mit dem Befehl DATEI/DATENBANKEIGENSCHAFTEN kann auf der Registerkarte STARTEN
festgelegt werden, was geschehen soll, wenn die Datenbank ge&ouml;ffnet wird. Diese
Einstellung kann man in Abh&auml;ngigkeit davon, ob die Datenbank im Notes-Client
oder im Webbrowser ge&ouml;ffnet wird, getrennt vornehmen (vgl. Abbildung 3.9).
Abbildung 3.9: Startoptionen f&uuml;r eine Datenbank festlegen
IBM SOFTWARE PRESS
72
Arbeiten mit Domino-Datenbanken
Die in Frage kommenden Alternativen sind getrennt f&uuml;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 &Uuml;ber Datenbank &ouml;ffnen
Dokument &Uuml;ber Datenbank &ouml;ffnen
Angegebene Rahmengruppe &ouml;ffnen
Angegebene Rahmengruppe &ouml;ffnen
Angegebenen Navigator &ouml;ffnen
Angegebene Seite &ouml;ffnen
Angegebenen Navigator im eigenen Fenster
&ouml;ffnen
Angegebenen Navigator im eigenen Fenster
&ouml;ffnen
Ersten Anhang in &Uuml;ber Datenbank starten
Erste Dokumentverkn&uuml;pfung in &Uuml;ber Datenbank starten
Erste Dokumentverkn&uuml;pfung in &Uuml;ber Datenbank starten
Angegebene Dokumentverkn&uuml;pfung starten
Erstes Dokument in Ansicht starten
Tabelle 3.2: Startoptionen einer Datenbank
Dem Aspekt der Software-Verteilung dienlich sind die Optionen BEI &Auml;NDERUNG
DOKUMENT &raquo;&Uuml;BER DATENBANK&laquo; ANZEIGEN sowie BEIM ERSTEN &Ouml;FFNEN DER DATENBANK
DOKUMENT &raquo;&Uuml;BER DATENBANK&laquo; ANZEIGEN. Diese beiden Features erm&ouml;glichen es dem
Anwendungsentwickler, eine kurze Information &uuml;ber die Art und den Umfang der
&Auml;nderungen bzw. den Sinn und Zweck einer Datenbank gut sichtbar zu platzieren.
Insbesondere in gro&szlig;en Unternehmen, wo neue Datenbanken fast t&auml;glich entstehen und der Nutzerkreis nur bedingt im Voraus bestimmt werden kann, ersparen
diese beiden Funktionen die aufw&auml;ndige Erstellung und Verteilung einer entsprechenden Papierdokumentation.
Weitere Informationen zur Verwendung der Hilfsdokumente finden Sie in Kapitel 32 &uuml;ber die Benutzung von Hilfefunktionen in Domino.
3.3.10
Volltextsuche einrichten
Durch den integrierten Mechanismus der Volltextindizierung k&ouml;nnen wir die Suche
nach Informationen in einer Datenbank erleichtern, indem wir einen Volltextindex
erstellen. Wir kennen diese Funktion bereits aus dem Kapitel 2 &raquo;Arbeiten mit
Domino Designer&laquo; 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&auml;che INDEX ERSTELLEN. Es erscheint das Dialogfenster INDEX ERSTELLEN, welches die Einstellung von Indizierungsoptionen erm&ouml;glicht (vgl. Abbildung
3.3). Mit Ausnahme der letzten erm&ouml;glichen alle Optionen einen erweiterten Suchumfang bzw. eine detailliertere Suche. Dieser Vorteil muss jedoch mit einer
betr&auml;chtlichen Vergr&ouml;&szlig;erung der Volltextindexdatei erkauft werden.
Indizierungsoption
Anmerkung
Angeh&auml;ngte Dateien indizieren
Indiziert Dateien, welche als Anhang im Rahmen eines
Dokuments vorliegen
Verschl&uuml;sselte Felder indizieren
Erm&ouml;glicht die Suche nach Feldinhalten, die verschl&uuml;sselt
und f&uuml;r den herk&ouml;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&uuml;sselten Feld schlie&szlig;en.
Daher ist diese Option mit Sicherheitsrisiken verbunden.
Satz- und absatzweise indizieren
Erm&ouml;glicht die Verwendung von Operatoren, welche
Begriffe innerhalb eines Satzes bzw. Absatzes suchen
Gro&szlig;-/Kleinschreibung beachten
&raquo;USER&laquo; ist nicht das Gleiche wie &raquo;user&laquo;.
Aktualisierungsintervall
Legt fest, wie oft ein Volltextindex aktualisiert wird. Diese
Einstellung gilt nur f&uuml;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
Herunterladen