Groupware Services
Einleitung
Das GW-Service (GW = Groupware) stellt eine Schnittstelle zwischen dem Webdesk und einem bestimmten Groupwareservice zur Verfügung. Derzeit wird die Anbindung an Lotus Notes/Domino und Microsoft Exchange unterstützt. In der Folge könnten weitere Anbindungen (z. B. Novell Groupwise) programmiert werden.
Pro Webdesk-Instanz kann jeweils nur auf ein Groupware-System (Lotus Domino oder Exchange) zugegriffen werden. Welches der zurzeit verfügbaren Module geladen wird hängt von der verwendeten Lizenzdatei ab.
In der Datei licenceDef.ldef ist anzugeben, welche Implementierung verwendet
wird:
Anmerkung zu Lizensierung: das File muss licence.lic lauten und im Webdesk im src-Folder liegen.
Egal, welche Implementierung gewählt wird - aus Webdesk-Sicht ist das dahinterliegende System nicht transparent, es stehen dieselben Funktionen zur Verfügung, wie z. B.
Anzeige von Kalendereinträgen im Jahreskalender
Anzeige von Kalendereinträgen im Gruppenkalender
Anzeige von Kalendereinträgen im Anwesenheitstableou
Abgleich von "Webdesk-Fehlzeiten" ins Groupware-System (mittels Job)
....
Ein Zugriff auf persönliche Adressbuchdaten bzw. auf Maildaten vom Webdesk aus ist derzeit nicht umgesetzt, wäre aber möglich.
Aktivieren der Webdesk-Aktionen für einen GW-Zugriff:
In jenen Aktionen, in welchen ein Zugriff auf einen Groupwareserver erfolgen soll, muss initial eine Freischaltung erfolgen:
z. B. in "ta_getCalendar"
Zuordnung von "Webdesk-Personen" zu "Groupware-Personen"
Um für den jeweiligen Webdesk-User die korrekte Mailbox bzw. das korrekte Mailfile (und in Zukunft optional das korrekte persönliche Adressbuch) ermitteln zu können ist im Webdesk-Personendokument unter "Benutzername" (Datenbankfeldname "userName") der "Key" angezugeben.
Für welche Personen eine GW-Anbindung (nicht) zur Verfügung gestellt werden soll ist in folgenden Systemparametern anzugeben:
groupsToCheck (Variante mit abschliessendem Pluszeichen klären = soll die
untergeordneter Gruppen miteinbeziehen):
personsNotToCheck
Die Ermittlung der für die Kommunikation erforderlichen User-Daten (Homeserver, Mailbox/filename etc.) erfolgt bei MS-Exhchange ausschliesslich über LDAP und bei der Lotus-Domino-Variante entweder über LDAP oder über das ohnehin benötigte Webservice (Festlegung über Bean-Propertie-Parameter - siehe weiter unten).
Die initial ermittelten Verbindungsdaten werden bis zum Webserver-Restart im Cache gehalten (ehCache-Parameter diskPersistance = false).
Ändert sich die Zuordnung einer Person im Webdesk und/oder im Groupware-System kann der Cache auf folgende Arten zurückgesetzt werden:
Neustart des Webedesk-Servers
Aufruf der Funktion "Groupware Cache leeren" unter "erweiterte Funktionen"
Bean-Properties für LDAP-Zugriff
Folgende LDAP-Properties werden beim Exchange-Zugriff auf jeden Fall und beim
Louts-Domino-Zugriff bei Verwendung von "LDAP" (siehe weiter unten) benötigt:
Paramter mögliche(r) Wert(e) Anmerkung
ldapProviderUrl ldap://testserver
oder
ldap://192.168.1.182 URL des LDAP-Servers
ldapUser W2KDOM\Administrator Name eines Users, der LDAP-Abfragen
vornehmen darf
ldapPassword t$st das Passwort
ldapBaseDn DC=w2kdom,DC=at
oder
o=zeit Root-Knoten, von dem aus gesucht wird
ldapSearchQuery (&(objectclass=person)(uid={0})) LDAP-Suchstring -
Achtung das &-Zeichen muss hier maskiert werden
cutDomain true oder false legt fest, ob bei der LDAP-Suche der
Domain-Name, der ev. im Feld Benutzername (userName) im Webdesk eingetragen ist
für die Suche "herausgeschnitten" werden soll
ldapFieldNameHomeServer mailserver oder msExchHomeServerName
LDAP-Feldname, aus dem der Homeserver ermittelt wird (Notes: "mailserver",
Exchange: "msExchHomeServerName")
ldapFieldNameMailboxName mailfile oder mailNickname LDAP-Feldname, aus dem
der Mailbox/Mailfilename ermittelt wird (Notes: "mailfile", Exchange:
"mailNickname")
ldapFieldNamePrincipalName cn oder userPrincipalName LDAP-Feldname, aus
dem der Principalname ermittelt wird (Notes: "cn", Exchange:
"userPrincipalName")
ldapFieldNameMailAddress mail LDAP-Feldname, aus dem die Mailaderesse
ermittelt wird (Notes: "mail", Exchange: "mail")
Zur Ermittlung des korrekten Pfads ist z. B. folgendes Programm hilfreich:
http://www.ldapbrowser.com/download.htm
Zugriff auf MS-Exchange:
Der Zugriff erfolgt über die Microsoft-eigene WebDAV-Implementierung. Konkret wird mittels HTTP-URL-Objekte zugegriffen. Die Daten werden mittels WebDAV-Syntax übernommen bzw. übergeben. Für den Zugriff auf FreeBusy-Daten wird ein Outlook-Web-Access-Client (Internet-Explorer) simuliert.
Exchange-seitig ist sicherzustellen, dass OWA aktiviert ist. Für die Ermittlung der User-Daten (Homeserver, Mailboxname usw.) muss LDAP zur Verfügung stehen.
Konfiguration der Exchange-spezifischen Systemparamter:
Paramter mögliche(r) Wert(e) Anmerkung
ServerParamList w2ktestsrv2;W2KTESTSRV2;80;administrator;t$st pro
Exchange-Server ist ein Eintrag mit folgenden 5 Werten (jeweils durch
Strichpunkt getrennt) angzugeben:
- Bezeichnung des Server (dient nur der internen Unterscheidung)
- Hostname des Servers
- Port, auf dem der Server erreichbar ist
- Username eines technischen Users, der auf Mailboxen zugreifen darf
- Passwort
Zugriff auf Lotus Notes/Domino
Für die Anbindung an Lotus Notes/Domino wurde eine eigene Schnittstelle entwickelt. Der erforderliche Programmcode befindet sich in einer nsf-Datei (Notesdatenbank), die zurzeit in Version 1.1 vorliegt. Die Kommunikation erfolgt über HTTP unter Verwendung von SOAP (ohne WSDL). Diese Schnittstelle ist universal konzipiert und wird nicht nur vom Webdesk aus verwendet, sondern auch von anderen Applikationen, wie z. B. KBS oder der ÖVAG Immobonsult-Applikation.
Pro Domino-Server, auf "dessen" Maildatenbanken zugegriffen werden soll wird diese Datenbank inkl. FreeBusy-dll benötigt.
Die Konfiguration der Datenbank ist innerhalb der Datenbank in der Page "Doku" beschrieben. Eine Version der Datenbank liegt auch zu Testzwekcen auf unseren Domino6-Server. Die Doku ist unter
http://domino6/GWService_1_2.nsf/Doku?OpenPage
zu erreichen.
Für die Konfiguration ist lediglich der Abschnitt "Administration" relevant. Die übrigen Beschreibungen beziehen sich größtenteils auf die API-Funktionalitäten.
Der korrespondierende Key zur Identifizierung der jeweiligen Userdaten (z. B. Mailfilename) ist das Feld "Fullname" im Personendokument, das in dem/den Adressbuch/Adressbüchern ermittelt wird (Ansicht "($Users)").
ein Wert aus der Liste "User name" muss mit dem "Benutzernamen" im Webdesk übereinstimmen, um eine Verbindung herstellen zu können.
Folgende Systemparamter sind im Webdesk zu konfigurieren:
Paramter mögliche(r) Wert(e) Anmerkung
ServerParamList
domino6/minibank/at;http://192.168.1.35/GWService_1_2.nsf/webservice?OpenAgent;;tecUserForGwService;t$st
Achtung: es müssen 5 Parameter sein, d.h . im String müssen 4
Strichpunkte vorkommen! pro Server ist ein Eintrag mit folgenden 5 Werten
(jeweils durch Strichpunkt getrennt) angzugeben:
- Bezeichnung des Server (dient nur der internen Unterscheidung)
- URL des Servers sowie der GWService1_1.nsf inkl. Angabe des
Webservice-Agents (wenn Port <> 80, dann hier ebenfalls URL-konform
angeben)
- 3. Parameter (Port) hier nicht relevant).
- Username eines technischen Users, der auf Mailfiles zugreifen darf
- Passwort
userdataLocation LDAP oder Domino ledgt fest auf welchen Weg die Userdaten
ermittelt werden solle (da das Webservice ohnehin angewendet werden muss ist
LDAP hier eher theoretisch zu sehen)
Abgleich von Fehlgründen mit dem Groupware-System
Um in den Groupware-Kalendern die Fehlzeiten aus dem Webdesk angezeigt zu bekommen sinf folgende Jobs zu konfigurieren:
SyncCalendarDates
DeleteCalendarDates
Ferner sind folgende folgende Systemparameter einzustellen:
Paramter mögliche(r) Wert(e) Anmerkung
monthsToCheckInPast 0 - 12 oder älter
monthsToCheckInFuture 1 - 12 oder weiter in der Zukunft
descPrefix wd_ Präfix, das vor den Fehlgrund, der im Betreff des Termins
aufscheint, gesetzt wird
allowedEntriesPostfix z. B. "genehmigt" Kennzeichen, das im Subject-Feld
des Termins bei genehmigten Terminen angehängt wird
notAllowedEntriesPostfix z. B. "ungenehmigt" Kennzeichen, das im
Subject-Feld des bei ungenehmigten Terminen angezeigt wird
absenceReasonsToSync 1, 2, 3 usw. Fehlgrundnummern, die synchronisiert
werden sollen.
syncType 0 oder 1 0 = genehmigte und ungenehmigte Fehlzeiten werden
abgeglichen
1 = nur genehmigte Fehlzeiten werden abgeglichen
Keine Kommentare vorhanden.