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