|
|
Der KDE-Groupware-Client KontactKontaktaufnahmeDaniel Molkentin |
In den meisten Unternehmen ist Arbeit ohne eine Groupware-Lösung undenkbar. Klassischerweise kommt dabei Microsofts Exchange Server zusammen mit Outlook als Client zum Einsatz. Die Groupware ermöglicht den Austausch von Kontakten und Terminen und andere dynamische Prozesse wie die Regelung von Urlaubsvertretungen oder Einsichtsberechtigungen in andere Mailboxen. Damit modelliert sie den Workflow in der Unternehmenskommunikation.
Das KDE-Projekt bietet mit Kontact eine Groupware-Lösung an, die zunächst nur mit dem Kolab-Server zusammenarbeitete (siehe Kasten "Werdegang von Kontact und Kolab"), sehr bald aber ebenbürtige Anbindungen für andere Groupware-Server erhielt[1]. Die folgenden Aussagen beziehen sich auf Kontact 1.0, das zusammen mit KDE PIM 3.3 bei Erscheinen dieses Heftes als finale Version vorliegen sollte.
Werdegang von Kolab und Kontact |
Open Source sollte sie sein und Outlook-Clients anbinden: Das waren die Anforderungen an eine freie Groupware-Lösung zum internen Einsatz, die das Bundesamt für Sicherheit in der Informationstechnik (BSI) vor knapp drei Jahren ausschrieb. Abgesehen von rein Web-basierten Systemen gab es zu dieser Zeit kaum passende Software. Den Zuschlag erhielt das Firmenkonsortium aus Intevation (Qualitätssicherung und Projektmanagement), Erfrakon (zeichnet für den Server verantwortlich) und der auf QT und KDE spezialisierten Firma Klarälvdalens Datakonsult (KDAB, programmierte den Client).
Nutze die vorhandenen ToolsKolab, den Groupware-Server, bauten die Entwickler getreu der Unix-Philosophie "Nutze existierende Tools" aus den Komponenten OpenLDAP, Cyrus IMAP, Postfix sowie einem Apache mit PHP für das Web-basierte Administrationsfrontend. Statt die Daten in einer SQL-Datenbank zu speichern, legten sie sie einfach in IMAP-Ordnern ab. Die Client-Seite gestaltete sich schwieriger: KMail und KOrganizer, beides Programme mit großer Benutzerbasis, arbeiteten kaum zusammen. Zwar gab es im KDE-Projekt erste Bestrebungen, die Programme in einem Projekt namens Kaplan zusammenzuführen, aber das war noch nicht weit genug gediehen, um es für den BSI-Auftrag zu verwenden. So entschloss man sich, über die KParts-Technologie KOrganizer in KMail zu integrieren, und lieferte diese Lösung unter dem Namen Kolab Client aus. Für Outlook unter Windows wählten die Entwickler das proprietäre Connector-Plugin der Firma Bynari Insight, das Outlooks MAPI in LDAP übersetzte. Durch das aufflammende Interesse an Groupware-Lösungen tat sich auch im KDE-Lager einiges. Die Autoren von KMail, KOrganizer, KAddressbook und anderen Programmen im KDE-PIM-Modul arbeiteten an Frameworks für die Interaktion ihrer Programme. Auch das zwischenzeitlich in Kontact umbenannte Kaplan machte große Fortschritte. Inspiriert vom Komponenten-basierten Aufbau von KDevelop 3 vereinigte es die bestehenden Applikationen in einer grafischen Oberfläche.
Einigkeit am EndeNach Abschluss des Kolab-Projekts war sich KDAB mit den PIM-Autoren schnell einig, den Kolab-Client auslaufen zu lassen und dafür die Arbeit in die aktuelle Entwicklerversion von Kontact zu stecken. Ende 2003 schrieb das BSI ein Nachfolgeprojekt für Kolab aus[12], das vor allem Komfort und Benutzerfreundlichkeit erhöhen soll. Kontact löste dabei den Kolab-Client ab. Ende des Jahres soll dieses Projekt abgeschlossen sein. |
Wer will, kann Kontact zu Hause mit einem IMAP-Server verwenden und Kontakte und Kalender offline pflegen. Seine volle Stärke entfaltet Kontact jedoch in der Rolle des Clients im Zusammenspiel mit einem Groupware-System. Das sieht zunächst nicht anders aus als Outlook oder Evolution: Organizer, Mailclient und Adressbuch sind wie gewohnt über eine Seitenleiste zu erreichen. Doch beim Blick hinter die Fassade offenbart sich ein anderes Bild. Kontact ist nur ein Programmgerüst: Die Kontact-Shell bindet Plugins ein, Wrapper für die so genannten KParts.
Hinter den KParts stecken alte Bekannte wie KMail, KAddressbook und KOrganizer. Sie alle kommunizieren über KDEs Interprozesskommunikations-Protokoll DCOP[2]. Daher spielt es keine Rolle, ob die Programme als Parts in der Kontact-Shell laufen oder ob man sie separat betreibt. Der Funktionsumfang bleibt in jedem Fall erhalten und jeder kann nach seinem Bedienkonzept arbeiten.
Nach dem Start präsentiert Kontact auf einer Übersichtsseite neue Mails, die nächsten Termine und Geburtstage sowie das Wetter, Nachrichten und den Synchronisationsstatus des Palm. Aus einem breiten Angebot an RSS-Feeds lässt sich eine individuelle Nachrichtenübersicht zusammenstellen. Wetterstationen der US-amerikanischen Wetterbehörde, die auch Messstationen in Deutschland betreibt, dienen als Grundlage für den Wetterbericht (Abbildung 2).
Die Iconleiste am linken Rand dient nicht nur zum Umschalten zwischen den Applikationen, sondern ist auch Ziel für Drag&Drop-Operationen. So kann der Benutzer eine Mail auf dem Aufgaben-Icon ablegen, um sich an die Bearbeitung einer Mail erinnern zu lassen. Um einen Adressdatensatz zu versenden, lässt er diesen auf das Mail-Symbol fallen. Beim Umschalten zwischen den Parts ändern sich Menü- und Symbolleisten, um die für die aktuelle Komponente relevanten Aktionen anzuzeigen. Die Statusleiste enthält Meldungen aller Komponenten, egal welche aktiv ist. Läuft eine angewählte Applikation bereits außerhalb von Kontakt, wird sie in den Vordergrund geholt.
Teil von Kontact ist der E-Mail-Client KMail. In der neuen Version 1.7 aus KDE PIM 3.3 finden sich lang vermisste Features wie die inkrementelle Suche über die Sender und Betreffzeilen im aktuellen Ordner. Hinzu kommen Wizards, die die bekanntesten Antispam- und Antivirus-Produkte als KMail-Filter einbinden (Abbildung 1). Zum Test komplexer Filteroperationen bietet der Mailer nun ein Logfenster an, in dem man die Abarbeitung verfolgen kann. Leider immer noch nicht enthalten ist ein grafischer Sieve-Script-Editor, jedoch existiert bereits Code zur Verwaltung von Sieve, der im Moment für die Out-of-Office-Meldungen genutzt wird.
KMail glänzt besonders durch sein mächtiges Kryptosystem, das sowohl mit OpenPGP als auch S/MIME umgehen kann. Während OpenPGP sich eher an Privatanwender richtet, ist S/MIME für Unternehmen und vor allem für Behörden interessant.
KMail unterstützt die Version 2 des vom Teletrust e.V. etablierten Mailtrust-Standards für die elektronische Signatur und Verschlüsselung in der öffentlichen Verwaltung, die über die BSI-Projekte Ägypten I und II in den Mailclient eingeflossen[3] sind. Ganz im Sinne der vereinfachten Verschlüsselung wurde auch KAddressbook erweitert.
Jedem Kontakt kann der Benutzer einen OpenPGP-Schlüssel und ein S/MIME-Zertifikat zuweisen (Abbildung 3). Zusätzlich kann er angeben, ob KMail Nachrichten an diesen Kontakt automatisch oder nur nach manueller Bestätigung verschlüsseln soll.
Unternehmen brauchen oft firmenspezifische Adressbuchfelder. Für einfache Fälle reicht die »Custom Field«-Funktionalität, komplexere Einträge sind über die »Custom Pages« in den Einstellungen von KAddressbook realisierbar. Dazu gestaltet der Admin eine Seite mit QT Designer. Die Werte der GUI-Elemente, deren Name im Designer mit »X_« beginnt, speichert KAddressbook als »Custom Fields« (Abbildungen 4a und 4b). Usenet-Liebhaber können auch mit Kontact ihrem Hobby nachgehen. Das Programm verwendet dazu intern KNode, das um eine Kopfzeilen-Schnellsuche im Stil von KMail erweitert wurde.
KOrganizer wartet mit neu gestalteten Tages- und Monatsansichten auf. Falls genügend Platz vorhanden ist, zeigt die Monatsansicht nun auch mehrere Monate gleichzeitig an. Bei der Terminplanung hilft eine Frei-Gebucht-Ansicht der Teilnehmer, sofern diese ihre Zeitpläne veröffentlicht haben. Falls nicht, symbolisiert KOrganizer dies durch eine schraffierte Fläche (Abbildung 5).
Mit Hilfe von KPilot lassen sich alle beteiligten Applikationen mit einem Palm-OS-basierten Handheld abgleichen[4]. Kontact zeigt jeweils den aktuellen Synchronisationsstatus, Informationen darüber, welche Objekte abgeglichen wurden, sowie den Zeitpunkt des letzten Syncs an. Erstmals gibt es auch eine Release des KPilot-Nachfolgers Kitchensync, das eine breitere Palette an Geräten unterstützt. Bisher existieren ein PC-zu-PC-Plugin sowie eines zur Synchronisierung mit Qtopia- und OPIE-basierten Handheldgeräten. Weitere Plugins beispielsweise für Sync ML, das der Standard für viele aktuelle Mobiltelefone ist, sind in Planung.
Der Instant Messenger Kopete interagiert ab KDE 3.3 mit KAddressbook. Neben den populären Protokollen von AIM, ICQ sowie MSN- und Yahoo-Messenger beherrscht Kopete auch IRC und Jabber, die sich gut für einen firmeninternen Server eignen. Bereits in Kopete lassen sich die Kontaktdaten einer Person in mehreren Messaging-Systemen zu einem Metakontakt zusammenfassen. Einen Schritt weiter geht die Integration mit KDE PIM: Kopetes Metakontakte kann man in das Adressbuch aufnehmen (Abbildung 6) und Adressaten von dort aus Nachrichten über den passenden IM-Dienst schicken.
Für Voice-over-IP existiert noch kein Plugin. Doch gibt es ein Plugin-API, mit dem sich externe Software in Kontact integrieren lässt. Diese Möglichkeit nutzt zum Beispiel der Blogging-Client Akregator mit einem Kontact-Plugin.
Trotz aller Affinität zum Kolab-Projekt[5] ist das Framework von Kontact weitgehend unabhängig von der Funktionsweise des Kolab-Servers. Ein Resource-Framework abstrahiert die Daten von ihrer Herkunft und den zur Übertragung verwendeten Protokollen.
So lassen sich Kalender beispielsweise von einem IMAP-Server, von einem Webserver per XMLRPC oder WebDAV oder aus einer Datenbank per SQL beziehen, ohne dass die betroffenen Programme einen Unterschied bemerken. Mit dieser Technik entstand ein Konnektor für E-Groupware, der sich vor einer Weile von PHP-Groupware abspaltete. Die Kommunikation findet über ein selbst definiertes Protokoll auf XMLRPC-Basis statt. Auch Suse begann mit der Integration für ihren Openexchange-Server. Dieser nutzt ebenfalls WebDAV zum Austausch von Kontakten und Terminen. Mail wickelt er über IMAP ab, auf das globale Adressbuch wird per LDAP zugegriffen. Die Konnektoren für E-Groupware und Openexchange sind in KDE PIM 3.3 enthalten.
Eine Anbindung für Exchange ist ebenfalls in Entwicklung. Sie nutzt wie auch der Novell Connector (siehe Artikel in dieser Rubrik) hauptsächlich das WebDAV-Protokoll, lediglich für Mail verwendet sie IMAP. Im Exchange-Server müssen dafür der IMAP-Server sowie der Web-Access über den Internet Information Server aktiviert sein.
Das 2003 aus Skyrix hervorgegangene Opengroupware-Projekt[6] plant derzeit eine Kontact-Anbindung, entweder per XMLRPC oder WebDAV. Der von der Firma Neuberger & Hughes vorangetriebene freie Server Exchange4Linux[7], der bislang nur mit Microsoft Outlook mittels eines proprietären Konnektors zusammenarbeitet, soll ebenfalls eine Kontact-Anbindung erhalten.
Das Einrichten der Clients für eine Groupware-Lösung gestaltet sich einfach: Ein Wizard, der Name, Passwort und Server abfragt, erledigt die Konfiguration. Vorher sollten alle PIM-Komponenten geschlossen werden. Diese Wizards gibt es bislang für Kolab, Openexchange und E-Groupware.
Bei der Wahl des geeigneten Groupware-Servers lauern einige Fallen. Bei Kolab gestaltet sich vor allem die Installation aufwendig. Der Kolab-Server wird als OpenPKG-Umgebung ausgeliefert, die alle Pakete vom GCC bis zu den Daemons selbst mitliefert und kompilieren will. Das Übersetzen der jeweiligen Pakete ist händisch anzustoßen. Hilfe leistet hier das Kolab-Forum[8].
Für Debian Woody gibt es auf der Download-Seite fertig kompilierte OpenPKG-RPMs. Einfacher und schneller zu installierende Binärpakete für zahlreiche Betriebssysteme bietet auch das Zfos-Projekt[9] an. Die Pakete enthalten eine alternative Engine der Firma Codefusion. Wer das Original braucht, muss das Installationsskript wie im Readme beschrieben leicht modifizieren.
Die systemeigenen Serverdienste sollte man beim Betrieb von Kolab abschalten. Da die Kolab-Umgebung eine eigene Verzeichnisstruktur unterhalb von »/kolab« anlegt, lässt sie sich einfach in ein Root-Jail sperren. In Version 2.0, mit der gegen Ende des Jahres zu rechnen ist, wird ein einziges Kommando für das Bootstrapping genügen.
Die Mühen einer Kolab-Installation machen sich vor allem in komplexen Szenarien wie der Hochverfügbarkeit bezahlt. Obwohl es bislang keine Bordmittel für den Kolab-Server als Ganzes gibt, lassen sich die zentralen Komponenten zur Datenspeicherung - Cyrus IMAP und OpenLDAP - mit Standardmitteln hochverfügbar machen.
Auch die anderen Groupware-Server sind nicht ohne Mängel. Inhalte von Adressbuchfeldern, die etwa der E-Groupware-Server nicht kennt, verwirft er bislang schlicht. Zudem funktioniert die Gruppenplanung noch nicht. Seine Stärken spielt er im Webinterface aus, es bietet viel mehr Funktionen als Kontact von Haus aus mitliefert. Spätestens fürs eingebaute Wiki muss der Anwender bei E-Groupware auf jeden Fall zum Browser greifen. Die Homepage[10] bietet eine Demo-Umgebung.
Die Achillesferse von Openexchange ist das Lizenzmodell: Während Suse eine unbeschränkte Anzahl von E-Mail-Clients erlaubt, fallen für das von einem Dritthersteller stammende proprietäre Groupware-Modul Lizenzkosten pro Client an. Der Basispreis von rund 1440 Euro enthält zehn Groupware-Lizenzen, weitere kann man bei Bedarf nachkaufen[11]. So wird der Openexchange-Server bei größeren Installationen schnell kostenintensiv. Dank einfacher Installation und Support eignet er sich jedoch auch für weniger experimentierfreudige Administratoren.
Kontact zeigt auf angenehme Weise, dass die Groupware-Welt keine Monokultur mehr ist. Auch wenn es nicht überall den vollen Funktionsumfang der Groupware-Server unterstützt, reichen die vorgestellten Kombinationen allemal aus, um die klassischen Einsatzszenarien von Exchange und Outlook abzudecken. (eba)
Infos |
[1] Kontact: [http://kontact.kde.org] [2] Scott Wheeler, "K-Steuerung - KDE-Applikationen von der Kommandozeile aus bedienen": Linux-Magazin 01/04, S. 82 [3] Projekt Ägypten 2: [http://www.gnupg.org/aegypten2] [4] KPilot-Kompatibilitätsliste: [http://www.slac.com/pilone/kpilot_home/hardware.html] [5] Kolab: [http://www.kolab.org] [6] Opengroupware-Projekt: [http://www.opengroupware.org] [7] Exchange4Linux: [http://www.de.exchange4linux.com/exchange4linux/Home] [8] Kolab-Forum: [http://www.eforum.de] [9] Kolabports: [http://www.zfos.org/] [10] E-Groupware: [http://www.egroupware.org] [11] Suse Openexchange: [http://www.suse.de/de/business/products/openexchange/] [12] Proko-2-Ankündigung: [http://kolab.org/pipermail/kolab-users/2004-April/000092.html] |
Der Autor |
Daniel Molkentin, gebürtiger Rheinländer, ist Mitglied des KDE-Core-Teams und Mitbetreuer von Kontact. Er studiert derzeit Informatik an der Technischen Universität Chemnitz. |