Administrationshandbuch agorum core Version 7.0.0
Transcription
Administrationshandbuch agorum core Version 7.0.0
Administrationshandbuch agorum core Version 7.0.0 Copyright 2008-2012, agorum Software GmbH 01.02.2012, Dokumentenversion 7.0.0 Inhaltsverzeichnis 1. Administration 1.1. Allgemein . . . . . . . . . . . . . . . . . 1.1.1. Beispiel . . . . . . . . . . . . . . 1.2. Benutzer-Verwaltung . . . . . . . . . . . 1.2.1. Benutzer anlegen und bearbeiten 1.2.2. Referenz Benutzer . . . . . . . . 1.2.3. Vorinstallierte Benutzer . . . . . 1.3. Gruppen-Verwaltung . . . . . . . . . . . 1.3.1. Gruppen anlegen und bearbeiten 1.3.2. Gruppenmitglieder hinzufügen . . 1.3.3. Vorinstallierte Gruppen . . . . . 1.4. Rechteverwaltung . . . . . . . . . . . . . 1.4.1. ACL anlegen und bearbeiten . . . 1.4.2. ACL-Mitglieder hinzufügen . . . 1.4.3. Rechte der Mitglieder setzen . . . 1.4.4. ACL speichern . . . . . . . . . . 1.5. Rechte vergeben . . . . . . . . . . . . . . 1.5.1. Vorinstallierte ACLs . . . . . . . 1.6. Rollen . . . . . . . . . . . . . . . . . . . 1.7. Analyse und Fehlersuche . . . . . . . . . 1.7.1. Objekt-Info Masken . . . . . . . . 1.7.2. ACL Überwachung . . . . . . . . 1.7.3. ACL Baum . . . . . . . . . . . . 1.7.4. ACL Struktur . . . . . . . . . . . 1.7.5. Zugriffs-Report . . . . . . . . . . 1.8. The TranslationHelper . . . . . . . . . . 2. MetaDB 2.1. Allgemein . . . . . . . . . . 2.2. Elemente in der MetaDB . . 2.2.1. Property-Bundle . . 2.2.2. Property-Gruppe . . 2.2.3. Property-Eintrag . . 2.3. Grundstruktur der MetaDB 2.4. MetaDB Cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 7 7 8 8 10 13 13 14 14 15 15 16 16 18 19 19 21 21 22 22 25 27 28 30 31 . . . . . . . 33 33 34 34 34 35 36 37 2 Inhaltsverzeichnis 2.5. Einstellungen in der MetaDB für die MetaDB . . . . . . . . . . . . 38 2.6. Einstellungen in der MetaDB für das Hauptsystem (roi) . . . . . . . 38 3. Administration der Protokolleinstellungen 3.1. SMB / CIFS (Netzlaufwerke) . . . . . . . . . 3.1.1. Installation unter Windows . . . . . . 3.1.2. Installation unter Linux . . . . . . . . 3.1.3. Häufige Probleme mit Netzlaufwerken . 3.1.4. Einstellungen . . . . . . . . . . . . . . 3.1.5. SharePoints . . . . . . . . . . . . . . . 3.1.6. Dynamische SharePoints . . . . . . . . 3.2. FTP . . . . . . . . . . . . . . . . . . . . . . . 3.3. WebDAV . . . . . . . . . . . . . . . . . . . . . 3.4. IMAP . . . . . . . . . . . . . . . . . . . . . . 3.4.1. SSL . . . . . . . . . . . . . . . . . . . 3.4.2. Namespaces . . . . . . . . . . . . . . . 3.5. SMTP . . . . . . . . . . . . . . . . . . . . . . 3.6. SMTPExtern . . . . . . . . . . . . . . . . . . 3.6.1. SSL . . . . . . . . . . . . . . . . . . . 3.7. Aus- und eingehende E-Mails . . . . . . . . . . . . . . . . . . . . . . . . . 40 40 40 47 47 47 51 53 53 54 54 55 55 56 57 57 57 4. Serverpapierkorb 4.1. Allgemein . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2. Papierkorb im Administrationsbereich . . . . . . . . . . . . . . . . . 4.3. Filter im Serverpaierkorb . . . . . . . . . . . . . . . . . . . . . . . . 4.4. Gelöschte Objekte im Datei-Bereich . . . . . . . . . . . . . . . . . . 4.5. Ein gelöschtes Objekte über den Serverpapierkorb wieder herstellen 4.6. Einstellungen in der MetaDB . . . . . . . . . . . . . . . . . . . . . 4.7. Bereinigen des Serverpapierkorbes . . . . . . . . . . . . . . . . . . . 60 60 60 60 61 61 62 62 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5. Dokumenten-Historie 63 5.1. Einstellungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 5.1.1. Hinweise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 6. Der 6.1. 6.2. 6.3. 6.4. 6.5. Textindex Einstellungen in der MetaDB . . . . . . . . . Index Statistik anschauen . . . . . . . . . . . Problembehandlung/Fehler bei der Indizierung Index für Pfad-Suche neu aufbauen . . . . . . Index neu aufbauen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 66 72 72 73 74 7. Der DocumentService 76 7.1. Einstellungen in der MetaDB . . . . . . . . . . . . . . . . . . . . . 76 7.2. Einstellungen für externe Konverterprogramme . . . . . . . . . . . 77 3 Inhaltsverzeichnis 7.3. Umstellen der Textextraktion auf IFilter . . . . . . . . . . . . . . . 77 8. Contenttask 8.1. Der Contenttask MSG . . . . . . . . . . . . . . . . . . 8.1.1. Einstellungen des Contenttasks MSG . . . . . . . 8.2. Der Contenttask EML . . . . . . . . . . . . . . . . . . 8.2.1. Einstellungen des Contenttasks EML . . . . . . . 8.3. Der Contenttask AC.XML . . . . . . . . . . . . . . . . 8.3.1. Einstellungen des Contenttasks AC.XML . . . . . 8.3.2. Beispiel: Zusatzattribute für einen Ordner setzen 8.3.3. Weitere mögliche Datentypen . . . . . . . . . . . 8.3.4. Beispiel: Zusatzattribute für eine Datei setzen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 79 79 80 80 81 81 83 84 85 9. Session-Informationen 86 10.Installierte Module 88 11.ParameterAccessIdentifier 90 11.1. Allgemein . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 11.2. Finden von ParameterAccessIdentifiern . . . . . . . . . . . . . . . . 90 11.3. Tabelle der ParameterAccessIdentifier von agorum core . . . . . . . 91 12.Das Adress-Modul 12.1. Einstellungen in der MetaDb für den Adress-Export . . . . . . . . . 12.1.1. Einbinden von EADesigner-Konfigurationen . . . . . . . . . 12.1.2. Erweiterte Attribute, die exportiert werden sollen . . . . . . 13.Das Reporting-Modul 13.1. Allgemein . . . . . . . . . . . . . . . . . . . . . . 13.2. Installation von iReport . . . . . . . . . . . . . . 13.2.1. Installation . . . . . . . . . . . . . . . . . 13.2.2. Einrichten der DataSources . . . . . . . . 13.2.3. Verwenden der DataSources . . . . . . . . 13.3. Installieren von iReport auf dem Server . . . . . . 13.3.1. Vorbereiten des Servers . . . . . . . . . . . 13.3.2. Reports und agorum core . . . . . . . . . 13.3.3. Definition eines Reports . . . . . . . . . . 13.4. Einen definierten Report im Programm verwenden 13.4.1. Über API . . . . . . . . . . . . . . . . . . 13.5. Über WebService . . . . . . . . . . . . . . . . . . 13.6. Drucken . . . . . . . . . . . . . . . . . . . . . . . 13.7. Der Report-Editor . . . . . . . . . . . . . . . . . 13.7.1. Allgemein . . . . . . . . . . . . . . . . . . 13.7.2. Aufruf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 96 96 96 98 98 98 98 99 100 101 101 101 102 108 108 110 111 112 112 112 4 Inhaltsverzeichnis 13.7.3. Definieren von editierbaren Feldern . . 13.8. Einen Report aus dem Client heraus aufrufen 13.8.1. Allgemein . . . . . . . . . . . . . . . . 13.8.2. Beispielaufruf . . . . . . . . . . . . . . 13.8.3. Erklärung . . . . . . . . . . . . . . . . 13.8.4. Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 112 112 113 113 113 14.Zusätzliche Module 116 14.1. Das File-Adaptor-Modul . . . . . . . . . . . . . . . . . . . . . . . . 116 14.1.1. Der SMB-Adapter . . . . . . . . . . . . . . . . . . . . . . . 117 14.1.2. Der lokale Filesystem (LFS)-Adapter . . . . . . . . . . . . . 123 14.1.3. Gemeinsames . . . . . . . . . . . . . . . . . . . . . . . . . . 126 14.2. Das Mail-Adaptor-Modul . . . . . . . . . . . . . . . . . . . . . . . . 132 14.2.1. Neuen Mail-Adapter anlegen . . . . . . . . . . . . . . . . . . 132 14.2.2. Filter definieren . . . . . . . . . . . . . . . . . . . . . . . . . 136 14.2.3. Berechtigung . . . . . . . . . . . . . . . . . . . . . . . . . . 138 14.2.4. Kopieren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 14.2.5. Mail-Sync / Ordner aktualisieren . . . . . . . . . . . . . . . 139 14.3. Der Metadaten-Designer . . . . . . . . . . . . . . . . . . . . . . . . 140 14.3.1. Erstellen einer neuen Konfiguration . . . . . . . . . . . . . . 141 14.3.2. Verwendung eines Reiters in einer Bearbeitungsmaske . . . . 146 14.3.3. Verwendung eines Reiters der erweiterten Suche . . . . . . . 147 14.3.4. Berechtigung zum Bearbeiten einzelner Konfigurationen . . . 147 14.3.5. Metadaten-Maske in der Suche als Standardmaske öffnen . . 148 14.4. Der Metadaten-Editor . . . . . . . . . . . . . . . . . . . . . . . . . 148 14.4.1. Allgemein . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 14.4.2. Freigabe für weitere Benutzer . . . . . . . . . . . . . . . . . 148 14.4.3. Integration in den Windows-Client . . . . . . . . . . . . . . 149 14.5. Metadaten in Listen darstellen . . . . . . . . . . . . . . . . . . . . . 150 14.5.1. Einstellungen in der MetaDB . . . . . . . . . . . . . . . . . 150 14.6. Metadaten-Eingabe beim Speichern von Dokumenten erzwingen . . 152 14.6.1. Einstellungen in der MetaDB . . . . . . . . . . . . . . . . . 152 14.7. Das Search-Highlighting . . . . . . . . . . . . . . . . . . . . . . . . 153 14.7.1. Einstellungen in der MetaDB . . . . . . . . . . . . . . . . . 153 14.8. Das Preview/Vorschau-Modul . . . . . . . . . . . . . . . . . . . . . 154 14.8.1. Einstellungen in der MetaDB zum Hinzufügen von Stempeln 154 14.9. Das PreviewThumbnails-Modul - Vorschau-Bilder in den Listen . . 156 14.9.1. Einstellungen in der MetaDB . . . . . . . . . . . . . . . . . 156 14.10.Das REDDOXX-Modul . . . . . . . . . . . . . . . . . . . . . . . . . 156 14.10.1.TimePhasedAction . . . . . . . . . . . . . . . . . . . . . . . 157 14.10.2.Einstellungen in der MetaDB . . . . . . . . . . . . . . . . . 157 14.11.Das agorum core Sync-Modul . . . . . . . . . . . . . . . . . . . . . 159 14.11.1.Anwendungsfälle für das agorum core Sync-Modul . . . . . . 160 5 Inhaltsverzeichnis 14.11.2.Besonderheiten des agorum core Sync-Modules . . . 14.11.3.Einstellungen der agorum core Sync-Konfiguration . 14.11.4.Synchronisation . . . . . . . . . . . . . . . . . . . . 14.12.Das agorum2go-Modul . . . . . . . . . . . . . . . . . . . . 14.12.1.Installation . . . . . . . . . . . . . . . . . . . . . . 14.12.2.Einrichtung . . . . . . . . . . . . . . . . . . . . . . Abbildungsverzeichnis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 163 167 171 171 172 174 A. Anhang 177 A.1. Versions-Historie dieses Dokumentes . . . . . . . . . . . . . . . . . 177 A.2. Sonstiges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 6 Kapitel 1. Administration 1.1. Allgemein Die Berechtigung von Dateien, Ordnern oder anderen Objekten basiert auf ACLs (AccessControlLists). Das heißt, es werden Benutzer oder Gruppen (Sammlung von Benutzern bzw. anderen Gruppen) in ACLs gesammelt und dort die Rechteeinstellungen für die jeweiligen Einträge vorgenommen. Diese Einstellungen können nur von einem Benutzer mit Administratorrechten vorgenommen werden. 1.1.1. Beispiel Benutzer A ist Mitglied der Gruppe A. Jetzt wird die Gruppe A in das ACL ACL A eingefügt und mit der Berechtigung WRITE versehen. Das ACL A wird nun dem Ordner Ordner A zugeordnet. Das bedeutet, der Benutzer A besitzt nun Schreibrecht auf den Ordner A. Nun können natürlich weitere Benutzer in die Gruppe eingefügt werden oder weitere Gruppen bzw. Benutzer in das ACL mit unterschiedlichen Rechten. (siehe Abbildung 1.1) 7 Kapitel 1. Administration Abbildung 1.1.: Beispiel Benutzer - Gruppen - ACL 1.2. Benutzer-Verwaltung Über die Benutzer-Verwaltung können Sie Benutzer anlegen, ändern und löschen. Sie erreichen die Benutzer-Verwaltung über das Administrationsmenü. 1.2.1. Benutzer anlegen und bearbeiten Im Benutzerbereich (dorthin gelangen Sie über Administration, siehe Abbildung 1.2) lassen sich neben Benutzern auch Ordner anlegen. Diese dienen nur zur logischen Gruppierung von Nutzern und dient lediglich dem Zweck der Übersichtlichkeit. Wollen Sie einen neuen Benutzer anlegen, so wechseln Sie in den gewünschten Ordner und rufen dort über das Menü Vorgang den Menüpunkt Neuer Benutzer auf. Nun folgen einige Angaben zum Benutzer: 8 Kapitel 1. Administration Abbildung 1.2.: Administrationsbereich Reiter Benutzer Bezeichnung Benutzername Aliase Credential Passwort Administrator Beschreibung Beschreibung Geben Sie einen Benutzernamen für diesen Benutzer an. Dieser muss systemweit eindeutig sein. Er wird zur Anmeldung benötigt. Einem Benutzer können noch weitere Anmeldenamen zugeordnet werden. Diese können Sie hier, wenn nötig, mit ’;’ getrennt angeben. Hier kann ein LDAP Credential ausgewählt werden. Beim Standard roi werden die Benutzer in einer eigenen Datenbank abgelegt. Das Passwort für den Benutzer, wird benötigt für die Anmeldung. Haken Sie dieses Kästchen an, so wird dieser Benutzer zum Administrator und erhält Systemweit sämtliche Voll-Rechte. Hier können Sie eine beliebige Beschreibung für den Benutzer angeben. Reiter Profil 9 Kapitel 1. Administration Bezeichnung Nachname Vorname Email-Adresse Sender Email-Adresse Sprache Mandanten-Kennung Beschreibung Geben Sie den Nachnamen des Benutzers an Geben Sie den Vornamen des Benutzers an Geben Sie durch Semikolon getrennt, E-MailAdressen, die diesem Benutzer zugeordnet sind, an. Geben Sie durch Semikolon getrennt, E-MailAdressen, die dieser Benutzer zum Senden (nicht zum Empfangen!) verwenden darf. Die Sprache des Benutzers Das System kann programmtechnisch an Mandanten angepasst werden. Sollte dies zutreffen, so tragen Sie hier den Mandanten ein. Für den Standard lassen Sie das Feld leer. Reiter Rollen Bezeichnung Standard Rolle Zugeordnete Rolle Rolle Beschreibung Hier kann ein anderer Benutzer eingetragen werden. Das bedeutet, dass sich der aktuelle Benutzer von den Rechten so verhält, wie der zugeordnete. Hier wird ein Gruppe eingetragen, die alle Benutzer (Rollen) enthält, mit denen dieser Benutzer sich anmelden darf. Wenn angehakt, dann ist der Benutzer eine Rolle (z. Z. hat dieses Attribute keine Funktion). Für eine ausführliche Beschreibung von Rollen, siehe Kapitel Rollen. Um einen vorhandenen Benutzer zu bearbeiten, wechseln Sie in den Ordner, in dem sich der Benutzer befindet, markieren Sie die Checkbox und wählen Sie aus dem Menü Bearbeiten den Punkt Bearbeiten. Die Maske ist analog zur Neuanlage eines Benutzers. 1.2.2. Referenz Benutzer Mit dieser Funktion lassen sich sehr einfach die Gruppen- und ACL-Einstellungen von Referenzbenutzern auf einen anderen Benutzer übertragen. Dafür markieren Sie in der Benutzerliste den Benutzer, der die Gruppen und/oder ACL Einstellungen anderer Benutzer übernehmen soll (hier: Benutzer AA) und wählen im Menü Vorgang -> Referenz Benutzer. In der jetzt erscheinenden Maske können ein oder mehrere Referenzbenutzer über eine Suchfunktion ausgewählt werden (hier: 10 Kapitel 1. Administration Benutzer A). (siehe Abbildung 1.3 und Abbildung 1.4) Abbildung 1.3.: Referenz Benutzer Abbildung 1.4.: Auswahl Referenz Benutzer Auf der folgenden Maske (siehe Abbildung 1.5) gibt es folgende Auswahlmöglichkeiten: Wenn Gruppen angehakt ist, dann wird der gewählte Benutzer (angehakte) in alle Gruppen der zuvor gesuchten Benutzer eingetragen. Analog passiert dies für ACLs, wenn ACL angehakt ist. Mit der dritten Checkbox kann man bestimmen, ob der gewählte Benutzer aus allen Gruppen/ACLs entfernt werden soll, in denen er gerade ist. 11 Kapitel 1. Administration Abbildung 1.5.: Auswahl für Gruppen und ACLs des Referenz Benutzers Auf der letzten Maske können Sie die Gruppen/ACLs, in die der Benutzer eingetragen werden soll nochmals gezielt manipulieren. (siehe Abbildung 1.6) 12 Kapitel 1. Administration Abbildung 1.6.: Erweiterte Auswahl für Gruppen und ACLs des Referenz Benutzers 1.2.3. Vorinstallierte Benutzer Name roi guest Beschreibung Systemadministrator Gastbenutzer 1.3. Gruppen-Verwaltung Über die Gruppen-Verwaltung können Sie Gruppen anlegen, ändern und löschen. Des Weiteren können Sie einer Gruppe neue Mitglieder (Benutzer und andere Gruppen) zuordnen. Sie erreichen die Gruppen-Verwaltung über das Administrationsmenü. 13 Kapitel 1. Administration 1.3.1. Gruppen anlegen und bearbeiten Im Gruppenbereich lassen sich neben Gruppen auch Ordner anlegen. Diese dienen nur zur logischen Gruppierung von Gruppen und dient lediglich dem Zweck der Übersichtlichkeit. Wollen Sie eine neue Gruppe anlegen, so wechseln Sie in den gewünschten Ordner und rufen dort über das Menü Vorgang den Menüpunkt Neue Gruppe auf. Nun folgen einige Angaben zur Gruppe: Reiter Gruppe Bezeichnung Gruppenname Beschreibung Beschreibung Geben Sie einen Gruppennamen für diese Gruppe an. Dieser muss systemweit eindeutig sein. Er wird zur Administration benötigt. Hier können Sie eine beliebige Beschreibung für die Gruppe angeben. 1.3.2. Gruppenmitglieder hinzufügen Nachdem Sie eine Gruppe angelegt haben, können Sie unterhalb der Gruppe neue Mitglieder hinzufügen. Wechseln Sie dazu in die entsprechende Gruppe (hier: Gruppe A) und wählen sie im Menü Vorgang -> Mitglieder hinzufügen (siehe Abbildung 1.7). In der nun folgenden Maske Gruppenzuordnung können sie über eine Suchfunktion Benutzer oder andere Gruppen zu der Gruppe hinzufügen. Eine andere Möglichkeit Mitglieder zu den Gruppen hinzuzufügen ist Kopieren und Einfügen aus dem Menü zu verwenden. Dafür wird in der Benutzer- oder Gruppenliste ein Benutzer bzw. eine Gruppe markiert und über das Menü Bearbeiten -> Kopieren in die Zwischenablage kopiert. Unterhalb der gewünschten Zielgruppe wird dann der Benutzer/die Gruppe mit Bearbeiten -> Einfügen eingefügt. 14 Kapitel 1. Administration Abbildung 1.7.: Gruppenmitglieder hinzufügen Nachdem Sie Benutzer oder Gruppen zu der Gruppe hinzugefügt haben, erscheinen die Mitglieder in der Gruppenliste. (siehe Abbildung 1.8) Abbildung 1.8.: Gruppenliste 1.3.3. Vorinstallierte Gruppen Name world Beschreibung Hier sind alle Benutzer automatisch Mitglied. 1.4. Rechteverwaltung Über die Rechteverwaltung ACL (Rechte) können Sie ACLs (Acess Controll Lists) anlegen, ändern und löschen. Des Weiteren können sie einem ACL neue Mitglieder (Benutzer und Gruppen) zuordnen. Sie erreichen die Rechteverwaltung über das Administrationsmenü. 15 Kapitel 1. Administration 1.4.1. ACL anlegen und bearbeiten Im ACL-Bereich lassen sich neben ACLs auch Ordner anlegen. Diese dienen nur zur logischen Gruppierung von ACLs und dient lediglich dem Zweck der Übersichtlichkeit. Wollen Sie ein neues ACL anlegen, so wechseln Sie in den gewünschten Ordner und rufen dort über das Menü Vorgang den Menüpunkt Neues ACL auf. Nun folgen einige Angaben zum ACL: Reiter ACL ACL-Name: Geben Sie einen Namen für das ACL an. Dieser muss systemweit eindeutig sein. Er wird zur Administration benötigt. Beschreibung: Hier können Sie eine beliebige Beschreibung für das ACL angeben. 1.4.2. ACL-Mitglieder hinzufügen Nachdem Sie ein ACL angelegt haben, können Sie unterhalb des ACLs neue Mitglieder (Gruppen und Benutzer) hinzufügen. Wechseln Sie dazu in das entsprechende ACL (hier: ACL A) und wählen sie im Menü Vorgang -> Mitglieder hinzufügen. In der nun folgenden Maske ACL Zuordnung können sie über eine Suchfunktion Benutzer oder Gruppen zu dem ACL hinzufügen. Eine andere Möglichkeit Mitglieder zu den ACLs hinzuzufügen ist Kopieren und Einfügen aus dem Menü zu verwenden. Dafür wird in der Benutzer- oder Gruppenliste ein Benutzer bzw. eine Gruppe markiert und über das Menü Bearbeiten -> Kopieren in die Zwischenablage kopiert. Unterhalb des gewünschten ACLs wird dann der Benutzer/die Gruppe mit Bearbeiten -> Einfügen eingefügt. Des Weiteren können Sie in dieser Liste auch die Reihenfolge der Benutzer bzw. Gruppen ändern. Das ist nützlich, wenn sie einzelnen Benutzern oder Gruppen Rechte entziehen wollen. Die Berechtigung wird immer von Oben nach Unten gelesen. Es gilt dann die Berechtigung, die am Ende übrigbleibt. (siehe Abbildung 1.9) 16 Kapitel 1. Administration Abbildung 1.9.: Beispiel eines ACL mit 1 Benutzer und 1 Gruppe Beispiel: Es soll ein ACL erstellt werden, durch das Gruppe C Vollzugriff erhält, Benutzer A (der indirekt Mitglied von Gruppe C ist) darf aber aus Sicherheitsgründen nur lesen. Lösung: Die Gruppe Gruppe C wird vor Benutzer A in das ACL eingefügt oder mit den Pfeilen rechts vom Symbol so verschoben, dass sie vor Benutzer A steht. Der Gruppe wird das Recht A zugeordnet und dem Benutzer A mit X und A entzogen. Dann muss Benutzer A nochmals zum ACL hinzugefügt werden und jetzt wird ihm das Recht R vergeben. Das funktioniert aber nur, wenn das ACL von Oben nach Unten folgendermaßen aufgebaut ist: Name Gruppe C Benutzer A Benutzer A Beschreibung Recht A Recht X und A (dies bedeutet das Recht wird entzogen) Recht R (Jetzt bekommt der Benutzer nur noch Read zugeordnet) 17 Kapitel 1. Administration 1.4.3. Rechte der Mitglieder setzen Bild Bezeichnung Beschreibung Read Mitglieder haben Leserechte, dürfen aber nicht schreiben, ändern oder löschen. Der Besitzer des Objekts hat Vollzugriff (auch löschen). Protected Mitglieder haben Leserechte, dürfen aber Objekte nicht ändern oder löschen. Ist ein Ordner ”Protected”, so dürfen Mitglieder darunter Objekte anlegen. Der Besitzer des Objekts hat Vollzugriff (auch löschen). Write Mitglieder haben Schreibrechte und dürfen ändern und neu anlegen, aber nicht löschen. Der Besitzer des Objektes hat Vollzugriff (auch löschen). All Mitglieder löschen. haben Vollzugriff, auch Man kann auch Rechte entziehen, was aber nur Sinn macht, wenn ein Benutzer bzw. eine Gruppe vorher in demselben ACL Rechte bekommen hat. Rechte werden entzogen, indem zusätzlich das X angehakt wird: 18 Kapitel 1. Administration Bild Bezeichnung Beschreibung Revoke Read Leserecht entziehen. Löschen, neu anlegen und bearbeiten geht weiterhin (nicht sinnvoll). Revoke Protected Protected entziehen. Revoke Write Schreibrechte entziehen. Revoke All Alle Rechte entziehen. 1.4.4. ACL speichern Wenn Sie Mitglieder zu einem ACL hinzugefügt oder gelöscht oder die Rechte der Mitglieder geändert haben, müssen Sie das ACL speichern! Das geht im Menü der ACL-Liste über Vorgang -> ACL speichern, bzw. Vorgang -> ACL zurücksetzten wenn Sie Änderungen rückgängig machen wollen. 1.5. Rechte vergeben Wenn sie ein neues Objekt (in diesem Beispiel Ordner A) angelegt haben, so hat dieses das Standard-ACL Published. Um das ACL des Ordners zu ändern, wählen Sie es aus und rufen über das Menü Bearbeiten -> Rechte vergeben die Maske zum Ändern auf. (siehe Abbildung 1.10) Abbildung 1.10.: Ordnerliste mit Berechtigungen 19 Kapitel 1. Administration Hier wird über eine Suchfunktion nach dem gewünschten ACL gesucht (Suchwort hier: ACL) und das Entsprechende aus der Ergebnisliste ausgewählt (in diesem Beispiel ACL A).(siehe Abbildung 1.11) Abbildung 1.11.: ACL Suchen Des Weiteren gibt es auf der Maske zwei Optionen: ACL durch Ordnerstruktur vererben: Durch diese Option wird das ACL auch auf eventuell vorhandene Unterobjekte angewandt (z.B. Unterordner, Dateien, etc. unterhalb des Ordners Ordner A). Nur an Objekte vererben, die denselben ACL besitzen: Diese Option ist nur in Kombination mit der vorhergehenden wirksam. Hat ein Unterobjekt ein anderes ACL als das Ausgangsobjekt, so wird das neue ACL hier nicht vererbt! Der Ordner Ordner A hat nun das ACL ACL A bekommen. Alle Objekte (Ordner, Dateien, etc.) die jetzt unterhalb dieses Ordners angelegt werden, erben das ACL ACL A (siehe Abbildung 1.12) 20 Kapitel 1. Administration Abbildung 1.12.: Ordnerliste mit gesetztem ACL 1.5.1. Vorinstallierte ACLs Name Private Published Protected Public Beschreibung Nur der Besitzer des Objektes hat Vollzugriff. Alle anderen haben keinen Zugriff auf das Objekt. Alle Benutzer haben Leserechte, dürfen aber nicht schreiben, ändern oder löschen. Der Besitzer des Objektes hat Vollzugriff (auch löschen). Alle Benutzer haben Leserechte, dürfen aber Objekte nicht ändern oder löschen. Hat ein Ordner das ACL Protected, so dürfen Benutzer darunter Objekte anlegen. Der Besitzer des Objektes hat Vollzugriff (auch löschen). Alle Benutzer haben Vollzugriff (auch löschen). 1.6. Rollen Rollen sind eine Variante, sich mit anderen Rechten am System anzumelden. Durch die Rolle, die einem Benutzer standardmäßig zugeordnet ist, bzw. mit der er sich anmeldet, erhält der Benutzer alle Rechte, die mit dieser Rolle verbunden sind. Das verringert den Administrationsaufwand erheblich, da ein Benutzer nicht in die verschiedenen Gruppen und ACLs eingefügt werden muss, sondern nur eine Rolle zugeordnet bekommt. Rollen werden durch normale Benutzer repräsentiert, mit denen sich aber niemand direkt anmelden sollte, bzw. deren Passwort auch nicht bekannt sein sollte. Rollenbenutzer sind wie normale Benutzer auch Gruppen und/oder ACLs zugeordnet und definieren so exemplarisch die Zugriffsrechte auf das System, bzw. stellen so eine Art Benutzervorlage dar. 21 Kapitel 1. Administration Sollte der Benutzer diese Rechte nicht mehr benötigen, weil er z.B. andere Aufgaben übernommen hat, so können ihm alle Rechte, die mit seiner vorherigen Aufgabe verbunden waren, auf einfache Weise durch entfernen der Rolle wieder genommen werden. Rollen können auch über die Protokolle von agorum core verwendet werden, z. B. über das SMB-Modul. Die Rollen werden auf der Benutzer-Maske im Reiter Rollen eingestellt. Der eingetragene Benutzer in Standard Rolle legt die Rolle fest, mit der der Benutzer standardmäßig angemeldet wird. Die eingetragene Gruppe in Zugeordnete Rolle enthält alle Benutzer mit denen sich dieser Benutzer anmelden kann. Dafür benötigt er aber nicht das Passwort der Rollenbenutzer, sondern nur sein eigenes. Beispiel: Es gibt die Rollenbenutzer VERTRIEB und VERWALTUNG die in einer Gruppe ROLLEN zusammengefasst wurden. Diese Rolle wird jetzt beim Benutzer max.mustermann auf dem Reiter Zugeordnete Rolle eingetragen. Jetzt kann sich max.mustermann als max.mustermann@VERTRIEB oder als max.mustermann@VERWALTUNG anmelden und hat dann jeweils die Rechte des Rollenbenutzers. 1.7. Analyse und Fehlersuche Da die Benutzer-, Gruppen- und ACL-Struktur komplex werden kann, gibt es einige Werkzeuge zur Analyse und Fehlersuche. 1.7.1. Objekt-Info Masken Die Objekt-Info Maske steht im ganzen System für jedes Objekt zur Verfügung. Dazu wird das Objekt in der Listenansicht ausgewählt(durch Klick auf die entsprechende Zeile, ausgewähltes Objekt ist dann farblich hinterlegt) und über das Menü Ansicht -> Objekt Information die Maske aufgerufen. Die Maske kann sich geringfügig von Objekttyp zu Objekttyp unterscheiden. Hier wird auf die ObjektInfo Masken von Benutzern, Gruppen und ACLs eingegangen, speziell auf die Reiter Objekt Verknüpfungen (Benutzer und Gruppen), sowie ACL Verknüpfungen und ACL Verknüpfungen v. gelöschten Objekten (ACLs). 22 Kapitel 1. Administration Benutzer Objekt-Info Maske Der interessante Reiter dieser Maske heißt Objekt Verknüpfungen. Hier werden für den ausgewählten Benutzer (hier: Benutzer A) in einer Baumstruktur die Gruppen und die ACLs angezeigt, in der er sich direkt oder indirekt befindet. Hinter den ACLs stehen die Rechte der Mitglieder. Dieses Beispiel zeigt, dass sich der Benutzer Benutzer A in der Gruppe Gruppe A, sowie direkt im ACL ACL C befindet. Gruppe A ist Mitglied von ACL A aber auch von Gruppe C. Die Gruppe Gruppe C befindet sich wiederum in den beiden ACLs ACL C und ACL B. Welche Rechte die Mitglieder der ACLs haben lässt sich hinter den ACLs ablesen: Benutzer A wird das Schreib-Recht (W) in ACL C entzogen (Revoke Access). Gruppe C dagegen bekommt im ACL ACL C alle Rechte (Grant Access: A). (siehe Abbildung 1.13) Abbildung 1.13.: Benutzer Objekt-Info Maske Gruppen Objekt-Info Maske Die Gruppen Objekt-Info Maske ist analog zur Benutzer Info-Maske aufgebaut. Hier werden für die ausgewählte Gruppe (hier: Gruppe A) die Gruppen und ACLs angezeigt, in denen sie sich befindet. Hinter den ACLs stehen die Rechte der Gruppe. (siehe Abbildung 1.14) 23 Kapitel 1. Administration Abbildung 1.14.: Gruppen Objekt-Info Maske, Objektverknüpfungen Gruppe A ist Mitglied von ACL A und von Gruppe C, Gruppe C ist Mitglied der ACLs ACL C und ACL B. Die Rechte kann man ebenfalls ablesen: Der Gruppe Gruppe A wird Schreibrecht (Grand Access: W) im ACL ACL A zugeordnet. Gruppe C (und damit auch Gruppe A, da sie Mitglied von Gruppe C ist) bekommt im ACL ACL C alle Rechte (Grant Access: A) und im ACL B Schreibrechte (Grand Access: W). ACL Objekt-Info Maske Die Info-Maske für ACLs enthält zwei für die Rechte-Administration wichtige Reiter: ACL Verknüpfungen und ACL Verknüpfungen v. gelöschten Objekten Der Reiter ACL Verknüpfungen enthält einen Überblick, welchem (Start)Objekten das ACL zugewiesen wurde. In diesem Beispiel ist es der Ordner Ordner A und all seine Unterobjekte (weitere Ordner, Dateien, etc.), die aber der Übersichtlichkeit wegen nicht auf der Maske dargestellt werden. Der Reiter ACL Verknüpfungen v. gelöschten Objekten enthält einen Überblick aller gelöschten Objekte (die sich aber noch im Mülleimer befinden), denen einmal das ACL zugewiesen war. Diese Objekte können auf diesem Reiter auch gleich vollständig gelöscht werden. Dieser Reiter ist nützlich, wenn man ein ACL löschen will, da dann das ACL auf keinem Objekt mehr sitzen darf.(siehe Abbildung 1.15) 24 Kapitel 1. Administration Abbildung 1.15.: ACL Objekt-Info Maske 1.7.2. ACL Überwachung Mit der ACL Überwachung kann man sich einen Überblick verschaffen was ein bestimmter Benutzer, bzw. eine bestimmte Gruppe für Rechte im System hat (hier: Benutzer A). Die Rechte der angezeigten Objekte werden in der Dateiliste farbig und übersichtlich dargestellt.(siehe Abbildung 1.16) Abbildung 1.16.: ACL-Überwachung in der Liste - farbige Darstellung der ACLs Zuerst muss man aus der Benutzer- oder aus der Gruppenliste ein Benutzer/eine Gruppe markieren und im Menü Ansicht -> ACL Überwachung die Überwachung einschalten: (siehe Abbildung 1.17) Abbildung 1.17.: ACL-Überwachung einschalten für einen Benutzer In der Datei-Liste ist dann die Spalte mit den ACLs farbig gekennzeichnet, je nachdem was der überwachte Benutzer bzw. die überwachte Gruppe für Rechte auf das jeweilige Objekt haben. Außerdem sind die Ordner des Verzeichnisbaumes 25 Kapitel 1. Administration neben der Datei-Liste ebenfalls farbig, nach Rechten des jeweiligen Benutzers auf das Verzeichnis, gekennzeichnet (siehe Abbildung 1.16). Die gleiche farbliche Kennzeichnung findet auch in den jeweiligen ACL-Rechte-, Benutzerverwaltungs- und Gruppenverwaltungsansichten statt. (siehe Abbildungen 1.18, 1.19, 1.20) Abbildung 1.18.: Farbliche Kennzeichnung der Rechte des überwachten Benutzers/Gruppe in der ACL-Ansicht Abbildung 1.19.: Farbliche Kennzeichnung der Rechte des überwachten Benutzers/Gruppe in der Benutzer-Verwaltung 26 Kapitel 1. Administration Abbildung 1.20.: Farbliche Kennzeichnung der Rechte des überwachten Benutzers/Gruppe in der Gruppen-Verwaltung Die Farben Die Bedeutung der Farben ist analog zu denen in der ACL-Liste: Farbe Beschreibung Kein Zugriff. Nur Leserechte. Darf nur seine eigenen Objekte ändern oder löschen und neu anlegen. Darf ändern und neu anlegen, aber nicht löschen. Vollzugriff. Darf auch löschen. 1.7.3. ACL Baum Die Maske mit einer farbigen Rechteübersicht der Baumstruktur kann über das Menü Ansicht -> ACL Baum aufgerufen werden, allerdings nur, wenn für einen Benutzer/eine Gruppe die ACL Überwachung aktiviert ist (siehe vorhergehendes Kapitel). Die Maske zeigt dann die Baumstruktur ab dem aktuellen Ordner an. Das Beispiel zeigt den ACL Baum für Benutzer A, aufgerufen im Ordner Testordner. (siehe Abbildung ??) 27 Kapitel 1. Administration Abbildung 1.21.: ACL-Baum 1.7.4. ACL Struktur Mit diesem Menübefehl kann der Administrator in einer beliebigen Struktur prüfen, ob alle Grantees (Gruppen und/oder User) dorthin gelangen, wo diese auch berechtigt sind. Die Auswertung aller ACL’s und deren Mitglieder wird über das Menü Ansicht - > ACL Struktur in dem Ordner gestartet, ab dem geprüft werden soll. Je nach Größe 28 Kapitel 1. Administration der Struktur unterhalb des Startordners kann die Prüfung einige Zeit dauern. Als Ergebnis werden alle Grantees angezeigt, die noch nicht alle notwendigen Berechtigungen besitzen, um an die unterschiedlichen Orte zu gelangen. Weiter können jetzt die Grantees angehakt werden, die dann in die entsprechenden ACLs mit Leserechten (R) eingetragen werden. Wenn die Liste leer ist, haben alle die in dem Pfad in irgendeinem ACL sind auf alles Zugriff (Sie können alle Pfade durchwandern). (siehe Abbildung 1.22) Abbildung 1.22.: ACL Struktur In dem Beispiel oben wird in der ersten Zeile angezeigt, dass die Gruppe Gruppe B (Grantee) den Ordner /agorum/roi/files/Testordner/Ordner A (org. Pfad ) mit dem ACL ACL C (org. ACL A) nicht erreichen kann. Der Grantee Gruppe B bleibt im Ordner agorum/roi/files/Testordner/Ordner A (Pfad ) hängen, da er keine Leserechte dafür besitzt und kann somit den org. Ordner nicht erreichen. Links ist der ACL Baum für Gruppe B zur Verdeutlichung dargestellt. (siehe Abbildung 1.23) 29 Kapitel 1. Administration Abbildung 1.23.: ACL Baum Struktur 1.7.5. Zugriffs-Report Mit dem Zugriffs-Report (erreichbar über das Administrationsmenü) kann ein PDF-Dokument erstellt werden, das eine ausführliche Übersicht über die Rechteverteilung einer Ordner- bzw. ACL-Struktur im System gibt. Die erzeugten PDFDokumente sind nur einem Administrator zugänglich und befinden sich in dem Ordner /agorum/roi/Administration/Reports. Angaben in der Zugriffs-Report Maske: Reiter Zugriffs-Report 30 Kapitel 1. Administration Bezeichnung Startpfad Gewählte pen Benutzer/Grup- Keine Pfade darstellen Benutzer darstellen Gruppen darstellen Beschreibung Pfad (immer den Vollpfad angeben), ab welchem die Berechtigungen angezeigt werden sollen. Es werden daraufhin nur die Berechtigungen angezeigt, die auch ab diesem Ordner-Zweig verwendet werden. Hier kann der Report über ein Suchwort und die Suchergebnis-Liste auf die gewählten Benutzer und/oder Gruppen beschränkt werden. Pfadangaben werden im Report nicht dargestellt. Benutzer werden im Report dargestellt. Gruppen werden im Report dargestellt. 1.8. The TranslationHelper The TranslationHelper tool offers a simple possibility to translate the text keys for all installed agorum core modules into another language. To access the TranslationHelper go to http(s)://IP-OF-AGORUM-CORE/roiwebui/roiwebui_module/tools/ TranslationHelper.jsp and login with an user that is granted with the ParameterAccessIdentifier TranslationHelper. At the first page you can select the language you want to translate from (From language) and the language you want to translate to. If you want to translate to a language that don’t exist yet, you can select the option Custom and enter the two letter language code (ISO 639) in the first small field an the full language name in the second field. Here you can find all two letter language codes: http: //ftp.ics.uci.edu/pub/ietf/http/related/iso639.txt. When pressing Next you will see an overview of the installed modules with the total amount of text keys for this module and the amount of missing text keys in the destination language. Now you can add or modify the translations of the single modules by pressing the Edit all link or selecting Edit missing to see the missing translation keys of the destination language. On this page you can also export all translations for another JBoss (Export JBoss structure) or as the development project structure (Export Project structure) as ZIP files. You can also import a ZIP file containing the JBoss structure (Import JBoss structure) into you running JBoss. The translation page itself will show 20 text keys per page and you can edit the next 20 text keys by pressing the Next button or edit the previous 20 text keys by pressing Prev. To write your changes into the JBoss directory structure just press 31 Kapitel 1. Administration Save & Back to Modules list. After changing or adding text keys you have to restart your JBoss to activate the changes! 32 Kapitel 2. MetaDB 2.1. Allgemein Die MetaDB ist ähnlich zur Mircosoft Windows Registry eine KonfigurationsDatenbank (Meta-Datenbank). In der MetaDB werden die meisten Konfigurationen von agorum core und dazugehörigen agorum Modulen abgelegt. Der Einstieg in die MetaDB befindet sich im Administrationsmenü. (siehe Abbildung 2.1) Abbildung 2.1.: Einstieg in die MetaDB 33 Kapitel 2. MetaDB 2.2. Elemente in der MetaDB 2.2.1. Property-Bundle Property-Bundles sind vergleichbar mit Ordnern und dienen zur Strukturierung der Daten. Wollen Sie ein neues Property-Bundle anlegen, so wechseln Sie in den Ordner (bzw. Property-Bundle oder Property-Gruppe), wo das Bundle erstellt werden soll und rufen dort über das Menü Datei -> Neu den Menüpunkt Property-Bundle auf. Nun folgen einige Angaben zum Property-Bundle: Reiter MetaDb Bezeichnung Name Beschreibung Beschreibung Geben Sie einen Namen für dieses PropertyBundle an. Dieser muss innerhalb des Zielordners eindeutig sein. Geben sie hier eine optionale Beschreibung des Bundles an. 2.2.2. Property-Gruppe Property-Gruppen dienen nur der optischen Strukturierung und werden beim Auslesen bzw. Abfragen eines Property-Eintrages einfach weggelassen. Wollen Sie eine neue Property-Gruppe anlegen, so wechseln Sie in den Ordner (Property-Bundle oder Property-Gruppe) wo die Gruppe erstellt werden soll und rufen dort über das Menü Datei -> Neu den Menüpunkt Property-Gruppe auf. Nun folgen einige Angaben zur Property-Gruppe: Reiter MetaDb Bezeichnung Name Beschreibung Beschreibung Geben Sie einen Namen für diese PropertyGruppe an. Dieser muss innerhalb des Zielordners eindeutig sein. Geben sie hier eine optionale Beschreibung der Gruppe an. 34 Kapitel 2. MetaDB 2.2.3. Property-Eintrag Property-Einträge enthalten die eigentlichen Informationen. Es können Property-Einträge mit verschieden Datentypen angelegt werden, um so verschiedenste Informationen speichern zu können. Wollen Sie einen neuen Property-Eintrag anlegen, so wechseln Sie in den Ordner (bzw. Property-Bundle oder Property-Gruppe) wo der Eintrag erstellt werden soll und rufen dort über das Menü Datei -> Neu den Menüpunkt Property-Eintrag auf. Nun folgen einige Angaben zum Property-Eintrag: Reiter MetaDb Bezeichnung Name Datentyp Wert Beschreibung Beschreibung Geben Sie einen Namen für diesen PropertyEintrag an. Dieser muss innerhalb des Zielordners eindeutig sein. Hier kann der Datentyp des Property-Eintrags ausgewählt werden. Die Beschreibung der möglichen Typen finden sie weiter unten. Hier wird der eigentliche Wert des PropertyEintrag eingegeben. Der Wert muss abhängig vom Typ evtl. ein bestimmtes Format aufweisen. Die Beschreibung, ob ein bestimmtes Format verwendet werden muss, finden sie weiter unten bei der Beschreibung der Typen. Geben sie hier eine optionale Beschreibung des Eintrags an. Zeichenkette (String) Dies ist eine ganz normale Zeichenkette. Der Wert hat kein bestimmtes Format. Zeichenketten-Liste (String-Array) Dies ist eine Liste mit Zeichenkette. Die einzelnen Zeichenketten werden durch zwei Pipes (||) voneinander getrennt. Beispiel: Zeichenkette 1 ||Zeichenkette 2 ||Letze Zeichenkette in der Liste 35 Kapitel 2. MetaDB Inhalt (Content) Wie eine Zeichenkette, nur können hier auch Binärdaten (z.B. Bilder, etc.) abgespeichert werden. Verschlüsselt (Encrypted) Die eingegebene Zeichenkette wird beim Speichern verschlüsselt und dient zum Speichern von Passwörtern oder ähnlichem. Folgende Punkte müssen beachtet werden: • Die verschlüsselte Zeichenkette kann nicht wieder ausgelesen werden! • Wird beim Bearbeiten des Property-Eintrags das Wert-Feld leer gelassen, wird die verschlüsselte Zeichenkette nicht überschrieben! 2.3. Grundstruktur der MetaDB Hier soll jetzt die Grundstruktur der MetaDB beschrieben werden, ohne aber auf einzelne Konfigurationen von agorum core oder Modulen einzugehen. Die Konfigurationen der einzelnen Module ist in den jeweiligen Kapiteln beschrieben. Name MAIN_ACL_MANAGEMENT MAIN_COMMON_MANAGEMENT MAIN_GROUP_MANAGEMENT MAIN_MACHINE_MANAGEMENT MAIN_MODULE_MANAGEMENT MAIN_SERVER_MANAGEMENT MAIN_USER_MANAGEMENT Beschreibung Erweitere Einstellungen zu ACLs. Kundenspezifische Einstellungen. Erweitere Einstellungen zu Gruppen. Erweitere Einstellungen zu Clients. Hier werden alle Konfigurationen der agorum Module gespeichert. Hier werden andere Serverkonfigurationen (IP, Port, Protokoll, etc.) abgelegt. Erweitere Einstellungen zu Benutzern. siehe Abbildung 2.2 36 Kapitel 2. MetaDB Abbildung 2.2.: MetaDB 2.4. MetaDB Cache Die MetaDB besitzt einen Cache um die Zugriffe auf die MetaDB zu beschleunigen. Allerdings kann es vorkommen, dass nach einer Konfigurationsänderung in der MetaDB der Cache nicht sofort aktualisiert wird. Aus diesem Grund gibt es eine Funktion im Administrationsbereich um den Cache manuell zu leeren und neu aufzubauen. Diese Funktion ist im Administrationsbereich über den Menüpunkt MetaDb Cache zu erreichen. Es öffnet sich eine Maske, in der man wählen kann, ob nach dem leeren des Caches dieser sofort neu aufgebaut werden soll (Dies kann je nach Größe der MetaDB einige Momente dauern). siehe Abbildung 2.3 37 Kapitel 2. MetaDB Abbildung 2.3.: MetaDB Cache leeren 2.5. Einstellungen in der MetaDB für die MetaDB Unter /MAIN_MODULE_MANAGEMENT/metadb/control finden sich die Einstellungen für die MetaDB: Name Typ PerformMetaDbWarmup String Beschreibung Hier wird festgelegt, ob nach dem Systemstart der MetaDB Cache sofort aufgebaut werden soll Standard true 2.6. Einstellungen in der MetaDB für das Hauptsystem (roi) Unter /MAIN_MODULE_MANAGEMENT/roi/control finden sich die Einstellungen für die MetaDB: 38 Kapitel 2. MetaDB Name Typ Beschreibung relations/CopyAttachmentsRelation String Hier wird festgelegt, ob beim Kopieren Verknüpfungen mitkopiert werden sollen DefaultLanguage String Definiert die Standardsprache des Systems (de oder en) Standard false de 39 Kapitel 3. Administration der Protokolleinstellungen 3.1. SMB / CIFS (Netzlaufwerke) 3.1.1. Installation unter Windows Das SMB/CIFS-Protokoll stellt das DMS-Laufwerk von agorum core bereit. Das SMB/CIFS-Protokoll verwendet zwei feste Ports (139 und 445) die im Normalfall nicht geändert werden dürfen, da sich sonst Clients nicht mehr verbinden können. Unter Microsoft Windows (XP, Server 2003, Vista, Windows 7) ist auf allen Netzwerkadaptern immer SMB/CIFS aktiviert, so dass die Verwendung eines eigenen SMB/CIFS-Servers verhindert wird. Damit die Netzlaufwerksfreigaben von agorum core trotzdem unter Windows funktionieren gibt es folgende Lösungswege: • Eine Netzwerkkarte und Verbindung über NetBIOS-Namen • Eine oder zwei Netzwerkkarte(n) und Verbindung über IP-Adresse Diese Methoden funktionieren unabhängig davon, welche Windows-Version auf dem Server, bzw. auf den Windows Arbeitsplätzen eingesetzt wird. Die empfohlene Methode für den produktiven Betrieb ist die mit ein/zwei Netzwerkkarte(n) und Verbindung über die IP-Adresse 40 Kapitel 3. Administration der Protokolleinstellungen Mit einer Netzwerkkarte über die NetBIOS-Bridge Die NetBIOS-Bridge wird bei der agorum core-Windows-Installation immer mit installiert und integriert sich so in Windows, dass keine der oben genannten Ports benötigt werden. Dies ist daher die einfachste Möglichkeit um Netzlaufwerke zur Verfügung zu stellen, weil (fast) kein manueller Eingriff in Windows notwendig ist. Das Verbinden über den NetBIOS-Namen wird nicht für den produktiven Betrieb empfohlen. Verwenden Sie stattdessen eine Verbindung über IP-Adresse. Konfigurieren Sie Ihre Firewall (z.B. die Windows-Interne) des Servers für alle Netzwerkadapter wie folgt: • • • • Port 139 (TCP) erlauben Port 137 (TCP+UDP) erlauben Port 445 (TCP) sperren Andere Ports, die von außerhalb erreichbar sein müssen (z.B. Port 80 für das Webportal, etc.) ebenfalls erlauben. Netzlaufwerke werden über den NetBIOS-Namen verbunden, also z.B. mit \\ agorumcore\dms Es gibt ein paar Spezialfälle, in denen diese Methode nicht funktioniert: • Wenn bestimmte Netzwerk-Einstellungen oder -Konstellationen verhindern, dass der NetBIOS-Name im Netzwerk bekannt wird (Standard Broadcast Funktion von Windows). • Wenn über den NetBIOS-Namen von anderen Subnetzen aus zugegriffen werden soll, kopieren Sie das Programm NetBiosBridge.exe unter INST-VERZ\ agorum\core\scripts in ein beliebiges Verzeichnis eines PC in dem anderen Subnetz (Voraussetzung: .Net 2.0). Erstellen Sie dann Batch-Scripte zum Starten und Stoppen der NetBIOS-Bridge. Der NetBIOS-Name (Parameter netbiosname) muss sich von dem im ursprünglichen Netz unterscheiden! Befehl zum Starten der Bridge: 1 NetBiosBridge . exe command = start netbiosname = agorumcore2 server = IP - IHRES - AGORUM - CORE - SERVERS port =1139 Befehl zum Stoppen der Bridge: 41 Kapitel 3. Administration der Protokolleinstellungen 1 NetBiosBridge . exe command = stop netbiosname = agorumcore2 • Wenn Sie lokal (vom dem Server aus) auf agorum core Laufwerke zugreifen wollen, tragen Sie in der hosts-Datei unter Windows-Verzeichnis/system32/ drivers/etc/ eine gültige aber nicht erreichbare IP-Adresse und den vergebenen NetBIOS-NAmen ein. Zum Beispiel: 1 192.168.123.234 agorumcore Mit einer Netzwerkkarte über die IP-Adresse Dies ist eine der empfohlene Lösungen für den Produktiveinsatz! Diese Lösung deaktiviert die windowseigenen Netzlaufwerke, somit sind diese nicht mehr erreichbar! Es sind nur noch die Netzlaufwerke von agorum core ansprechbar! Konfigurieren Sie Ihre (einzige) Netzwerkkarte wie folgt: • Unter Systemsteuerung → Netzwerkverbindungen klicken Sie mit der rechten Maustaste auf den entsprechenden Adapter und wählen Eigenschaften aus. • In der folgenden Maske die Haken der Elemente Client für MicrosoftNetzwerke und Datei- und Druckerfreigabe für Microsoft-Netzwerke entfernen: 42 Kapitel 3. Administration der Protokolleinstellungen Abbildung 3.1.: Eigenschaften der LAN-Verbindung • Doppelklick auf das Element Internetprotokoll (TCP/IP) und in der nun folgenden Maske auf dem Reiter Allgemein über die Schaltfläche Erweitert... den erweiterten Dialog aufrufen. • In dieser Maske auf dem Reiter WINS die Option NetBIOS über TCP/IP deaktivieren: 43 Kapitel 3. Administration der Protokolleinstellungen Abbildung 3.2.: Erweiterte TCP/IP-Einstellung • Konfigurieren Sie Ihre Firewall (z.B. die Windows-Interne) des Servers für den Netzwerkadapter wie folgt: – – – – Port 139 (TCP) erlauben Port 137 (TCP+UDP) erlauben Port 445 (TCP) sperren Andere Ports, die von außerhalb erreichbar sein müssen (z.B. Port 80 für das Webportal, etc.) ebenfalls erlauben. Sie können jetzt ein agorum core Netzlaufwerk über die IP Ihres Netzwerkadapters verbinden, z.B. mit \\10.0.0.50\dms Mit zwei Netzwerkkarten über die IP-Adresse Dies ist eine der empfohlene Lösungen für den Produktiveinsatz! Diese Möglichkeit verwendet eine zweite Netzwerkkarte, auf der die WindowsFreigaben deaktiviert werden und so die agorum core-Freigaben direkt über eine 44 Kapitel 3. Administration der Protokolleinstellungen IP-Adresse angesprochen werden können. Vorteil ist, dass Sie parallel WindowsFreigaben sowie agorum core-Freigaben nutzen können. • Unter Systemsteuerung → Netzwerkverbindungen klicken Sie mit der rechten Maustaste auf den Adapter der zweiten Netzwerkkarte (diese muss als BindAddress (siehe unten) in der MetaDb eingetragen sein) und wählen Eigenschaften aus. • In der folgenden Maske die Haken der Elemente Client für MicrosoftNetzwerke und Datei- und Druckerfreigabe für Microsoft-Netzwerke entfernen: Abbildung 3.3.: Eigenschaften der LAN-Verbindung • Doppelklick auf das Element Internetprotokoll (TCP/IP) und in der folgenden Maske auf dem Reiter Allgemein über die Schaltfläche Erweitert... den erweiterten Dialog aufrufen. • In dieser Maske auf dem Reiter WINS die Option NetBIOS über TCP/IP deaktivieren: 45 Kapitel 3. Administration der Protokolleinstellungen Abbildung 3.4.: Windows-Dialog für Erweiterte TCP/IP - Einstellungen • Wenn Sie die zweite Netzwerkkarte nachträglich installiert haben, vergewissern sie sich, das in der MetaDb unter /MAIN_MODULE_MANAGEMENT/ roiprotocols/smb/control/BindAddress die IP der zweiten Netzwerkkarte eingetragen ist! Nachdem Sie diese Einstellung geändert haben, starten Sie bitte agorum core neu. • Wenn Sie agorum core neu installieren, dann geben Sie die Adresse der zweiten Netzwerkkarte in der Experten-Installation an. (Dort, wo Sie zum 2ten mal nach der IP gefragt werden) • Konfigurieren Sie Ihre Firewall (z.B. die Windows-Interne) des Servers für die zweiten Netzwerkkarte wie folgt: – – – – Port 139 (TCP) erlauben Port 137 (TCP+UDP) erlauben Port 445 (TCP) sperren Andere Ports, die von außerhalb erreichbar sein müssen (z.B. Port 80 für das Webportal, etc.) ebenfalls erlauben. Sie können jetzt ein agorum core Netzlaufwerk über die IP Ihres Netzwerkadapters verbinden, z.B. mit \\10.0.0.50\dms 46 Kapitel 3. Administration der Protokolleinstellungen 3.1.2. Installation unter Linux Bei der Installation unter Linux gibt es nichts zu berücksichtigen, außer wenn bereits ein anderer SMB/CIFS-Server (z. B. Samba) installiert ist. Dieser belegt wie auch agorum core die Ports 139 und 445. Falls Sie so eine Konfiguration besitzen, müssen Sie dafür sorgen, dass agorum core und der andere SMB/CIFS-Server auf unterschiedliche IP-Adressen, bzw. Interfaces binden. Für Samba ändern Sie dazu in der Konfigurationsdatei von Samba (/etc/samba/ smb.conf) den Wert von interfaces auf das zu bindende Interface (z.B. eth0) und den Wert von bind interfaces only in yes. Für agorum core passen Sie in der hosts-Datei den Eintrag für roihost so an, das die IP aus das gewünschte Interface zeigt. 3.1.3. Häufige Probleme mit Netzlaufwerken • Das Öffnen und Speichern von MS Office Dokumenten dauert sehr lange. Mögliche Lösungen: – Auf dem agorum core Server muss auf Port 80 ein Webserver (z.B. das Webportal von agorum core) laufen. – Die Proxyeinstellungen des Internet Exporer müssen deaktiviert sein. • Das Netzlaufwerk ist nicht erreichbar: – Prüfen Sie, ob in der hosts-Datei (Linux: /etc/hosts, Windows: Windows-Verzeichnis/system32/drivers/etc/) der Eintrag für roihost noch vorhanden ist, bzw. auf die richte IP-Adresse zeigt. 3.1.4. Einstellungen Die allgemeinen Einstellungen werden in der MetaDB unter /MAIN_MODULE_ MANAGEMENT/roiprotocols/smb/control vorgenommen: 47 Kapitel 3. Administration der Protokolleinstellungen Entry AllowedObjects Beschreibung Liste mit Objekten, die über SMB/CIFS sichtbar sind. Hinweis: Dieser Eintrag ist ein Link nach /MAIN_ MODULE_MANAGEMENT/ roiprotocols/ webdav/control/ AllowedObjects! AllowIPC BindAddress ConnectionTimeOut NetBiosBridgePort OpLockAfterSendTimeOut PassThruAuth PassThruPort Adresse, auf der der SMB/CIFS-Service horchen soll. Zeit in Minuten, nach der die Verbindung automatisch vom Server unterbrochen wird, wenn vom Client nichts mehr kommt. Port für die NetBIOS-Bridge (nur für Windowsinstallationen). Zeit in Millisekunden, die nach dem Senden eines OplockBreaks gewartet werden soll. Default ist 0, d.h. nicht warten. Braucht man eigentlich nicht setzen, hat aber in einem bestimmten Fall (senden von OpLockBreaks ohne TreeId) etwas gebracht. nicht verwendet nicht verwendet Standard FolderObject|| FileObject|| MailObject|| MailDocumentObject|| NoteFileObject|| NoteMediaObject|| D4wAddressNoteFile|| D4wAddressNoteMedia|| D4wForumFile|| D4wForumMedia|| D4wAddressMailingList true roihost 720 1139 0 48 Kapitel 3. Administration der Protokolleinstellungen Entry PassThruServer Port1 SessionClass Beschreibung nicht verwendet Erster Port für SMB/CIFS. Dieser Port sollte nicht geändert werden! Zweiter Port für SMB/CIFS. Dieser Port sollte nicht geändert werden! Nur Intern! SharePointManagerClass Nur Intern! TransactionWaitTime Maximale Transaktion-Zeit in Sekunden. Nach dieser Zeit wird auf jeden Fall ein Commit gemacht und dann die Transaktion neu eröffnet. Zweck ist, das bei vielen kleinen Dateien nicht laufend eine Transaktion aufund zugemacht wird, sondern das diese in einer Transaktion laufen. Port2 Standard 139 445 agorum.roiprotocols.smb. service.roi.RoiSmbSession agorum.roiprotocols. smb.service.roi. RoiSharePointManager 2 49 Kapitel 3. Administration der Protokolleinstellungen Entry TransactionWaitTimeNo CommitAbleCommand TreeClass Beschreibung Bei Close und Flush wird die Transaktion sofort geschlossen. Um dies bei kleinen Dateien zu verhindern, kann hier eingestellt werden, nach wie viel Sekunden dann tatsächlich ein Commit gemacht wird. Optimal nach Tests: 1 Sekunde Nur Intern! Standard 1 agorum.roiprotocols.smb. service.roi.RoiSmbTree Weitere Einstellungen befinden sich unter /MetaDb/MAIN_MODULE_MANAGEMENT/ roiprotocols/smb/control/lockingsettings: Entry DoLockObjectNames Beschreibung Eine Liste mit Regular Expressions für Dateinamen, die beim Bearbeiten gesperrt werden sollen. UseSessionLock true bedeutet, wenn eine Datei über SMB zum Schreiben geöffnet wird, diese mit einem SessionLock gesperrt wird. WindowsDefaultLockings Locks, die die Microsoft Produkte unbedingt benötigen, um festzustellen, ob eine Datei bereits geöffnet ist. Diese nennen sich ”OLE Semaphores”. Niemand weiss so recht, was sie bedeuten, aber sie werden benötigt! Der Aufbau ist folgender: In der Liste werden Byte-Offset und Byte-Länge durch Komma getrennt angegeben. Standard .*.doc|| .*.xls|| .*.ppt|| .*.txt|| .*.dwg|| .*.vsd true 2147483540,1 || 2147483481,1 || 2147483521,1 || 2147483539,1 || 2147483559,1 || 2147483599,1 50 Kapitel 3. Administration der Protokolleinstellungen Die angezeigte Größe des Netzlaufwerks (z.B. im Explorer) kann unter /MAIN_ MODULE_MANAGEMENT/roi/control vorgenommen werden: Entry TotalDbSize Beschreibung Die angezeigte Größe der Datenbank in Bytes. Standard 21474836480 GByte) (20 3.1.5. SharePoints SharePoints (Freigaben) werden in der MetaDb unterhalb von /MAIN_MODULE_ MANAGEMENT/roiprotocols/smb/control/SharePoints definiert. Der Name des SharePoints wird durch ein Property-Bundle dargestellt (schon vorhanden sind z.B. files, private, etc.). Unterhalb dieses Property-Bundles gibt es folgende Property-Einträge: Entry ACL Comment StartFolder Beschreibung Hier kann ein ACL hinterlegt werden, den der Benutzer, der dieses Laufwerk verbinden möchte, sehen muss. Damit können für diese Freigabe gezielt Benutzer berechtigt werden. Ist ACL nicht vorhanden, haben alle Benutzer die Berechtigung für diese Freigabe. Achtung: Der ACL der hier vergeben wird, muss sich selbst als ACL besitzen. Siehe ACL_ RootShare. Ein Kommentar für diesen Share. Gibt an, wo die Freigabe hin zeigen soll. Standard ACL_RootShare bei der Freigabe root, alle anderen haben keinen Default. Z. B.: /agorum/ roi/ Files 51 Kapitel 3. Administration der Protokolleinstellungen Entry UseCache ReadOnlyUnlockedIncludeFilter Beschreibung Soll der CachingMechanismus von agorum core verwendet werden? Standard sollte hier true sein. Es macht Sinn den Mechanismus auszuschalten, wenn mit sehr großen Dateien gearbeitet wird und dieses Share schneller antworten soll. Hier stellen Sie Dateinamen ein, die in diesem Share zuerst einmal ReadOnly sind (siehe unten) ReadOnlyUnlockedExcludeFilter Hier können beliebige RegExp-Muster mit || getrennt eingegeben werden. Diese Beschreiben die Namen der Objekte, die aus der ReadOnly-Definition ausgeschlossen werden. CaseSensitive Hier kann eingestellt werden, ob die Groß- Kleinschreibung beachtet wird Standard Wenn der Eintrag nicht vorhanden ist, gilt die normale Berechtigung - false ReadOnlyUnlockedIncludeFilter: Hier können beliebige RegExp-Muster mit || getrennt eingegeben werden. Diese Beschreiben die Dateinamen, die in diesem Share solange ReadOnly sind, bis diese über das Sperrflag von einem Benutzer gesperrt werden. Danach kann die gesperrte Datei von dem Benutzer earbeitet werden, der die Sperre vergeben hat. Damit kann ein Share auf ReadOnly gesetzt werden, unabhängig, welche Berechtigung einzelne Benutzer besitzen. Dieses Flag gilt nur für Dateien und nicht für Ordner. Auch können neue Dateien angelegt werden. Nach dem Anlegen können diese Dateien erst nach dem Sperren bearbeitet werden. 52 Kapitel 3. Administration der Protokolleinstellungen 3.1.6. Dynamische SharePoints Dynamische Shares (In der Standardinstallation gibt es ein Beispiel TestDynamicShare) werden folgendermaßen definiert: Der Schlüssel der hinter ${MetaDb: steht wird in der MetaDb unter MAIN_GROUP_MANAGEMENT/ [GruppenName]/SMBSHARES/[NameDesShares]/StartFolder gesucht. Dabei werden alle Gruppen durchsucht, in denen der jeweils angemeldete User eingetragen ist. Wird eine Definition gefunden, so wird der Wert des Property-Eintrags StartFolder als Startordner für diesen Share verwendet. Wird kein Eintrag gefunden, so wird /agorum/roi/Files genommen. 3.2. FTP Alle Einstellungen für das FTP-Protokoll werden in der MetaDb unter /MAIN_ MODULE_MANAGEMENT/roiprotocols/ftp/control vorgenommen: Entry DataPortPool MakeHistory MaxLogins Port Beschreibung Hier können mehrere PASV Data-Ports angegeben werden, die bei einer Datenübertragung verwendet werden. Gibt man 0 an, so wird irgendein freier Port verwendet. Legt fest, ob DokumentenHistorien erzeugt werden sollen oder nicht. Wenn sehr große Dateien über FTP geändert werden (z.B. überschreiben) kann es vorkommen, dass aufgrund von Timeouts mehrere Historien pro Vorgang geschrieben werden. Dann ist es sinnvoll diese Option auf false zu setzten. Maximale Anzahl der gleichzeitigen FTP Logins. Port des FTP-Dienstes Standard 3001 ||3002 true 20 21 53 Kapitel 3. Administration der Protokolleinstellungen Entry SelfAddress ServerAddress Beschreibung The default host is roihost. It can be used on a multihomed host. Behind firewall, we need real inet address that from ISP Standard roihost roihost 3.3. WebDAV Alle Einstellungen für das WebDAV-Protokoll werden in der MetaDb unter /MAIN_ MODULE_MANAGEMENT/roiprotocols/webdav/control vorgenommen: Entry AllowedObjects Beschreibung Liste mit Objekten, die über WebDAV sichtbar sind. Hinweis: Dieser Eintrag ist ein Link nach /MAIN_MODULE_MANAGEMENT/ roiprotocols/smb/control/ AllowedObjects! Standard FolderObject|| FileObject|| MailObject|| MailDocumentObject|| NoteFileObject|| NoteMediaObject|| D4wAddressNoteFile|| D4wAddressNoteMedia|| D4wForumFile|| D4wForumMedia|| D4wAddressMailingList 3.4. IMAP Alle Einstellungen für das IMAP-Protokoll werden in der MetaDb unter /MAIN_ MODULE_MANAGEMENT/roiprotocols/imap/control vorgenommen: Entry AllowedObjects Beschreibung Liste mit Objekten, die über IMAP sichtbar sind. Diese Objekte müssen von MailObject abgeleitet sein! Standard MailObject 54 Kapitel 3. Administration der Protokolleinstellungen Entry Beschreibung MailboxSelectedTimespan Anzahl der Tage, welche die Zeitspanne definieren, innerhalb der die von IMAP zurückgelieferten Mails liegen (createDate). Port Port des IMAP-Dienstes. SSLPort SSL-Port des IMAPDienstes für eine verschlüsselte SSL-Verbindung. Standard 30 143 993 3.4.1. SSL Wenn Sie den SSL Port verwenden wollen, muss sichergestellt sein, dass die beiden Einstellungen unter /MAIN_MODULE_MANAGEMENT/roi/control/keystore/ korrekt sind: Entry KeystorePassword KeystorePath Beschreibung Passwort der KeyStore Datei (Property-Eintrag vom Type Verschlüsselt oder Zeichenkette). Pfad zur KeyStore Datei. Standard changeit ${HomeDir}/.keystore 3.4.2. Namespaces agorum core bietet die Möglichkeit verschiedene Namespaces für IMAP zu definieren. Mit einem Namespace kann unter IMAP ein Einstieg in einen (meist öffentlichen) Bereich definiert werden. Es gibt drei verschiedene Namespaces-Typen: personal Persönlicher Namespace des angemeldeten Benutzers. Normalerweise gibt es nur den standardmäßig aktivierten, persönlichen Namespace. otherusers Namespace über den ein angemeldeter Benutzer Zugriff auf die Mailboxen anderer Benutzer erhält. Der angemeldete Benutzer muss für den Zugriff entsprechend berechtigt sein. Normalerweise gibt es maximal einen Namespace dieser Art. 55 Kapitel 3. Administration der Protokolleinstellungen shared Öffentlicher Namespace. Von diesem Namespace kann es beliebig viele geben. Die Definition der Namespaces liegt unter /MAIN_MODULE_MANAGEMENT/ roiprotocols/imap/control/Namespaces. Hier ist bereits für jeden NamespaceTyp (personal, otherusers und shared ) ein Beispiel vordefiniert, wobei jedoch nur der Namespace Private (Typ: personal ) aktiviert ist. Wenn weitere Namespaces definiert werden sollen, dann muss unter /MAIN_MODULE_ MANAGEMENT/roiprotocols/imap/control/Namespaces ein Property-Bundle mit beliebigem Namen angelegt werden. Unterhalb dieses Bundles müssen jetzt folgende Property-Einträge mit den im Folgenden beschriebenen Inhalten angelegt werden: Entry Active Comment Name StartFolder Type Beschreibung Definiert, ob dieser Namespace aktiv ist oder nicht Kommentar für diesen Namespace. Dieser PropertyEintrag hat keine Bedeutung für die Funktionalität und kann weggelassen werden. Der Name des Namespaces. Startpfad des Namespaces. Achtung: In dem Startordner selber sollten keine Mails liegen, da dieser von einigen Mail-Clients nicht selektiert werden kann! Der Typ des Namespaces. Werte true oder false /agorum/roi/Files/ Gruppenposteingnge personal, oder shared otherusers 3.5. SMTP Mit dem SMTP-Dienst werden E-Mails für die Systembenutzer empfangen. Alle Einstellungen für das SMTP-Protokoll werden in der MetaDb unter /MAIN_ MODULE_MANAGEMENT/roiprotocols/smtp/control vorgenommen: Entry Port Beschreibung Port des SMPT-Dienstes. Standard 2500 56 Kapitel 3. Administration der Protokolleinstellungen 3.6. SMTPExtern Über den SMTPExtern-Dienst können Benutzer E-Mails über einen Client (z.B. Microsoft Outlook oder Mozilla Thunderbird) versenden. Alle Einstellungen für das SMTPExtern-Protokoll werden in der MetaDb unter /MAIN_MODULE_MANAGEMENT/roiprotocols/smtpextern/control vorgenommen: Entry Port SSLPort Beschreibung Port des SMPTExternDienstes. SSL-Port des SMPTExternDienstes für eine verschlüsselte SSL-Verbindung. Standard 2501 587 3.6.1. SSL Wenn Sie den SSL Port verwenden wollen, muss sichergestellt sein, dass die beiden Einstellungen unter /MAIN_MODULE_MANAGEMENT/roi/control/keystore/ korrekt sind: Entry KeystorePassword KeystorePath Beschreibung Passwort der KeyStore Datei (Property-Eintrag vom Type Verschlüsselt oder Zeichenkette). Pfad zur KeyStore Datei. Standard changeit ${HomeDir}/.keystore 3.7. Aus- und eingehende E-Mails Alle Einstellungen für aus- und eingehende E-Mails werden in der MetaDb unter /MAIN_MODULE_MANAGEMENT/roi/control/mail vorgenommen: 57 Kapitel 3. Administration der Protokolleinstellungen Entry AddFilenameToMailsubject AllowedMailAttachment Objects EmailDomain MailserverHostaddress MailserverPort MailserverUser Beschreibung Legt fest, ob in allen Listen und Masken des Webportals nicht nur der Betreff der Mail angezeigt wird, sondern zusätzlich auch der (interne) Dateiname der Mail. Liste mit Objekten, die an eine Mail angehängt werden dürfen. Name der E-MailDomain für die agorum core Installation. Adresse (IP oder Hostname) des Mail-Relays, über das ausgehende Mails versendet werden. Port des Mail-Relays, über das ausgehende Mails versendet werden. Benutzername für die Authentifizierung des Mail-Relays, über das ausgehende Mails versendet werden. Wenn das Relay keine Authentifizierung erfordert, kann diese Einstellung leer gelassen werden. Standard false FOLDERDOCUMENT OBJECT || MailObject|| FILEOBJECT || ROITESTOBJECT || MailDocumentObject|| AttributeXMLObject|| AttributeDTDObject|| ObjectFileObject|| NoteFileObject|| D4wForumFile|| ObjectMediaObject|| NoteMediaObject|| D4wForumMedia|| NoteObject agorumcore.com localhost 25 58 Kapitel 3. Administration der Protokolleinstellungen Entry MailserverPassword Beschreibung Passwort für die Authentifizierung des MailRelays, über das ausgehende Mails versendet werden. Wenn das Relay keine Authentifizierung erfordert, kann diese Einstellung leer gelassen werden. Standard 59 Kapitel 4. Serverpapierkorb 4.1. Allgemein Der Serverpapierkorb bietet dem Administrator, aber auch Benutzern, die Möglichkeit, versehentlich gelöschte Objekte wieder herzustellen. Mit dem Serverpapierkorb von agorum cor e ist es auch möglich, komplette Ordnerstrukturen wieder herzustellen! Werden Objekte über das DMS-Laufwerk gelöscht und der Filter ExcludeObjectsByName (siehe unten) greift, so werden diese Objekte trotzdem mit einem Verfallsdatum von 10 Minuten in den Papierkorb gelegt. 4.2. Papierkorb im Administrationsbereich Der Serverpapierkorb im Administrationsbereich des Portalmenües (Administration -> Serverpapierkorb) ist nur für Administratoren zugänglich und zeigt eine (gefilterte) Liste aller gelöschten Objekte an. 4.3. Filter im Serverpaierkorb Wenn der Serverpapierkorb aufgerufen wird, ist die Darstellung gefiltert. Es werden nur die Objekte dargestellt, die in den letzten 24 Stunden gelöscht wurden. Um den Filter im Papierkorb zu ändern, wird dieser über das Menü aufgerufen: Ansicht -> Filter 60 Kapitel 4. Serverpapierkorb Jetzt wird die Maske des Filters dargestellt. Folgendes kann jetzt über den Filter eingestellt werden: 1. Name: Hier kann auf den Dokumentnamen gefiltert werden, wobei % für beliebige Zeichen steht und das für ein einzelnes Zeichen steht. Beispiel, Sie wollen nach allen Worddateien suchen %.doc. Wenn Sie nach allen Dateien Suchen möchten, die mit a anfangen wäre das a% 2. Letzte Änderung durch: Hier können Sie einen Username eintragen. Beispiel, Sie wollen alle Dateien sehen die der Demo-User gelöscht hat, dann tragen Sie hier demo ein. 3. Letzte Änderung: Hier tragen Sie ein, über welchen Zeitraum Sie suchen wollen. Standard ist hier Aktuelle Zeit - 24 Stunden. Beispiel, sie wollen alle gelöschten Objekte durchsuchen, dann tragen Sie hier ein Datum ein, das um soviele Tage in der vergangenheit liegt, wie Ihre Daten im Papierkorb gehalten werden. Nachdem Sie den Filter gesetzt haben, können Sie diesen über den Button Übernehmen aktivieren. Der Filter gilt nur für diese Liste. Wenn Sie den Papierkorb in einer neuen Liste öffnen, ist wieder der Standard-Filter eingestellt. 4.4. Gelöschte Objekte im Datei-Bereich Über das Menü Ansicht -> Gelöschte Objekte z.B. in der Datei-Liste können auch normale Benutzer ihre eigenen, gelöschten Dateien in dem aktuellen Ordner wieder herstellen (Administratoren sehen in dieser Maske alle gelöschten Objekte aller Benutzer in dem aktuellen Ordner). 4.5. Ein gelöschtes Objekte über den Serverpapierkorb wieder herstellen Wenn Sie ein einzelnes Objekt aus dem Papierkorb wiederherstellen möchten, das Sie in der Maske im Datei-Bereich (siehe Gelöschte Objekte im Datei-Bereich nicht auswählen können, da es in einer Struktur steht, die komplett gelöscht wurde, 61 Kapitel 4. Serverpapierkorb können Sie dieses Objekt über den Serverpapierkorb wieder herstellen. Dazu gehen Sie wie folgt vor: 1. Serverpapierkorb öffnen 2. Filter so setzen, das Sie das Objekt in der Liste markieren können 3. Objekt markieren und dann kopieren 4. Jetzt das Objekt unter Dateien an den Ort verlinken (Im Menu: Bearbeiten -> Verlinken), wo es wiederhergestellt werden soll (verlinken deshalb, weil dann alle Beziehungen von und zu diesem Objekt wieder hergestellt werden, andere Befehle sind nicht zulässig und es kommt eine Meldung). 4.6. Einstellungen in der MetaDB Die Einstellungen des Serverpapierkorbes werden in der MetaDB unter /MAIN_ MODULE_MANAGEMENT/roi/control/trashcan vorgenommen: Entry Beschreibung DeleteObjectsExpiration Zeit in Stunden, die ein Time gelöschtes Objekt im Papierkorb bleiben soll. Die eingestellte Zeit muss größer wie eine Stunde sein! ExcludeObjectsByName Regular Expression für alle Dateinamen, die wirklich gelöscht werden und nicht in den Papierkorb geleget werden werden sollen. Standard 168 (7 Tage) .*ṫmp|| $.*ḋoc||.*ḃak 4.7. Bereinigen des Serverpapierkorbes Der Serverpapierkorb wird automatisiert (im Standard jeden Nacht um 0.30 Uhr) bereinigt. Dabei werden alle Objekte, deren Verfallsdatum (ExpirationDate) überschritten wurde gelöscht. Das Intervall kann in der MetaDB mit dem Entry MAIN_MODULE_MANAGEMENT/cronjob/control/[ Services ] /ExpirationDateService/CronTime angepasst werden. 62 Kapitel 5. Dokumenten-Historie Die Dokumenten-Historie ist eine automatische Historie von Dokumentenänderungen. Administratoren und Benutzer haben Zugriff auf die Dokumenten-Historie eines Objektes über die Objekt-Info Maske (Objekt markieren und im Menü Ansicht -> Objekt-Info). Wenn das Objekt eine Historie hat, dann gibt es in der Objekt-Info Maske einen Reiter Historie auf dem können Historienobjekte z.B. heruntergeladen, in die Zwischenablage kopiert, wiederhergestellt oder gelöscht werden. 5.1. Einstellungen Die Einstellungen zur Versions-Historie werden in der MetaDB unter /MetaDb/ MAIN_MODULE_MANAGEMENT/roi/control/changeHistory vorgenommen: Entry ExcludeIdList Beschreibung Hier können Objekt-IDs, von den Objekten hinterlegt werden, die NICHT historisiert werden sollen. (Die IDs erhält man über Ansicht - Objekt Information) Beispiel: 1044100 ||1044103 Standard Eintrag ist nicht aktiv 63 Kapitel 5. Dokumenten-Historie Entry FirstHistoryAfterCreate HistoryClassNames MaxHistoryCounter NextHistoryTime NotObjectNameForHis tory Beschreibung Gibt die Zeit in Sekunden an, ab wann nach einem Create die erste Historie erstellt wird. Bei einem anderen User wird sofort eine Änderung erstellt! Die ClassNames der Objekte, die historisiert werden (mit || getrennt). Achtung: Es muss für jedes Objekt auch eine Implementierung des Restores geben und evtl. des makeHistoryAufrufes. Also nur Eintragen bringt nicht viel! Anzahl der Historien, die pro Objekt maximal gehalten werden. Alle weiteren werden dann dem Datum nach gelöscht, die älteste zuerst. Die Mindestanzahl an Historien ist 1, auch bei einer geringeren Angabe hier. Beachten Sie hierzu die untenstehenden Hinweise Solange warten (in Sekunden), bis eine neue Historie erstellt wird von einem Objekt. Bei einem anderen User wird sofort eine Änderung erstellt! Regular Expression für alle Dateinamen, die nicht Historisiert werden. Ein ! als erstes Zeichen wirkt wie ein NOT Standard 60 FileObject 10 60 !.*.̇* ||.*ṁdb|| .* 5.1.1. Hinweise Um die Revisionssicherheit zu gewährleisten wird grundsätzlich eine Historie von jedem Dokument angelegt (bei der ersten Änderung), um dessen ursprünglichen 64 Kapitel 5. Dokumenten-Historie Zustand festzuhalten. Diese erste Historie hat eine Sonderstellung und wird auch nicht mehr durch neuere Versionen überschrieben. Wenn Sie die Historienfunktion verwenden möchten, um zu einer Vorgängerversion zurückkehren zu können, sollten Sie also für die Einstellung MaxHistoryCounter mindestens 2 wählen, da sonst keine neuen Versionen erfasst werden können. 65 Kapitel 6. Der Textindex Es wird ein kombinierter Volltext-Index und Attribute-Index erstellt. Für den Volltext-Index wird der agorum core DokumentService verwendet. Dafür wird vom Textindex-Service der convertXXX2TXT-Konverter aufgerufen. Für MS Word Dateien wäre das Beispielsweise der convertDOC2TXT-Konverter, für PDF’s convertPDF2XT. Die Konfiguration der Konverter ist in der Dokumentation des agorum core DokumentService beschrieben. Falls ein Dokument kein Text geliefert hat (zum Beispiel bei einem Bild), dann wird automatisch documenttext.contentnotfound als Inhalt geschrieben, so dass man dadurch alle Dokumente finden kann, die keinen Text geliefert haben. 6.1. Einstellungen in der MetaDB Unter /MAIN_MODULE_MANAGEMENT/textindexservice/control finden sich die Grundeinstellungen für den Textindex: Entry NotIndexedFolders Beschreibung Hier können ein oder mehrere Pfade eingegeben werden, ab denen der Textindex nicht mehr indiziert. Alles was aber unterhalb dieser Pfade schon indiziert ist, bleibt indiziert, bis ein solches Objekt wieder indiziert werden soll. Standard 66 Kapitel 6. Der Textindex Entry Beschreibung NotIndexedObjectNames Hier können beliebige Regular Expressions vorgegeben werden um Dokumente anhand des Dateinamens auszublenden. Beispiel: \$.*\.doc blendet z.B. ~ die Datei mit dem Namen Standard ~\\$.*\.doc||~.*\ .doc||~\\$.*\.ppt||~. *\.p||~\\$.*\.xls||~. *\.xls ~$Dies ist eine Datei.doc textindexenabled aus. Deaktiviert den Textindex. Bei deaktivierten Index werden die zu indizierenden Dokument gemerkt und indiziert, sobald der Service wieder aktiviert wird. true Unter /MAIN_MODULE_MANAGEMENT/textindexservice/control/totextindex finden sich die Einstellungen für den Service ToTextIndexService: Entry Beschreibung BuildIndexBufferdDocuments Gibt die Anzahl von Dokumenten an, ab der die Indizierung erzwungen wird. BuildIndexMaxWaitTime Wenn diese Zeit (in Sekunden) seit der letzten Indizierung erreicht wird, wird eine Indizierung erzwungen. Standard 500 300 67 Kapitel 6. Der Textindex Entry BuildIndexMinWaitTime ClassnameNotToTextindex Beschreibung Zeit (in Sekunden), die mindestens gewartet wird, bis indiziert wird. Jedes mal, wenn ein weiteres Dokument zum Index hinzugefügt wird, wird diese Zeit wieder zurückgesetzt. Erst wenn innerhalb dieser Zeit kein weiteres Dokument zur Indizierung kam, wird eine Indizierung gestartet. Das dient dazu, dass bei einer Menge von Objekten, die schnell hintereinander erzeugt/geändert werden, nicht laufend die Indizierung startet, sondern gewartet wird, bis eine gewissen Anzahl zusammenkommt (maximal BuildIndexBufferdDocuments) Objekte dieses Typs werden von der Indizierung ausgeschlossen. Standard 300 DOCUMENTTEXTOBJECT, USERPROFILEOBJECT, PRIMARYUSERPROFILEOBJECT, EXTENDEDUSERPROFILEOBJECT, PROPERTYBUNDLEOBJECT, PROPERTYOBJECT Unter /MAIN_MODULE_MANAGEMENT/textindexservice/control/syncdata/indexer finden sich die Einstellungen zum Indexer: 68 Kapitel 6. Der Textindex Entry DoExportIndexToFS Beschreibung Wenn true, dann wird der Index auf Platte exportiert (in das Verzeichnis von ExportIndexDirectory). Die Suche geht dann über die Festplatte. Es werden nur die Unterschiede des DB-Index und des lokalen Index ab geglichen. Wird dieser Parameter wieder auf false gestellt, so läuft der DB-Index normal weiter. ExportIndexDirectory Ordner im Dateisystem, wo die Index-Dateien abgelegt werden. MaxDocumentsByTransaction Annzahl der Dokumente, die in einer Transaktion indiziert werden. MaxDocumentSize Die maximale Anzahl von Bytes, die bei einem Dokument indiziert werden. Ist das Dokument größer, wird der Rest des Dokumentes nicht indiziert. Hintergrund ist, das der gesamte, zu indizierende Text in den Speicher gezogen wird und die Gefahr besteht das bei sehr großen Dokumenten der Speicher voll läuft! MaxFieldLength Interne Lucene Einstllung, bitte nicht verändern! Standard false /tmp/exported_index 500 5242880 5242880 69 Kapitel 6. Der Textindex Entry MaxWaitTime MergeFactor MaxMergeDocs OptimizedFactor StoreContent WaitTime LuceneAnalyzer LuceneAnalyzerTokenChars Beschreibung Zeit in Millisekunden, die der Index-Prozess wartet, dass laufende Suchen noch beendet werden. Wird die Zeit überschritten, wird die Suche abgebrochen und der Index gebildet. Interne Lucene Einstllung, bitte nicht verändern! Maximale Anzahl Dokumente für ein LuceneSegment Interne Lucene Einstllung, bitte nicht verändern! Interne Lucene Einstllung, bitte nicht verändern! Intervall in Millisekunden, in dem geprüft wird ob noch eine Suche läuft. Der Analyzer, der verwendet wird, um die Worte für den Index zu zerteilen (enthält ein Regelwerk, nach denen Texte für die Suchmaschine analysiert werden) Definiert die Sonderzeichen, die NICHT als Trenner für Suchworte verwendet werden sollen. Standardmäßig sind alle Zeichen Trennzeichen außer Buchstaben und Zahlen (aus sämtlichen Sprachen). Mit diesem Parameter können noch weitere Zeichen definiert werden, die ebenfalls nicht zum Trennen eines Wortes im Index führen sollen Standard 60000 10 150000 50000 false 100 agorum.roi. lucene.common. AgorumAnalyzer .-_@,% 70 Kapitel 6. Der Textindex Entry Beschreibung WriteAnalyzedAndUnanalyzed Wenn true, dann wird der Text für jedes Feld für den Index einmal mit Sonderzeichen und einmal ohne Sonderzeichen (wie in Standard true LuceneAnalyzerTokenChars definiert) geschrieben. So können die jeweilige Werte einmal komplett und einmal auch nur in Teilen gesucht werden, Beispiel: test.doc: kann als komplettes gefunden werden, aber auch nur beispielsweise doc . Ist diese Option deaktiviert (false), dann kann nur noch die komplette Zeichenkette gefunden werden GetDocumentTextTimeoutInMSDefiniert in Millisekunden den Timeout für das Holen von Texten eines Dokumentes (zum Beispiel, wenn OCR durchgeführt wird) 900000 Unter /MAIN_MODULE_MANAGEMENT/textindexservice/control/syncdata/search finden sich die Einstellungen zur Suche: Entry LeftTruncateChars Beschreibung MaxClauseCount Maximale Anzahl von Clauses. Maximale Anzahl der zurückgelieferten Suchergenbisse (-1 bedeutet unendlich). MaxHits Standard a,b,c,d,e,f,g,h,i,j, k,l,m,n,o,p,q,r,s,t, u,v,w,x,y,z,0,1,2,3, 4,5,6,7,8,9 4096 -1 71 Kapitel 6. Der Textindex Entry MaxParalellSearch MaxWaitTime SearchDelims WaitTime Beschreibung Maximale Anzahl gleichzeitiger Suchen. Zeit in Millisekunden, die die Suche wartet, dass der laufende Index-Prozess beendet wird. Wird die Zeit überschritten, wird die Suche abgebrochen. Interne Einstllung, bitte nicht verändern! Intervall in Millisekunden, in dem geprüft wird, ob der Index-Prozess noch läuft. Standard 4 30000 ( )+- ~"^{} 100 6.2. Index Statistik anschauen Seit Version 6.4.3 gibt es ein Tool zur Darstellung der Index-Statistik. Es zeigt unter anderem an, wieviel noch zu Indizieren ist. Das Tool erreicht man über folgende URL: http://IP-VON-AGORUM-CORE/roiwebui/roiwebui_module/tools/ TextIndexStatus.jsp 6.3. Problembehandlung/Fehler bei der Indizierung Falls beim Indizieren etwas schieft läuft, können über diverse Keywords in der Suche die betroffenen Objekte gefunden werden. Mit dieser Suche kann man dann über die Tools-Seite http://IP-VON-AGORUM-CORE/roiwebui/roiwebui_ module/tools/DeleteDocumentText.jsp den Text für die betroffenen Objekte neu generieren lassen. Diese werden daraufhin neu indiziert. Es gibt folgende Schlüsselworte: Schlüsselwort documenttext.conversionfailed Beschreibung Sämtliche Objekte, bei denen allgemein beim Holen des Textes etwas schief lief (zum Beispiel aufgrund falscher Ports beim Documentservice) 72 Kapitel 6. Der Textindex Schlüsselwort documenttext.ocr.licenseexpired documenttext.ocr.unknownexception Beschreibung Wenn die Lizenz für das OCR-Modul überschritten wurde, werden sämtliche weiteren Dokumente mit diesem Schlüsselwort indiziert. So kann man diese, sobald 1 Monat rum ist, nochmals indizieren lassen Dieses Schlüsselwort wird verwendet, wenn allgemein etwas beim OCR schief läuft (zum Beispiel bei falscher Installation, etc...) 6.4. Index für Pfad-Suche neu aufbauen Die Pfad-Suche über den Index ist eine neue Funktion, die ab Version 6.4.3 zur Verfügung steht. Damit diese funktioniert muss für vorhandene Systeme (also, die die auf diese Version aktualisiert wurden) ein bestimmtes Script aufgerufen werden, um die Pfad-Suche zu aktivieren. Dies ist nur notwendig, falls die Funktion zur Pfad-Suche nutzbar sein soll. Für die Pfadsuche ist ein Neuaufbau des Index notwendig. Dies wurde allerdings so realisiert, dass dies im Hintergrund passiert. Das bedeutet, man kann immer noch suchen, auch wenn der Index neu aufgebaut wird. Zudem wurde eine Priorisierung für die Indizierung eingeführt, damit die Pfad-Indizierung nicht den gesamten Idnizierungs-Prozess blockiert: Neue Objekte werden sofort indiziert, dann folgen aktualisierte Objekte und die letzte Priorität haben Objekte, die zur PfadIndizierung markiert sind. Die Pfad-Suche kann geziehlt für einzelne Ordner aktiviert werden. Um dies zu tun, rufen Sie bitte folgende URL in Ihrem Internet-Browser auf: http:// IP-VON-AGORUM-CORE/roiwebui/roiwebui_module/tools/RebuildPathIndex.jsp Im nun erscheinenden Dialog geben Sie den vollständigen Pfad ein, ab dem die Reindizierung stattfinden soll. Zum Beispiel /agorum/roi/Files/Demo für den Demo-Bereich. Wenn die Home-Ordner der Benutzer reindiziert werden sollen, können Sie Beispielsweise /Home eingeben. Wenn Sie alles reindizieren wollen, dann reicht / aus. Bedenken Sie dabei, dass alle Objekte in der gesamten Ordnerstruktur dabei neu indiziert werden. Dies kann je nach Größe Ihrer Datenbank sehr lange dauern (möglicherweise auch mehrere Tage, aber im Hintergrund). 73 Kapitel 6. Der Textindex 6.5. Index neu aufbauen Der Index kann von Grund auf neu erstellt werden. Dafür müssen folgende Schritte ausgeführt werden: 1. Den Ordner /Administration/TextIndexIsInit im agorum core löschen (Erreichbar im Webportal über den Root-Folder). 2. JBoss runterfahren: # cd / I N S T A L L A T I O N S V E R Z E I C H N I S / scripts # ./ roi_jboss stop 3. Mit der Datenbank (Schema roi ) verbinden • Für MySQL unter Windows: # cd I N S T A L L A T I O N S V E R Z E I C H N I S \ mysql \ bin # mysql - uroot -p - hlocalhost roi • Für MySQL unter Linux: # cd / I N S T A L L A T I O N S V E R Z E I C H N I S / mysql / bin # ./ mysql - uroot -p - hlocalhost -- socket =/ tmp / mysql . agorumcore . sock01 roi • Für PostgreSQL unter Windows: # cd I N S T A L L A T I O N S V E R Z E I C H N I S / psql / bin # psql . exe - Upostgres - hlocalhost -W roi • Für PostgreSQL unter Linux: # cd / I N S T A L L A T I O N S V E R Z E I C H N I S / psql / bin # ./ psql . exe - Upostgres - hlocalhost -W roi 4. In der Datenbank-Konsole folgende Befehle ausführen: • Für MySQL: > truncate table index_document_t ; > truncate table index_content_t ; > exit ; 74 Kapitel 6. Der Textindex • Für PostgreSQL: > > > > truncate table index_document_t ; truncate table index_content_t ; commit ; \q Dies kann einige Minuten dauern! 5. JBoss wieder starten: # cd / I N S T A L L A T I O N S V E R Z E I C H N I S / scripts # ./ roi_jboss start 6. Die URL http://IP-VON-AGORM-CORE/roiwebui/roiwebui_module/install/ RebuildIndex.jsp aufrufen. Der Aufbau des kompletten Index kann je nach Datenmenge sehr lange dauern! 75 Kapitel 7. Der DocumentService Der DocumentService ist ein WebService, welcher diverse Operationen mit Dokumenten durchführt. Dazu gehören beispielsweise Konvertierungen, Textextraktion für den Textindex, drucken, dynamische Dokumentengenerierung (Serienbriefe). 7.1. Einstellungen in der MetaDB Unter /MAIN_MODULE_MANAGEMENT/documentservice/control/common/services befinden sich, unterteilt in MetaDb-Gruppen, die einzelnen DocumentServiceKonverterdefinitionen. Die Konverter für den Textindex befinden sich unter [ DocumentConverter ] für lokale Konverter und unter [ RemoteDocumentConverter ] für Konverter auf einem anderen Server. Unter /MAIN_MODULE_MANAGEMENT/documentservice/control/common/services/ settings finden sich die Einstellungen für diverse Programme, die von dem DocumentService verwendet werden, um Dokumente zu Konvertieren. Folgende Einstellungen für Konverterprogramme sind standardmäßig definiert: openoffice Hier befinden sich alle Einstellungen um OpenOffice automatisiert zu starten und zu beenden. ifilter Hier befinden sich die Einstellungen einen IFilter aufzurufen um ein Dokument zu konvertieren. externalprogram Das ist ein Beispiel für eigene Konvertierprogramme. 76 Kapitel 7. Der DocumentService 7.2. Einstellungen für externe Konverterprogramme Unter /MAIN_MODULE_MANAGEMENT/documentservice/control/services/settings finden sich die Einstellungen für diverse converter: Um Beispielsweise ein Batch-File zu definieren, dass zur Konvertierung von einem bestimmten Dateiformat dienen soll, gehen Sie folgendermaßen vor: Erstellen Sie unter settings ein Propertybundle, zum Beispiel testconverter. Erstellen Sie darin die folgenden Parameter: Entry Executable Parameters Beschreibung Programm, das aufgerufen werden soll Parameter für das aufzurufende Programm (Array) (Platzhalter sind Standard ${InputFile} ${OutputFile} ${InputFile} ${OutputFile}) TimeoutInMS Maximale Wartezeit in Millisekunden für den Prozess. 3600000 (also 1 Stunde) Jetzt können Sie diese Einstellung in einer Converter-Definition verwenden. Ein Beispiel ist remoteConvertDWG2PDF. 7.3. Umstellen der Textextraktion auf IFilter Im Standard wird für die Textextraktion (für den Textindex) von OfficeDokumenten OpenOffice verwendet, für PDF’s kommt PDFBox zum Einsatz. Es besteht die Möglichkeit für diese und weitere Formate IFilter (siehe www.ifilter. org) zu verwenden. Zuerst wird in der MetaDB unter /MAIN_MODULE_MANAGEMENT/documentservice/ control/services/settings/ifilter der Pfad zu dem Hilfsprogramm FiltDump. exe angepasst. Das Programm muss auf dem selben Rechner liegen, wie agorum core. Das bedeutet, dass für diese Konfiguration agorum core auf einem Windows-System laufen muss. Sollte agorum core auf einem Linux-System laufen so muss ein WindowsSystem mit einer DocumentService-Installation und den IFilter-Programmen zur 77 Kapitel 7. Der DocumentService Verfügung gestellt werden. Die Konvertierung läuft dann über einen Webserviceaufruf vom agorum core. Das Programm FiltDump.exe liegt dem Microsoft Platform SDK im Ordner bin bei. Das Microsoft Platform SDK kann kostenlos bei Microsoft runter geladen werden. Weiter muss der entsprechende IFilter installiert werden (z.B. der IFilter für PDF’s von Adobe). Jetzt muss noch der gewünschte convertXXX2TXT-Konverter angepasst werden. Die Konvertereinstellungen befinden sich in der MetaDB unter /MAIN_MODULE_ MANAGEMENT/documentservice/control/services/[ DocumentConverter ]. Für jeden Konverter ist eine Klasse definiert, die intern für die Konvertierung aufgerufen wird. Wenn ein Konverter auf den IFilter umgestellt werden soll, so muss das Entry class unterhalb des gewünschten Konverter-Bundles auf den Wert agorum.documentservice.server.impl.IFilterConverter geändert werden. 78 Kapitel 8. Contenttask Über die Funkton Contenttask können Dateien nach der Neuanlage oder nach einer Änderung automatisch weiteren Bearbeitungsschritten unterzogen werden. Ein Beispiel ist der Contenttask MSG. Dieser konvertiert eine msg-Datei, die in agorum core abgelegt wird, automatisch in eine eml-Datei, die dann von allen Mailclients darstellbar ist. Das Original (der Inhalt der msg-Datei) bleibt dabei in der Mail erhalten. Es gibt im Standard bis jetzt 3 Contenttask-Definitionen. Die Contenttasks werden in der MetaDB unter /MAIN_MODULE_MANAGEMENT/roi/ control/contenttask definiert 8.1. Der Contenttask MSG Dieser Contenttask erzeugt aus einer msg-Datei ein agorum core Mailobjekt. Das Original wird mit in das Mailobjekt abgelegt. Dies wird nur für msg-Dateien ausgeführt, die direkt in agorum core abgelegt sind. msg-Dateien, die über einen File-Adaptor eingebunden sind werden nicht gewandelt. 8.1.1. Einstellungen des Contenttasks MSG 79 Kapitel 8. Contenttask Entry Class DeleteFileAfterTask Extension Beschreibung Hier wird die Java-Klasse hinterlegt, die für diesen Contenttask verwendet wird Hier kann beschrieben werden, was mit der Datei geschieht, wenn der Contenttask gelaufen ist. true = Die Originaldatei wird gelöscht, false = die Originaldatei bleibt erhalten Hier wird die Dateiendung eingestellt, auf die diese Contenttask reagiert. Standard agorum.roi.ejb.common. ContentTaskMsgConverter true .msg 8.2. Der Contenttask EML Dieser Contenttask erzeugt aus einer eml-Datei ein agorum core Mailobjekt. Das Original wird mit in das Mailobjekt abgelegt. Dies wird nur für eml-Dateien ausgeführt, die direkt in agorum core abgelegt sind. eml-Dateien, die über einen File-Adaptor eingebunden sind werden nicht gewandelt. 8.2.1. Einstellungen des Contenttasks EML Entry Class DeleteFileAfterTask Beschreibung Hier wird die Java-Klasse hinterlegt, die für diesen Contenttask verwendet wird Hier kann beschrieben werden, was mit der Datei geschieht, wenn der Contenttask gelaufen ist. true = die Originaldatei wird gelöscht, false = die Originaldatei bleibt erhalten Standard agorum.roi.ejb.common. ContentTaskEmlConverter true 80 Kapitel 8. Contenttask Entry Extension NewName Beschreibung Hier wird die Dateiendung eingestellt, auf die dieser Contenttask reagiert. NewName ist ein Template, mit dem man vorgeben kann, wie der Dateiname letztendlich erzeugt wird. Es gibt ein Beispiel in der MetaDb an dieser Stelle, das sämtliche Platzhalter zeigt. Diese sind folgende: CreateDate=Anlegedatum, SentDate=Sendedatum, Subject=Betreff, OriginalName=Ursprünglicher Dateiname der E-Mail, Extension=Dateiendung, Id=ID des Mailobjektes Standard .eml 8.3. Der Contenttask AC.XML Dieser Contenttask führt den agorum core XML-Parser mit dieser Datei aus. Der XML-Parser wird in der Entwicklerdokumentation beschrieben. Damit können Sie mit einem XML-Script Neuanlagen und Änderungen von Objekten in agorum core direkt über das DMS-Laufwerk einpflegen. Weiter unten sind einige Beispiele zum Setzen von Metadaten beschrieben. Dieser Contenttask reagiert auf Neuanlage einer .ac.xml - Datei und auf das Ändern einer solchen Datei. Ein Umbenennen einer solchen Datei hat keine Auswirkung auf die Ausführung. 8.3.1. Einstellungen des Contenttasks AC.XML 81 Kapitel 8. Contenttask Entry ACL AutomaticTaskUser Class DeleteFileAfterTask Extension Beschreibung Hier kann auf einen ACL verwiesen werden, der die Benutzer/Gruppen enthält, die diesen Contenttask nutzen dürfen (Siehe auch die Anmerkung zum ACL weiter unten) Wenn dieser Contenttask bei der Synchronisation eines Datei - Adaptors ausgeführt wird, muss hier ein Benutzer eingetragen werden, mit dem die Ausführung stattfindet. Hier wird die Java-Klasse hinterlegt, die für diesen Contenttask verwendet wird Hier kann eingestellt werden, was mit der Datei geschieht, wenn der Contenttask gelaufen ist. true = Die Originaldatei wird gelöscht, false = die Originaldatei bleibt erhalten. Achtung: Wenn die Datei gelöscht werden soll, dauert dies mind. 10 Sekunden, bis die Datei weg ist. (Verzögertes Löschen) Hier wird die Dateiendung eingestellt, auf die dieser Contenttask reagiert. Standard ACL ParseACXml Im Standard ist hier kein Benutzer eingetragen, was bedeutet, dass dieser Contenttask über Adaptoren nicht aktiv ist agorum.roi.ejb.common. ContentTaskXmlConverter false .ac.xml Anmerkung zum Eintrag ACL: Das ACL, das dem Entry ACL zugeordnet wird, muss sich selbst als Recht besitzen (Siehe mitgeliefertes ACL ParseACXml ). Dies ist notwendig, da hier nur abgefragt wird, ob der Benutzer, der den Contenttask ausführen möchte dieses ACL lesen kann. Dies bedeutet auch, es reicht READ für alle Benutzer oder Gruppen, die für dieses ACL gesetzt werden. Wenn der Benutzer dieses ACL nicht lesen kann, wird der Contenttask auch nicht ausgeführt. Weiter gilt zu beachten, wenn der Eintrag ACL nicht vorhanden ist, so dürfen 82 Kapitel 8. Contenttask diesen Contenttask alle Benutzer ausführen. Verweisen Sie im Entry ACL auf ein ACL, das es nicht gibt, ist dieser Contenttask für alle gesperrt, auch für Administratoren. Natürlich können Sie dies auch erreichen, wenn Sie diese Contenttask aus der MetaDB löschen oder einfach eine nicht vorhandene Java-Klasse eintragen. 8.3.2. Beispiel: Zusatzattribute für einen Ordner setzen Mit agorum core können Sie einem Objekt beliebig viele Zusatzattribute zuordnen. Diese Zuordnung kann auch über ein agorum core XML-Script gemacht werden. Hier ein Beispiel eines solchen Scriptes: 1 <? xml version = "1.0" encoding =" ISO -8859 -1"? > 2 < ObjectList > 3 < FolderObject > 4 < Update >. </ Update > 5 < ExtendedAttributesXML > <![ CDATA [ 6 < Ordnerstatus DataType =" STRING " > offen </ Ordnerstatus > 7 < Ordnertype DataType =" STRING " > testordner </ Ordnertype > 8 ]] > </ ExtendedAttributesXML > 9 </ FolderObject > 10 </ ObjectList > Beschreibung dieses Scriptes: Beile Zeile 1 Zeile 2 Zeile 3 Zeile 4 Zeile Zeile Zeile Zeile Zeile Zeile 5 6 7 8 9 10 Beschreibung Diese Zeile muss immer als erste Zeile im XML-File stehen Start-Tag des XML-Scriptes Definition des agorum core Objektes Beschreibung um welches Objekt es sich handelt. Hier handelt es sich um den übergeordneten Ordner, in dem diese .ac.xml Datei liegt. Dies bedeutet, dass die Attribute auf diesen Ordner gesetzt werden. Start-Tag für die Attribute, die gesetzt werden sollen Beschreibung des ersten Attributes, hier Ordnerstatus Beschreibung des zweiten Attribute, hier Ordnertype Ende-Tag für die Attribute, die gesetzt werden sollen Ende-Tag für das Objekt Ende-Tag für das Script 83 Kapitel 8. Contenttask Wenn jetzt dieses Script über den Contenttask ausgeführt wird, so werden dem übergeordneten Ordner 2 Zusatzattribute gesetzt. Diese können Sie über die Objektinfo unter dem Reiter Metadaten sehen. Sie können dann auch nach diesem Objekt, durch Verwendung dieser Attribute, suchen: Hier ein Beispiel einer Suche, das Sie einfach in die Schnellsuche eintippen. 1 ordnerstatus : offen Diese Suche listet alle Objekte auf, die das Zusatzattribut ordnerstatus haben, und dieses mit dem Wert offen belegt ist. Bei der Suche müssen die Namen der Zusatzattribute grundsätzlich klein geschrieben werden. Also in diesem Beispiel ordnerstatus ist o.k., Ordnerstatus ist falsch und es wird nichts gefunden. Weiteres zur Suche siehe die Benutzerdokumentation. 8.3.3. Weitere mögliche Datentypen Einschränkungen: INTEGER dürfen max. 10 Stellen haben und hat intern dieses Format : 0000000000 DOUBLE hat intern folgendes format: =”000000000000000.0000000000 1 <? xml version ="1.0" encoding =" ISO -8859 -1"? > 2 < ObjectList > 3 < FileObject > 4 < Update >./ F o r m a t b e i s p i e l e E x t e n d e d A t t r i b u t e . txt </ Update > 5 < ExtendedAttributesXML > <![ CDATA [ 6 < eadDateTime DataType =" DATE " Format =" yyyyMMddHHmmss " >20091124000000 </ eadDateTime > 7 < eadDate DataType =" DATE " Format =" yyyyMMdd " >20091124 </ eadDate > 8 < eadString DataType =" STRING " > Das ist ein String </ eadString > 9 < eadInteger DataType =" INTEGER " >12345 </ eadInteger > 10 < eadDouble DataType =" DOUBLE " >12.98 </ eadDouble > 11 < eadBoolean DataType =" BOOLEAN " > true </ eadBoolean > 12 ]] > </ ExtendedAttributesXML > 13 </ FileObject > 84 Kapitel 8. Contenttask 14 </ ObjectList > 8.3.4. Beispiel: Zusatzattribute für eine Datei setzen Hier noch ein Beispiel, wie Zusatzattribute für eine Datei gesetzt werden können. Wir gehen davon aus, dass Sie eine Datei MeineDatei.pdf haben, für die Sie weitere Attribute vergeben möchten. Dies können Sie jetzt wie folgt machen: Als erstes müssen Sie die datei MeineDatei.pdf in den gewünschten Ordner in agorum core kopieren. Als nächstes kopieren Sie eine zweite Datei MeineDatei.pdf.ac.xml in den selben Ordner. Jetzt werden die Attribute auf die pdf-Datei gesetzt. Wenn Sie die Datei MeineDatei.pdf.ac.xml jetzt nicht löschen lassen (siehe Einstellungen), können Sie die Attribute immer wieder ändern, indem Sie diese Datei ändern. Hier noch der Aufbau der Datei MeineDatei.pdf.ac.xml : 1 <? xml version = "1.0" encoding =" ISO -8859 -1"? > 2 < ObjectList > 3 < FileObject > 4 < Update >./ MeineDatei . pdf </ Update > 5 < ExtendedAttributesXML > <![ CDATA [ 6 < Dateistatus DataType =" STRING " > offen </ Dateistatus > 7 < Dateitype DataType =" STRING " > testdatei </ Dateitype > 8 ]] > </ ExtendedAttributesXML > 9 </ FileObject > 10 </ ObjectList > 85 Kapitel 9. Session-Informationen Mit den Session-Informationen erhält man einen Überblick über die verschiedenen Dienste, die unter agorum core laufen, die IP-Adresse des jeweiligen Dienstes und weitere Informationen, wie die Session-ID des Dienstes, der letzte Zugriff, das Login-Datum und Client-Informationen wer auf den Dienst zugreift. (Abbildung 9.1). Abbildung 9.1.: Listenansicht der Session Information Um die Listenansicht der Session Information anzuzeigen gehen Sie im Portalmenü auf den Menüpunkt Administration -> Session Information (siehe Abbildung 9.2). 86 Kapitel 9. Session-Informationen Abbildung 9.2.: Portalmenü für Session Information 87 Kapitel 10. Installierte Module Diese Funktion bietet einen Überblick über alle in agorum core installierten Module. Es werden der Modulname, die Bezeichnung, die Version, die Anwendungsversion und das Datum der Installation angezeigt (siehe Abbildung 10.1). Abbildung 10.1.: Listenansicht der Installierten Module Um die Listenansicht der installierten Module anzuzeigen, gehen Sie im Portalmenü auf den Menüpunkt Administration -> Installierte Module (siehe Abbildung 10.2). 88 Kapitel 10. Installierte Module Abbildung 10.2.: Portalmenü für Installierte Module 89 Kapitel 11. ParameterAccessIdentifier 11.1. Allgemein ParameterAccessIdentifier steuern über ACLs den Zugriff auf OberflächenFunktionen von agorum core, d.h. wenn ein Benutzer einen ParameterAccessIdentifier sieht, also Read(Lese)-Rechte darauf hat, sind bestimmte OberflächenFunktionen für ihn vorhanden, andernfalls fehlen diese. 11.2. Finden von ParameterAccessIdentifiern So kann ein zugehöriger ParameterAccessIdentifier gefunden werden: In jedem Projekt gibt es für die Weboberfläche eine Datei: C:\projekte\cvs\agorum\[Projektname]\web\WEB-INF\config\roiwebui_module\ ParameterController.xml Dort ist konfiguriert, wie die ParameterAccessIdentifier letztendlich heißen. Beispiel: MyIcon im Projekt roiwebui: 1 2 3 4 5 6 <! - - MyIcon - Options --> < ParameterController > < Identifier > parameter . portalmenu . MyIcon </ Identifier > < ParameterAccessIdentifier > NewIcon </ ParameterAccessIdentifier > < Action > OpenFileListAction </ Action > < Parameters > 90 Kapitel 11. ParameterAccessIdentifier 7 < Parameter > 8 < Name > AreaName </ Name > 9 < Value > PortalMenuRoot </ Value > 10 </ Parameter > 11 < Parameter > 12 < Name > IconImage </ Name > 13 < Value > jump_to_document . gif </ Value > 14 </ Parameter > 15 .. 16 .. 17 .. Hier sieht man, dass der Name NewIcon ist, d.h der ACL heißt ACL_PAI_NewIcon 11.3. Tabelle der ParameterAccessIdentifier von agorum core ParamterAccessIdentifier ACL_PAI_AclAdministration_ ACL_PAI_AclList_ ACL_PAI_Adapters_ ACL_PAI_AddressApplyPersons_ ACL_PAI_AddressArea_ ACL_PAI_AddressCSVExport_ ACL_PAI_AddressDepartmentCreate_ ACL_PAI_AddressExport_ Beschreibung Darf ACL administrieren in ”Administration ACL(Rechte)” → Sieht den Menübefehl ”Person(en) verwenden”, mit dieser Funktion kann eine Person, die im Clippboard ist als Link unter einer neuen Organisation oder Abteilung angelegt werden. Es wird jetzt nur ein neuer Container angelegt, die Person wird wiederverwendet. Darf einen Verteiler als CSVDatei exportieren Darf im Adressbuch unter einer Organisation eine Abteilung anlegen Darf Adressen als csv oder Mailingliste exportieren 91 Kapitel 11. ParameterAccessIdentifier ParamterAccessIdentifier ACL_PAI_AddressFormLetter_ ACL_PAI_AddressImport_ ACL_PAI_AddressMailingList_ ACL_PAI_AddressMailToMailingList_ ACL_PAI_AddressOrganisationCreate_ ACL_PAI_AddToEventAssistance_ ACL_PAI_AFsMountPointSync_ ACL_PAI_ALfsMountPointCreateUpdate_ ACL_PAI_AMailMountPointCreateUpdate_ ACL_PAI_AMailMountPointSync_ ACL_PAI_ANdsMountPointCreateUpdate_ ACL_PAI_AppCalendarAppointmentCreate_ ACL_PAI_AppCalendarCreate_ ACL_PAI_ASmbMountPointCreateUpdate_ ACL_PAI_AWebDavMountPointCreateUpdate_ ACL_PAI_CheckAclStructure_ ACL_PAI_ClientExecute_ ACL_PAI_ClipboardAttach_ ACL_PAI_ClipboardCopy_ ACL_PAI_ClipboardCut_ ACL_PAI_ClipboardDelete_ ACL_PAI_ClipboardPasteAsLink_ ACL_PAI_ClipboardPaste_ ACL_PAI_DeleteWithoutTrash_ ACL_PAI_DownloadManager_ ACL_PAI_EADesignerAdministration_ ACL_PAI_EmailReplyAll_ ACL_PAI_EventAssistanceActive_ Beschreibung Darf einen Serienbrief aus einem Verteiler erstellen Darf Adressen über eine csvDatei importieren Darf einen Verteiler anlegen Darf eine Mail an alle Mitglieder dieses Verteilers schreiben Darf im Adressbuch eine Organisation anlegen Darf einen neuen Kalender anlegen Darf Objekte an ein Anderes anhängen Portalmenü Systemsteuerung → Metadaten-Designer, darf Reiter für Erweiterte Attribute entwerfen. Editmask Mitteilungsoptionen, kontrolliert, ob die Checkbox zum aktivieren/deaktivieren für Benachrichtigungen an andere Benutzer sichtbar ist. 92 Kapitel 11. ParameterAccessIdentifier ParamterAccessIdentifier ACL_PAI_EventAssistanceFilter_ ACL_PAI_EventAssistanceList_ ACL_PAI_EventAssistanceOptions_ ACL_PAI_ExeManList_ ACL_PAI_ExpirationDate_ ACL_PAI_ExtendedSearch_ ACL_PAI_FilesArea_ ACL_PAI_FilesList_ ACL_PAI_ForumArea_ ACL_PAI_GroupAdministration_ ACL_PAI_GroupList_ ACL_PAI_Help_ ACL_PAI_LibraryCreate_ ACL_PAI_Locking_ ACL_PAI_MailList_ ACL_PAI_MetaDbProperty_Administration_ ACL_PAI_MetaDbProperty_Editing_ ACL_PAI_MyFilesArea_ ACL_PAI_MyFilesList_ ACL_PAI_NewExeManProfile_ ACL_PAI_NewFolder_ ACL_PAI_NewIcon_ ACL_PAI_NewMail_ ACL_PAI_NgOsAdminSync_ ACL_PAI_NoteObjectCreate_ ACL_PAI_ObjectEdit_ ACL_PAI_ObjectInfo_ ACL_PAI_ParameterAccessIdentifierList_ ACL_PAI_PDFView_ ACL_PAI_PortalMenuAdministration_ ACL_PAI_PortalMenuControlPanel_ ACL_PAI_PortalMenuPrivateBookmark_ ACL_PAI_PortalMenuPrivate_ ACL_PAI_PortalMenuPublic_ ACL_PAI_QuickView_ ACL_PAI_RootFolderAccess_ Beschreibung Menüpunkt Ansicht → Filter in der EA-Liste Bei der Suche wird der AreaName ausgefiltert Im textitTeam Bereich → Dateien Darf Gruppen administrieren Portalmenü ”Privat Bereich” Im ”Privat Bereich” ”Eigene Dateien” Datei → Neu → Favorit Darf Notizen erstellen Portalmenü Administration Portalmenü Systemsteuerung Portalmenü Eigener Bereich Portalmenü Team Bereich 93 Kapitel 11. ParameterAccessIdentifier ParamterAccessIdentifier ACL_PAI_RSSEventAssistanceListLink_ ACL_PAI_SearchList_ ACL_PAI_SessionInfoAdministration_ ACL_PAI_SetAccess_ ACL_PAI_SingleUpload_ ACL_PAI_SingleUploadParseXMLFile_ ACL_PAI_ShowGlobalToolbarMenu_ ACL_PAI_ShowToolbarMenu_ ACL_PAI_ShowTreeInfoIcon ACL_PAI_SystemFlagsMask_ ACL_PAI_TimePhasedAction_ ACL_PAI_TranslationHelper_ Beschreibung Auf der EventAssistance-RSSListe, aktiviert das RSS-LinkTag Editmask Einzel-Upload, kontrolliert, ob die Checkbox zum parsen von XML-Dateien sichtbar ist. Globales Toolbarmenü in Listen, Kontrolliert, ob in den Listen ein globales Toolbarmenü erscheinen soll. Toolbarmenüs für Objekte in Listen, kontrolliert, ob in den Listen für die einzelenen Objekte ein Toolbarmenü erscheinen soll. Info Icon im Tree. Beim Mouseover wird die Description ausgegeben, beim Click Info aufgerufen Steuert den Zugriff auf den TranslationHelper (Siehe oben) ACL_PAI_TrashCanAdministration_ ACL_PAI_UnclosedSmbObjectsAdministration_ Portalmenü Administration → Geöffnete SMB-Dateien ACL_PAI_UploadManager_ ACL_PAI_UserAdministration_ ACL_PAI_UserList_ ACL_PAI_UserOptionsPassword_ ACL_PAI_UserOptions_ ACL_PAI_ViewDeletedObjects_ Menüpunkt Ansicht → Gelöschte Dateien anzeigen in Files und MyFiles ACL_PAI_WikiCreate_ ACL_PAI_WikiEdit_ ACL_PAI_WikiInEmail_ ACL_PAI_WikiInForum_ 94 Kapitel 11. ParameterAccessIdentifier ParamterAccessIdentifier ACL_PAI_WikiView_ ACL_PAI_AgorumCoreSync_ Beschreibung Sieht den Reiter Synchronisation, mit dem die Funktionen des agorum core Sync-Moduls genutzt werden können. 95 Kapitel 12. Das Adress-Modul 12.1. Einstellungen in der MetaDb für den Adress-Export 12.1.1. Einbinden von EADesigner-Konfigurationen Unter /MetaDb/MAIN_MODULE_MANAGEMENT/desk4web/address/control/settings kann eingestellt werden, welche zusätzlichen Suchfelder aus den EADesignerKonfigurationen in der Adress-Export-Maske dargestellt werden sollen. In diesem Verzeichnis legen Sie einen Property-Eintrag namens EADesignerForExportSearch an und bearbeiten diesen. Der Datentyp ist eine ZeichenketteListe (String-Array). Als Wert können Sie die Namen der im EADesigner erstellten Konfigurationen separiert durch ||angeben. 12.1.2. Erweiterte Attribute, die exportiert werden sollen Unter /MetaDb/MAIN_MODULE_MANAGEMENT/desk4web/address/control/Exporter können erweiterte Attribute angegeben werden, die beim Adress-Export exportiert werden sollen. Hierzu muss unter diesem Verzeichnis ein Property-Bundle mit beliebigem Namen angelegt werden. In diesem Property-Bundle (hier im Beispiel mit dem Namen SampleAttribute müssen folgende Property-Einträge angelegt werden (siehe Abb. 12.1): 96 Kapitel 12. Das Adress-Modul • Active, mit dem Datentyp Zeichenkette (String). Als Wert tragen Sie true oder false ein, je nachdem, ob das Attribut beim Adress-Export berücksichtigt werden soll oder nicht. • ExtendedAttributeExportName, mit dem Datentyp Zeichenkette (String). Als Wert tragen Sie ein, wie die Spaltenüberschrift in der CSVDatei heißen soll. • ExtendedAttributeName, mit dem Datentyp Zeichenkette (String). Als Wert tragen Sie den exakten Namen des erweiterten Attributs, so wie es zum Bespiel in der definierten EA-Designer-Maske steht ein. • ObjectTypes, mit dem Datentyp Zeichenketten-Liste (String-Array). Als Werte können Sie alle Objektnamen, separiert durch ||angeben, für die dieses Attribut ausgelesen und in die CSV-Datei geschrieben werden soll. Abbildung 12.1.: Definition eines zusätzlichen Attribute für den Adress-Export 97 Kapitel 13. Das Reporting-Modul 13.1. Allgemein Zusammen mit der Bibliothek JasperReports und dem Tool iReport hat man ein sehr leistungsstarkes Reporting-Modul zur Verfügung. Im folgenden wird jeder Aspekt zur Verwendung des Moduls im Zusammenhang mit agorum core erläutert. 13.2. Installation von iReport 13.2.1. Installation • iReport-0.5.2.zip entpacken nach c:\tools\Reporting • die Dateien agorum-reporting.jar, agorum_reporting_client.jar und agorum-commons.jar in das Verzeichnis c:\tools\Reporting\iReport-0.5.2\lib kopieren • starten mit 98 Kapitel 13. Das Reporting-Modul c:\tools\Reporting\iReport-0.5.2\iReport.bat 13.2.2. Einrichten der DataSources Um die Reports testen zu können, wurden DataSources entwickelt, die CSV Dateien laden können. Im folgenden wird beschrieben, wie man diese in iReport verwendet: Es werden zwei DataSources angeleget, eine als Haupt-Datenquelle und eine für einen SubReport: • iReport starten • Im Menü ”Datenquelle”, ”Verbindungen/Datenquellen” wählen Hauptdatenquelle: • New anklicken • Als Datenquellen-Typ ”Custom JRDataSource” wählen • Als Name ”TestDataSourceCSV” eintragen • Als Factory Class ”agorum.reporting.datasources.csv.JRCSVHashTest” eintragen • Als Method ”getTheDatasource” eintragen • Save drücken Subdatenquelle: • New anklicken • Als Datenquellen-Typ ”Custom JRDataSource” wählen • Als Name ”TestDataSourceCSVSub” eintragen • Als Factory Class ”agorum.reporting.datasources.csv.JRCSVHashSubTest” eintragen 99 Kapitel 13. Das Reporting-Modul • Als Method ”getTheDatasource” eintragen • Save drücken Das Datenquellen-Fenster kann geschlossen werden. 13.2.3. Verwenden der DataSources Rechts oben können, je nachdem an welchem Report gearbeitet wird, die jeweilige Datenquelle gewählt werden, also ”TestDataSourceCSV” oder ”TestDataSourceCSVSub” (siehe Abbildung 13.1): Abbildung 13.1.: Dialog zur Verwendung der DataSource Um die zwei Datenquellen mit Leben zu füllen, werden im Hauptverzeichnis (c:\) zwei Dateien angelegt: csvdatasource.config und csvdatasourcesub.config Diese enthalten jeweils in der ersten Zeile den kompletten Pfad zu einer CSV Datei. So wird, wenn in iReport ”TestDataSourceCSV” gewählt wurde die CSV Datei genommen, die in der Datei c:\csvdatasource.config eingetragen ist. Wichtig hierbei ist, dass der vollständige Pfad drin steht. Folgezeilen werden in diesen Config-Dateien ignoriert: Beispiel Eintrag in der Datei csvdatasource.config oder csvdatasourcesub. config: C:\projekte\cvs\agorum\desk4web\projecttime\reporting\testdata\address. csv 100 Kapitel 13. Das Reporting-Modul 13.3. Installieren von iReport auf dem Server 13.3.1. Vorbereiten des Servers Damit das Reporting auf einem Server korrekt läuft, müssen die Windows Fonts nachinstalliert werden: Debian oder Ubuntu Unter Debian bzw. Ubuntu: apt-get install msttcorefonts cabextract Suse Unter Suse: ttf Dateien (die drei Hauptschriften befinden sich unter installation/fonts im reporting Projekt) nach /usr/X11R6/lib/X11/fonts/truetype kopieren und im Schriftenverzeichnis folgendes aufrufen: fonts-config mkfontdir 13.3.2. Reports und agorum core In der Regel funktioniert die Integration von Reports in agorum core so, dass ein Report mit einem Namen in der MetaDb definiert wird. Dort werden der Quell-Report (jrxml) definiert, sowie verwendete SubReports, Bilder und etwaige Parameter. Die Verwendung selbst kann entweder über WebService-Aufrufe, oder direkte APIAufrufe geschehen. Dies wird in weiteren Kapiteln genauer erläutert. Die Integration in agorum core beinhaltet einen HTML-Editor zur Bearbeitung generierter Reports. 101 Kapitel 13. Das Reporting-Modul 13.3.3. Definition eines Reports Überblick: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 MA IN _ M O D U L E _ M A N A G E M E N T ( B ) | reporting ( B ) || control ( B ) ||| common ( B ) ||| reports ( B ) ||||[ Demo ] ( G ) ||||| DemoReport ( B ) |||||| streams ( B ) ||||||| AgorumLogoImage =/ agorum / roi / Reports / Demo / images / agorum_logo . jpg ( E ) |||||| main ( B ) ||||||| ReportTemplate =/ agorum / roi / Reports / Demo / DemoReportMain . jrxml ( E ) ||||||| ReportName = DemoReportMain ( E ) ||||||| DataSourceName = MainDataSource ( E ) ||||||| ParameterNames = ParamName1 || ParamName2 ( E ) ||||||| ParameterValues = ParamValue1 || ParamValue2 ( E ) |||||| sub1 ( B ) ||||||| ReportTemplate =/ agorum / roi / Reports / Demo / DemoReportSub1 . jasper ( E ) ||||||| ReportName = DemoReportSub1 ( E ) |||||| SaveHandler ( B ) ||||||| Class = agorum . reporting . common . De fa ul tSa ve Ha nd le r ( E ) ||||||| ParameterNames = SaveFolder || OutputFormats || FileNameMask ( E ) ||||||| ParameterValues =/ agorum / roi / Files / PathToSaveTo || pdf , rtf || $F { Fieldname } Text $P { ParamName }. $V { Extension } ( E ) Report Der Report selbst wird mit einem eindeutigen Namen unter MAIN_MODULE_ MANAGEMENT/reporting/control/reports als Bundle angelegt. 102 Kapitel 13. Das Reporting-Modul streams (optional) Jede im Report verwendete Datei (zum Beispiel ein Bild) wird unterhalb von streams definiert. Es wird ein Entry mit dem exakten Namen, wie in iReport, angelegt. Als Wert wird der vollständige agorum core-Pfad zu der Bild-Datei angegeben. In iReport wird ein Report Parameter angelegt, der genauso heißt (hier im Beispiel AgorumLogoImage). Dieser Parameter wird als java.lang.Object definiert und erhält als Default Value Expression zum Beispiel: new File("c:\\agorum_logo.gif") Dieser Eintrag wird später durch den in der MetaDb definierten stream ersetzt. Auf diese Art und Weise können beliebige weitere Streams erzeugt werden. main (pflicht) Unterhalb von main steht die Definition des Main-Reports. Ein Report besteht immer aus einem ”Main”-Report und n SubReports. Diese SubReports können auch weitere SubReports verwenden. Mit dem Schlüssel ReportTemplate wird der vollständige agorum core-Pfad zu der jrxml-Datei angegeben, die den Main-Report repräsentiert. ReportName definiert den Namen des Reports und hat keine weitere Bedeutung. DataSourceName definiert den Namen der für diesen Report zugehörigen Datenquelle. Diese muss später beim Erstellen als Parameter mitgegeben werden. Mit Hilfe von ParameterNames und ParameterValues können beliebige Name-Wert Paare an diesen Report übergeben werden, die dort wiederum mit Hilfe von Report Parameters dargestellt oder verwendet werden können. Die hier definierten Parameter werden auch an SubReports weitergegeben. 103 Kapitel 13. Das Reporting-Modul sub(n) (optional) Optional (falls vorhanden) können n SubReports definiert werden, welche mit 1 beginnend durchgezählt werden, also zum Beispiel sub1, sub2, etc.... In diesem Beispiel findet sich 1 SubReport, also sub1. Mit ReportTemplate wird der vollständige agorum core-Pfad zum kompilierten Report angegeben (anders als beim Main Report, dort wird die Quell-Datei angegeben: jrxml). Das Kompilat erhält man, wenn man im iReport-Editor den Menüpunkt Build, Kompilieren aufruft. Die jeweilige jasper Datei befindet sich dann im Start-Verzeichnis von iReport. ReportName definiert den exakten Namen für den Report, wie er in iReport angegeben wurde: Abbildung 13.2.: Eingabe des Parameters für den SubReport Hier lautet der Parameter für den SubReport ProjectTimeSubReport. Dieser muss 104 Kapitel 13. Das Reporting-Modul exakt mit dem in der MetaDb übereinstimmen. Zudem muss der Parameter in iReport wie folgt definiert sein: Abbildung 13.3.: Definieren des Parameters in iReport Zum Testen wird der SubReport direkt von Platte gelesen (ist kein Pfad angegeben, so gilt das aktuelle Verzeichnis). Diese Definition wird später beim Generieren des Reports im Programm durch den in der MetaDb definierten Report ersetzt. Daher die Verbindung mit dem Reportnamen. Die Übergabe der Datenquelle an den SubReport funktionert auf zwei Arten: • Die Datenquelle wird als Parameter beim Aufrufen des Report-Generators angegeben • oder sie wird als Feld in die Datenquelle eingetragen. In beiden Fällen ist es wichtig, dass die Datenquelle denselben Namen besitzt, wie bei der Definition des SubReports in iReport, hier ein Beispiel: 105 Kapitel 13. Das Reporting-Modul Abbildung 13.4.: Definieren der Datenquelle in diesem Beispiel wird die Datenquelle über einen Parameter Namens ProjectTimeDataSource definiert. Das heißt, sie müsste als Parameter übergeben werden. In jedem Falle muss die Datenquelle letztendlich vom Typ JRDataSource sein. Der Parameter der Datenquelle muss dann wie folgt definiert werden: Abbildung 13.5.: Definieren des Parameters der Datenquelle 106 Kapitel 13. Das Reporting-Modul das heißt, zum Testen wird als Default value Expression die JRCSVHashSubTest Datenquelle verwendet. Es gilt also die Datenquelle, die in der Datei csvdatasourcesub.config definiert ist. SaveHandler (optional) Der SaveHandler kann optional hinzudefiniert werden. Er definiert, wohin ein Dokument gespeichert werden soll, wenn Beispielsweise ”speichern” im Html-Editor gewählt wurde. Als Klasse wird standardmässig agorum.reporting.common.DefaultSaveHandler verwendet. Kann jedoch jederzeit durch einen eigene Speicher-Implementation ersetzt werden. Wichtig hierbei ist lediglich, dass diese das Interface SaveHandlerInterface.java implementiert. Zum Savehandler können beliebige Name-Wert-Paare übergeben werden, die dann dem Interface als Hashtable zur Verfügung stehen. Folgend werden die StandardParameter beschrieben: • SaveFolder: Gibt den vollständigen agorum core-Pfad an, wohin der Report gespeichert werden soll • OutputFormats: Gibt durch Komma-getrennte Auflistung an, welche Formate erzeugt werden sollen (möglich sind bis jetzt pdf,html,rtf) • FileNameMask: Mit Hilfe diese Maske kann definiert werden, wie der Dateinamen aufgebaut werden soll beim Speichern. $VExtension steht für die Dateierweiterung und wird durch das jeweilige Format ersetzt (pdf, rtf, html). Ansonsten können beliebige Texte angegeben werden. Der wohl interessanteste Teil ist jedoch die Verwendung von Report-Parametern und Report-Feldern. So können Parameter und auch Felder, die entweder im Report definiert wurden, oder auch in der MetaDb für den Report, verwendet werden. $F steht dabei für Feld (aus der Main-Datenquelle) und $P für Parameter. So kann der Dateiname beim Speichern dynamisch aufgebaut werden. Es können auch Funktionen aus dem Report verwendet werden, sofern diese einem Parameter zugeordnet sind. So kann man einem Parameter beispielsweise die Funktion ”new Date()” zuteilen. Durch die Verwendung dieses Parameters im Dateinamen wird das aktuelle Datum eingesetzt. 107 Kapitel 13. Das Reporting-Modul 13.4. Einen definierten Report im Programm verwenden 13.4.1. Über API Das Erzeugen eines Reports funktioniert immer folgendermaßen: Man definiert einen Report und erhält ein Ticket. Mit diesem Ticket kann man dann beispielsweise den Editor aufrufen, oder Dokumente erzeugen, oder drucken, etc... Ticket erzeugen 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 //1. Definieren der Datenquellen : JRHashDataSource mainDataSource = new JRHashDataSource ( anArrayList ) ; JRHashDataSource subDataSource = new JRHashDataSource ( anArrayList ) ; //2. setzen der Datenquellen als Parameter Hashtable parameters = new Hashtable () ; parameters . put (" MainDataSource " , mainDataSource ) ; parameters . put (" SubDataSource1 " , subDataSource ) ; //3. beliebige Parameter setzen parameters . put (" TestParameter " , " Test ") ; //4. Definieren der Editor - Funktionen R ep o r t V i e w e r C o n t r o l B e a n controlBean = new R e p o r t V i e w e r C o n t r o l B e a n () ; controlBean . setHasHtmlEdit ( true ) ; controlBean . setHasPdfView ( true ) ; controlBean . setHasRtfView ( true ) ; controlBean . setHasSave ( true ) ; //5. Erstellen eines Report - Tickets : String ticketNumber = ReportUtils . g e n e r a t e R e p o r t T i c k e t ( parameters , " NameDesReports " , controlBean , customSaveHandler , mainDataSource ) ; • Zu 1.: Es werden alle Datenquellen im Vorfeld erzeugt. Diese müssen vom 108 Kapitel 13. Das Reporting-Modul Typ JRDataSource - Klassen sein. Die Klasse JRHashDataSource ist eine Implementation, die eine ArrayList mit Hashtables enthält. Die Hashtable Einträge entsprechen den Feldnamen im Report. • Zu 2.: Die Hauptdatenquelle wird mit dem Namen in die Hashtable gesetzt, wie sie in der MetaDb definiert wurde. Alle weiteren Datenquelle werden mit dem exakten Parameternamen gesetzt, wie sie im Report definiert sind. • Zu 3.: Zusätzlich können vom Programm aus beliebige weitere Parameter an den Report übermittelt werden. • Zu 4.: Das controlBean steuert den Editor (falls diese Aufgerufen wird). Es kann definiert werden, welche Formate als Vorschau möglich sind, und ob ein Speicherknopf vorhanden ist. • Zu 5.: Damit wird der Report auf Server-Seite bekannt gemacht und man erhält ein ”Ticket”, mit welchen man nun immer wieder auf diesen Report zugreifen kann. Dokumente erzeugen 1 2 3 4 5 6 7 8 9 // Oberen Schritt 1 - 5 ausführen oder : // viewBean mit Ticket - Nummer holen ReportViewerBean viewBean = ReportUtils . getViewerBean ( ticketNumber ) ; ProcessReport processReport = new ProcessReport ( sess ionCon trolle r ) ; processReport . process ( viewBean . getReportName () , viewBean . getParameters () , " pdf " , outputStream , false ) ; Entweder man befüttert die Funktion ”process” direkt mit ”ReportName”, Parameter, oder man holt ein über ein Ticket erzeugtes viewBean. Im ersten Fall kann man sich den Umweg über das Ticket sparen. Dies ist eigentlich nur dann notwendig, wenn folgend Beispielsweise der Editor aufgerufen werden soll. Das obere Beispiel schreibt nun in den OutputStream die PDF Datei. 109 Kapitel 13. Das Reporting-Modul 13.5. Über WebService Über den WebService kann man bis jetzt lediglich CSV-Daten übermitteln. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 G e n e r a t e R e p o r t R e q u e s t B e a n requestBean = new G e n e r a t e R e p o r t R e q u e s t B e a n () ; // Die Datenquelle als CSV - String String cvsDS = ""; cvsDS += " NormalField ; EditAbleField \ n "; cvsDS += "\" A Normal \"\" DS Field \"\"\"; Please edit me "; // setzen der Datenquelle mit dem Namen ( wie in der MetaDb definiert ) requestBean . s e t C v s D a t a S o u r c e N a m e s ( new String [] {" MainDataSource "}) ; requestBean . setC vsData Source s ( new String [] { cvsDS }) ; // belibige Parameter setzen requestBean . setP aramet erName s ( new String [] {" T r an s f er e d Pa r a me t e r "}) ; requestBean . s et Pa ra met er Va lu es ( new String [] {" I am transfered "}) ; // Namen des Reports setzen ( wie in der metaDb ) requestBean . setReportName (" TestReport ") ; // eine PDF und rtf soll zurückkommen requestBean . setReturnReports ( true ) ; requestBean . setOutputFormats ( new String [] {" pdf " ," rtf "}) ; // Es soll nicht gespeichert werden ( über den definierten SaveHandler ) requestBean . setSaveReport ( false ) ; G e n e r a t e R e p o r t R e s p o n s e B e a n respBean = ( GenerateReportResponseBean ) call . c al lD yn am ic Se rv ic e ( responseBean . getWsSessionId () , metaDb , " Report " , " generateReport " , requestBean ) ; // Die Reports kommen als String [] zurück ... String reportTicket = respBean . getReportTicket () ; String [] returnedReports = respBean . g et Re tu rn ed Re po rt s () ; // und können dann so runtergeladen werden : 110 Kapitel 13. Das Reporting-Modul 36 37 38 39 40 41 42 43 44 WSReportUtils repUtils = new WSReportUtils () ; File outFile = new File (" c :\\ dummy . pdf ") ; repUtils . downloadFile ( address , responseBean . getWsSessionId () , returnedReports [0] , outFile ) ; File outFile2 = new File (" c :\\ dummy . rtf ") ; repUtils . downloadFile ( address , responseBean . getWsSessionId () , returnedReports [1] , outFile2 ) ; URL für den download in Java Notation: http://[server]:[port]/dynawebservices/wsfiling?action= getTemp&deleteAfterDownload=true&wsSessionId="+wsSessionId+"&tmpFile= "+URLEncoder.encode(returnedReportName); 13.6. Drucken Ein Report kann über einen ans System angschlossenen Drucker direkt ausgedruckt werden. Lediglich der Druckername muss bekannt sein: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 .... code siehe oben ...... // Druckernamen setzen parameters . put ( PrintParameters . PRINTER_NAME_PARAM , " Adobe PDF ") ; // Sei te no ri en ti er un g einstellen parameters . put ( PrintParameters . PRINTER_ORIENTATION_PARAM , PrintParameters . P R I N T E R _ O R I E N T A T I O N _ L A N D S C A P E ) ; // Anzahl der Kopien einstellen parameters . put ( PrintParameters . PRINTER_COPIES_PARAM , "1") ; //.... und drucken processReport . process (" TestReport2 " , parameters , " print " , null , false ) ; Es werden also einfach noch ein paar Parameter gesetzt, und als output wird print angegeben. 111 Kapitel 13. Das Reporting-Modul 13.7. Der Report-Editor 13.7.1. Allgemein Wie hier definiert ”Einen definierten Report im Programm verwenden”, kann ein Ticket erzeugt werden. Mit diesem Ticket wird der Editor aufgerufen. 13.7.2. Aufruf Der Aufruf ist lediglich der Start der JSP-Datei: /roiwebui/reporting\_module/ReportingFrameSet.jsp?reportTicket=<\% =ticketNumber\%>&type=html Dies startet den Editor mit den Angaben aus dem ViewerControlBean 13.7.3. Definieren von editierbaren Feldern Als erstes: Ein Report ist nur dann bearbeitbar, wenn der Hauptreport nur einmal vorhanden ist, das heisst, nicht n-mal wiederholt wird. Und es ist lediglich der Hauptreport bearbeitbar, keine SubReports. Alle Felder, die im iReport-Editor mit EditAble anfangen und aller Parameter, die mit EditAbleParam anfangen sind im Editor bearbeitbar. 13.8. Einen Report aus dem Client heraus aufrufen 13.8.1. Allgemein Mit Hilfe der Client Komponente von agceptIT, kann man sehr einfach einen Report erstellen. 112 Kapitel 13. Das Reporting-Modul 13.8.2. Beispielaufruf Folgend ein Beispielaufruf, welcher an localhost:9988 gesendet werden muss: 1 http :// localhost :9988/ report : generateReport ? 2 p = reportName || TestReport & 3 p = editReport || true & 4 p = cvsDataSources || c :\ TestReport . csv & 5 p = cv sD at aS ou rc eN am es || MainDataSource & 6 p = parameterNames []|| T r a ns f e re d P ar a m et e r & 7 p = parameterValues []|| I + am + transfered & 8 p = pdfButton || true & 9 p = rtfButton || true & 10 p = saveButton || true & 11 noCache =1234 (dieser Aufruf muss natürlich in einer Zeile stehen, hier ist er lediglich der Übersichthalber umgebrochen.) 13.8.3. Erklärung es soll ein Report generiert werden (generateReport). Der Name des Reports lautet TestReport (wie die Definition in der MetaDb). Er soll so geöffnet werden, dass er nachbearbeitet werden kann (editReport=true). Beim Bearbeiten sollen der PDF-Knopf (pdfButton=true), der RTF-Knopf (rtfButton=true) und der Speicher-Knopf (saveButton=true) vorhanden sein. Die Datenquelle hat den Namen MainDataSource und befindet sich in der Datei c:\TestReport.csv Zudem soll der Parameter TransferedParameter mit dem Wert I am transfered mitgegeben werden. 13.8.4. Beschreibung Folgend werden die möglichen Parameter beschrieben, die es gibt. Hierbei wird zwischen zwei Modi unterschieden: Bearbeiten oder Betrachten: 113 Kapitel 13. Das Reporting-Modul Bearbeiten Parameter editReport Wert true pdfButton true/false rtfButton true/false saveButton true/false Bedeutung true bedeutet, der Editor wird gestartet soll der PDF-Knopf dargestellt werden soll der RTF-Knopf dargestellt werden soll der Speicher-Knopf dargestellt werden Betrachten Parameter editReport Wert false saveReport true/false showAs pdf oder rtf Bedeutung true bedeutet, der Editor wird gestartet bei true wird der Report sofort server-seitig gespeichert stellt den Report entweder als pdf dar oder als rtf, wird diese Variable weggelassen, so wird keine Report Darstellung erstellt Betrachten und Bearbeiten Hier sollen Parameter beider Modi beschrieben werden: Parameter parameterNames[] Wert Name eines Parameters parameterValues[] Wert eines Parameters Datei1::Datei2::etc... hier werden durch :: (Pipes) getrennt die Dateien aufgelistet, die die CSV Daten enthalten cvsDataSources Bedeutung es können beliebige Name-Wert Paare übermittelt werden, wobei die Namen der Parameter in mehreren parameterNames[] stehen und in derselben Reihenfolge die parameterValues[] dazu siehe oben 114 Kapitel 13. Das Reporting-Modul Parameter Wert Bedeutung cvsDataSourceNames Name1::Name2::etc... hier werden durch :: (Pipes) getrennt alle DatenQuellenNamen aufgelistet. Jeder definierte Report in der MetaDb hat einen Datenquellennamen, so wird die Zugehörigkeit zu Report und Datenquelle hergestellt Achtung: die (::) -Pipes sind in Wirklichkeit \path $||$ Weitere Beispiele Einen Report als PDF darstellen: 1 http :// localhost :9988/ report : generateReport ? 2 p = reportName || TestReport & 3 p = editReport || false & 4 p = showAs || pdf & 5 p = cvsDataSources || c :\ TestReport . csv & 6 p = cv sD at aS ou rc eN am es || MainDataSource & 7 p = parameterNames []|| T r a ns f e re d P ar a m et e r & 8 p = parameterValues []|| I + am + transfered & 9 noCache =1234 115 Kapitel 14. Zusätzliche Module 14.1. Das File-Adaptor-Modul Das File-Adaptor-Modul steht nur in agorum core Pro als Zusatzmodul zur Verfügung. Es gibt zwei Adaptoren für Filesysteme: 1. Adapter für freigegebene Filessysteme per SMB/CIFS-Protokoll 2. Adapter für das lokale Filesystem, auf dem der agorum core - Server installiert ist Mit den Adaptoren können Sie externe Dateisysteme in agorum core so einbinden, als wenn diese in agorum core vorhanden wären. agorum core selbst speichert dabei lediglich die Verweise in der Datenbank, die Dateien und Ordner selbst bleiben aber wie gewohnten auf dem entfernten Dateiserver. Für die Benutzer ist diese Integration völlig transparent. Für sie ist es, als ob die Dateien direkt in agorum core gespeichert wären. So können Dateien unterschiedlicher Dateisysteme in agorum core an den unterschiedlichsten Stellen sichtbar gemacht und verwendet werden. Ein weiterer Vorteil ist dann beispielsweise auch der, dass über diese adaptierten Dateisysteme in agorum core eine übergeordnete Berechtigung (unabhängig vom Dateiserver) gelegt werden kann. Adaptierte Dateien erhalten dabei automatisch DMS-Funktionen, wie Volltextsuche, Verschlagwortung, Integration in Workflows, etc... 116 Kapitel 14. Zusätzliche Module Adaptoren sind nicht mit dem Serverpapierkorb von agorum core verbunden und auch nicht mit der Historie. Die adaptierten Daten sind nur anhand des Pfades zu identifizieren. Wenn der Pfad auf dem adaptierten Dateisystem geändert wird (Namensänderung eines Ordners), werden alle adaptierten Objekte, die unterhalb der Änderung liegen in (agorum core) gelöscht und der Adapter baut die Objekte dann beim Synchronisieren neu auf. Waren diese Objekte beispielsweise in agorum core verlinkt, so sind diese danach nicht mehr vorhanden. Wenn Sie einen Pfad ändern wollen (Namensänderung, Verschieben), machen Sie das am besten über agorum core. Dann bleiben die adaptierten Objekte und auch alle Verknüpfungen, Links, usw. erhalten. Je tiefer die Struktur unterhalb solch eines Ordners ist, desto länger kann die Änderung dauern, weil die geänderte Pfad-Information komplett durch die Struktur vererbt werden muss. 14.1.1. Der SMB-Adapter Zum Anlegen eines neuen SMB-Adapters gehen Sie im Web-Portal von agorum core in einen beliebigen Ordner und wählen Sie über das Menü den SMB-Adapter aus (siehe Abbildung 14.1). Im Standard kann nur der Administrator einen Adapter anlegen. 117 Kapitel 14. Zusätzliche Module Abbildung 14.1.: Anlegen eines neuen SMB-File-Adapters In der Maske zum Anlegen sind folgende Zeilen zum Ausfüllen vorhanden (siehe Abbildung 14.4): Name Name des Adapters. Dieser Name wird wie ein normaler Ordner behandelt, da der Adapter selbst auch als Ordner in agorum core angezeigt wird. Daher sind als Eingabe nur die Zeichen gültig, die für Ordner gelten. SMB-Server Domain oder IP-Adresse des Fileservers, von dem per SMB/CIFS ein Laufwerk adaptiert werden soll. SMB-Pfad Hier wird der Freigabename des Laufwerks eingegeben. Es kann auch ein Freigabename+Unterordner eingegeben werden. Getrennt wird hierbei mit einem / SMB-Benutzer Technischer Benutzer, der Zugriff auf das freigegebene Laufwerk hat. (Siehe Beschreibung unten, was dieser Benutzer bedeutet). SMB-Passwort Passwort des SMB-Benutzers. Server-Einstellungen (optional) Hier kann in der MetaDB eine optionale Servereinstellung hinterlegt werden. Mit einem Klick auf den Link neben dem Eingabefeld wird die MetaDB geöffnet, so dass sofort die Servereinstellung dort angelegt werden kann. Als erstes muss ein Property-Bundle angelegt werden (Datei - Neu - Property-Bundle), mit dem selben Namen wie im Adaptor 118 Kapitel 14. Zusätzliche Module eingegeben, siehe Abbildung 14.2. Dann in dieses Bundle wechseln und dort ein Property-Entry mit dem Namen : UseUserConnection anlegen, siehe Abbildung 14.3. Folgende Vorgaben können mit dem Eintrag gemacht werden: false = Es wird zum Anlegen / Bearbeiten der Daten des Adaptors immer der technische Benutzer verwendet, unabhängig, welcher Benutzer angemeldet ist. true = Der Adapter nimmt wenn möglich den aktuell angemeldeten Benutzer für das Anlegen/Bearbeiten der Daten. Wenn dies nicht möglich ist, wird automaisch der technische Benutzer verwendet (dies ist auch Standard, wenn keine optionale Servereinstellung vorhanden ist). Ablgeich Intervall geben Sie ein, wie oft der Adapter das adaptierte Laufwerk abgleichen soll. Dies ist dazu notwendig, um Änderungen mitzubekommen, die direkt auf dem adaptierten Laufwerk gemacht werden. (Im Gegensatz: wenn Sie Änderungen über beispielsweise das agorum core DMS-Laufwerk durchführen, dann werden diese direkt live an das adaptierte Filesystem übertragen). Die Eingabe ist hier in Minuten vorzugeben. Z.B.: 1 Tag = 1440 Minuten, eine Stunde = 60 Minuten, 0 bedeutet, dass es keine automatisierte Synchronisation gibt und diese über das Menü (siehe Bild unten) angestoßen werden muss Abgleich-Zeitpunk im ersten Feld von links wird die Stunde eingegeben, im zweiten Feld die Minute. Diese Zeit beschreibt, wann der Abgleich das erste mal ausgeführt wird, nachdem der Adapter angelegt wurde. Von diesem Zeitpunkt aus wird das Intervall gerechnet. Wenn Sie zum Beispiel den Zeitpunkt 0:05 Uhr wählen und als Intervall 60 Minuten, dann läuft der Abgleich um 0:05 Uhr, 1:05 Uhr, 2:05 Uhr, jede Stunde, etc.... Beschreibung Hier kann eine beliebige Beschreibung des Adapters eingegeben werden. 119 Kapitel 14. Zusätzliche Module Abbildung 14.2.: Anlegen eines Property-Bundle für die optionalen Servereinstellungen des SMB-Adapters in der MetaDB Abbildung 14.3.: Anlegen eines Property-Entry für die optionalen Servereinstellungen UseUserConnection des SMB-Adapters in der MetaDB 120 Kapitel 14. Zusätzliche Module Abbildung 14.4.: Maske zum Anlegen eines neuen SMB-File-Adapters Wenn alle Eingaben gemacht sind, kann über den Knopf Verbindung testen geprüft werden, ob alles richtig ist und ob das freigegebene Laufwerk adaptiert werden kann. Siehe Bild (Abbildung 14.5) für einen erfolgreichen Verbindungstest. Ein gescheiterter Verbindungstest sehen Sie im Bild (Abbildung 14.6). Abbildung 14.5.: Erfolgreicher Verbindungstest zum adaptierten Dateisystem 121 Kapitel 14. Zusätzliche Module Wenn der Verbindungstest scheitert kann dies an mehreren Dingen liegen, zum Beispiel: 1. SMB-Server : Server stimmt nicht 2. SMB-Pfad: Freigabename gibt es nicht 3. SMB-Benutzer: Benutzer gibt es nicht oder er hat keine Rechte 4. SMB-Passwort: Passwort ist falsch Abbildung 14.6.: Kein erfolgreicher Verbindungstest zum adaptierten Dateisystem Der SMB-Benutzer Der SMB-Benutzer sollte ein technischer User sein, der zumindest Lese-Rechte auf das adaptierte Laufwerk besitzt. Mit diesem Benutzer wird die Synchronisation durchgeführt. Wenn jetzt ein Benutzer über agorum core auf dem Adapter arbeitet, wird versucht dessen Benutzerkennung/Passwort aus agorum core zu verwenden (durchzuschleusen). Somit arbeitet der Benutzer mit seiner Benutzerkennung auf dem adaptierten Fileserver. Damit hat er automatisch auch dessen Rechte. Falls dieser Benutzer sich nicht auf dem adaptierten Laufwerk anmelden kann (weil zum 122 Kapitel 14. Zusätzliche Module Beispiel sein Benutzer dort nicht vorhanden ist), wird automatisch wieder mit dem technischen SMB-Benutzer auf das Laufwerk zugegriffen und damit auch die Rechte des technischen Benutzers verwendet. 14.1.2. Der lokale Filesystem (LFS)-Adapter Zum Anlegen eines neuen Adapters für das lokale Dateisystem gehen Sie in einen beliebigen Ordner und wählen über das Menü den Adapter für das Lokale Dateisystem aus (Abbildung 14.7). Im Standard kann nur der Administrator einen Adapter anlegen. Abbildung 14.7.: Anlegen eines neuen Lokalen Filesystem (LFS)-Adapters In der Maske zum Anlegen sind folgende Zeilen zum Ausfüllen (Abbildung 14.8): Name des Adapters. Dieser Name wird wie ein normaler Ordner behandelt, da der Adapter selbst auch als Ordner in agorum core angezeigt wird. Daher sind als Eingabe nur die Zeichen gültig, die für Ordner gelten. Lokaler Pfad Hier geben Sie den Pfad ein, den Sie adaptieren wollen. Die Eingabe erfolgt im Syntax des jeweiligen Betriebssystems, also zum Beispiel c:/temp oder /tmp 123 Kapitel 14. Zusätzliche Module Ablgeich Intervall geben Sie ein, wie oft der Adapter das adaptierte Laufwerk abgleichen soll. Dies ist dazu notwendig, um Änderungen mitzubekommen, die direkt auf dem adaptierten Laufwerk gemacht werden. (Im Gegensatz: wenn Sie Änderungen über beispielsweise das agorum core DMS-Laufwerk durchführen, dann werden diese direkt live an das adaptierte Filesystem übertragen). Die Eingabe ist hier in Minuten vorzugeben. Z.B.: 1 Tag = 1440 Minuten, eine Stunde = 60 Minuten, 0 bedeutet, dass es keine automatisierte Synchronisation gibt und diese über das Menü (siehe Bild unten) angestoßen werden muss Abgleich-Zeitpunk im ersten Feld von links wird die Stunde eingegeben, im zweiten Feld die Minute. Diese Zeit beschreibt, wann der Abgleich das erste mal ausgeführt wird, nachdem der Adapter angelegt wurde. Von diesem Zeitpunkt aus wird das Intervall gerechnet. Wenn Sie zum Beispiel den Zeitpunkt 0:05 Uhr wählen und als Intervall 60 Minuten, dann läuft der Abgleich um 0:05 Uhr, 1:05 Uhr, 2:05 Uhr, jede Stunde, etc.... Beschreibung Hier kann eine beliebige Beschreibung des Adapters eingegeben werden. Abbildung 14.8.: Maske zum anlegen eines lokalen Filesystem (LFS)-Adapters Wenn alle Eingaben gemacht sind, kann über den Knopf Verbindung testen geprüft werden, ob alles richtig ist und ob das freigegebene Laufwerk adaptiert werden 124 Kapitel 14. Zusätzliche Module kann. Siehe Bild (Abbildung 14.9) mit einem erfolgreichen Verbindungstest. Das Bild (Abbildung 14.10) zeigt einen gescheiterten Verbindungstest. Abbildung 14.9.: Erfolgreicher Verbindungstest eines LFS-Adapters Wenn der Verbindungstest scheitert kann dies nur daran liegen: Lokaler Pfad Diesen Pfad gibt es nicht 125 Kapitel 14. Zusätzliche Module Abbildung 14.10.: Gescheiterter Verbindungstest eines LFS-Adapters 14.1.3. Gemeinsames Synchronisieren / Aktualisieren Um einen Adapter von Hand zu synchronisieren / aktualisieren, wechseln Sie in das Verzeichnis des Adapters und rufen Sie über das Menü einen der beiden Befehle auf (Abbildung 14.11). Der Unterschied zwischen den beiden Kommandos ist folgender: Synchronisieren Es wird der gesamte Adapter Synchronisiert. Wenn dies gemacht wird, wird der Adapter selbst mit allen Unter-Ordnern synchronisiert. Hier läuft dann das selbe ab, wie wenn der Adapter automatisch zu den eingestellten Intervallen synchronisiert wird. Achtung: Synchronisieren ist nur direkt unterhalb des Adapters im Menü auswählbar. Aktualisieren Hier wird nur das aktuelle Verzeichnis des Adapters aktualisiert, in dem Sie sich befinden, wenn Sie das Kommando aufgerufen haben. Das können Sie z.B. auch dazu einsetzen, um einen neuen Adapter gezielt aufzubauen. Dann haben Sie die Möglichkeit z.B. in den Verzeichnisebenen eigene ACL’s zu setzen, bevor der gesamte Adapter aufgebaut wird. Natürlich geht 126 Kapitel 14. Zusätzliche Module es auch hinterher, aber der Aufwand wird größer, da die ACL’s dann durch alle vorhandenen Ordner-Ebenen vererbt werden müssen. Ist das ACL von Anfang an gesetzt, so wird sofort bereits das richtige ACL beim Synchronisieren vererbt. Hier eine beispielhafte Vorgehensweise, wenn Sie auf den Adapter selbst unterschiedliche ACL’s setzen wollen: • Adapter anlegen • Erste Ebene aktualisieren, auf die Ordner die ACL’s legen, die benötigt werden. • Weitere Ebenen aktualisieren und auch dort die richtigen ACL’s setzen. • Wenn alle ACL’s vergeben sind, den gesamten Adapter synchronisieren Abbildung 14.11.: Synchronisieren / Aktualisieren eines File-Adapters Löschen Beim Löschen ist zu beachten, dass die gelöschten Objekte NICHT in den Serverpapierkorb kommen, sondern die Objekte direkt gelöscht sind. 127 Kapitel 14. Zusätzliche Module Dies bedeutet, alles was gelöscht wird ist auch weg (in agorum core und auf dem adaptieren Filesystem). Eine funktionierende Datensicherung für die adaptierten Filesystem ist daher empfehlenswert. In agorum core werden lediglich die Verweise gespeichert, nicht aber die Daten, diese verbleiben auf den jeweils adaptierten Fileservern. Folgendes ist beim Löschen zu beachten: Löschen eines Adapters Wenn Sie einen Adapter selbst löschen wollen, geht dies nur über das Webportal desk 4web. Dazu gehen Sie in das Verzeichnis, in dem sich der Adapter befindet und wählen den Adapter selbst in der Listenansicht aus (klick in entsprechende Listenzeile, dies kann nur ein Administrator). dann rufen Sie über das Menü den Befehl zum Löschen auf. Jetzt müssen Sie unbedingt das Häckchen setzen, damit ohne Serverpapierkorb gelöscht wird. Wenn dieses nicht gesetzt ist, kann der Adapter selbst nicht gelöscht werden. Siehe dazu nachfolgende Bilder (Abbildung 14.12 und 14.13): Abbildung 14.12.: Löschen eines File-Adapters 128 Kapitel 14. Zusätzliche Module Abbildung 14.13.: Löschen eines File-Adapters ohne Serverpapierkorb Tips zum Löschen: Wenn Sie den Adapter löschen wollen und der technische Benutzer hat nur LeseRechte auf dem Dateiserver, ändern Sie einfach den Freigabenamen oder den Server. Dann überprüfen Sie mit dem Verbindungstest diese Änderung. Dieser muss jetzt scheitern. Dann kann auch kein anderer Benutzer mehr darauf zugreifen. Sie sehen es auch daran, sobal der Adapter keine Verbindung zum Dateiserver hat, werden alle Dateien mit 0 Byte angezeigt, da die Dateigröße immer vom Originalsystem geholt wird (Abbildung 14.14). Wenn Sie jetzt den Adapter löschen, können die Objekte in agorum core gelöscht werden, die Dateien auf dem adaptierten Filesystem bleiben aber bestehen. 129 Kapitel 14. Zusätzliche Module Abbildung 14.14.: File-Adapter ist nicht verbunden Löschen von Links Sie können auch adaptierte Objekte in andere Verzeichnisse innerhalb von agorum core verlinken. Das Verhalten beim Löschen ist dann aber ein wenig anders, als bei normalen Dateien. In der Regel ist es egal, wo Sie ein verlinktes Objekt löschen, es bleibt dann immer an den anderen verlinkten Stellen noch stehen. Beim Adapter ist es jedoch so, dass wenn Sie das jeweilige verlinkte Objekt direkt unterhalb des Adapters löschen, dann auch alle Links gelöscht werden (weil ja sonst der Verweis auf das adaptierte Filesystem fehlen würde) Verlinken von adaptierten Ordnern / Dateien Ordner und Dateien aus einem Adapter können wie gewohnt verlinkt werden. In einen Adapter können keine Daten hinein gelinkt werden. 130 Kapitel 14. Zusätzliche Module desk4web und Adaptoren Im Webportal agorum desk 4web ist ein adaptiertes Objekt immer daran zu erkennen, dass im Icon ein blaues Dreieck enthalten ist (Abbildung 14.15). Abbildung 14.15.: Ordner und Dateien eines File-Adapters werden unterschieden durch blaue Pfeile Ausschneiden / Einfügen Ausschneiden und Einfügen geht nur innerhalb des selben Adapters. Andere Objekte wie Dateien und Ordner Über das Webportal agorum desk 4web können aus anderen Ordner-Bereichen von agorum core heraus nur Dokumnente und Ordner in den Adapter kopiert werden. Dies bedeutet, Sie können aus einem agorum core - Verzeichnis andere Objekte wie Foren, Wiki oder EMail nicht in den Adapter kopieren. Dabei gibt es keinerlei Meldung. So wird ein Kopiervorgang nicht unterbrochen, wenn eine ganze Ordnerstruktur in den Adapter kopiert wird. Alle nicht-Ordner und nicht-Datei Objekte werden einfach ausgefiltert. 131 Kapitel 14. Zusätzliche Module 14.2. Das Mail-Adaptor-Modul Mit dem Mailadapter können Postfächer per IMAP(S) oder POP3(S) adaptiert, bzw. integriert werden. Beim Mailadapter werden die Mails physikalisch in agorum core gespeichert. Somit kann ein Mail-Adapter auch als Mailarchiv für Postfächer eingesetzt werden. Das Mail-Adaptor-Modul steht nur in agorum core Pro als Zusatzmodul zur Verfügung. 14.2.1. Neuen Mail-Adapter anlegen Um einen neuen Mailadapter anzulegen, gehen Sie mit dem Webportal agorum desk 4web in einen beliebigen Ordner und wählen dort über das Menü einen neuen Mailadapter aus (siehe Abbildung 14.16) Abbildung 14.16.: Anlegen eines neuen Mail-Adapters Jetzt wird die Eingabemaske aufgeblendet, in der folgende Werte einzugeben sind (siehe Abbildung 14.17): Name Name des Adapters. Dieser Name wird wie ein normaler Ordner behandelt, 132 Kapitel 14. Zusätzliche Module da der Adapter selbst auch als Ordner in agorum core angezeigt wird. Daher sind als Eingabe nur die Zeichen gültig, die für Ordner gelten. Server-Typ Hier wird ausgewählt, ob die Verbindung zum Mail-Server über IMAP oder POP3 stattfinden soll. Mail-Host Netzwerk-Adresse des Servers. Optional kann mit einem Doppelpunkt getrennt ein vom Standard abweichender Port angegeben werden. Z.B.: imap. mailhost.de oder pop.mailhost.com:1234 SSL-Verschlüsselung Hier kann ausgewählt werden, ob die Verbindung über eine SSL-Verschlüsselung hergestellt werden soll. Es werden nur Zertifikate unterstützt, die von einer öffentlichen Zertifizierungsstelle signiert sind! Mail-Pfad Verzeichnis unterhalb des Postfaches, ab dem synchronisiert werden soll. Wenn Sie hier / eingeben, wird das gesamte Postfach adaptiert. Oft lauten die internen Namen der Ordner anders, als sie dem Benutzer angezeigt werden. Ein Beispiel dafür ist INBOX anstelle von Posteingang. Mail-Benutzer Benutzername zur Anmeldung am Postfach. Mail-Passwort Passwort des Mail-Benutzers. Wenn Sie hier das Passwort leer lassen und es gibt den Mailbenutzer in agorum core, so wird das Passwort automatisch aus agorum core benutzt. Mails behalten Hier können Sie einstellen, was mit den Mails im adaptierten Postfach geschehen soll, sobald diese synchronisiert wurden. Standardmäßig ist hier eingestellt, dass die Mails im adaptierten Postfach verbleiben. Abgleich Intervall geben Sie ein, wie oft der Adapter das adaptierte Postfach abgleichen soll. Die Eingabe ist hier in Minuten vorzugeben. Z.B.: 1 Tag = 1440 Minuten, eine Stunde = 60 Minuten, 0 bedeutet, dass es keine automatisierte Synchronisation gibt und diese über das Menü (siehe Bild unten) angestoßen werden muss Abgleich-Zeitpunkt im ersten Feld von links wird die Stunde eingegeben, im zweiten Feld die Minute. Diese Zeit beschreibt, wann der Abgleich das erste mal ausgeführt wird, nachdem der Adapter angelegt wurde. Von diesem Zeitpunkt aus wird das Intervall gerechnet. Wenn Sie zum Beispiel den Zeitpunkt 0:05 Uhr wählen und als Intervall 60 Minuten, dann läuft der Abgleich um 0:05 Uhr, 1:05 Uhr, 2:05 Uhr, jede Stunde, etc.... Beschreibung Hier kann eine beliebige Beschreibung des Adapters eingegeben 133 Kapitel 14. Zusätzliche Module werden. Abbildung 14.17.: Eingabemaske zum Anlegen eines neuen Mail-Adapters Nach der Eingabe aller Daten, können Sie über den Knopf Verbindung testen prüfen, ob sich das Postfach verbinden lässt. Siehe dazu Abbildung 14.18 und 14.19. 134 Kapitel 14. Zusätzliche Module Abbildung 14.18.: Erfolgreicher Verbindungstest des Mail-Adapters zum Postfach Wenn der Verbindungstest fehlschlägt, kann dies mehrere Ursachen haben. Hier die Felder, die Sie überprüfen sollten: • • • • • Server-Typ Mail-Host (und ein eventuell angegebener Port) Mail-Benutzer Mail-Passwort Mail-Pfad (eventuell heisst der Pfad intern anders, als er Ihnen angezeigt wird). Hier können Sie auch / eingeben und dann einfach mal den Ordner aktualisieren (siehe unten). Dann können Sie sehen, wie die einzelnen Ordner benannt sind. Der Mail-Pfad wird beim Testen der Verbindung nicht geprüft. Wenn dieser nicht stimmt, werden keine Mails synchronisiert. 135 Kapitel 14. Zusätzliche Module Abbildung 14.19.: Fehlgeschlagener Verbindungstest des Mail-Adapters zum Postfach 14.2.2. Filter definieren In einem weiteren Reiter können Sie Filter definieren, um gezielt Mails über den Adapter einzulesen, die bestimmte Kriterien erfüllen (siehe Abbildung 14.20). Es können beliebig viele Filter pro Mailadapter definiert werden. Ein einzelner Filter wendet einen regulären Ausdruck (Wert) auf eines der ausgewählten Felder (Anwenden auf ) an. Mit dem Feld Test kann der eingegebene Ausdruck getestet werden. 136 Kapitel 14. Zusätzliche Module Abbildung 14.20.: Filtereinstellungen eines Adapters Reguläre Ausdrücke Da das Thema Reguläre Ausdrücke sehr umfangreich ist, soll hier nur ein kurzer Überblick über die Möglichkeiten gegeben werden. Weiterführende Informationen und eine Unmenge an Anwendungsbeispielen finden Sie im Internet. Reservierte Zeichen müssen mit einem \ maskiert werden, wenn diese als Text behandelt werden sollen. Folgende Zeichen sind reserviert: / . + * ? ^ $ | ( ) [ ] { } Erklärung der reservierten Zeichen: • . ist Platzhalter für ein beliebiges Zeichen (x.y findet xay, aber auch xuy) • + gibt an, dass das vorhergehende Zeichen ein oder n-mal vorkommen kann (x+ findet x, aber auch xxxxx) • * gibt an, dass das vorhergehende Zeichen kein, ein oder n-mal vorkommen kann (x* findet x, aber auch xxxxx, oder aber auch y) • ? gibt an, dass das vorhergehende Zeichen ein beliebiges anderes sein kann (xyz? findet xy, xyz, aber auch xyw) • ^ gibt an, dass der Ausdruck am Anfang des Satzes stehen muss • $ gibt an, dass der Ausdruck am Ende des Satzes stehen muss • | gibt ein entweder oder eines Begriffes an (agorum\.(com|de) findet agorum. com oder auch agorum.de) • () fasst mehrere Zeichen zusammen, um die vorhergenden Operatoren auch 137 Kapitel 14. Zusätzliche Module auf mehrere Zeichenketten anwenden zu können • [] gibt Bereiche an ([a-c]gorum findet agorum, bgorum und auch cgorum) • {} gibt an, wie oft ein Zeichen wiederholt werden darf (h.{2}s findet haus aber auch hans, zwei beliebige Zeichen zwischen h und s) Beispiele Um alle E-Mails, die mit der Absender-Adresse agorum.com versendet wurden, zu erhalten wird folgendes angegeben: Anwenden auf: Absender-Adresse Wert: .*agorum\.com.* um alle E-Mails, die mit den Absender-Adresse agorum.com oder agorum.de versendet wurden, wird folgendes angegeben: Anwenden auf: Absender-Adresse Wert: .*agorum\.(com|de).* Um alle E-Mails, die NICHT agorum in der Absender-Adresse enthalten, zu erhalten, wird folgendes angegeben: Anwenden auf: Absender-Adresse Wert: !.*agorum.* Löschen im Adapter Zum Löschen des Adapters muss dieser markiert werden, dann über das Menü Löschen auswählen. Verlinken Aus dem Adapter heraus können die Daten in andere Bereiche von agorum core verlinkt werden. Umgekehrt ist dies nicht möglich. 14.2.3. Berechtigung Einen Adapter kann derjenige anlegen, der die Berechtigung für den Menüpunkt hat (Siehe ParameterAccessIdentifier: ACL_PAI_AMailMountPointCreateUpdate_ und ACL_PAI_Adapters_). Ein Adapter ist nur über einen Administrator und denjenigen, der den Adapter angelegt hat, bearbeitbar. Unabhängig davon, welche ACL der Adapter selbst besitzt. Unterhalb des Adapters wird die Berechtigung 138 Kapitel 14. Zusätzliche Module vererbt, die auf dem Adapter selbst gesetzt wurde. Wenn der Adapter als Archiv für eine Mailbox angelegt wird, sollte dieser immer im Privatbereich des Benutzers angelegt werden. Dann ist sichergestellt, dass die Mails auch nur diesem Benutzer zugänglich sind. 14.2.4. Kopieren Sie können Daten aus dem Adapter in andere Bereiche von agorum core kopieren. Der Adapter selbst kann nicht kopiert werden. 14.2.5. Mail-Sync / Ordner aktualisieren Mail-Sync Hier wird der gesamte Adapter neu synchronisiert. Die Synchronisation läuft im Hintergrund ab. Das Symbol des Adapters blinkt, solange die Synchronisation läuft. Um die Änderungen verfolgen zu können, müssen Sie die Ansicht des Ordners hin und wieder aktualisieren. Da die E-Mails immer in Blöcken abgeholt und abgearbeitet werden, kann es sein, dass es eine Weile dauert, bis Sie etwas sehen. Mail-Sync ist nur direkt unterhalb des Adapters im Menü auswählbar. Außerdem ist dieser Menüpunkt nur bei einem Administrator oder bei dem Benutzer, der dazu berechtigt ist (siehe ParameterAccessIdentifier ACL_PAI_AMailMountPointSync_), sichtbar. Ordner aktualisieren Hier wird nur der Ordner aktualisiert, in dem Sie sich gerade befinden. Die Aktualisierung wird sofort ausgeführt und der Ordner wird für die Bearbeitung solange gesperrt, bis diese beendet wurde. Zusätzliche Einstellungen In der Regel ist es notwendig, dass der MailAdaptor einen schreibenden Zugriff auf das Mail-Postfach erhält, damit der ”‘Gelesen”’ Status beibehalten werden 139 Kapitel 14. Zusätzliche Module kann. Bei manchen Mail-Server macht dies jedoch Probleme. Daher kann mit folgender MetaDb-Option der Zugriff gesteuert werden: MAIN_MODULE_MANAGEMENT/ ngfsadapter/mailadapter/control/OpenMailFolderReadOnly, true=Die Mailbox wird read-only geöffnet, false=Die Mailbox wird lesend und schreiben geöffnet. 14.3. Der Metadaten-Designer Der Metadaten-Designer ist Bestandteil von agorum core Pro. Mit dem Modul EADesigner haben Sie folende Möglichkeiten: • Entwurf von Reiter für die Bearbeitungsmasken im agorum desk4web, die Sie nach bestimmten Kriterien anzeigen lassen können, um darüber Erweiterte Attribute eingeben, bzw. ändern zu können. • Entwurf von Reitern für die erweiterte Suche im agorum desk4web, um darüber nach (erweiterten) Attributen suchen zu können. • Entwurf von Eingabemasken für Workflows. • Entwurf von Suchfeldern für die Adress-Export-Maske. Den Designer können Sie über das Portalmenü Systemsteuerung, Menüpunkt Metadaten-Designer erreichen. Dieser Menüpunkt kann über den ParameterAccessIdentifier ACL_PAI_EADesignerAdministration_ ein- bzw. ausgeblendet werden. 140 Kapitel 14. Zusätzliche Module Abbildung 14.21.: Liste mit entworfenen Reitern 14.3.1. Erstellen einer neuen Konfiguration Wenn Sie einen neuen Reiter für die Eingabe von erweiterten Attributen, bzw. für die erweiterte Suche entwerfen, so müssen Sie auf dem ersten Reiter der Entwurfsmaske (siehe Abbildung 14.22) mindestens die folgenden Werte ausfüllen: Bezeichnung Name Angezeigter Key) Masken Name (Text- Beschreibung Der eindeutige Namen für diesen Reiter. Dieser Name wird nur intern benutzt und wird an keiner Stelle angezeigt. Der Name darf aus Buchstaben, Zahlen, Bindestrichen, Unterstrichen und Leerzeichen bestehen. Der Name mit dem der Reiter in einer Maske angezeigt wird. Hier kann ein TextKey (welcher in den Message.property Dateien übersetzt wird) oder ein Freitext eingegeben werden. Masken, bei den dieser Reiter angezeigt werden kann. 141 Kapitel 14. Zusätzliche Module Bezeichnung Beschreibung Zusatz zur erw. Suche Beschreibung Eine Beschreibung des Reiters. Dieses Wert ist optional. Lucene Query, das mit dem erzeugten Suchquery ”verunded” wird. Dieses Wert ist optional. Abbildung 14.22.: Allgemeine Einstellungen eines Reiters Auf dem Reiter Designer können Sie Eingabefelder mit unterschiedlichsten Eigenschaften definieren. Zur Auswahl stehen die folgenden Eingabefelder: • Eingabefeld. In dieses einzeilige Feld kann eine beliebige Zeichenkette eingegeben werden. • Eingabebereich. In dieses mehrzeilige Feld kann eine beliebige Zeichenkette eingegeben werden. • Datum. In dieses Feld kann ein Datum eingegeben, bzw. ausgewählt werden. • Datum mit Uhrzeit. In dieses Feld kann ein Datum und eine Uhrzeit eingegeben/ausgewählt werden. • Ganzzahl. In dieses Feld kann eine Ganzzahl (Integer) eingegeben werden. 142 Kapitel 14. Zusätzliche Module • Dezimalzahl. In dieses Feld kann eine Dezimalzahl (Double) eingegeben werden. • Auswahlfeld. Mit diesem Feld kann eine Wert aus einer Liste ausgewählt werden. • Ja-/Nein-Feld. Mit dieser Checkbox können sie einen Boolean speichern. • Trenner. Trennlinie Mit den vier Knöpfen rechts neben dem Feld (siehe Abbildung 14.23) können Sie die Position des Feldes verändern, es bearbeiten und es löschen. Abbildung 14.23.: Konfiguration der Eingabeelemente Jedes der verfügbaren Eingabefelder hat die drei Attribute Name, Angezeigter Name (TextKey) und In erweiterter Suche verwenden (siehe Abbildungen 14.24, 14.25 und 14.26), wobei der Name dem Namen des zu speichernden Erweiterten Attributes entspricht und der Angezeigte Name in den Eingabemasken erscheint. Wenn die Option In erweiterter Suche verwenden gesetzt ist, dann wird dieses Attribut in der Erweiterten Suche verwendet. 143 Kapitel 14. Zusätzliche Module Abbildung 14.24.: Konfiguration eines Eingabefeldes Je nach Typ des Feldes können folgende weiteren Eigenschaften konfiguriert werden: • Vorbelegter Wert: Wenn der Wert des Erweiterten Attributes nicht belegt ist, wird das Eingabefeld mit diesem Wert vorbelegt. Verfügbar bei: Eingabefeld, Eingabebereich, Ganzzahl, Dezimalzahl und Ja-/Nein-Feld. • Pflichtfeld: Für das Erweiterte Attribute muss ein Wert ausgefüllt werden. Verfügbar bei: Eingabefeld, Eingabebereich, Datum, Datum mit Uhrzeit, Ganzzahl, Dezimalzahl. • Validierung: Ein regulärer Ausdruck auf den der Wert des Erweiterten Attributes passen muss. Wird dem regulären Ausdruck ein ! (Ausrufezeichen) vorangestellt, so wird der Ausdruck negiert! Verfügbar bei: Eingabefeld, Eingabebereich, Ganzzahl, Dezimalzahl. • Werte: Dieses Feld gibt es nur bei Auswahlfeldern (siehe Abbildung 14.26). Hier werden die verfügbaren Werte und Texte der Auswahlliste definiert. Abbildung 14.25.: Konfiguration eines Feldes für Datum mit Uhrzeit 144 Kapitel 14. Zusätzliche Module Abbildung 14.26.: Konfiguration eines Auswahlfeldes Auf dem letzten Reiter Bedingungen (siehe Abbildung 14.27) können Sie bestimmen, unter welchen Bedingungen der Reiter auf den Bearbeitungsmasken angezeigt wird. Die Bedingungen greifen nicht für die erweiterte Suche. Hier wird der Reiter immer angezeigt! Sie haben die Möglichkeit nach Pfaden, Objektattributen (z.B. Name, Beschreibung, Änderungsdatum, etc.) oder Erweiterten Attributen zu filtern. Wenn Sie nach Objektattributen oder Erweiterten Attributen filtern, muss der Wert des Attributes mit einem von Ihnen eingegebenen regulären Ausdrucks passen. Wenn mehrere Pfade eingegeben werden, so muss einer der Pfade passen (ODERVerknüpfung), damit der Reiter bei einer Bearbeitungsmaske angezeigt wird. (Erweiterte) Attribute mit gleichen Namen werden ebenfalls ODER-Verknüpft, Attribute mit unterschiedlichen Namen werden UND-Verknüpft (alle müssen passen). Pfade, Attribute und Erweiterte Attribute werden miteinander durch eine UNDVerknüpfung verbunden. 145 Kapitel 14. Zusätzliche Module Abbildung 14.27.: Bedingungen unter denen der Reiter angezeigt wird 14.3.2. Verwendung eines Reiters in einer Bearbeitungsmaske Wenn die Bedingungen passen, dann wird für die ausgewählten Masken der entsprechende Reiter angezeigt. In Abbildung 14.28 sehen Sie einen Reiter mit ausgefüllten Werten. Beim Speichern werden die Eigenschaften der Erweiterten Attribute überprüft: Ist das Attribut ein Pflichtfeld und passt der reguläre Ausdruck auf den eingegeben Wert. 146 Kapitel 14. Zusätzliche Module Abbildung 14.28.: Entworfener Reiter in einer Bearbeitungsmaske 14.3.3. Verwendung eines Reiters der erweiterten Suche Wenn bei mindestens einem Attribute die Option In erweiterter Suche verwenden gewählt wurde, so wird in der erweiterten Suche ein Reiter mit dem (angezeigten) Namen der Konfiguration erscheinen. Alle Attribute werden verunded. 14.3.4. Berechtigung zum Bearbeiten einzelner Konfigurationen In der MetaDB unter MAIN_MODULE_MANAGEMENT/eadesigner/ designedattributestabs werden alle Daten für die Konfigurationen abgelegt. Auf die einzelnen Konfigurationen unter designedattributestabs ist bereits ein spezielles ACL ACL_DesignedTabs (im ACL Bereich unter System/eadesigner) gesetzt. Im Standard dürfen nur Administratoren Reiter erstellen, bzw. bearbeiten. Wenn einzelne Konfigurationen anders berechtigt werden sollen, so können Sie 147 Kapitel 14. Zusätzliche Module eigene ACLs auf die Konfigurationen unterhalb von MAIN_MODULE_MANAGEMENT/ eadesigner/designedattributestabs setzten. Dabei müssen die bearbeiten Benutzer, bzw. Gruppen das Löschrecht haben. 14.3.5. Metadaten-Maske in der Suche als Standardmaske öffnen In der MetaDB unter MAIN_MODULE_MANAGEMENT/eadesigner/ designedattributestabs/NAME-DER-KONFIGURATION/commons/TabActive stellen Sie ein, ob diese Metadatenmaske in der erweiterten Suche als Standardmaske geöffnet werden soll. Wenn Sie dies möchten, so stellen Sie als TabActive den Wert true ein. 14.4. Der Metadaten-Editor 14.4.1. Allgemein Mit dem Metadaten-Editor können die Metadaten sowohl von einzelnen als auch mehreren Objekten gleichzeitig bearbeitet werden. Der Editor ist als Workflow implementiert. Der Metadaten-Editor benötigt das agorum core Pro WorkflowModul. 14.4.2. Freigabe für weitere Benutzer In der aktuellen Version des Metadaten-Editors findet keine Überprüfung auf Schreibberechtigung statt, daher ist in der Voreinstellung nur der Administrator berechtigt, den Workflow auszuführen. Wenn Sie weiteren Benutzern den Zugang zum Editor ermöglichen wollen, so setzen Sie eine entsprechende ACL auf den Workflow, beispielsweise im Menü der Workflow-Liste unter Bearbeiten → Rechte vergeben. Zusätzlich sollten Sie den Benutzer zur ACL ACL_PAI_MetaDataWorkflow_ hinzufügen, damit der zusätzliche Eintrag im Kontextmenü auf der Weboberfläche angezeigt wird. 148 Kapitel 14. Zusätzliche Module 14.4.3. Integration in den Windows-Client Der Metadaten-Editor kann auch im Kontextmenü agorum core WindowsClients angezeigt werden. Um die entsprechenden Einträge hinzuzufügen, öffnen Sie unterhalb Ihres agorum core-Installationspfads im Verzeichnis jboss/server/default/deploy/roi.ear/roiwebui.war/WEB-INF/config/winclient/ die Datei MenuController.xml. Fügen Sie dort im Abschnitt <MenuController> einen Eintrag für den Metadaten-Editor wie folgt hinzu: <MenuController> <Identifier>agorum.winclient.contextmenu.Default</Identifier> <MenuEntries> <SubMenu sortOrder="100">agorum.winclient.contextmenu.submenu.AgorumCore</SubMenu> <Entry sortOrder="200">agorum.winclient.contextmenu.JumpToD4wFolder</Entry> <Entry sortOrder="300">agorum.winclient.contextmenu.Preview</Entry> <!-- Eintrag für den Metadaten-Editor --> <Entry sortOrder="400">agorum.winclient.contextmenu.MetaDataEditor</Entry> </MenuEntries> </MenuController> Am Ende der Datei, vor der Zeile </ControllerConfiguration> setzen sie den folgenden Code ein: <MenuEntryController> <Identifier>agorum.winclient.contextmenu.MetaDataEditor</Identifier> <ParameterIdentifier>parameter.workflow.MetaDataWorkflow.Start</ParameterIdentifier> <TextKey>Metadaten-Editor</TextKey> <Icon></Icon> <MultipleIds>true</MultipleIds> <Parameters> <Parameter> <Name>ForFile</Name> <Value>true</Value> </Parameter> <Parameter> <Name>ForFolder</Name> <Value>true</Value> </Parameter> <Parameter> <Name>ForMultiple</Name> <Value>true</Value> 149 Kapitel 14. Zusätzliche Module </Parameter> <Parameter> <Name>ForNone</Name> <Value>false</Value> </Parameter> <Parameter> <Name>ForAgorumCoreDrive</Name> <Value>true</Value> </Parameter> </Parameters> </MenuEntryController> Danach können alle Benutzer, die über die Berechtigung verfügen, den MetadatenEditor aus dem Kontextmenü im Windows-Explorer starten. Dabei werden die momentan selektierten Objekte an den Editor übergeben. Die Datei MenuController.xml kann bei Updates von agorum core überschrieben werden. Es ist daher empfehlenswert, eine Sicherheitskopie der veränderten Datei anzulegen. 14.5. Metadaten in Listen darstellen Bestandteil des Metadaten-Designers ist die Möglichkeit Metadaten direkt in Listen (Suchergebnis, Mitteilungen, Dokumentenordner) darzustellen. 14.5.1. Einstellungen in der MetaDB Alle Einstellungen des Moduls werden in der MetaDB unter /MAIN_MODULE_ MANAGEMENT/eadesigner/control/MetaDataInList vorgenommen. Entry DisplayWidthInPixels Beschreibung Definiert die Breite in Pixel pro Metadateneintrag in der Liste. Alle Werte, die länger sind, werden abgeschnitten. Standard 180 150 Kapitel 14. Zusätzliche Module Entry LinkMetaDataValues Beschreibung Wenn dieser Wert true ist, dann sind die einzelnen Werte in der Liste anklickbar und es wird daraufhin eine Suche mit dem gewählten Metadatenfeld und Inhalt durchgeführt. MaxCharacters Definiert die maximale Anzahl von Zeichen für einen Wert. Ist der Wert länger, wird dieser beschnitten. Somit lässt sich die zu übertragende Datenmenge vom Server reduzieren, wenn sehr viel Text in diversen Feldern steht. MetaDataDefaultEnabled Ist dieser Wert true, so ist die MetadatenDarstellung für alle Listen standardmäßig aktiviert, der Benutzer kann dann die Darstellung gezielt pro Liste ausschalten. Ist der Wert false, dann sind die Metdaten für alle Listen deaktiviert, der Benutzer kann dann die Darstellung gezielt pro Liste einschalten. MetaDataIncludeFilter In diesem Wert können mehrere Filter (Array mit Regular Expression) für die darzustellenden Metadatenfelder bestimmt werden. Dadurch lassen sich zum einen gezielt Felder ein-/ausblenden oder aber auch die Reihenfolge der Darstellung bestimmen. Definiert man zum Beispiel als Felder kundennummer. *| |rechnungsnummer. * wird zuerst die Kundennummer und dann die Rechnungsnummer ausgegeben. Mit einem vorangestellten ! kann man den Filter negieren. Zum Beispiel !kundennummer. *| |. * stellt alle Felder dar, außer der Kundennummer Standard true 80 true .* 151 Kapitel 14. Zusätzliche Module 14.6. Metadaten-Eingabe beim Speichern von Dokumenten erzwingen Wenn der agorum core Windows-Client installiert ist, kann beim Speichern von Dokumenten in bestimmte Verzeichnisse die Eingabe von Metadaten erzwungen werden. Es öffnet sich dann automatisch nach dem Erstellen ein Fenster für die Eingabe der Metadaten für das eben gespeicherte Dokument. Handelt es sich um mehrere Dokumente, so können die Metadaten für alle Dokumente auf einmal gesetzt werden oder für jedes einzelne Dokument hintereinander. 14.6.1. Einstellungen in der MetaDB Alle Einstellungen des Moduls werden in der MetaDB unter /MAIN_MODULE_ MANAGEMENT/eadesigner/control/MetaDataAutoInput vorgenommen. Unterhalb dieses Bundles wird ein weiteres Bundle mit einem beliebigen Namen angelegt. Darin befindet sich die Konfiguration für bestimmte Ordner, auf die die automatische Metadatenvergabe funktionieren soll. Es können mehrere solcher Konfigurationen erstellt werden. Es gibt in der Standardinstallation ein Demo-Bundle, das die Konfiguration beispielhaft zeigt. Entry Active ClassNames StartPath Beschreibung true=Konfiguration ist aktiv Ein Array von agorum core ObjektKlassennamen, auf die diese Konfiguration angewendet werden soll. Ein Array von agorum core Startpfaden (oder IDs), ab denen die Konfiguration gelten soll Standard true/false FileObject /agorum/roi/Files/Demo Die Metadaten-Maske, die dann kommen soll, wenn ein Dokument in den jeweiligen eingestellten Ordner gespeichert wird, wird im Metadaten-Designer definiert. Erstellen Sie, wie gewohnt eine Maske mit dem Metadatendesigner und wählen Sie bei Verfügbare Masken im Reiter Allgemein: Metadaten aus. Über Filtereinstellungen können Sie dann verschiedenen Ordnern verschiedene Metadatenmasken zuordnen. 152 Kapitel 14. Zusätzliche Module 14.7. Das Search-Highlighting Dieses Zusatzmodul zeigt Ihnen direkt in der Ergebnisliste Ihrer Suche eine Zusammenfassung des gefundenen Dokumentes an und markiert die gesuchten Worte. So können Sie sehr schnell erkennen, ob das gefundene Dokument das ist, wonach Sie gesucht haben. Zudem haben Sie die Möglichkeit auch eine komplette TextAnsicht des Dokumentes inklusive Markierung der Fundstellen anzeigen zu lassen. So können Sie sich sehr schnell einen Überblick über den Inhalt des Dokumentes verschaffen, ohne auch nur einmal das Dokument öffnen zu müssen. Das Search-Highlighting-Modul ist Bestandteil von agorum core Pro. 14.7.1. Einstellungen in der MetaDB Für das Modul Search-Highlighting können in der MetaDB unter /MAIN_MODULE_ MANAGEMENT/searchhighlighting/control folgende Einstellungen angepasst werden: Entry FragmentSeperator HighlightStartTag HighlightEndTag MaxDocBytesToAnalyze MaxFragmentsToHighlight Beschreibung Optischer Trenner zwischen den Fragmenten Start - Tag für das markierte Wort, um die Markierung darzustellen Abschluss - Tag für das markierte Wort, um die Markierung darzustellen Maximale Textlänge die durch den Highlighter verarbeitet wird in Bytes Maximale Anzahl der Fragmente, die dargestellt werden Standard ... <span class=”highlighted”> </span > 1048576 3 153 Kapitel 14. Zusätzliche Module 14.8. Das Preview/Vorschau-Modul Der Preview/Vorschau-Modul steht nur in agorum core Pro als Zusatzmodul zur Verfügung. 14.8.1. Einstellungen in der MetaDB zum Hinzufügen von Stempeln In der MetaDb müssen für das Hinzufügen von Stempel unter /MAIN_MODULE_ MANAGEMENT/preview/overlay/DefaultSet Property-Bundles mit beliebigem Namen angelegt werden. Unterhalb dieser Property-Bundles wird dann für jeden Stempel ein Bild und ein Erweitertes Attribut definiert. Im folgenden Beispiel werden zwei Stempel (Freigegeben und Abgelehnt) definiert. Für den Freigeben-Stempel wird das Property-Bundle Approved angelegt. Es hat folgende Property-Einträge (alle vom Typ Zeichenkette (String), siehe Abbildung 14.29): Entry Image Name Text Value Beschreibung Der relative Pfad zur Bilddatei des Freigeben-Stempels. Name des Erweiterten Attributes, in dem der Freigabe-Status gespeichert wird. Der Text des Freigabe-Status. Der Wert des Freigabe-Status. Standard 154 Kapitel 14. Zusätzliche Module Abbildung 14.29.: Einstellungen für den Freigegeben-Stempel Für den Abgelehnt-Stempel wird das Property-Bundle Rejected angelegt. Es hat folgende Property-Einträge (alle vom Typ Zeichenkette (String), siehe Abbildung 14.30): Entry Image Name Text Value Beschreibung Der relative Pfad zur Bilddatei des Abgelehnt-Stempels. Name des Erweiterten Attributes, in dem der Freigabe-Status gespeichert wird. Der Text des Freigabe-Status. Der Wert des Freigabe-Status. Standard Abbildung 14.30.: Einstellungen für den Abgelehnt-Stempel 155 Kapitel 14. Zusätzliche Module 14.9. Das PreviewThumbnails-Modul Vorschau-Bilder in den Listen Der PreviewThumbnails-Modul steht nur in agorum core Pro als Zusatzmodul zur Verfügung. Zudem wird das agorum core PreviewModul als Basis benötigt 14.9.1. Einstellungen in der MetaDB Alle Einstellungen des Modules werden in der MetaDB unter /MAIN_MODULE_ MANAGEMENT/previewthumbnails/control vorgenommen. Entry Beschreibung PreviewThumbnailsDefaultEnabled Ist dieser Wert true, so ist das Preview für alle Listen standard-mäßig aktiviert, der Benutzer kann dann die Darstellung gezielt pro Liste ausschalten. Ist der Wert false, dann sind die Vorschaubilder für alle Listen deaktiviert, der Benutzer kann dann die Darstellung gezielt pro Liste einschalten. PreviewThumbnailsSize Gibt die Größe in Pixeln der längsten Seite des Dokumentes an. Ist beispielsweise das Dokument im Hochformat, gibt dieser Werte die Höhe der darzusetellenden Vorschau an, die Breite wird entsprechen skaliert. Standard false 95 14.10. Das REDDOXX-Modul Das REDDOXX-Modul bieten eine Schnittstelle von der E-Mail-ManagementLösung REDDOXX (http://www.reddoxx.com) in agorum core. So besteht die Möglichkeit der Verbindung einer E-Mail-Archivierungslösung mit einem Dokumentenmanagement-System. 156 Kapitel 14. Zusätzliche Module Das REDDOXX-Modul steht nur in agorum core Pro als Zusatzmodul zur Verfügung. 14.10.1. TimePhasedAction Die TimePhasedAction ReddoxxInputFolderWatcher muss auf den Ordner gesetzt werden, in den REDDOXX die Schnittstellendateien hin kopiert. Die TimePhasedAction ist so konfiguriert, das sie auf Events reagiert, aber auch zusätzlich jede Minute läuft. 14.10.2. Einstellungen in der MetaDB Alle Einstellungen des Modules werden über die TimePhasedAction ReddoxxFilesHandler in der MetaDB unter /MAIN_MODULE_MANAGEMENT/ timephasedaction/control/ReddoxxFilesHandler/Parameters vorgenommen. Direkt unter Parameters befindet sich nur eine Einstellung: Entry DeleteXmlFile Beschreibung Definiert, nach erfolgreicher Verarbeitung die XML-Schnittstellendatei gelöscht werden soll (true oder false). Standard true Unter dem Bundle Filter wird für jede Filtereinstellung ein eigenes Bundle mit einem beliebigen Namen angelegt. Unterhalb diese Bundles gibt es dann folgende Konfigurationsmöglichkeiten: Entry Active SortOrder Beschreibung Definiert, ob dieser Filter aktiv ist oder nicht (true oder false). Gibt die Reihenfolge an, in welcher dieser Filter im Vergleich zu den anderen Filtern ausgeführt wird. Standard false 0 157 Kapitel 14. Zusätzliche Module Entry FilterMailAddrRegExp FilterPath ToPathBase ToPathIn ToPathOut SetACL WorkflowName WorkflowDescription Beschreibung Regular Expression, die auf die einzelnen SMTP-Mailadressen angewendet wird (Erweiterte Attribute: reddoxx EnvRecipients und reddoxx EnvSender ). Bei ausgehenden Mails (wenn reddoxx Direction den Wert 1 hat) wird die Absenderadresse genommen (reddoxx EnvSender ), bei allen anderen Mails (wenn reddoxx Direction nicht den Wert 1 hat) werden die Empfangsadressen geprüft (reddoxx EnvRecipients). Filter auf den Eingangsordner. Basispfad für Zielordner. Der Pfad kann absolut angeben werden oder relativ ab dem Ordner, in den die REDDOXXSchnittstellendateien kopiert werden. Innerhalb der Pfadangabe können die unten aufgeführten Variablen verwendet werden. Zielordner für eingehende Mails. Dieser Pfad muss relativ (ab ToPathBase) angegeben werden. Innerhalb der Pfadangabe können die unten aufgeführten Variablen verwendet werden. Zielordner für ausgehende Mails. Dieser Pfad muss relativ (ab ToPathBase) angegeben werden. Innerhalb der Pfadangabe können die unten aufgeführten Variablen verwendet werden. Definiert, ob Gruppen und ACLs für den Zielordner angelegt und zugewiesen werden sollen (true oder false). Name des Workflows, der mit der zu prüfenden Mail gestartet wird, denn dieser Filter greift. Wenn dieses Entry leer oder nicht vorhanden ist, wird kein Workflow gestartet. Beschreibung des zu startenden Workflows, wenn der Filter greift. Ist dieses Entry leer oder nicht vorhanden, dann wird kein Workflow gestartet. Standard false 158 Kapitel 14. Zusätzliche Module Entry PerformNextFilter Beschreibung Definiert, ob der nächste Filter (SortOrder ) ausgeführt werden soll, wenn dieser Filter greift (true oder false). Greift der Filter nicht, dann wird auf jeden Fall der nächste Filter ausgeführt Standard false Variablen im Pfadnamen ${RDX:mailaddress} Wird durch die Empfängeradresse, bzw. Absenderadresse ersetzt. Bei ausgehenden Mails (wenn reddoxx Direction den Wert 1 hat) wird die Absenderadresse genommen (reddoxx EnvSender ), bei allen anderen Mails (wenn reddoxx Direction nicht den Wert 1 hat) werden die Empfangsadressen verwendet (reddoxx EnvRecipients). ${RDX:domainname} Wird durch den Domainteil der Empfängeradresse, bzw. Ab- senderadresse ersetzt.Bei ausgehenden Mails (wenn reddoxx Direction den Wert 1 hat) wird die Absenderadresse genommen (reddoxx EnvSender ), bei allen anderen Mails (wenn reddoxx Direction nicht den Wert 1 hat) werden die Empfangsadressen verwendet (reddoxx EnvRecipients). ${SDF:yyyy/mm/dd} Wird durch einen ”Datumsorder” ersetzt. Das Format entspricht dem SimpleDateFormat von Java: http://download.oracle.com/ javase/1.4.2/docs/api/java/text/SimpleDateFormat.html. In dem hier verwendeten SimpledateFormat werden drei Ordner angelegt: der Erste mit dem aktuellen Jahr (z.B. 2010 ), der zweite mit dem aktuellen Monat (z.B. 09 ) und der letzte mit dem aktuellen Tag (z.B. 05 ). So lassen sich die E-Mails sehr einfach in Datumsordner archivieren. 14.11. Das agorum core Sync-Modul Das Sync-Modul steht nur in agorum core Pro als Zusatzmodul zur Verfügung. 159 Kapitel 14. Zusätzliche Module 14.11.1. Anwendungsfälle für das agorum core Sync-Modul Anwendung bei mehreren Standorten Gibt es mehrere Standorte, an denen jeweils ein eigener agorum core-Server installiert ist, können durch agorum core Sync Bereiche von agorum core an allen Standorten synchronisiert werden. Dabei kann jeder Standort unabhängig von der Verbindung über das Internet arbeiten, da gemeinsame Dokumente an allen Standorten abgelegt sind. Diese Dokumente können an jedem Standort geändert werden, und die Änderungen werden an die anderen Standorte synchronisiert. Anwendung für den Datenaustausch mit Kunden, Lieferanten oder Partnern Rechnungserfassung und Metadatenerstellung Eingangsrechnungen werden in ein definiertes Verzeichnis gescannt. Ein Workflow ändert nun den Namen des Dokuments in ID.Extension. Anschließend wird das Dokument in das Übertragungsverzeichnis verlinkt. Die Dokumente werden zum Dienstleister übertragen, der die Metadaten aus den Dokumenten erkennt. Nach Erkennung der Metadaten wird der Scan gelöscht, die Metadaten werden in einer Datei mit dem Namen des Dokuments und einer Erweiterung (z.B. ’ID.pdf.xml’ oder ähnliches) abgelegt. Danach werden die Metadaten in einem Rückübertragungsverzeichnis zuückübertragen. Ein Workflow überwacht das Rückübertragungsverzeichnis, wobei die ankommenden Metadaten dem gescannten Dokument zugeordnet werden. Der Workflow erkennt an Basisinformationen eine elektronische Akte und ordnet das gescannte Dokument zu. Gescannte Dokumente direkt zum Steuerberater In agorum core eingescannte Belege können über agorum core Sync direkt auf das agorum core System des Steuerberaters synchronisiert werden. Dieser kann die Belege dann automatisiert verarbeiten. Synchronisation auf einen Laptop Auf einem Laptop wird ein lokales agorum core Pro System, z.B. eine VM-Ware installiert. In dieses lokale System wird ein gewünschtes Verzeichnis vom Hauptsystem synchronisiert. Nun verfügt man auch mobil über diese Dokumente. Wenn 160 Kapitel 14. Zusätzliche Module der Laptop wieder an das Heimnetz angeschlossen wird, werden die Daten des lokalen Systems auf dem Laptop wieder zurücksynchronisiert. Daten aus einer Cloud auf den lokalen Server holen Möchte man wichtige Dokumente sichern, die sich in einer Cloud-Umgebung befinden, kann man über das agorum core Sync-Modul diese Daten auf ein eigenenes internes System synchronisieren und sich somit eine lokales Abbild der Dokumente anlegen. 14.11.2. Besonderheiten des agorum core Sync-Modules 1. Wenn ein ACL mit dem selben Namen auf dem entfernten System existiert, wird dieser verwendet und gesetzt. 2. Wenn ein Benutzer mit dem selben Namen auf dem entfernten System existiert, wird dieser als Creator bzw. Lastmodifier des Dokuments gesetzt. 3. Objekte können verschoben und umbenannt werden. 4. Wird ein ACL geändert, so wird dieser vom eigenen System zum Zielsystem und auch umgekehrt synchronisiert. Wurde der ACL sowohl auf dem eigenen System als auch auf dem Zielsystem geändert, wird der ACL des in der Konfiguration angegebenen Masters verwendet. Wurde der ACL auf einem System geändert und ist im anderen System nicht vorhanden, bleibt der ACL im ursprünglichen Zustand. 5. Wird ein Objekt gesperrt, wird dieser Status bei der Synchronisation mitübertragen, wenn es dieses Objekt auf der Gegenseite schon gibt. Ist es noch nicht vorhanden, wird nichts synchronisiert. 6. Ist ein Ordner gesperrt, wird der Ordner mit Status ’Gesperrt’ übertragen, nicht aber dessen Inhalt synchronisiert. Ist ein Ordner gesperrt, wird dessen Inhalt nicht synchronisiert. Wurde der Ordner noch nie synchronisiert, wird ebenfalls nichts synchronisiert. 7. Ein Fileadapter wird auf dem Zielsystem in ein normales File- bzw. FolderObjekt umgewandelt. 161 Kapitel 14. Zusätzliche Module 8. Werden Objekte in einen Fileadapter synchronisiert, werden diese in Fileadapter-Objekte umgewandelt. Gibt es dabei Objekte, die ein Fileadapter nicht kennt, wird der Synchronisationsvorgang für dieses Objekt nicht durchgeführt. 9. Fileadapter- und Mailadapter-Mountpoints werden auf dem Zielsystem zu normalen Ordnern umgewandelt. Die Einstellungen des Mountpoints werden nicht mitsynchronisiert. 10. Mailadapter werden auf dem Zielsystem zu normalen Mail- und FolderObjekten umgewandelt. 11. Verlinkungen innerhalb des Synchronisations-Bereiches werden bei der Synchronisation übernommen, Verlinkungen außerhalb des SynchronisationsBereichs nicht. 12. Gibt es ein Objekt mit demselben Namen auf dem anderen Server und war noch nicht synchronisiert, so wird eine Fehlermeldung produziert und das Objekt übersprungen. Der Konflikt muss dann manuell gelöst werden. 13. Beim Synchronisieren wird eine UUID (Weltweit eindeutige ID) mit übertragen, so dass gleiche Objekte auf allen Systemen mit einer eindeutigen ID identifizierbar sind. Über den Webservice NgOSItemsService.getObjectsByUUID können Informationen, wie beispielsweise die Systemnative ID geladen werden. 14. Wenn der Owner eines Objektes gesetzt werden kann, der Login-User (Der Synchronisations-User) auf dieses Objekt dadurch aber keinen Vollzugriff mehr hat, wird der Owner auf den Login-User gesetzt. Hinweis: Mit dem AdminSync-Modul können Benutzer, Gruppen und ACLs auf die entfernten Rechner synchronisiert werden. Besonderheiten der Synchronisations-Konfiguration 1. Die Konfiguration erhält das selbe ACL wie der Ordner, auf den sie angelegt(der synchronisiert werden soll) wird. 2. Die Konfiguration des Zielsystems (die Remote-Konfiguration) erhält das selbe ACL wie der Zielpfad (der Zielordner). 162 Kapitel 14. Zusätzliche Module 3. Die Konfigurationen sind sichtbar, wenn ein Ordner, der synchronisiert werden soll oder der Zielordner bearbeitet wird. Es erscheint dann der zusätzliche Reiter Synchronisation. Außerdem kann man die SynchronisationsKonfigurationen im Bereich /agorum/roi/AgorumCoreSync einsehen und bearbeiten. 4. Es kann ein beliebiges Verzeichnis an beliebig viele entfernte agorum core - Systeme synchronisiert werden. Alle Systeme können Änderungen vornehmen, die Änderungen werden dann wieder zurücksynchronisiert. Wenn zwei Systeme Änderungen an der selben Datei vornehmen, werden die Änderungen des Masters übernommen. 5. Der gesamte Synchronisationsprozess wird über einen Master gesteuert. 6. Für die Sichtbarkeit des Reiters Synchronisation, bei der Bearbeitung eines Ordners, ist der ParameterAccessIdentifier(PAI) mit dem Namen AgorumCoreSync zuständig. 14.11.3. Einstellungen der agorum core Sync-Konfiguration Um eine agorum core Sync-Konfiguration zu erstellen, muss der Ordner, der synchronisiert werden soll, bearbeitet werden. Es erscheint ein zusätzlicher Reiter mit der Bezeichnung Synchronisation. Auf diesem Reiter wird eine Liste aller auf diesem Ordner erstellten Konfigurationen angezeigt (siehe Abbildung 14.31). Zum Erstellen einer neuen Konfiguration wird die Schaltfläche Neue Konfiguration angeklickt. Es erscheint eine neue unausgefüllte Eingabemaske für die KonfigurationsEinstellungen. Zum Löschen einer oder mehrerer Konfiguration müssen die Checkboxen der zu löschenden Konfigurationen angehakt werden und anschließend die Schaltfläche Konfiguration löschen betätigt werden. Möchten Sie eine Konfiguration bearbeiten, klicken Sie auf den Link des Eintrages in der Übersichtsliste. Es wird der oben beschriebene Reiter Synchronisations-Einstellungen, vorausgefüllt mit den schon eingegebenen Daten, angezeigt. 163 Kapitel 14. Zusätzliche Module Abbildung 14.31.: Die Übersicht über die agorum core Sync-Konfiguration eines Ordners Für die agorum core Sync-Konfiguration sind folgende Einstellungen möglich (siehe Abbildung 14.32): 1. Der Konfigurations-Name. Nach Erzeugung einer neuen Konfiguration wird automatisch ein neuer Name vergeben. Dieser Name kann geändert, darf aber nicht leer gelassen werden. 2. Aktiv. Wird die Konfiguration auf aktiv gesetzt, wird bei jedem Synchronisationsvorgang die den Einstellungen entsprechende Synchronisation vorgenommen. Ist die Konfiguration nicht auf ’Aktiv’ gesetzt, wird die Synchronisation für diese Konfiguration nicht durchgeführt. 3. Eigener Server. Die Adresse unter der der eigene Server per Webservice erreichbar ist. 4. Ziel-Server. Die Adresse unter der der Zielserver per Webservice erreichbar ist. 5. Ziel-Server Benutzername. Der Benutzername für das Zielsystem. Mit diesem Benutzernamen wird auf den Zielserver synchronisiert. 164 Kapitel 14. Zusätzliche Module 6. Ziel-Server Passwort. Das Passwort für das Zielsystem. 7. Pfad/ID auf Zielserver. Der Pfad (z.B agorum/roi/Files/sync bzw. die Objekt-ID des Zielordners). 8. Master. Gibt das Master-System (Eigener- oder Ziel-Server) an. 9. Synchronisation wird von Ziel-Server angesteuert. Die Einstellung, ob der Synchronisationsprozess vom Zielserver angestoßen werden soll. 10. Synchronisations-Intervall. Das Synchronisationsintervall (manuell bedeutet, dass der Synchronisationsprozess immer über die Schaltfläche Sofort synchronisieren angestoßen werden muss). Es gibt die Einstellungsoptionen Manuell, Jede Minute, Alle 10 Minuten, Alle 30 Minuten, Jede Stunde und Alle 24 Stunden. 11. Zeit bis zum Löschen der Log-Files. Die Zeit in Tagen, bis die LogDateien, die älter als die eingestellte Zeit in Tagen sind, gelöscht werden. Es ist auch möglich, die Log-Dateien überhaupt nicht löschen zu lassen. Es gibt die Einstellungsoptionen Nie löschen, 1 Tag, 30 Tage, 90 Tage, Halbes Jahr und 1 Jahr. 12. Log Level. Der Level der Einträge in die Log-Dateien. Es gibt die Einstellungsoptionen DEBUG, INFO, WARN, ERROR und Keine Protokollierung. 13. Start der Synchronisation. Das Datum zum Start der Synchronisation (dies darf kein Datum in der Zukunft sein). Bei jeder Bearbeitung der Konfiguration wird das aktuelle Synchronisationsdatum angezeigt. Dabei müssen in allen mit einem * versehenen Eingabefelder Eintragungen vorgenommen werden. 165 Kapitel 14. Zusätzliche Module Abbildung 14.32.: Die Einstellungs-Maske einer agorum core Sync-Konfiguration Wird diese Konfiguration durch Betätigen der Schaltfläche Konfiguration an Zielserver übertragen an den Zielserver gesendet, kann diese übertragene Konfiguration ebenfalls auf dem Zielsystem durch Bearbeiten des zu synchronisierenden Ordners eingesehen werden. Der Name wird zusammengesetzt aus dem Konfigurationsnamen auf dem Master-System und der ID auf dem Zielserver. Beispiel: Name auf Master System: AgorumCoreSyncSettings 1659456, Name auf Zielsystem: AgorumCoreSyncSettings 1659456 1659544. Die Bearbeitung dieser Konfiguration ist jedoch nachträglich nicht möglich, da sie vom Master-Server aus eingestellt und übersandt wurde (siehe Abbildung 14.33): 166 Kapitel 14. Zusätzliche Module Abbildung 14.33.: Die Maske der nicht bearbeitbaren Ziel-Server-Konfiguration 14.11.4. Synchronisation Der Synchronisationsprozess wird entweder automatisch, bei Einstellung eines Synchronisations-Intervalls, angestoßen, kann aber auch manuell über die Schaltfläche Sofort synchronisieren gestartet werden. Hierbei wird im Feld mit der Bezeichnung Aktueller Log der alle 0,5 s aktualisierte Log des gerade laufenden Synchronisationsprozesses angezeigt. Es muss zuerst die Konfiguration, die erstellt wurde, durch Klick auf die Schaltfläche Konfiguration speichern gespeichert werden und anschließend diese Konfiguration durch Klick auf die Schaltfläche Konfiguration an Zielserver übertragen an den Zielserver übertragen werden. Kann eine Verbindung zum Zielserver nicht aufgebaut werden, weil die IP-Adresse des Zielservers nicht verfügbar ist, bzw. der Benutzername oder das Passwort falsch sind, wird dies bei Klick auf die Schaltflächen Konfiguration an Zielserver übertragen und Sofort synchronisieren über eine Benachrichtigung angezeigt. Wurde der Synchronisationsvorgang angestoßen, kann dieser während der Synchronisation über die Schaltfläche Synchronisation abbrechen gestoppt werden (siehe Abbildung 14.35). Hinweis: Bei Klick auf die Schaltfläche Konfiguration speichern wird diese Prüfung nicht durchgeführt. 167 Kapitel 14. Zusätzliche Module In der darunterliegenden Liste werden die Log-Dateien der Synchronisationsvorgänge angezeigt. Diese Liste kann über die Refresh-Schaltfläche aktualisiert werden (siehe Abbildung 14.34): Abbildung 14.34.: Der aktuelle Log und die Liste der Log-Dateien einer agorum core Sync-Konfiguration Abbildung 14.35.: Button zum Abbrechen des Synchronisationsvorgangs 168 Kapitel 14. Zusätzliche Module Die Log-Dateien-Liste enthält Informationen über das Synchronisationsdatum, die Log-Datei als File-Objekt, den Status, wenn z.B. ein Fehler aufgetreten ist und eine Beschreibung des aufgetretenen Fehlers. Bei einem Rechtsklick mit der Maus auf einen Listeneintrag stehen die Menüpunkte ’Löschen’ und ’Objektinformation’ zur Verfügung. Wird der Link des File-Objektes in der Liste angeklickt, wird die Text-Datei in einem neuen Reiter geöffnet und kann dort eingesehen werden (siehe Abbildung 14.37). Die selbe Liste kann z.B. auf dem FTP-Laufwerk unter dem Pfad /agorum/roi/AgorumCoreSync/NAME DER KONFIGURATION/ eingesehen und bearbeitet werden (siehe Abbildung 14.36). 169 Kapitel 14. Zusätzliche Module Abbildung 14.36.: Die Log-Dateien eines Synchronisationsvorgangs auf dem FTPLaufwerk 170 Kapitel 14. Zusätzliche Module Abbildung 14.37.: Die Log-Datei eines Synchronisationsvorgangs 14.12. Das agorum2go-Modul agorum2go setzt agorum core sync auf Server- und Clientseite voraus. Das Zusatzmodul agorum2go vereinfacht die Konfiguration und Verwendung von agorum core Sync für den Fall, dass ein Benutzer eines Systems einzelne Objekte mit einem anderen System, wie zum Beispiel einem Laptop oder einem Heimarbeitsplatz synchronisieren möchte. 14.12.1. Installation Zur Verwendung von agorum2go muss auf dem Serversystem das Modul agorum2go-server und auf dem Clientsystem das Modul agorum2go-client installiert werden. Die Installation des Server-Moduls setzt dabei einen Neustart von agorum core voraus. 171 Kapitel 14. Zusätzliche Module 14.12.2. Einrichtung Server Um agorum2go für einen Benutzer einzurichten, wählen Sie im Portal-Menü unter agorum2go den Punkt Administration. In der nun erscheinenden Maske suchen Sie den Benutzer mit Hilfe der bereitgestellten Suchmaske und klicken danach auf Einrichten. Dadurch wird der private Synchronisationsbereich des Benutzers angelegt und der Benutzer für die Verwendung von agorum2go freigeschaltet. Abbildung 14.38.: agorum2go Administrations-Maske Laden Sie nun die erzeugte Client-XML-Datei herunter und fahren Sie mit der Konfiguration auf dem Client-System fort. 172 Kapitel 14. Zusätzliche Module Client Legen Sie einen Benutzer mit dem selben Namen wie auf dem Server-System an, die Wahl des Passworts spielt keine Rolle. Danach führen sie die zuvor herunter geladene Client-XML-Datei aus, entweder per FTP oder mit Hilfe des Dateiuploads in desk4web. In letzterem Fall unbedingt den Haken bei XML-Dateien nach dem Hochladen parsen setzen. Loggen Sie sich nun mit dem neu angelegten Benutzer ein und wählen Sie im Portal-Menü unter agorum2go den Punkt Einstellungen. Tragen Sie dort unter Ziel-Server die öffentliche Adresse des Server-Systems ein und unter Ziel-Server Passwort das Passwort des Benutzers auf dem Server-System. Danach speichern Sie die geänderte Konfiguration mit dem Button Konfiguration speichern. 173 Abbildungsverzeichnis 1.1. Beispiel Benutzer - Gruppen - ACL . . . . . . . . . . . . . . . . . . 1.2. Administrationsbereich . . . . . . . . . . . . . . . . . . . . . . . . . 1.3. Referenz Benutzer . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4. Auswahl Referenz Benutzer . . . . . . . . . . . . . . . . . . . . . . 1.5. Auswahl für Gruppen und ACLs des Referenz Benutzers . . . . . . 1.6. Erweiterte Auswahl für Gruppen und ACLs des Referenz Benutzers 1.7. Gruppenmitglieder hinzufügen . . . . . . . . . . . . . . . . . . . . . 1.8. Gruppenliste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.9. Beispiel eines ACL mit 1 Benutzer und 1 Gruppe . . . . . . . . . . 1.10. Ordnerliste mit Berechtigungen . . . . . . . . . . . . . . . . . . . . 1.11. ACL Suchen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.12. Ordnerliste mit gesetztem ACL . . . . . . . . . . . . . . . . . . . . 1.13. Benutzer Objekt-Info Maske . . . . . . . . . . . . . . . . . . . . . . 1.14. Gruppen Objekt-Info Maske, Objektverknüpfungen . . . . . . . . . 1.15. ACL Objekt-Info Maske . . . . . . . . . . . . . . . . . . . . . . . . 1.16. ACL-Überwachung in der Liste - farbige Darstellung der ACLs . . . 1.17. ACL-Überwachung einschalten für einen Benutzer . . . . . . . . . . 1.18. Farbliche Kennzeichnung der Rechte des überwachten Benutzers/Gruppe in der ACL-Ansicht . . . . . . . . . . . . . . . . . . . . . . 1.19. Farbliche Kennzeichnung der Rechte des überwachten Benutzers/Gruppe in der Benutzer-Verwaltung . . . . . . . . . . . . . . . . . . 1.20. Farbliche Kennzeichnung der Rechte des überwachten Benutzers/Gruppe in der Gruppen-Verwaltung . . . . . . . . . . . . . . . . . . 1.21. ACL-Baum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.22. ACL Struktur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.23. ACL Baum Struktur . . . . . . . . . . . . . . . . . . . . . . . . . . 8 9 11 11 12 13 15 15 17 19 20 21 23 24 25 25 25 26 26 27 28 29 30 2.1. Einstieg in die MetaDB . . . . . . . . . . . . . . . . . . . . . . . . . 33 2.2. MetaDB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 2.3. MetaDB Cache leeren . . . . . . . . . . . . . . . . . . . . . . . . . . 38 3.1. 3.2. 3.3. 3.4. Eigenschaften der LAN-Verbindung . . . . . . . . . . . Erweiterte TCP/IP-Einstellung . . . . . . . . . . . . . Eigenschaften der LAN-Verbindung . . . . . . . . . . . Windows-Dialog für Erweiterte TCP/IP - Einstellungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 44 45 46 174 Abbildungsverzeichnis 9.1. Listenansicht der Session Information . . . . . . . . . . . . . . . . . 86 9.2. Portalmenü für Session Information . . . . . . . . . . . . . . . . . . 87 10.1. Listenansicht der Installierten Module . . . . . . . . . . . . . . . . . 88 10.2. Portalmenü für Installierte Module . . . . . . . . . . . . . . . . . . 89 12.1. Definition eines zusätzlichen Attribute für den Adress-Export . . . . 97 13.1. Dialog zur Verwendung der DataSource . . . 13.2. Eingabe des Parameters für den SubReport . 13.3. Definieren des Parameters in iReport . . . . 13.4. Definieren der Datenquelle . . . . . . . . . . 13.5. Definieren des Parameters der Datenquelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.1. Anlegen eines neuen SMB-File-Adapters . . . . . . . . . . . . . . 14.2. Anlegen eines Property-Bundle für die optionalen Servereinstellungen des SMB-Adapters in der MetaDB . . . . . . . . . . . . . . . 14.3. Anlegen eines Property-Entry für die optionalen Servereinstellungen UseUserConnection des SMB-Adapters in der MetaDB . . . . . . 14.4. Maske zum Anlegen eines neuen SMB-File-Adapters . . . . . . . . 14.5. Erfolgreicher Verbindungstest zum adaptierten Dateisystem . . . 14.6. Kein erfolgreicher Verbindungstest zum adaptierten Dateisystem . 14.7. Anlegen eines neuen Lokalen Filesystem (LFS)-Adapters . . . . . 14.8. Maske zum anlegen eines lokalen Filesystem (LFS)-Adapters . . . 14.9. Erfolgreicher Verbindungstest eines LFS-Adapters . . . . . . . . . 14.10.Gescheiterter Verbindungstest eines LFS-Adapters . . . . . . . . . 14.11.Synchronisieren / Aktualisieren eines File-Adapters . . . . . . . . 14.12.Löschen eines File-Adapters . . . . . . . . . . . . . . . . . . . . . 14.13.Löschen eines File-Adapters ohne Serverpapierkorb . . . . . . . . 14.14.File-Adapter ist nicht verbunden . . . . . . . . . . . . . . . . . . 14.15.Ordner und Dateien eines File-Adapters werden unterschieden durch blaue Pfeile . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.16.Anlegen eines neuen Mail-Adapters . . . . . . . . . . . . . . . . . 14.17.Eingabemaske zum Anlegen eines neuen Mail-Adapters . . . . . . 14.18.Erfolgreicher Verbindungstest des Mail-Adapters zum Postfach . . 14.19.Fehlgeschlagener Verbindungstest des Mail-Adapters zum Postfach 14.20.Filtereinstellungen eines Adapters . . . . . . . . . . . . . . . . . . 14.21.Liste mit entworfenen Reitern . . . . . . . . . . . . . . . . . . . . 14.22.Allgemeine Einstellungen eines Reiters . . . . . . . . . . . . . . . 14.23.Konfiguration der Eingabeelemente . . . . . . . . . . . . . . . . . 14.24.Konfiguration eines Eingabefeldes . . . . . . . . . . . . . . . . . . 14.25.Konfiguration eines Feldes für Datum mit Uhrzeit . . . . . . . . . 14.26.Konfiguration eines Auswahlfeldes . . . . . . . . . . . . . . . . . . 14.27.Bedingungen unter denen der Reiter angezeigt wird . . . . . . . . . . . . . 100 104 105 106 106 . 118 . 120 . . . . . . . . . . . . 120 121 121 122 123 124 125 126 127 128 129 130 . . . . . . . . . . . . . 131 132 134 135 136 137 141 142 143 144 144 145 146 175 Abbildungsverzeichnis 14.28.Entworfener Reiter in einer Bearbeitungsmaske . . . . . . . . . . . 147 14.29.Einstellungen für den Freigegeben-Stempel . . . . . . . . . . . . . . 155 14.30.Einstellungen für den Abgelehnt-Stempel . . . . . . . . . . . . . . . 155 14.31.Die Übersicht über die agorum core Sync-Konfiguration eines Ordners164 14.32.Die Einstellungs-Maske einer agorum core Sync-Konfiguration . . . 166 14.33.Die Maske der nicht bearbeitbaren Ziel-Server-Konfiguration . . . . 167 14.34.Der aktuelle Log und die Liste der Log-Dateien einer agorum core Sync-Konfiguration . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 14.35.Button zum Abbrechen des Synchronisationsvorgangs . . . . . . . . 168 14.36.Die Log-Dateien eines Synchronisationsvorgangs auf dem FTPLaufwerk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 14.37.Die Log-Datei eines Synchronisationsvorgangs . . . . . . . . . . . . 171 14.38.agorum2go Administrations-Maske . . . . . . . . . . . . . . . . . . 172 176 Anhang A. Anhang A.1. Versions-Historie dieses Dokumentes Version 1.0.0: Erstellung der ersten Dokumenten-Version Version 2.0.0: Umschreiben auf LaTeX Version 6.2.10: Kapitel EADesigner hinzugefügt Version 6.2.11: Erweiterte Suche im Kapitel EADesigner hinzugefügt Version 6.2.13: Neu FTP-Option hinzugefügt Version 6.4.3: neue Lucene Optionen hinzugefügt Version 6.4.3: Anleitung für Reindizierung zur Pfadsuche Version 6.4.4: SMB-Installation unter Windows vollständig überarbeitet Version 6.4.5: Documentconverter-Einstellungen erweitert um eigene Konverterdefinitionen Version 6.4.6: Kapitel REDDOXX-Modul hinzugefügt. Alle Zusatzmodule als Unterkapitel in das Kapitel Zusätzliche Module Version 6.4.7: MetaDb-Einstellungen für roi hinzugefügt. Version 6.5.0: Kapitel agorum2go hinzugefügt Version 6.5.0: Kapitel previewthumbnails hinzugefügt 177 Anhang A. Anhang Version 6.5.0: Kapitel Metadaten-Editor hinzugefügt Version 6.5.1: Kapitel für Metadaten in Listen hinzugefügt Version 6.5.2: Änderungen von agorum core Sync hinzugefügt Version 6.5.4: Beschreibung für Metadaten-Autoinput hinzugefügt Version 7.0.0: Beschreibung für EML-Contenttask und History erweitert A.2. Sonstiges Soweit in dieser Dokumentation Marken- oder Produktbezeichnungen verwendet werden, unterliegen diese ausschließlich den Schutzrechten des Inhabers, auch wenn dies nicht explizit kenntlich gemacht wird. 178