als PDF
Transcription
als PDF
Technische Universität München Fakultät für Informatik Diplomarbeit Open-Source-Groupware Überblick, Kategorisierung, Auswahl und Installation Jörg Geiger Aufgabensteller: Prof. Dr. Johann Schlichter Betreuer: Dr. Michael Koch Abgabedatum: 15. April 2003 Ich versichere, dass ich diese Diplomarbeit selbständig verfasst und nur die angegebenen Quellen und Hilfsmittel verwendet habe. München, den 15. April 2003 Jörg Geiger Inhaltsverzeichnis Zusammenfassung 1 1 Einleitung 2 1.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.2 Themenbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.3 Begriffsbildung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.4 Aktueller Bezug . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2 Allgemeine Strukturierung 10 2.1 Klassische Ansätze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.1.1 Raum-Zeit-Matrix . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.1.2 Anwendungsorientierte Funktionsklassen . . . . . . . . . . . . . 12 2.1.3 3K-Modell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.2 Probleme bei der Klassifizierung . . . . . . . . . . . . . . . . . . . . . . 17 2.3 Funktionale Strukturierung . . . . . . . . . . . . . . . . . . . . . . . . . 19 2.3.1 Nachrichtenaustausch . . . . . . . . . . . . . . . . . . . . . . . 21 2.3.1.1 Synchroner Nachrichtenaustausch . . . . . . . . . . . . 23 2.3.1.2 Asynchroner Nachrichtenaustausch . . . . . . . . . . . 26 2.3.2 Informations- und Dokumentenverarbeitung . . . . . . . . . . . . 27 2.3.3 Gruppenplanung . . . . . . . . . . . . . . . . . . . . . . . . . . 29 Grenzen der funktionalen Strukturierung . . . . . . . . . . . . . . . . . . 30 2.4 ii INHALTSVERZEICHNIS iii 3 Rahmenbedingungen des Groupware-Einsatzes 32 3.1 Aufwand . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 3.1.1 Einführungs-Aufwand . . . . . . . . . . . . . . . . . . . . . . . 34 3.1.2 Installations-Aufwand . . . . . . . . . . . . . . . . . . . . . . . 35 3.1.3 Wartungs-Aufwand . . . . . . . . . . . . . . . . . . . . . . . . . 36 3.2 Kosten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 3.3 Bedienbarkeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 3.4 Erweiterbarkeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 3.5 Flexibilität . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 3.6 Integrierbarkeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 3.7 Sicherheit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 3.8 Skalierbarkeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 3.9 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 4 Web-basierte Open-Source-Groupware 45 4.1 Auswahlkriterien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 4.2 Testschema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 4.3 Backtalk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 4.3.1 Entwicklung und Vitalität . . . . . . . . . . . . . . . . . . . . . 47 4.3.2 Voraussetzungen . . . . . . . . . . . . . . . . . . . . . . . . . . 48 4.3.3 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 4.3.4 Start und Administration . . . . . . . . . . . . . . . . . . . . . . 51 4.3.5 Funktionalität . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 4.3.6 Fazit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 Discus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 4.4.1 Entwicklung und Vitalität . . . . . . . . . . . . . . . . . . . . . 52 4.4.2 Voraussetzungen . . . . . . . . . . . . . . . . . . . . . . . . . . 53 4.4.3 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 4.4 INHALTSVERZEICHNIS 4.5 4.6 4.7 4.8 iv 4.4.4 Start und Administration . . . . . . . . . . . . . . . . . . . . . . 54 4.4.5 Funktionalität . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 4.4.6 Fazit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 Extropia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 4.5.1 Entwicklung und Vitalität . . . . . . . . . . . . . . . . . . . . . 57 4.5.2 Voraussetzungen . . . . . . . . . . . . . . . . . . . . . . . . . . 57 4.5.3 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 4.5.4 Start und Administration . . . . . . . . . . . . . . . . . . . . . . 58 4.5.5 Funktionalität . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 4.5.6 Fazit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 IntranetSuite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 4.6.1 Entwicklung und Vitalität . . . . . . . . . . . . . . . . . . . . . 60 4.6.2 Voraussetzungen . . . . . . . . . . . . . . . . . . . . . . . . . . 61 4.6.3 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 4.6.4 Start und Administration . . . . . . . . . . . . . . . . . . . . . . 62 4.6.5 Funktionalität . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 4.6.6 Fazit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 Moregroupware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 4.7.1 Entwicklung und Vitalität . . . . . . . . . . . . . . . . . . . . . 64 4.7.2 Voraussetzungen . . . . . . . . . . . . . . . . . . . . . . . . . . 64 4.7.3 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 4.7.4 Start und Administration . . . . . . . . . . . . . . . . . . . . . . 66 4.7.5 Funktionalität . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 4.7.6 Fazit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 phpCollab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 4.8.1 Entwicklung und Vitalität . . . . . . . . . . . . . . . . . . . . . 69 4.8.2 Voraussetzungen . . . . . . . . . . . . . . . . . . . . . . . . . . 69 INHALTSVERZEICHNIS v 4.8.3 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 4.8.4 Start und Administration . . . . . . . . . . . . . . . . . . . . . . 71 4.8.5 Funktionalität . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 4.8.6 Fazit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 phpGroupware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 4.9.1 Entwicklung und Vitalität . . . . . . . . . . . . . . . . . . . . . 73 4.9.2 Voraussetzungen . . . . . . . . . . . . . . . . . . . . . . . . . . 73 4.9.3 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 4.9.4 Start und Administration . . . . . . . . . . . . . . . . . . . . . . 76 4.9.5 Funktionalität . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 4.9.6 Fazit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 4.10 PHPNuke . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 4.10.1 Entwicklung und Vitalität . . . . . . . . . . . . . . . . . . . . . 79 4.10.2 Voraussetzungen . . . . . . . . . . . . . . . . . . . . . . . . . . 79 4.10.3 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 4.10.4 Start und Administration . . . . . . . . . . . . . . . . . . . . . . 81 4.10.5 Funktionalität . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 4.10.6 Fazit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 4.11 PHProjekt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 4.11.1 Entwicklung und Vitalität . . . . . . . . . . . . . . . . . . . . . 82 4.11.2 Voraussetzungen . . . . . . . . . . . . . . . . . . . . . . . . . . 83 4.11.3 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 4.11.4 Start und Administration . . . . . . . . . . . . . . . . . . . . . . 84 4.11.5 Funktionalität . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 4.11.6 Fazit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 4.12 TUTOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 4.12.1 Entwicklung und Vitalität . . . . . . . . . . . . . . . . . . . . . 86 4.9 INHALTSVERZEICHNIS vi 4.12.2 Voraussetzungen . . . . . . . . . . . . . . . . . . . . . . . . . . 87 4.12.3 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 4.12.4 Start und Administration . . . . . . . . . . . . . . . . . . . . . . 89 4.12.5 Funktionalität . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 4.12.6 Fazit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 4.13 WikiWeb - Beispiel phpWiki . . . . . . . . . . . . . . . . . . . . . . . . 90 4.13.1 Entwicklung und Vitalität . . . . . . . . . . . . . . . . . . . . . 91 4.13.2 Voraussetzungen . . . . . . . . . . . . . . . . . . . . . . . . . . 91 4.13.3 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 4.13.4 Start und Administration . . . . . . . . . . . . . . . . . . . . . . 93 4.13.5 Funktionalität . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 4.13.6 Fazit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 4.14 Zope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 4.14.1 Entwicklung und Vitalität . . . . . . . . . . . . . . . . . . . . . 95 4.14.2 Voraussetzungen . . . . . . . . . . . . . . . . . . . . . . . . . . 95 4.14.3 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 4.14.4 Start und Administration . . . . . . . . . . . . . . . . . . . . . . 96 4.14.5 Funktionalität . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 4.14.6 Fazit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 5 Einsortierung der Open-Source-Groupware 100 6 How-Tos für Standard-Probleme 102 6.1 Einrichtung eines LAMP-Systems . . . . . . . . . . . . . . . . . . . . . 103 6.1.1 Linux-Installation . . . . . . . . . . . . . . . . . . . . . . . . . . 103 6.1.2 MySQL-Installation . . . . . . . . . . . . . . . . . . . . . . . . 104 6.1.3 Apache-Installation . . . . . . . . . . . . . . . . . . . . . . . . . 106 6.1.4 PHP-Installation . . . . . . . . . . . . . . . . . . . . . . . . . . 107 INHALTSVERZEICHNIS 6.2 Szenario 1 - Die benachbarte Gruppe . . . . . . . . . . . . . . . . . . . . 108 6.2.1 6.3 Die Auswahl . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 Szenario 3 - Die Interessengruppe . . . . . . . . . . . . . . . . . . . . . 110 6.4.1 7 Die Auswahl . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 Szenario 2 - Die verteilte Gruppe . . . . . . . . . . . . . . . . . . . . . . 109 6.3.1 6.4 vii Die Auswahl . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 Fazit 112 7.1 Abschließende Bewertung . . . . . . . . . . . . . . . . . . . . . . . . . 112 7.2 Alternativen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 7.3 Ausblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 Abbildungsverzeichnis 116 Tabellenverzeichnis 117 Literaturverzeichnis 118 Zusammenfassung Rechnergestützte Gruppenarbeit ist zwar noch ein recht junges Forschungsgebiet, es als brandneu zu bezeichnen, täte ihm aber Unrecht. Groupware hingegen, also Systeme, die diese Art der Zusammenarbeit erlauben, erleben seit Ende der 90er Jahre einen Boom. Die professionellen Nutzer von Groupware, etwa Firmen und Universitäten, setzen dabei meist proprietäre Lösungen ein. Die bekanntesten stammen von Microsoft und Lotus. Der Schluss liegt nahe, statt einer proprietären Groupware-Lösung die offene Infrastruktur des Internet für die Zusammenarbeit zu nutzen. Aus diesem Gedanken sind die so genannten Web-basierten Groupware-Systeme entstanden. Besonders interessante Entwicklungen gibt es in diesem Bereich bei Open-Source-Projekten. In den letzten Jahren haben sich immer mehr Projekte gegründet, die oftmals in kreativem Chaos arbeiten. Es gibt durchaus brauchbare Lösungen; die passende zu finden erfordert aber viel Aufwand. Ein Aufwand, der in der Praxis meist zu groß ist. Diese Arbeit soll eine Hilfestellung bei der Auswahl und Installation von Open-SourceGroupware geben; dabei ist die Sicht auf rein Web-basierte Lösungen eingeschränkt. Diese Systeme zeichnen sich dadurch aus, dass sie zur Bedienung lediglich einen WebBrowser erfordern und so besonders flexibel einsetzbar sind. 1 Kapitel 1 Einleitung 1.1 Motivation Laut einer Studie des Marktforschungsinstituts IDC wurden im Jahr 2002 täglich 12,56 Milliarden E-Mails verschickt, die ausschließlich geschäftlichen Zwecken dienten. Das heißt, unerwünschte Spam-Mails sind aus dem Aufkommen bereits herausgerechnet. Die Prognose für die kommenden Jahre sagt eine erhebliche Steigerung voraus: Im Jahr 2003 sollen bereits durchschnittlich 15,8 Milliarden E-Mails pro Tag verschickt werden, 2004 soll die Anzahl elektronischer Postmitteilungen auf 18,14 Milliarden steigen und 2005 muss mit 19,75 Milliarden gerechnet werden. Die Studie schließt mit einer Prognose für 2006, dann sollen bereits 21,08 Milliarden E-Mails pro Tag für geschäftliche Zwecke versendet werden. Die Gründe für den Anstieg sind vielfältig: Die Verbreitung von Internet-Anschlüssen nimmt auch im Geschäftsbereich noch zu. Das bedeutet, dass immer mehr Firmen Ihren Mitarbeitern die Möglichkeit geben, E-Mails zu versenden. Das führt wiederum zu einer immer größer werdenden Akzeptanz der elektronischen Postmitteilungen, etwa auch bei Behörden. Auch die Computer-Nutzung selbst wird immer selbstverständlicher, der Rechner tritt also auch immer mehr als Werkzeug der Zusammenarbeit in den Vordergrund und das Mittel Nummer eins zur rechnergestützten Kommunikation ist heutzutage E-Mail. E-Mail ist zweifellos ein gutes Mittel für den asynchronen Nachrichtenaustausch zwischen zwei Teilnehmern, also bei der 1 : 1-Kommunikation. Auch 1 : n- und n : 1-Kommunikation funktionieren. Das ist dann der Fall, wenn ein Absender seine E-Mail an mehrere Empfänger schickt und von Empfängerseite wieder geantwortet wird. Problematisch wird es dann, wenn die angesprochenen Personen Rückfragen haben, oder gar ein Gruppentermin per E-Mail festgelegt werden soll. Die Folge ist eine verwirrende Menge von E-Mails mit Antworten und Antworten auf Antworten und so weiter. Das mag ein weiterer 2 KAPITEL 1. EINLEITUNG 3 Abbildung 1.1: IDC-Studie täglich verschickter E-Mails wichtiger Grund für das hohe E-Mail-Aufkommen sein. Oftmals ist E-Mail das einzige Mittel, das für die rechnergestützte Kommunikation in Gruppen zur Verfügung steht; dabei ist es nicht immer optimal geeignet. Für schnellen synchronen Nachrichtenaustausch gibt es etwa so genannte Messenger, diese simulieren ein Gespräch über eine Textkonsole. Außerdem gibt es ConferencingSysteme, die sogar Video- oder Audio-Kommunikation über den Rechner erlauben und ein reales Zusammentreffen von Personen nachahmen. Für die Einhaltung von Terminen eignen sich Gruppenkalender, und Projektplaner helfen dabei, auch komplexere Gruppenarbeiten zu strukturieren. Eine Alternative zu lästigen E-Mail-Attachments ist FileSharing und Gruppeneditoren gewährleisten die Datenintegrität wenn mehrere Benutzer an derselben Datei arbeiten wollen. Viele Aufgaben, die häufig nur unzureichend per E-Mail abgewickelt werden, können also von anderen Programmen besser erledigt werden. Die oben genannten Systeme fallen unter den Oberbegriff Groupware. Das sind Systeme, die rechnergestützte Zusammenarbeit unterstützen. Für diesen Zweck gibt es zwar bereits kommerzielle Software, etwa Lotus Notes oder Microsoft Exchange; besonders interessant, flexibel, sicher, robust und kostenlos präsentieren sich aber Open-Source-Lösungen, für deren Klassifizierung, Auswahl und Installation diese Arbeit ein Leitfaden sein soll. KAPITEL 1. EINLEITUNG 1.2 4 Themenbeschreibung Die Notwendigkeit von rechnergestützter Gruppenarbeit ist keine neue Erkenntnis. Eigentlich ist in der Praxis meist klar, welche Funktionen für die Zusammenarbeit in Gruppen gewünscht sind, den Rückschluss auf die passende Groupware-Lösung und das Finden der entsprechenden Software schaffen aber die Wenigsten. Das liegt einerseits daran, dass viele Software-Produkte in den letzten Jahren mit Groupware-Funktionalität geworben haben, die mehr versprachen als tatsächlich dahinter steckte. Andererseits haben sich mit Microsoft Exchange und Lotus Notes proprietäre Groupware-Lösungen als Standard etabliert, die viele Nachteile aufweisen. Der Stand der Dinge ist also, dass einerseits der Begriff Groupware nicht klar ist und andererseits kein Überblick über tatsächlich vorhandene Lösungen existiert. Für Universitäten und Unternehmen stellen sich zum Thema Groupware viele Fragen, die diese Diplomarbeit praxisnah und auch für NichtSpezialisten beantworten soll. Hauptziel der Arbeit ist es, eine Hilfestellung bei der Auswahl und Installation freier Groupware-Lösungen für Standardaufgaben zu geben. Diese Diplomarbeit soll zuerst kurz in die Thematik von Groupware und das Themengebiet CSCW (Computer Supported Cooperative Work) einführen. Dabei soll zunächst ein klarer Eindruck davon entstehen, was Groupware eigentlich ist. Aktuelle Beispiele und Zahlen über den Einsatz von Groupware stellen den Bezug zur Praxis her. Am Anfang soll eine allgemeine Kategorisierung und Strukturierung von GroupwareAnwendungen vorgenommen werden. Dazu werden klassische Einteilungen der CSCWForschung vorgestellt und herausgearbeitet, wo ihre Stärken und Schwächen liegen. Dabei ist es die Aufgabe eine geeignete Einteilung zu finden. Denkbar wäre ein klassischer Ansatz, etwa eine funktionale Einteilung. Eine Kombination aus mehreren Sichtweisen, also ein pragmatischer Ansatz, ist erstrebenswert. Es ist zu berücksichtigen, dass die Zielgruppe nicht aus Groupware-Spezialisten besteht, sondern konkrete Lösungswünsche für die Praxis benötigt werden. Die Strukturierung soll eine Grundlage für die Ableitung von weiteren Anforderungen an Groupware-Lösungen bilden. Außerdem sollen zusätzliche Randbedingungen erarbeitet werden, aus denen sich Kriterien für zweckmäßige Lösungen ableiten lassen. Etwa bietet es sich aus Gründen der einfachen Bedienbarkeit, leichteren Wartung und Plattformunabhängigkeit an, ausschließlich Lösungen zu betrachten, die Client-seitig über einen Web-Browser bedient werden können und keine zusätzliche Software-Installation erfordern. Außerdem soll die nötige Software frei verfügbar, also kostenlos und wenn möglich erweiterbar sein; in der Aufgabenstellung sind die Groupware-Systeme deshalb auf Open-Source-Programme eingeschränkt. KAPITEL 1. EINLEITUNG 5 Nachdem die Anforderungen geklärt sind, soll der aktuelle Stand bei offenen und freien Groupware-Plattformen erhoben werden. Die gefundenen Lösungen sollen auf ihre Tauglichkeit getestet und bewertet werden. Es soll die Frage beantwortet werden, welche Voraussetzungen erfüllt sein müssen: zum Beispiel ob ein vorinstallierter Web-Server zum Betrieb der Groupware nötig ist, oder ob ein spezieller Interpreter eingerichtet sein muss. Dabei ist anzumerken, dass es sich nicht um einen Vergleichstest von CSCW-Systemen handelt, sondern jedes System einzeln und objektiv betrachtet wird. Die erhaltenen Resultate, also etwa Probleme bei der Installation oder besondere Anforderungen sollen dokumentiert werden. Wichtig ist die praktische Auseinandersetzung mit den vorhandenen Lösungen. Die gefundenen Groupware-Programme sollen in die zuvor erarbeitete Kategorisierung eingeordnet werden. Aus den gewonnenen Erkenntnissen sollen Vorschläge erarbeitet werden, welche Groupware-Lösungen für typische Standardaufgaben am besten geeignet sind. Diese sollen als eine Art How-To verfügbar sein. Die Arbeit wird mit einem Fazit abgeschlossen, in dem eine abschließende Bewertung, Kritik und Ausblick über die behandelte Thematik enthalten ist. Außer der üblichen Ausarbeitung soll zusätzlich eine Web-Dokumentation erstellt werden, die die Standardprobleme mit How-Tos für den Groupware-Einsatz enthält, um für die Praxis einen kurzen Leitfaden an der Hand zu haben. 1.3 Begriffsbildung Tippt man den Begriff Groupware“ in eine Internet-Suchmaschine ein, so wird man von ” der Anzahl der gefundenen Web-Seiten förmlich erschlagen. Allein Google liefert auf Anhieb etwa 581.000 gefundene Beiträge zum Stichwort Groupware“. Die weite Verbrei” tung des Begriffs liegt wohl daran, dass Ende der 90er Jahre Groupware ein Modewort der Software-Branche war, ähnlich wie heute das Schlagwort Web-Dienste“ durch die Welt ” geistert, ohne dass sich Software-Hersteller Gedanken über die eigentliche Bedeutung des Begriffs machen, denn konkrete Definitionen gibt es sehr wohl dafür. Um zu verstehen was Groupware eigentlich ist, sollte man auf die Ursprünge zurückgehen. Dabei trifft man automatisch auf den Begriff Computer Supported Cooperative Work, kurz CSCW. Groupware und CSCW werden oft fälschlicherweise als Synonyme gebraucht, dabei gibt es eindeutige Begriffsabgrenzungen. In [2] findet sich eine Auswahl anderer gebräuchlicher Begriffe für CSCW. Beispiele sind Workgroup Computing, Collaborative Computing oder Computer-Mediated Communication. Beide Begriffe, CSCW und Groupware, wurden in den frühen 80er Jahren geprägt. Ihnen liegt der Begriff Gruppenarbeit“ zu Grunde. Nach [4] versteht man unter Gruppenar” beit die Summe aller aufgabenbezogenen Tätigkeiten, welche von Gruppenmitgliedern KAPITEL 1. EINLEITUNG 6 ausgeführt werden, um zielbezogene Aufgaben zu erfüllen und somit Gruppenziele zu erreichen. In dieser Arbeit wird CSCW im Sinne von Greif und Cashman verwendet. In [2] ist das folgendermaßen formuliert: CSCW bezeichnet die theoretischen Grundlagen bzw. die Methodologien ” für Gruppenarbeit und deren Computerunterstützung“. CSCW ist auch die Bezeichnung für ein Forschungsgebiet, im deutschsprachigen Raum wird es oft Computerunterstützte Gruppenarbeit“ oder Rechnergestützte Gruppenar” ” beit“ genannt. Computergestützte Gruppenarbeit ist disziplinübergreifend; es verschmilzt ” Informatik, Kommunikationstechnik, Informationssysteme, Soziologie und Organisationstheorie“. Um die Groupware-Definition vollständig zu verstehen, ist der in der Informatik übliche Begriff eines Systems wichtig. Unter einem System versteht man nach [6] die Zusammenfassung mehrerer Komponenten zu einer als Ganzes aufzufassenden Einheit. Die Komponenten können von gleicher Art oder sehr unterschiedlich sein. Ein Computer-System kann etwa die Zusammensetzung von einem Hard- und Software-System sein. Ein System löst oder bearbeitet in der Regel ein wohldefiniertes Bündel von Aufgaben. Im Unterschied zu CSCW bedeutet Groupware nach [2]: Groupware bezeichnet Systeme, die Gruppenarbeit unterstützen; deren ” Realisierung integriert die theoretischen Grundlagen spezifiziert im Rahmen von CSCW“. Im Vordergrund stehen also die Aspekte einer gemeinsamen Aufgabe. Als Synonym für Groupware kann CSCW-System verwendet werden. Zwar ist diese abstrakte Definition für wissenschaftliches Arbeiten sehr gut geeignet, sie bringt aber auch Nachteile: Es sollte unmittelbar einsichtig sein, dass unter die bisher vorgenommene Charakterisierung von Groupware sehr viele Systeme unterschiedlichster Couleur fallen. Eine Herausforderung an diese Arbeit ist deren Strukturierung in Abschnitt 2.3. Einige zusätzliche Charakteristika sollen dabei helfen, den Begriff der CSCW-Systeme zu festigen und einzuschränken: Nach Ellis gilt, dass CSCW-Systeme zusätzlich eine Schnittstelle zu einer gemeinsamen Umgebung bereitstellen. Mit der oben eingeführten Erkenntnis der gemeinsamen Aufgabe lässt sich ein erstes Spektrum abbilden. KAPITEL 1. EINLEITUNG 7 Abbildung 1.2: Aufgaben-Umgebung-Spektrum In Abbildung 1.21 ist ein Koordinatensystem zu sehen, das aus den Achsen gemeinsa” me Aufgabe“ und gemeinsame Umgebung“ besteht. In das Koordinatensystem werden ” bestehende Groupware-Produkte eingeordnet. Auf den ersten Blick sieht man, dass es viele Systeme gibt, die alle der Groupware-Definition genügen. Trotzdem stellen sie sehr unterschiedliche Funktionalitäten zur Verfügung. Ein weiteres Merkmal von Groupware ist, dass Gruppenmitglieder nicht voneinander isoliert sind, sie werden sogar explizit über ihre gegenseitige Existenz informiert. In der Terminologie der CSCW-Systeme, etwa in [2] Abschnitt 2.6.5, wird dieses Merkmal auch als Gruppenbewusstsein oder englisch Group Awareness“ bezeichnet. ” In der Aufgabenstellung ist explizit von der Untersuchung von Open-Source-Groupware die Rede. Der Begriff Open-Source“ wird in diesem Zusammenhang als Gegensatz zu ” proprietärer Software verwendet. Dabei wird nicht, wie in der Praxis üblich, zwischen Open-Source und freier Software unterschieden, wie es die Free Software Foundation2 fordert. Open-Source-Software ist in dieser Arbeit durch zwei Charakteristika gekennzeichnet: Die Software ist frei im doppelten Sinn, einmal im Sinne von ”kostenlos erhältlich” und und einmal im Sinne von ”der Quelltext ist einsehbar und darf verändert werden”. 1 vgl. 2 Die [2] Abschnitt 2.6.5 FSF ist eine Organisation, die hinter der Entwicklung des GNU Projekts steht KAPITEL 1. EINLEITUNG 8 Mehr zu dieser Thematik findet sich bei Eric S. Raymond3 und in den Bestimmungen der GNU General Public License. 1.4 Aktueller Bezug Der Groupware-Markt ist für eine Software-Gattung noch ziemlich jung; der Begriff hat sich erst Mitte der 80er gefestigt. Momentan dominieren klar die proprietären Systeme. Nach einer Studie von IDC setzten Unternehmen im Jahr 2001 zu 45 Prozent auf Lotus Notes, 23 Prozent setzten Outlook und Exchange von Microsoft ein und weitere 11 Prozent setzten auf Novells Groupwise, alles proprietäre Plattformen. Die restlichen 21 Prozent verwendeten andere CSCW-Systeme, darunter auch Open-Source-Lösungen. Die Marktforscher der Radiki Group4 verfolgen den Kampf auf dem kommerziellen Groupware-Markt durch die Anzahl der auf dem Markt befindlichen Lizenzen. Demnach gibt es etwa 73 Millionen Exchange-Lizenzen, bei Notes kommen die Marktforscher auf weniger, 68 Millionen. Zählt man die noch ausstehenden Linzenzkäufe hinzu, das sind bei Exchange rund 80 Millionen und bei Lotus etwa 70 Millionen Ende 2002, so hat sich im vergangenen Jahr Microsoft auf Platz eins im Groupware-Markt festgesetzt. Momentan kann man einen hohen Anstieg der Open-Source-Projekte im GroupwareMarkt erkennen. Es lassen sich derzeit (Stand Anfang 2003) etwa 100 verschiedene Programme finden, die die Groupware-Definition erfüllen. Etwa 60 Prozent davon wurden seit 2000 gestartet. Der Trend zu Open-Source-Software in der Industrie und in öffentlichen Verwaltungen nimmt aus vielen Gründen zu, drei davon sollen besonders hervorgehoben werden: Zum einen hilft das Open-Source-Modell Kosten zu senken, da keine Lizenzkosten im klassischen Sinn fällig werden. Zum anderen ist man beim Einsatz von Open-Source-Software nicht abhängig von einem Hersteller und die Software lässt sich flexibel an die eigenen Bedürfnisse anpassen. Open-Source-Software ist zum Synonym geworden für Flexibilität und Kostenbewusstsein. Das Private Public Partnership des IT-Dienstleisters Materna GmbH und dem Marketing-Lehrstuhl der Uni Dortmund, IT-Surveys, hat die aktuelle Diskussion zum Anlass genommen und in einer qualitativen Befragung die Verbreitung von Open-Source-Software untersucht und hinterfragt, wie IT-Entscheider den Einsatz von Open-Source-Lösungen beurteilen. Die Ergebnisse der Kurzstudie zeigen deutlich, dass die Bedeutung von OpenSource-Software in den nächsten Jahren weiter zunehmen wird. Die Vorteile offener Systemwelten überwiegen, so die einhellige Meinung der befragten IT-Entscheider. Kosten, Flexibilität, Unabhängigkeit sowie Sicherheit sprechen deutlich für die stärkere Nutzung 3 Sein 4 ein Buch The Cathedral and the Bazaar“ gilt als Bibel der Open-Source-Bewegung ” kalifornisches Forschungsinstitut KAPITEL 1. EINLEITUNG 9 von OSS. Die vollständigen Ergebnisse können unter www.it-surveys.de nachgelesen werden. Mit Hilfe von qualitativen Leitfadeninterviews wurden 30 deutsche Anwenderunternehmen zu ihren OSS-Erfahrungen befragt. Es sollte herausgefunden werden, ob OSS sich heute schon als eine echte Alternative zu herkömmlichen Systemwelten erweist. Die qualitative Studie dient einer ersten Einschätzung des Potenzials von Open-Source-Lösungen im Business-Bereich. Es stehen weniger generalisierbare Ergebnisse im Vordergrund, sondern es soll ein vertiefender Einblick in den Problemkreis gegeben werden. Häufigster Einsatzzweck waren bei den Befragten der Server-Bereich sowie Internet-Anwendungen und -Dienste. Die Befragten gehen davon aus, dass in Zukunft sowohl die Verbreitung als auch die Einsatzbereiche zunehmen werden. Damit bestätigt die qualitative Befragung die Online-Umfrage, die IT-Surveys im Herbst letzten Jahres zum gleichen Thema durchgeführt hat. Auch in der öffentlichen Verwaltung trifft der Einsatz von Open-Source-Software auf breite Zustimmung. Beispielsweise entschied sich das Beschaffungsamt des Bundesinnenministeriums (BMI) für den Einsatz einer Groupware-Lösung auf Basis von Linux. Kapitel 2 Allgemeine Strukturierung In diesem Kapitel geht es um die allgemeine Strukturierung und Klassifizierung von Groupware-Anwendungen. Das hat nicht nur theoretischen Nutzen, denn die Einteilung dient auch als Orientierungshilfe für die Auswahl der richtigen Groupware-Applikation. Dabei werden zuerst klassische Ansätze zur Strukturierung (2.1) vorgestellt, die sich in der CSCW-Forschung etabliert haben. Anhand dieser Klassifizierungen sollen die Probleme einer umfassenden Strukturierung aufgezeigt werden, und Vor- und Nachteile der bestehenden Ansätze herausgearbeitet werden (2.2). Als Grundlage dieser Arbeit dient eine eigene funktionale Klassifizierung von CSWC-Systemen (2.3), die vor allem praxisrelevante Züge aufweist, und auch für Nicht-Informatiker leicht zu verstehen ist. In Kapitel 5 werden die gefundenen Open-Source-Groupware-Systeme in die Klassifikation eingeordnet. Zum Abschluss dieses Kapitels werden die Grenzen der funktionalen Einteilung diskutiert (2.4). 2.1 Klassische Ansätze Eine gültige Klassifizierung von CSCW-Systemen zu finden, ist eine besondere Herausforderung: Die abstrakte Begriffs-Definition von ”Groupware” hat zur Folge, dass eine Vielzahl von Anwendungen unterschiedlichster Natur als Groupware gelten und somit zur Einteilung vorliegen. Dabei soll die Kategorisierung dieses weite Feld nicht nur abdecken, sondern auch möglichst redundanzfrei sein, dazu flexibel, also erweiterbar oder reduzierbar. Im Idealfall ist die Strukturierung auch noch übersichtlich und bietet eine gute Hilfestellung bei der Suche nach einer bestimmten Groupware. Die eine, einzige und vollständige Einteilung gibt es noch nicht. In der CSCW-Forschung existieren mehrere mögliche Strukturierungen nebeneinander. Jeder Ansatz setzt unterschiedliche Schwerpunkte und ist je nach Anwendungsfall passender. Im Folgenden sollen die bedeutendsten Klassifizierungen von CSCW-Systemen vorgestellt werden: Raum-Zeit-Matrix (2.1.1), 10 KAPITEL 2. ALLGEMEINE STRUKTURIERUNG 11 Anwendungsorientierte Funktionsklassen (2.1.2) und 3K-Modell (2.1.3). 2.1.1 Raum-Zeit-Matrix Die Raum-Zeit-Matrix geht auf Robert Johansen zurück und ist eine zweidimensionale Betrachtung von CSCW-Systemen: Einerseits wird davon ausgegangen, dass die Gruppenmitglieder, die ein Groupware-System einsetzen, räumlich verteilt arbeiten. Das heißt, es kommt darauf an, ob sie benachbart oder entfernt arbeiten; das kann vom gleichen Büro, über die gleiche Etage in einem Gebäude bis zu verschiedenen Kontinenten reichen. Andererseits spielt auch die zeitliche Verteilung eine Rolle: Arbeiten die Benutzer eines CSCW-Systems zur gleichen Zeit, oder zu verschiedenen Zeiten? So werden synchrone und asynchrone Systeme unterschieden, was zu einer Vier-Felder-Matrix führt: Abbildung 2.1: Die Raum-Zeit-Matrix nach Robert Johansen In die Raum-Zeit-Matrix aus Abbildung 2.1 werden die CSCW-Systeme eingeordnet, was zunächst eine gewisse Übersichtlichkeit schafft. Bei genauerer Betrachtung stellt man jedoch schnell fest, dass einige Systemkategorien nicht eindeutig in eines der vier Felder eingeordnet werden können. Ein Beispiel hierfür sind die Gruppeneditoren, die es mit synchroner Funktionalität gibt, so genannte Realzeiteditoren, und auch in asynchroner Form, also Editoren mit Benachrichtigung. Darüber hinaus ist auch die räumliche Verteilung bei Gruppeneditoren nicht eindeutig, Gruppeneditoren stehen in der Regel geographisch benachbarten und entfernten Benutzern gleichermaßen zur Verfügung. Nach 12 KAPITEL 2. ALLGEMEINE STRUKTURIERUNG [1] ist jedoch zu betonen, dass diese Klassifizierung nicht im Sinne einer Eingrenzung ” und Abgrenzung angesehen werden darf. Die einzelnen Kategorien können bestenfalls Systemkomponenten aufnehmen, da ein umfassendes CSCW-System den Anforderungen aller vier Quadranten genügen muss“. Jonathan Grudin, heute Mitarbeiter bei Microsoft, erweiterte die Vier-Felder-Matrix von Johansen zu einer Neun-Felder-Matrix, indem er den zusätzlichen Parameter ”Vorhersehbarkeit” einführte. Daraus ergibt sich für die geographische Komponente folgende Aufteilung: ”Gleicher Ort”, ”verschiedener Ort vorhersehbar” und ”verschiedener Ort nicht vorhersehbar”. Bei der zeitlichen Komponente unterschied er analog nach ”synchron”, ”asynchron vorhersehbar” und ”asynchron nicht vorhersehbar”. Damit ergibt sich folgende erweiterte Raum-Zeit-Matrix: Raum/Zeit gleiche Zeit (synchron) gleicher Ort verschiedener Ort vorhersehbar face-to-faceSitzung Videokonferenz verschiedener Ort nicht vorhersehbar Mobilfunkkonferenz verschiedene Zeit (asynchron) vorhersehbar nicht vorhersehbar schwarzes Brett“ Schichtarbeit ” E-Mail Nicht-RealzeitRechnerkonferenz kollaboratives Verfassen von Dokumenten Vorgangsbearbeitung Tabelle 2.1: Erweiterte Raum-Zeit-Matrix nach Grudin. Die in Tabelle 2.1 dargestellte erweiterte Raum-Zeit-Matrix ist zwar auch übersichtlich, die angesprochenen Probleme, die Johansens Ansatz hat, sind aber auch hier zu sehen. Es gibt Groupware-Systeme, die sich in mehr als eine Kategorie einordnen lassen. Also ist auch die Grudin-Erweiterung nicht als Eingrenzung und Abgrenzung zu verstehen. Trotzdem ist die Raum-Zeit-Matrix das am häufigsten gebrauchte Klassifikationsschema, wenn an Universitäten Vorlesungen über rechnergestützte Gruppenarbeit gehalten werden. 2.1.2 Anwendungsorientierte Funktionsklassen Einen anderen Ansatz als die Raum-Zeit-Matrix verfolgen die so genannten anwendungsorientierten Funktionsklassen. Diese Art der Klassifizierung ist auch für die vorliegende Arbeit interessant, denn ihr Hauptmerkmal ist, wie der Name bereits verrät, die Anwendungsorientierung. Deshalb passen die Funktionsklassen gut in das pragmatische Konzept, das diese Arbeit verfolgen soll. In [1] ist nachzulesen, dass Ellis et al. Anfang der 90er Jahre folgende Funktionsklassen unterschieden haben: Nachrichtensysteme, Grup- KAPITEL 2. ALLGEMEINE STRUKTURIERUNG 13 peneditoren, elektronische Sitzungsräume, Konferenzsysteme, gemeinsame Informationsräume, Agentensysteme und Koordinationssysteme. Diese Einteilung bildet die oberste Hierarchie und wird durch Unterkategorien konkretisiert. Etwa unterscheidet man bei den Konferenzsystemen folgende vier Unter-Arten: Nachrichtensysteme: Nachrichtensysteme sind für den asynchronen Nachrichtenaustausch zwischen Gruppenmitlgiedern verantwortlich. Das sind meist Textnachrichten, aber auch Grafiken, Töne und Videos können bei einigen Systemen zwischen Sender und Empfänger ausgetauscht werden. Die Verwaltung von Nachrichten wird durch Strukturinformationen geregelt, etwa mittels einer Betreffzeile beim E-MailVersand. Die Erweiterung der Funktionalität eines Nachrichtensystems kann empfängerspezifisch oder absenderspezifisch erfolgen. Empfängerspezifisch bedeutet, dass der Empfänger bestimmte Regeln definiert, etwa eine Filterung nach Absenderadresse. Absenderspezifisch bedeutet, dass der Sender etwas spezifiziert und mit der Nachricht verschickt, man spricht dabei von so genannten Skripten. Nachdem der Empfänger die Nachricht erhalten hat, wird das Skript ausgeführt. Das könnte etwa eine Bestätigung über den Erhalt der Nachricht für den Absender sein, die automatisch nach Öffnen der Mitteilung zurückgeschickt wird. Gruppeneditoren: Gruppeneditoren werden dann eingesetzt, wenn mehrere Bearbeiter an einem gemeinsamen Dokument arbeiten. Auch für die gemeinsame Entwicklung eines Software-Systems sind Gruppeneditoren nötig. Dabei ist der Editor in der Lage, durch Benachrichtigungen die Benutzer auf dem aktuellen Stand der Bearbeitung zu halten. Die Benutzer werden also nicht voneinander isoliert. Bei den Realzeiteditoren arbeiten aktuell mehrere Benutzer am selben Dokument, dabei hat meist nur einer Schreibrechte, alle anderen Leserechte. Die asynchronen Editoren, oder auch Editoren mit Benachrichtigung genannt, verfügen über einen eingebauten Benachrichtigungsmechanismus, der über Änderungen informiert. Elektronische Sitzungsräume: Elektronische Sitzungsräume sind Sitzungsräume für so genannte face-to-face-Sitzungen, die mit Rechnern ausgestattet sind. Die Rechner werden dabei als Group Support Systems (GSS) eingesetzt, das bedeutet, sie helfen bei der Findung von Gruppenentscheidungen. Ein GSS fasst Meinungen, Zweifel und Einschätzungen zusammen und befragt die ganze Gruppe dazu. So kommt es iterativ zu einer gemeinsamen Entscheidung. Konferenzsysteme: Konferenzsysteme gibt es in vielen verschiedenen Ausprägungen, man unterscheidet Nicht-Realzeitrechnerkonferenz, Realzeitrechner-Konferenz, Telekonferenz und Desktopkonferenz. Bei der Nicht-Realzeitkonferenz erfolgt eine asynchrone Kommunikation. Oftmals wird dafür E-Mail verwendet. Das Konferenzsystem bereitet dann die Nachrichten entsprechend auf. Eine synchrone Rechnerkonferenz oder auch Realzeitrechnerkonferenz genannt, bietet die Möglichkeit KAPITEL 2. ALLGEMEINE STRUKTURIERUNG 14 des synchronen Datenaustausches, es besteht jedoch keine Audio- oder Video-Verbindung. Dies ist erst bei der Telekonferenz der Fall, wobei diese die Einschränkung hat, dass eine gemeinsame Bearbeitung von Daten nicht vorgesehen ist. Erst die so genannte Desktopkonferenz schafft die Verschmelzung von Realzeitrechnerkonferenz und Telekonferenz. Gemeinsame Informationsräume: Gemeinsame Informationsräume haben die Aufgabe, den Informationsschatz der Gruppe zu speichern und zu verwalten. Es gibt vier Kooperationsmodi, die bei der Bearbeitung gemeinsamer Informationen unterschieden werden: Jedes Mitglied bearbeitet einen Teil unabhängig von den anderen (getrennte Verantwortlichkeit); zu einem Zeitpunkt hat immer nur genau ein Gruppenmitglied Vollzugriff (wechselseitig ausschließlicher Zugriff); jedes Mitglied entwickelt seine eigene Version der Dokumente (alternative Versionen); die Mitglieder können gleichzeitig arbeiten und es stehen geeignete Mechanismen zur konsistenten Datenhaltung zur Verfügung (synchroner Zugriff). Agentensysteme: Ein Software-Agent ist ein Programm oder Programm-Modul, das im Auftrag eines Benutzers bestimmte Aufgaben selbständig ausführen kann. In Bezug auf Groupware sind Agenten Software-Komponenten, die als Teilnehmer menschliche Gruppenmitglieder ersetzen. Sie übernehmen dabei bestimmte Rollen, etwa die Protokollierung einer Sitzung. Agenten agieren dabei normalerweise autonom, das heißt sie können auch ohne direkte Kontrolle durch einen menschlichen Benutzer agieren und kontrollieren ihren inneren Zustand selbst. Sie können außerdem mit anderen Agenten oder auch Benutzern kommunizieren. Koordinationssysteme: Koordinationssysteme oder auch Workflow-Management-Systeme werden zur Koordinierung von Arbeitsabläufen eingesetzt, dabei unterscheidet man vier Arten, abhängig von der modellierten Information: formularorientierte Systeme, prozedurorientierte Systeme, konversationsorierntierte Systeme und kommunikationsorientierte Systeme. • Formularorientierte Systeme lehnen sich an den guten alten Umlaufzettel an, der mit dem Dokument von Bearbeitungsstelle zu Bearbeitungsstelle wandert. Nach Ausführen von bestimmten Tätigkeiten wird auf einem Formular unterschrieben und das Dokument weitergegeben. Die Reihenfolge der Bearbeiter legt ein Ablaufplan fest. • Prozedurorientierte Systeme umfassen mehrere Schritte, die zum Ziel führen. Die kooperativen Tätigkeiten von Gruppenmitgliedern werden in einer Prozedurbeschreibung vorherbestimmt. • Konversationsorientierte Systeme modellieren die Interaktionen zwischen Gruppenmitgliedern. Die Kooperation basiert auf dem Austausch sprachlicher Äußerungen, die auf elektronische Nachrichten abgebildet werden. KAPITEL 2. ALLGEMEINE STRUKTURIERUNG 15 • Kommunikationsorientierte Systeme modellieren komplexe Kommunikationsstrukturen innerhalb einer Organisation. Diese Struktur drückt die Organisationsstruktur aus und beinhaltet Rollen. 2.1.3 3K-Modell Als eine der wichtigsten Einteilungen von CSCW-Systemen gilt auch das 3K-Modell: Hinter den drei K’s verbergen sich die Begriffe Kommunikation, Koordination und Kooperation. Jeder dieser Begriffe drückt einen Intensitätsgrad der Zusammenarbeit inner” halb einer Gruppe“ aus. Die Begriffe sind nach [4] wie folgt definiert: Kommunikation: ”Unter Kommunikation versteht man einen verlässlichen und hinreichend schnellen Austausch von Informationsobjekten.” Koordination: ”Koordination erfordert noch kein gemeinsames Ziel, jedoch gemeinsame Interessen und/oder organisatorische Zusammengehörigkeit.” Kooperation: ”Kooperation bedingt eine starke Übereinstimmung von Zielen; die Gruppe ist als Ganzes für das Ergebnis verantwortlich.” Die Intensität von Zusammenarbeit und Integration nimmt ausgehend von Kommunikation über Koordination bis zu Kooperation hin zu. In dieser Richtung lässt hingegen das aufgabenbezogene Wissen des Individuums nach. Nähere Ausführungen dazu finden sich in [4], Abschnitt 1.2.2; Teufel et al. ordneten die Prozesse der Gruppenarbeit zur Veranschaulichung in einem Dreieck an. An den Eckpunkten befinden sich die Zentren von Kommunikations-Unterstützung, Koordinations-Unterstützung und Kooperations-Unterstützung. Die Applikationstypen von CSCW-Systemen werden dann je nach Unterstütßzungsfunktion im Inneren des Dreiecks positioniert, dabei wird der Tatsache Rechnung getragen, dass Groupware in der Regel verschiedene Funktionen integriert, also keinem der drei K’s eindeutig zugeordnet werden kann. Wie in Abbildung 2.2 zu sehen ist, werden dabei die CSCW-Systeme, die gewisse Ähnlichkeiten aufweisen, zu Systemklassen zusammengefasst. In der Abbildung sind das entsprechend die benachbarten Groupware-Programme. Es bilden sich vier Klassen heraus, die sich gegeneitig überlappen: Kommunikation, gemeinsame Informationsräume, Workflow-Management und Workgroup-Computing. Nach [4] haben sie folgende Merkmale: Systemklasse Kommunikation: ”Kommunikationssysteme sind Systeme, deren Aufgabe darin besteht, den expliziten Informationsaustausch zwischen verschiedenen Kommunikationspartnern zu ermöglichen. Dabei werden in erster Linie Raum- und Zeitdifferenzen überbrückt. Typische Beispiele sind elektronische Post-Systeme und KAPITEL 2. ALLGEMEINE STRUKTURIERUNG 16 Abbildung 2.2: Das 3K-Modell nach Teufel et al. Videokonferenzen. Auch Bulletin Board Systeme können zu dieser Klasse gezählt werden, wenn geschlossene Gruppen adressiert werden.” Systemklasse gemeinsame Informationsräume: ”Diese Klasse stellt gemeinsame Informationsräume für eine Gruppe zur Verfügung, in denen Informationen längere Zeit in geeigneter Form mit Hilfe geeigneter Zugriffsmechanismen gespeichert werden. Der Informationsaustausch ist implizit. In diese Klasse fallen verteilte Hyptertext Systeme und spezielle Datenbanken, deren Informationen gleichzeitig von verschiedenen Benutzern abgefragt werden können. Bulletin Board Systeme können ebenfalls zu dieser Klasse gezählt werden.” Systemklasse Workflow-Management: ”Ein Workflow ist eine endliche Folge von Aktivitäten, wobei die Folge von Ereignissen ausgelöst und beendet wird. Im allgemeinen sind Workflows organisationsweite, arbeitsteilige Prozesse, in die eine große Anzahl von Akteuren einbezogen sind. Workflow-Management umfasst alle Aufgaben, die bei der Modellierung , der Simulation sowie bei der Ausführung und Steuerung von Workflows erfüllt werden müssen. Workflow-Management-Werkzeuge unterstützen die Aufgaben des Workflow-Management durch die Ausführung von Software. Deren Unterstützungsfunktion besteht primär darin, Workflows auszuführen und zu koordinieren. Dazu werden unter anderem Techniken aus dem Bereich elektronischer Post-Systeme und spezielle Datenbanksysteme eingesetzt.” Systemklasse Workgroup-Computing: ”Workgroup-Computing-Systeme unterstützen die Kooperation von Personen, die in Gruppen oder Teams arbeiten und Aufga- KAPITEL 2. ALLGEMEINE STRUKTURIERUNG 17 ben mit mittleren bis geringen Strukturierungsgraden und Wiederholungsfrequenzen zu lösen haben. Die Koordinationsfunktion bezieht sich hier auf die für die Problemstellung notwendigen Kooperationsbeziehungen innerhalb der Gruppe. In diese Klasse gehören Planungssysteme wie Terminverwaltungs- und -vereinbarungssysteme, Gruppeneditoren und Entscheidungs- und Sitzungsunterstützungssysteme.” Das 3K-Modell bildet die Grundlage für die Ableitung der Systemklassen. Speziell diese Klassen sind für die zu findende Einteilung eine gute Grundlage. Zwar sollen auch die Systemklassen nicht 1:1 übernommen werden, bei genauerer Betrachtung fällt aber auf, dass man die Sicht auf die Systemklassen lediglich zu verfeinern braucht, um eine Anwendungs-bezogene Einteilung zu finden. Das 3K-Modell ist sehr übersichtlich gehalten. Außerdem decken die vier Systemklassen den gesamten Groupware-Bereich ab. Allerdings wird oftmals in der Praxis erst von Groupware gesprochen, wenn ein System in mehr als eine Klasse eingeordnet werden kann. Also ist auch diese Einteilung nicht frei von Redundanz. 2.2 Probleme bei der Klassifizierung Ein wichtiger Teil dieser Arbeit ist es, eine geeignete Strukturierung für Open-SourceGroupware zu entwickeln, die bei der Auswahl von CSCW-Programmen möglichst schnell zum Ziel führt. Dabei hat es sich angeboten, zuerst die bereits entwickelten Klassifizierungen zu untersuchen und gegebenenfalls zu verwenden. Leider passt keine der klas” sischen Einteilungen“. Im Folgenden soll kurz diskutiert werden, warum sich weder die Raum-Zeit-Matrix, noch anwendungsorientierte Funktionsklassen und 3K-Modell für den Zweck dieser Diplomarbeit einfach übernehmen lassen. Dabei wird zuerst erläutert, welche Anforderungen an die Strukturierung durch die Aufgabenstellung gegeben sind und dann aufgezeigt, in welchen Punkten die vorgestellten Modelle Probleme haben. Wie in Abschnitt 1.2 betont, besteht der Hauptzweck der vorliegenden Diplomarbeit darin, eine Hilfestellung bei der Auswahl und Installation freier Groupware-Lösungen für Standardaufgaben zu geben. Wer sich bereits näher mit Installationshinweisen beschäftigt hat, der hat sich im Normalfall schon für eine Groupware-Lösung entschieden. Für die Klassifizierung ist also die oberste Maxime die Hilfe bei der Auswahl der CSCW-Systeme. Trotzdem soll die Strukturierung von allgemeiner Natur sein, das spricht gegen eine Auflistung von existierenden Produktkategorien. Zusätzlich ist es erforderlich, dass die Einteilung einen pragmatischen Hintergrund hat, denn die eigentliche Zielgruppe sollen nicht Groupware-Spezialisten sein, sondern Fachfremde, die CSCW-Systeme einsetzen wollen. Unnötiger theoretischer Ballast soll weggelassen werden. KAPITEL 2. ALLGEMEINE STRUKTURIERUNG 18 Wichtig ist auch, dass die Strukturierungmerkmale und die Anforderungen, die an Groupware-Programme gestellt werden, in engem Zusammenhang stehen. Der Grund ist einfach, es wird davon ausgegangen, dass die Zielgruppe eine gewisse Erwartungshaltung bereits mitbringt, also bereits Anforderungen an Groupware stellt. Normalerweise haben diese Anforderungen unterschiedliche Priorität. Die Strukturierung soll sich wenn möglich an der Hauptanforderung der Auswählenden festmachen. Sie bildet die Grundlage für die Einteilung. Zusätzliche Anforderungen, die in Kapitel 3 herausgearbeitet werden, sollen als Rahmenbedingungen die Hauptanforderung sinnvoll ergänzen. Probleme der Raum-Zeit-Matrix: In Abschnitt 2.1.1 wurde die Raum-Zeit-Matrix vorgestellt. Schwierigkeiten könnte es geben, wenn bei der Recherche nach der passenden Groupware die Fragen nach räumlicher und zeitlicher Verteilung nicht beantwortet werden können. Das ist meist dann der Fall, wenn die gesuchten Produkte nachweislich an den Schnittstellen der Matrixfelder liegen. Unglücklicherweise ist die Platzierung an den Schnittstellen auch ein signifikantes Merkmal von Groupware-Produkten. Auch bei der Erweiterung nach Grudin fehlt die eindeutige Hauptanforderung, nach der die CSCW-Systeme klassifiziert sind. Der pragmatische Hintergrund ist bei diesem Modell nicht vorhanden. Die Raum-Zeit-Matrix wird deshalb in der selbstentwickelten Klassifizierung in Abschnitt 2.3 nicht berücksichtigt. Probleme der anwendungsorientierten Funktionsklassen: Zweifellos hat eine anwendungsorientierte Sichtweise den Vorteil, dass auch Nicht-Informatiker sich schneller zurecht finden, die Darstellung insgesamt also leichter verständlich ist und auch Nicht-Fachleute die Strukturierung eher als Auswahlhilfe nutzen können. Aber auch dieser Ansatz zeigt Schwächen: So ist die Einteilung in Funktionsklassen nicht redundanzfrei, beispielsweise sind in asynchronen Konferenzsystemen meist Nach” richtensysteme integriert, um eine asynchrone Kommunikation zwischen Gruppenteilnehmern zu ermöglichen“ 1 . Ein weiterer Kritikpunkt an dieser Vorgehensweise ist eine begrenzte Aktualität. Während etwa die Raum-Zeit-Matrix neue Systemklassen ohne Probleme neu einordnen kann oder bestehende entfernen kann, ist das mit der anwendungsorientieren Sicht nicht so einfach. Auch Verschiebungen der Funktionsklassen wirken sich stärker aus. Wenn man diesen Ansatz verwendet, sollte man in kurzen Abständen die gefundenen Klassen auf ihre Gültigkeit überprüfen. Die anwendungsorientierten Funktionsklassen in 2.1.2 passen jedoch besser auf die gestellten Anforderungen wie die Raum-Zeit-Matrix. Für diesen Ansatz spricht vor allem der Praxisbezug. Auch die Gliederung anhand der Funktionalität passt gut, denn das sollte die Hauptanforderung sein, die potentielle Groupware-Nutzer an eine Lösung stellen. Die Bezeichnungen der Funktionsklassen sind aber nicht auf 1 vgl. [1] Abschnitt 2.8.2 KAPITEL 2. ALLGEMEINE STRUKTURIERUNG 19 den ersten Blick verständlich. Unter der Klasse Agentensysteme werden sich viele Nutzer zuerst nichts vorstellen können. Außerdem passen die Gruppeneditoren als Produktgruppe nicht in die Klassenhierarchie. Probleme des 3K-Modells: Das 3K-Modell, vorgestellt in 2.1.3, ist zwar sehr übersichtlich, die Unterscheidung in Kommunikation, Koordination und Kooperation ist aber nicht intuitiv und praxisnah. Vielmehr müsste sich ein Laie erst in die begrifflichen Abgrenzungen einarbeiten, bevor er dann erst im zweiten Schritt die vier Systemklassen kennenlernt. Das ist aber für den Einsatz von Groupware nicht notwendig. Besonders gelungen ist an den Funktionsklassen aber, dass sie den gesamten Groupware-Bereich abdecken. Aus diesem Grund sind die vier Systemklassen eine Art Grundlage für die neu abzuleitende Klassifizierung. 2.3 Funktionale Strukturierung Für die in der Aufgabenstellung geforderte Klassifizierung eignet sich keine der bisher vorgestellten Strategien zu 100 Prozent. Gute Ansätze zeigen aber die anwendungsorientierten Funktionsklassen (siehe dazu 2.1.2) und die Systemklassen des 3K-Modells (siehe dazu 2.1.3). Aus diesem Grund wird eine Art Hybridstrategie verwendet, in der das Beste aus diesen zwei Modellen vereinigt und das Resultat geeignet ergänzt wird. Die Idee einer Strukturierung, die von der Funktionalität bestimmt wird, drängt sich für den Zweck dieser Arbeit auf, denn das ist die pragmatischste Lösung; die in der Praxis gesuchten Lösungen werden meist primär nach Funktionalität ausgewählt, Funktionalität entspricht also der in Abschnitt 2.2 angesprochenen Hauptanforderung, die der Garant für das schnelle Finden von Lösungen ist. Die entwickelte Strukturierung ist hierarchisch gegliedert, das heißt, dass sich gefundene Funktionsklassen durch Unterklassen genauer spezifizieren lassen. Das bringt entscheidende Vorteile: Praxisorientierung: Der wichtigste Vorteil einer funktionalen Klassifizierung von CSCW-Systemen ist der Praxisbezug. Diese Arbeit soll explizit ein Leitfaden für NichtSpezialisten sein, also muss vor allem die Kategorisierung auch von einem NichtSpezialisten verstanden werden. Verstehen ist aber nicht die einzige Anforderung, anhand der gewählten Strukturierung soll man sich auch gut orientieren können und letztendlich eine passende Groupware-Lösung finden, die den vorhandenen Anforderungen genügt. Als Strukturierungsmittel dient die Funktionalität, weil sie die Eigenschaft ist, die in der Praxis am meisten gebraucht wird. Übersichtlichkeit: Die funktionale Einteilung ist übersichtlich, weil sie eindimensional ist. Auf einen Blick kann man sich über die verschiedenen Kategorien informieren. Die hierarchische Gliederung mit Unterkategorien erlaubt es, dort wo spezielles KAPITEL 2. ALLGEMEINE STRUKTURIERUNG 20 Interesse besteht nachzusehen und tiefer in die Materie einzusteigen; andere Funktionen, die nicht gewünscht werden bleiben außen vor. So kann jeder Benutzer seine eigene Sicht auf Groupware-Systeme gewinnen. Schnelles Finden von Lösungen: Natürlich begünstigen die ersten zwei Vorteile auch das schnelle Finden von Lösungen. Im Unterschied zu anderen Klassifizierungen wurde dieses Schema auch mit dem expliziten Ziel entwickelt, Lösungen schnell zugänglich zu machen. Die klassischen Ansätze stammen alle aus dem Forschungsbereich CSCW und ordnen dort die Groupware-Systeme ein, dieser Ansatz geht so gesehen den Weg von der Praxis zurück zu CSCW. Flexibilität: Mit Flexibilität ist gute Anpassbarkeit an den Groupware-Markt gemeint; das heißt, falls eine neue Generation von Groupware-Systemen auf den Markt kommen wird, die vollkommen neue Funktionen bietet, so kann man die Klassifizierung erweitern, ohne die bestehenden Klassen verändern zu müssen: Entweder es kommt eine neue Hauptklasse hinzu, oder es werden Unterklassen ergänzt. Falls eine Funktionsklasse ausstirbt, kann das entweder eine Oberklasse betreffen oder Unterklassen. Diese werden dann entfernt, beeinflussen aber ihre Nachbarklassen nicht. Folgende Strukturierung, wie sie auch in Abbildung 2.3 illustriert ist, ist für diese Arbeit gewählt worden: Abbildung 2.3: Funktionale Einteilung von CSCW-Systemen Nachrichtenaustausch: Der Austausch von Nachrichten ist wohl die wichtigste Anforderung, die heute an Groupware-Systeme gestellt wird. Dabei geht es meist um KAPITEL 2. ALLGEMEINE STRUKTURIERUNG 21 Textnachrichten, aber auch Audio- und Videobotschaften sind mit der richtigen Hardware-Ausstattung kein Problem mehr. Der Bedarf an Kommunikation spiegelt sich etwa im steigenden E-Mail-Aufkommen wieder, denn E-Mail ist heute die beliebteste Art des rechnergestützten Nachrichtenaustausches. Wichtig ist, dass es sich beim Nachrichtenaustausch um eine Form der expliziten Kommunikation handelt, die meist direkt stattfindet: Der Sender überträgt die Nachricht speziell für den Empfänger, bestimmt also explizit, an wen die Nachricht gehen soll. Im Bereich Nachrichtenaustausch gibt es aber auch Formen der indirekten Kommunikation. Dabei werden an gemeinsamen Informationsobjekten Änderungen vorgenommen. Ein Empfänger erlangt Kenntnis von einer Aktion, ohne dass der Sender explizit dafür sorgt. Ein Beispiel wäre ein Web-Forum, in dem Nachrichten implizit ausgetauscht werden. Informations- und Dokumentenverarbeitung: Im Unterschied zum Nachrichtenaustausch versteht man unter Informationsverarbeitung stets eine Form der impliziten Kommunikation. Ein wichtiges Kriterium der Informationsverarbeitung ist die gemeinsame Nutzung derselben Daten durch die Gruppenmitglieder; hier verschwimmt leider auch die Grenze zum Nachrichtenaustausch, denn die oben angesprochene indirekte Kommunikation funktionert genau so. In der Praxis spricht man hierbei oft von ”Shared Information”. Hier geht es neben dem Transfer von Wissen und Tatsachen auch um das Festhalten von Ergebnissen der Gruppenarbeit. Vorstellbar wäre etwa eine gemeinsame Datenbank, oder ein Hypertextsystem, das die Informationen untereinander sinnvoll verknüpft. Bei der gemeinsamen Verarbeitung von Information trifft man in der Praxis sofort auf gemeinsame Dokumentenverarbeitung. Diese reicht von der Möglichkeit des gemeinsamen Zugriffs bis zur gemeinsamen Bearbeitung, etwa in einem Gruppeneditor. Gruppen-Planung: Die dritte wichtige Säule der funktionalen Einteilung ist die GruppenPlanung. Dabei geht es zum einen um die Planung hochstrukturierter Abläufe, etwa das Workflow-Management, zum anderen aber auch um semi-strukturierte Aufgaben, etwa die Terminplanung oder um unstrukturierte Planungen, etwa in ToDoListen. 2.3.1 Nachrichtenaustausch Der Nachrichtenaustausch leitet sich aus der Systemklasse Kommunikation ab, die im 3K-Modell in Abschnitt 2.1.3 vorgestellt wurde. Genauer gesagt repräsentiert der Nachrichtenaustausch meist eine Form der expliziten Kommunikation, die Raum- und ZeitDifferenzen überbrückt. Einzige Ausnahme: Bulletin-Board-Systeme, die zwar auf implizite Kommunikations aufbauen, aber vornehmlich für den Nachrichtenaustausch eingesetzt werden. Dabei werden Nachrichten zwischen Sender(n) und Empfänger(n) ausgetauscht. Eine Nachricht besteht in der Regel aus Nachrichtenkopf und Nachrichtenin- KAPITEL 2. ALLGEMEINE STRUKTURIERUNG 22 halt: Der Nachrichtenkopf wiederum enthält eine Spezifikation des Senders, NachrichtenIdentifikator, Nachrichtentyp und die Spezifikation des Empfängers. Der Nachrichteninhalt besteht aus einer Menge von Datenobjekten, die meist unstrukturiert oder semistrukturiert sind. Für den Nachrichtenaustausch sind zwei Basisfunktionen unabdingbar: Die Sende-Funktion send und die Empfangen-Funktion receive. Dabei werden bei send die Parameter Empfänger und Nachricht benötigt und bei receive die Parameter Sender und Pufferspeicher, in den die Nachricht übertragen wird. Für die verfeinerte Betrachtung des Nachrichtenaustausches bieten sich klassische Kategorisierungen der Kommunikation an, wie sie im Folgenden kurz aufgezeigt werden: Nach Synchronisation: Der Austausch von Textnachrichten erfolgt heute meist per EMail. Dabei handelt es sich um eine asynchrone Möglichkeit, Nachrichten auszutauschen. Die Nachricht wird vom Sender losgeschickt, dabei ist es egal was der Empfänger gerade macht, ob er auch arbeitet oder schon Feierabend hat. Der Sender muss sich also auch keine Gedanken darüber machen, ob er den Empfänger im Moment des Sendens erreicht. Die Nachricht kommt beim Sender an und wird dann dort geeignet gespeichert, sodass der Empfänger die Nachricht vorfindet, wenn er wieder arbeitet. Über den asynchronen Austausch hinaus wird oft vergessen, dass rechnergestützte Kommunikation auch synchron funktionieren kann. Dabei müssen Sender und Empfänger der Nachricht gleichzeitig willens sein, einen Nachrichtenaustausch zu führen. Am Rechner werden heute gerne so genannte Messenger verwendet, die synchrone Unterhaltungen über eine Textkonsole erlauben. Nach Verbindungsart: Kommunikation lässt sich auch nach Verbindungsart einteilen, dabei kommt es darauf an, ob ein Kollektiv, also mehrere kommunizieren, oder ob die Kommunikation individuell geführt wird. Es lassen sich auf diese Weise 1 : 1-, 1 : n-, n : 1- und n : m-Kommunikation unterscheiden. Die Zahlen stehen dabei für die Anzahl der beteiligten Sender und Empfänger. Nach Serialisierungsmethode: Die Einteilung der Kommunikation nach Serialisierungsmethode der Nachrichten macht sich zunutze, dass eingehende Nachrichten auf Empfängerseite entsprechend einer gewissen Reihenfolge empfangen und verarbeitet werden müssen. Falls mehrere Empfänger zu einer Gruppe gehören, können sie aufgrund der unterschiedlichen Übertragungszeiten die Nachrichten in unterschiedlicher Reihenfolge erhalten. Dabei unterscheidet man, ob es einen oder mehrere Sender gibt. Bei nur einem Sender besteht die Möglichkeit, einfach nach Eintreffen der Nachrichten beim Empfänger zu sortieren. Eine andere Vorgehensweise wäre, Sequenznummern zu vergeben. Natürlich steht es dem Empfänger frei, eine Serialisierung nach seinen eigenen Ansprüchen zu machen. Bei mehreren Sendern ist die Serialisierung normalerweise mit mehr Aufwand verbunden. Eine Synchronisierung nach loser globaler Zeit wäre eine Möglichkeit. Eine andere wäre, die KAPITEL 2. ALLGEMEINE STRUKTURIERUNG 23 Reihenfolge von Nachrichten nach kausalen Abhängigkeiten zu bestimmen. Diese Vorgehensweise nennt man virtuell. Am aufwändigsten wäre es, eine Serialisierung mit Token und eine ausgezeichnete Teilkomponente zu verwenden, die im Nachhinein Sequenznummern mitteilt. Dabei muss der Sender vor dem Verschicken einer Nachricht ein Token beantragen und erhalten Nach Struktur: Bei der Einteilung nach Struktur geht es um die Beziehung der Teilkomponenten. Diese Einteilung ist sehr eng mit der CSCW-Forschung verwandt, denn hier nutzt man aus, dass es zwischen den Teilnehmern der Kommunikation eine Struktur gibt, die entweder gleichrangige Mitglieder umfasst, in Gruppen organisiert ist oder eine hierarchische Ordnung besitzt. Nach Richtung des Informationsflusses: Bei der Unterscheidung nach Richtung des Informationsflusses kommt es darauf an, ob Antworten erlaubt sind oder nicht. Etwa bedienen sich Radio und Fernsehen eines so genannten Broadcast, also einem unidirektionalen Senden an eine unbegrenzte Anzahl von Empfängern. Die Empfänger der Nachrichten haben keine Möglichkeit ihrerseits die Radio- oder Fernsehstation zu benachrichtigen. Beim bidirektionalen Informationsfluss kommt es zur echten Interaktion zwischen den Gruppenteilnehmern. Nach der Gruppengeschlossenheit: Die enge Verwandtschaft zu CSCW gilt auch für die Einteilung nach Gruppengeschlossenheit. Man geht davon aus, dass die Teilnehmer an einer Kommunikation entweder zu einer geschlossenen Gruppe gehören, oder die Gruppe offen ist. Nach der Zuverlässigkeit: Eine weitere Unterscheidung teilt Kommunikation in eine zuverlässige Komponente und eine unzuverlässige. Zuverlässige Kommunikation bedeutet, dass der Sender eine Garantie für die Ankunft seiner Nachricht erhält, entsprechend ist das bei unzuverlässiger Kommunikation nicht der Fall. In dieser Arbeit wird die Einteilung von Nachrichtenaustausch nach Synchronisation verwendet, also nach asynchronem und synchronem Austausch unterschieden. Eine weitere Ebene darunter wird nach Verbindungsart eingeteilt. Das bedeutet Eins-zu-Eins, Eins-zuViele, Viele-zu-Eins und Viele-zu-Viele. Der Grund: Diese Art der Einteilung ist praxisrelevant und leicht verständlich. 2.3.1.1 Synchroner Nachrichtenaustausch Beim synchronen Nachrichtenaustausch verwenden Sender und Empfänger gleichermaßen blockierende Sende- und Empfangsoperationen. Dabei kann die Nachricht direkt vom Senderadressraum in den Empfängeradressraum kopiert werden, die Nutzung eines Puffer-Speichers ist nicht nötig. Da Nachrichten auch verlorengehen können ist es KAPITEL 2. ALLGEMEINE STRUKTURIERUNG 24 Abbildung 2.4: Untergliederung des Nachrichtenaustausches auch möglich, dass der Empfänger eine Bestätigungsnachricht zurücksendet. Falls dann der Sender in einem bestimmten Zeitintervall keine Bestätigung erhalten hat, sendet er die ursprüngliche Nachricht noch einmal. Dabei gibt es eine Reihe von Problemen, die vermieden bzw. gelöst werden müssen; etwa könnte eine Bestätigung verlorengehen. Folgende Verbindungsarten werden unterschieden: 1:1-Kommunikation: Die 1 : 1-Kommunikation gehört zu den individuellen Verbindungsarten und wird als Unicast bezeichnet. Diese Art der Kommunikation besteht aus genau einem Sender und genau einem Empfänger. Ein Beispiel für einen Nachrichtenaustausch, der synchron und mit einer 1 : 1-Verbindung erfolgt wäre ein Chat zwischen zwei Personen, der mit Hilfe eines Messenger-Clients stattfindet. Abbildung 2.5: Unicast-Verbindung (1 : 1) n:1-Kommunikation: Auch die n : 1-Kommunikation gehört zu den individuellen Verbindungsarten und wird auch als Concast bezeichnet. Dabei kann man sich vorstellen, dass n Verbindungen bestehen, die die Verbindunsart 1 : 1 nutzen, wobei der Empfänger aller Nachrichten eine Instanz ist. Auf diese Weise ist also die 1 : 1-Verbindung ein Spezialfall der n : 1-Verbindung. Eine synchrone n : 1Kommunikation könnte etwa bei einer Video-Konferenz auftreten. Wichtig ist auch, dass bei dieser Verbindungsart eine unidirektionale Kommunikation stattfindet. KAPITEL 2. ALLGEMEINE STRUKTURIERUNG 25 Abbildung 2.6: Concast-Verbindung (n : 1) 1:n-Kommunikation: Die 1 : n-Kommunikation gehört zur Klasse der kollektiven Verbindungsarten, sie ist auch unter dem Namen Multicast bekannt. Dabei schickt ein Sender an n Empfänger eine Nachricht. Das ist etwa bei einer Audio-Konferenz der Fall. Wenn man die 1 − n-Verbindung betrachtet, kann man die n Empfänger zu einer Gruppe zusammenzufassen. Dann wird die Nachricht also an eine Gruppe mit n Mitgliedern geschickt und nicht an n verschiedene Empfänger. Die Fähigkeit einer Anwendung, eine einzige Nachricht abzuschicken, sodass sie an mehrere Empfänger an eventuell verschiedenen Orten geliefert wird heißt Multicast. Eine 1 : n-Verbindung kann also als eine Multicast-Verbindung angesehen werden. Ob der Sender selbst zur Gruppe gehört oder nicht, ist nicht unerheblich: der Sender muss dann zur Gruppe gehören, wenn die Gruppenmitglieder nur Nachrichten von Mitgliedern derselben Gruppe annehmen können, also wenn es sich um geschlossene Gruppen handelt. Den Gegensatz dazu bilden die offenen Gruppen, die auch Nachrichten anderer Teilnehmer, die nicht zwangsläufig Mitglieder dieser Gruppe sind, annehmen. Weiterhin spielt die Gruppenzugehörigkeit des Senders eine Rolle, wenn die gesendete Nachricht auch an den Sender selbst, als Mitglied der Gruppe, ausgeliefert werden soll. n:m-Kommunikation: Auch die n : m-Verbindungen gehören zur Klasse der kollektiven Verbindungsarten, man bezeichnet dies auch als Multipeer-Kommunikation. Dabei schicken n Sender an m Empfänger Nachrichten. Betrachtet man die 1 : nKommunikation, so fällt auf, dass die Übertragung unidirektional von einem Sender zu n Empfängern stattfindet. Bei einer n : 1-Kommunkation senden n Sender unidirektional an einen Empfänger. Verschmilzt man diese beiden Fälle, lässt man also bidirektionale Kommunikation zu, so kommt man zur n : m-Kommunikation. Ein Beispiel für eine n : m-Kommunikation ist etwa eine Video-Konferenz. KAPITEL 2. ALLGEMEINE STRUKTURIERUNG 26 Abbildung 2.7: Multicast-Verbindung (1 : n) Abbildung 2.8: Multipeer-Verbindung (n : m) 2.3.1.2 Asynchroner Nachrichtenaustausch Synchrones Senden und Empfangen reicht nicht für alle Kommunikationsaufgaben aus, ein bekanntes Beispiel ist das Erzeuger-Verbraucher-Problem. Beim asynchronen Austausch von Nachrichten benutzt mindestens einer der Prozesse eine nicht-blockierende Sende- oder Empfangsoperation. Dabei ist ein Pufferspeicher zwischengeschaltet, der blockiert, so lange er voll ist. Für die Verbindungsarten gilt dasselbe wie beim synchronen Nachrichtenaustausch, auch hier gibt es Unicast-, Concast-, Multicast- und MultipeerKommunikation. Tabelle 2.2 fasst beispielhaft konkrete Groupware-Anwendungen zusammen, die in der Klasse Nachrichtenaustausch existieren. 27 KAPITEL 2. ALLGEMEINE STRUKTURIERUNG Verbindungsart synchron asynchron 1:1/Unicast n:1/Concast 1:n/Multicast n:m/Multipeer Messaging E-Mail Gruppen-Chat Online-Umfrage Audio-Konferenz Newsletter Video-Konferenz Web-Forum Tabelle 2.2: Beispiele eingesetzter Nachrichtensysteme 2.3.2 Informations- und Dokumentenverarbeitung Die Klasse Informations- und Dokumentenverarbeitung ist auch aus den Systemklassen des 3K-Modell abgeleitet und bildet die zweite wichtige Säule neben dem Nachrichtenaustausch. Sie repräsentiert zu einem großen Teil die Klasse der gemeinsamen Informationsräume, die oft auch als ”Shared Information Space” oder schlicht ”Information Sharing” bezeichnet werden. Diese Klasse stellt gemeinsame Informationsräume für eine Gruppe zur Verfügung, in denen Informationen längere Zeit in geeigneter Form mit Hilfe geeigneter Zugriffsmechanismen gespeichert werden. Der Informationsaustausch ist stets implizit, das ist auch der größte Unterschied zur Klasse Nachrichtenaustausch. In diese Kategorie fallen nach dem 3K-Modell verteilte Hyptertext-Systeme, also Bulletin-BoardSysteme2 , Web-Logs, Wikis und spezielle Datenbanken, deren Informationen gleichzeitig von verschiedenen Benutzern abgefragt werden können. Aber auch aus der Systemklasse Workgroup-Computing passen einige Eigenschaften in die neue Klasse Informations- und Dokumentenverarbeitung, etwa die Gruppeneditoren, die das gemeinsame Bearbeiten von Dokumenten erlauben. Der Dokumentenbegriff ist heute gefestigt, nach Brockhaus gilt: ”Als Dokumente können alle Unterlagen betrachtet werden, die Informationen beinhalten, also nicht nur publizieres Wissen, sondern auch Briefe, Akten, Urkunden, Bildsammlungen, Filme u.v.a.”. Dokumente sind also Informationsträger, sie können editiert, formatiert, publiziert, gespeichert, verwaltet und zusammengefasst werden. Nach der Funktion des Nachrichtenaustausches ist die gemeinsame Nutzung von Daten die am häufigsten gebrauchte Funktion von CSCW-Systemen. Groupware muss also Informationen speichern, verwalten und verteilen können. Die Systeme für die rechnergestützte Gruppenarbeit sind also wichtig für den Wissenstransfer, aber auch um Ergebnisse und die Schritte dorthin festzuhalten. Dabei kann es bis zum Aufbau einer Informationsdatenbank für die Gruppe kommen. Gemeinsame Nutzung von Daten könnte wieder nach Synchronisationsfunktion unterteilt werden, entweder erfolgen die Zugiffe synchron oder asynchron. CSCW-Systeme, die diesen Bereich abdecken, müssen also regeln, wer auf die gespei2 In dieser Arbeit werden die BB-Systeme zur Kategorie Nachrichtenaustausch gezählt KAPITEL 2. ALLGEMEINE STRUKTURIERUNG 28 cherten Informationen zugreifen darf. Dabei geht es darum, ob das die ganze Gruppe oder nur ein augesuchter Teil der Gruppe darf. Darüberhinaus stellen sich Fragen nach Rechteabstufungen; so könnte einem Teil der Gruppe auch nur ein Teil der Information zugänglich sein und ein anderer Teil Vollzugriff erhalten. Wenn geregelt ist, wer auf was zugreifen darf, stellt sich als nächstes die Frage, wie der Zugriff geregelt wird. Das heißt, wie wird beim gleichzeitigen Zugriff mehrerer Teilnehmer auf eine gemeinsame Ressource verfahren. Es sollte klar sein, dass dieser Abschnitt, technisch gesehen, sehr viel mit Datenbankverwaltungssystemen zu tun hat. Viele Groupware-Systeme, auch im Open-Source-Bereich, arbeiten mit klassischen Datenbanken wie MySQL oder PostgreSQL zusammen und greifen auf deren Funktionalität zurück. Man könnte diesen Abschnitt auch nach der Darstellbarkeit der gespeicherten Information unterteilen. Es ließe sich unterscheiden, ob die Information linear oder nicht-linear dargestellt ist. Ein normaler Text ist in der Regel linear, das bedeutet es macht eigentlich nur Sinn, ihn von Anfang bis Ende zu lesen, nicht den Schluss zuerst, danach die Einleitung und am Ende den Hauptteil. Bei nicht-linearer Darstellung wäre das Leseverhalten vorher nicht festzustellen, der Leser entscheidet in welcher Reihenfolge die Information aufgenommen wird. Ein Beispiel hierfür wäre ein Hypertext, der mit Links zu anderen Texten ausgestattet ist. Eine besonders interessante Ausprägung solcher Hypertext-Systeme sind WikiWebs und auch das WWW selbst ist auf diese Weise verknüpft. In dieser Arbeit werden die zu verarbeitenden Informationen und Dokumente nach dem Grad ihrer Strukturiertheit unterschieden; das hat vor allem den Vorteil, dass schnell klar wird, ob die Daten effizient weiterverarbeitet werden können oder nicht. Es gibt strukturierte Daten, semi-strukturierte Daten und unstrukturierte Daten. Strukturierte Daten: Daten gelten als strukturiert, wenn sie in ein vorher wohldefiniertes Schema eingeordnet werden können. Ein Beispiel hierfür sind Datenbanken in einem Datenbankschema. Strukturierte Dokumente zeichnen sich dadurch aus, dass man explizit nach Inhalt und logischer Struktur unterscheiden kann. Der Vorteil daran ist ein hohes Maß an Flexibilität, denn die Struktur erlaubt eine automatische Verarbeitung nach den logischen Kriterien. Dieser Vorteil ist natürlich umso größer, je größer der Dokumentenbestand ist. Ein Nachteil ist, dass die Änderung des Schemas normalerweise mit enormem Aufwand verbunden ist. Bei einem GroupwareSystem ist etwa eine Adressdatenbank denkbar, die mit Kontakten gefüllt werden kann. Das Schema ist fest vorgegeben, über die Datenbank kann dann mittels einer Suchfunktion jeder Eintrag mit bestimmten Merkmalen ausgewählt werden. Semi-strukturierte Daten: Spätestens seit dem Aufkommen von XML spricht man auch von semi-strukturierten Daten immer häufiger, denn die eXtensible Markup Language gilt als Garant für effektive Verarbeitung von Daten dieses Strukturierungsgrades. Was verbirgt sich dahinter? Semi-strukturierte Daten weisen eine gewisse KAPITEL 2. ALLGEMEINE STRUKTURIERUNG 29 Struktur auf, können aber nicht in ein Datenbankschema eingeordnet werden. Das hat den Vorteil, dass sich Informationen einerseits strukturieren lassen, andereseits aber kein starres Schema eingehalten werden muss. Unstrukturierte Daten: Unstrukturierte Daten folgen keinem Schema, außer natürlich, dass auch sie durch eine Bitfolge repräsentiert werden. Ein Beispiel für ein unstrukturiertes Dokument wäre eine Textdatei. Sie kann nicht nach logischen Merkmalen durchsucht werden, lediglich eine Volltextsuche wäre möglich. 2.3.3 Gruppenplanung Die Kategorie Gruppenplanung setzt sich wieder aus einer Umverteilung der Systemklassen des 3K-Modells zusammen: Aus den Klassen Workgroup-Computing und WorkflowManagement. Aus ersterer sind die Entscheidungsunterstützungssysteme und Planungssysteme relevant, letztere liefert die typischen Werkzeuge des Workflow-Managements. Betrachtet man das 3K-Modell, so bewegt sich die neue Klasse Gruppenplanung am unteren Rand des Dreiecks zwischen Koordinationsunterstützung und Kooperationsunterstützung. Nach [4] ist ein Workflow wie folgt definiert: ”Ein Workflow ist eine endliche Folge von Aktivitäten, wobei die Folge durch Ereignisse ausgelöst und beendet wird”. Workflow Management ”umfasst alle Aufgaben, die bei der Modellierung, der Simulation sowie bei der Ausführung und Steuerung von Workflows erfüllt werden müssen”. Das zugehörige ”Workflow-Management-System ist ein aus mehreren Werkzeugen bestehendes System, welches die Aufgaben des Workflow-Managements durch die Ausführung von Software unterstützt”. An ein Workflow-Management-System werden folgende Anforderungen gestellt: Modellierung, Simulation, Ausführung und Steuerung von Workflows. In den klassischen Groupware-Werkzeugen sind meist nur rudimentäre Funktionen zum Workflow-Management integriert, der Strukturierungsgrad der gestellten Aufgaben ist hoch. Workgroup-Computing unterstützt die Kooperation von Personen, die in Gruppen arbeiten. Meist sind deren Aufgaben semi-strukturiert oder unstrukturiert. Systeme, die in diesem Bereich eingesetzt werden, müssen also sehr flexibel sein. Dabei geht es etwa um essentielle Groupware-Funktionen wie Termin-Planung. Bei der weiteren Unterteilung der Klasse Gruppenplanung könnte man die Einteilungskriterien für Gruppen zu Rate ziehen. Zwar sind nicht alle Gruppeneinteilungen anwendbar, etwa ließe sich bei der Gruppenplanung eine Unterscheidung nach der Offenheit der Gruppe nicht sinnvoll einsetzen, denn Gruppenplanung bedeutet einfach Planung für eine bestehende Gruppe. Möglich wäre es, die Gruppendynamik zu untersuchen. Dabei geht es darum, ob es sich um dynamische Gruppen handelt oder die Gruppe statisch ist. 30 KAPITEL 2. ALLGEMEINE STRUKTURIERUNG Hier bietet sich die gleiche Art der Unterteilung an wie bei der Informations- und Dokumentenverarbeitung. Der Grad der Strukturiertheit ist feiner granuliert in strukturiert, semi-strukturiert und unstrukturiert3 . Aufgabe Komplexität Planbarkeit Info-Bedarf Beispiel strukturiert semi-strukturiert unstrukturiert niedrig mittel hoch hoch mittel niedrig bestimmt Workflow-Plan Problem-abhängig Termin-Plan unbestimmt ToDo-Liste Tabelle 2.3: Typen von Aufgaben In Tabelle 2.3 sind die anfallenden Aufgaben nach ihrem Strukturierungsgrad aufgeteilt. Die Unterschiede bei ihrer Komplexität, Planbarkeit und ihrem Informationsbedarf stellen hohe Anforderungen an die eingsetzten CSCW-Systeme. Die meisten GroupwareSysteme decken nur den Bereich der unstrukturierten und semi-strukturierten Aufgaben ab. Abbildung 2.9: Funktionale Einteilung von CSCW-Systemen 2.4 Grenzen der funktionalen Strukturierung Die im vorhergehenden Abschnitt beschriebene funktionale Einteilung hat praktische Vorteile: Die Dreiteilung in Nachrichtenaustausch, Informations- und Dokumentenverarbeitung und Gruppenplanung ist übersichtlich und ohne großes Wissen über CSCW verständlich. Die drei Säulen werden durch Unterteilungen weiter konkretisiert, ohne dabei schon auf bestehende Produktkategorien zu verweisen. So behält die Einteilung eine gewisse Portion Abstraktheit. 3 vgl. http://z2.hyperwerk.ch/pulsememory/rech/rech/pdf/CSCW.pdf KAPITEL 2. ALLGEMEINE STRUKTURIERUNG 31 Die Zuordnung der Open-Source-Groupware in Kapitel 5 führt dazu, dass man bei der Suche nach dem passenden Programm einfach in der Einteilung die gewünschten Funktionalitäten sucht, und anhand dessen das konkrete Produkt findet. Somit sollte der erste Teil dieser Diplomarbeit, die Hilfestellung bei der Auswahl freier Groupware-Lösungen erfüllt sein. Die entworfene Einteilung hat aber auch Nachteile: So ist die Beschränkung auf die Funktionalität eine eindimensionale Sichtweise, die das Themengebiet vielleicht sogar zu stark vereinfacht. Aus diesem Grund werden in Abschnitt 3 Rahmenbedingungen für die Auswahl von CSCW-Systemen angegeben. Besser wäre es natürlich gewesen, wenn alle Kriterien in einem Modell vereinigt wären. Auch die in den klassischen Einteilungen oft kritisierten Redundanzen finden sich in diesem funktionalen Entwurf. Es wird erwartet, dass die einzelnen Groupware-Lösungen in allen Bereichen Funktionalitäten aufweisen können. Viele Systeme bieten in allen drei Säulen Funktionalitäten an. Solche Programme können nicht eindeutig eingeordnet werden, sondern ihre Funktioanlitäten werden den einzelnen Säulen zugeordnet. Kapitel 3 Rahmenbedingungen des Groupware-Einsatzes Im vorhergehenden Kapitel wurde die Strukturierung von CSCW-Systemen diskutiert. Dabei ist in Abschnitt 2.3 eine eigene Klassifikation entwickelt worden. Das einzige Einteilungskriterium ist bei dieser Methode die Funktionalität, weil diese am bedeutendsten für den praktischen Einsatz ist. Vom Gesichtspunkt eines Informatikers aus sollte aber die Funktionalität allein nicht ausschlaggebend für die Auswahl der richtigen Groupware sein. Ein einfaches Beispiel soll diese These untermauern: Angenommen eine kleine Firma entscheidet sich anhand der Funktionalität für eine Groupware X. Die Lösung X erfüllt nicht nur die aktuellen Anforderungen des Unternehmens, sondern bietet darüberhinaus auch noch weitere Funktionen, die in Zukunft interessant werden können. Die getroffene Auswahl der Firma war, nach funktionalen Gesichtspunkten, absolut richtig. Was die Firma aber erst nach Installation und Umstellung auf die Groupware X bemerkt ist, dass das CSCW-System für die Mitarbeiter absolut nicht zu bedienen ist. Der Punkt Bedienbarkeit wurde bei der Auswahl völlig ignoriert und der Funktionalität untergeordnet. Letztendlich will die Firma aber nicht ein Produkt, das nur theoretisch alle Funktionen bietet, sondern das auch für die Mitarbeiter zu benutzen ist. Dieses Kapitel setzt sich mit den so genannten Rahmenbedingungen des GroupwareEinsatzes auseinander. Diese zusätzlichen Anforderungen sollten neben dem Hauptkriterium Funktionalität“ bei der Auswahl der richtigen Groupware-Produkte berücksichtigt ” werden, in Abbildung 2.3 sind diese zusätzlichen Bedingungen als Fundament des Groupware-Gebäudes illustriert. Dabei werden wieder praxisrelevante Kriterien diskutiert: Die ausgewählten Rahmenbedingungen sind Aufwand, Bedienbarkeit, Erweiterbarkeit, Flexibilität, Integrierbarkeit, Kosten, Sicherheit und Skalierbarkeit. Sie werden in den folgenden Abschnitten besprochen. Aus den Rahmenbedingungen leiten sich aber nicht nur die zusätzlichen Anforderungen bei der Auswahl ab. Auch für die Bestandsaufnahme der Open-Source-CSCW-Systeme im anschließenden Kapitel werden aus den Rahmenbe32 KAPITEL 3. RAHMENBEDINGUNGEN DES GROUPWARE-EINSATZES 33 dingungen einige Charakteristika abgeleitet, die sie unbedingt erfüllen müssen. Das soll helfen, die gefundenen Open-Source-Lösungen auf ein sinnvolles Maß zu beschränken und eine Art Vorauswahl zu treffen. Abbildung 3.1: Rahmenbedingungen des Groupware-Einsatzes 3.1 Aufwand Als Synonym für den Begriff Aufwand“ wird oft Aufwendung“ verwendet. Was ist ” ” darunter genau zu verstehen? Aus der Ökonomie bzw. ihrem Teilgebiet Rechnungswesen stammt folgende Definition: Unter Aufwendungen versteht man die Ausgaben einer ” Unternehmung für die während einer Abrechnungsperiode verbrauchten Güter, Dienstleistungen und öffentlichen Abgaben, die in der Erfolgsrechnung den Erträgen gegenübergestellt werden“. In der Informatik begegnet man dem Begriff Aufwand oft, wenn es um Komplexität geht. Dabei wird Aufwand im Sinne von nötigen Ressourcen verstanden, etwa für Rechenzeit oder Speicherplatzbedarf eines Algorithmus. In dieser Arbeit wird der Begriff Aufwand im Sinne von Ressourcen verwendet, die für Einführung, Wartung und Betrieb von Groupware verbraucht werden. Das Ziel ist natürlich, die Aufwendungen möglichst gering zu halten, also Ressourcen zu schonen. In der Praxis soll natürlich der Aufwand, den ein Groupware-Produkt verursacht, vorher abgeschätzt werden. Um zu verstehen, was man dabei alles berücksichtigen muss, kann man annehmen, es wurde bereits ein CSCW-System ausgewählt und bespricht den Ressourcenverbrauch anhand dieser Situation. Wer die passende Groupware-Applikation ausgewählt hat, der kann sofort mit der Einführungsphase beginnen. Dabei umfasst die Einführung unbedingt auch einen Testbetrieb. Das ist normalerweise eine Testinstallation auf Rechnern, die an keinen Arbeitsprozessen teilnehmen, eine Ad-hoc-Umstellung sollte KAPITEL 3. RAHMENBEDINGUNGEN DES GROUPWARE-EINSATZES 34 unter gar keinen Umständen vorgenommen werden. Da hinter den meisten Open-SourceLösungen keine Firmen stehen, ist es in diesem Bereich schwierig, Referenzinstallationen zu begutachten. Solche Installationen können von Neukunden in Augenschein genommen und getestet werden, sie werden oft vom Hersteller selbst gewartet. 3.1.1 Einführungs-Aufwand Für den Zweck dieser Arbeit ist eine eigene Testinstallation wohl die geeignetste Lösung. Voraussetzung ist meist nur ein Computer, der in einem Netzwerk betrieben wird und den Part eines Groupware-Servers übernehmen kann. Er sollte sonst keine Aufgaben haben. Spezielle Hardware-Anforderungen stellen die meisten CSCW-Systeme nicht, jedoch sollte je nach Einsatzgebiet in einzelne Komponenten investiert werden, etwa sind für umfangreichen Filesharing-Betrieb auch große und vor allem schnelle Festplatten nötig. Noch vor der ersten Testinstallation muss die Frage beantwortet werden, ob ein eigener Server verwendet werden soll, oder ob nicht ein Miet-Server die bessere Wahl ist. Eine eindeutige Antwort darauf hängt natürlich von einer Vielzahl von Faktoren ab und muss immer von Fall zu Fall beantwortet werden. Ein eigener Server hat den Vorteil, dass man ihn bis in die letzte Instanz unter Kontrolle hat. Selbst Speicheraufrüstung und Mainboard-Tausch kann man selbst erledigen; auch mit der Konsequenz, dass man die Auswahl aller Hardware-Komponenten selbst treffen muss. Man ist also selbst für den Betrieb der Hardware verantwortlich, was bei Stromversorgung und Verkabelung anfängt und bei einem sicheren und nicht jedem zugänglichen Standort endet. Jede dieser Betriebstätigkeiten bedeutet Aufwand an Arbeitszeit für einen oder mehrere Administratoren. Bei einem Miet-Server gibt man immer einen Teil der Verantwortung an den Vermieter ab. Der Server ist dann in der Regel auch nicht vor Ort und alle Hardware-Arbeiten werden vom Vermieter erledigt. Dabei bieten Vermieter normalerweise Standard-RechnerKonfigurationen an, aus denen ausgewählt werden kann, Sonderwünsche werden meist gegen Aufpreis auch erfüllt. Damit liegt also schon die Verantwortung für die Hardware nicht mehr in der eigenen Firma, das ist vor allem für kleine Betriebe interessant, die sich keine eigenen IT-Spezialisten leisten können. Neben den Aufwendungen für die Hardware gibt es natürlich auch Aufwendungen für die Software, zuerst einmal die Installation des Betriebssystems und der Anwendungsprogramme. Bei einem eigenen Server muss man natürlich das Betriebssystem selbst installieren, das wird im Fall eines Servers und mit dem Hintergedanken einer Open-SourceLösung in den meisten Fällen Linux sein. Linux-Distributionen haben sich vor allem in den letzten drei Jahren den Ruf erworben, äußerst leicht installierbar zu sein, wenn es um Standard-Hardware geht. Probleme treten meist dann auf, wenn Spezial-Hardware KAPITEL 3. RAHMENBEDINGUNGEN DES GROUPWARE-EINSATZES 35 unterstützt werden soll. Oftmals liefern die Hersteller nur Treiber für Windows-Systeme und eine Linux-Lösung existiert noch nicht oder nur zum Teil. Das kann eine Menge Zeit für Konfigurationen kosten. Man sollte sich also vorher erkundigen, ob die LinuxDistribution die eingesetzte Hardware unterstützt, bzw. ob es Linux-Treiber für alle wichtigen Hardware-Komponenten gibt und ob diese in einem stabilen Zustand sind. Miet-Server werden mit vorinstalliertem Betriebssystem angeboten. Man kann also davon ausgehen, dass die gesamte Hardware unterstützt wird und das Betriebssystem richtig konfiguriert ist. Auch die nötigen Administrator-Rechte kriegt man. Aber auch hier gilt, dass ein Miet-Server in der Regel Einschränkungen mit sich bringt, etwa erlauben es einige Provider nicht, den Kernel neu zu kompilieren, oder es fehlt ein Support für PHPSkripte. Damit man nicht den falschen Server mietet sollte auch hier zuvor eine Anforderungsliste erstellt werden, also die Frage beantwortet werden, welche Voraussetzungen für den Einsatz der Groupware erfüllt sein müssen. Die konkreten Angebote ändern sich fast täglich. Es lohnt sich aber nach Angeboten für so genannte LAMP-Systeme zu schauen, das sind Systeme die auf den Komponenten Linux-Betriebssystem, Apache-Web-Server, MySQL-Datenbank und PHP-Skript-Unterstützung bauen. Solche dedizierten Server mit allen Root-Rechten sind bereits ab etwa 40 Euro pro Monat erhältlich. Meist muss zuvor noch eine Einrichtungsgebühr bezahlt werden. Wie hoch ist der Aufwand bei einem System-Crash? Im Falle eines eigenen Servers muss ein Techniker vor Ort sein, der den Schaden repariert. Bei einem Miet-Server kauft man natürlich die Reaktionsschnelligkeit als Quality-of-Service-Merkmal mit ein. Das heißt ein Provider wird eine gewisse Ausfallsicherheit garantieren, je höher die Garantie, desto höher ist auch der Mietpreis. Genauso gibt es Garantieerklärungen für Backups, denn es ist nicht immer gesagt, dass ein System-Crash die vorhandenen Daten ganz lässt. Je nachdem wie sensibel die Daten sind, die auf dem Server lagern, ist es sinnvoll, eine eigene Sicherheitsstrategie zu entwickeln. 3.1.2 Installations-Aufwand Speziell für Groupware stellt sich jetzt die Frage nach dem Installationsaufwand für die gewählte Anwendung: Dabei gibt es im Prinzip mehrere Ansätze, die zum Ziel führen. Eine Client/Server-Lösung oder eine Peer-to-Peer-Lösung. Bei einer Client/Server-Lösung ist einmal eine Installation auf einem Server nötig, also das Aufsetzen des GroupwareServers und auch die Clients müssen mit dem Server kommunizieren können, auch auf der Client-Seite ist also eine Software-Installation nötig. Der Aufwand für die Server-Installation ist ein entscheidendes Kriterium auch für die in dieser Diplomarbeit besprochenen Programme. Da im Open-Source-Bereich die Software in der Regel sofort auch im Prototypen-Stadium für jeden zugänglich ist, kann der Aufwand für die Installation zwischen den einzelnen Lösungen stark variieren. Es könnte also KAPITEL 3. RAHMENBEDINGUNGEN DES GROUPWARE-EINSATZES Aufwendungen Eigener Server Dedizierter Server Virtueller Server Kosten einmalig ab 1500 Euro ab 40 Euro/Monat ab 10 Euro/Monat selbst Vermieter Vermieter selbst Vermieter Vermieter selbst selbst selbst ja ja ja keine je nach Angebot Kernel-Kompilierung Transfervolumen Hardware-Inst. und Wartung BetriebssystemInstallation GroupwareInstallation AdministratorRechte Einschränkungen 36 Tabelle 3.1: Eigener Server versus Miet-Server sein, dass ein vielversprechendes Projekt einfach noch nicht Out-of-the-box lauffähig ist. Gerade das sollte aber ein Kriterium bei der Entscheidung für oder gegen eine Lösung sein. In dieser Diplomarbeit werden ausschließlich Lösungen betrachtet, die sich ohne eigenen Entwicklungsaufwand sofort installieren und auch betreiben lassen. Auch bei der Client-Installation soll der Aufwand so gering wie möglich gehalten werden. Aus diesem Grund sollen ausschließlich Lösungen betrachtet werden, die als Client nur einen Web-Browser erfordern. Das hat natürlich auch den Vorteil, dass die Benutzung plattformunabhängig möglich ist, da Standard-konforme Web-Browser auf allen wichtigen Betriebssystemen verfügbar sind. Eine Peer-to-Peer-Lösung umfasst im Gegensatz zu Client/Server nur die Client-Installation. Das ist aber in den meisten Fällen ein Spezial-Client, der zusätzlich installiert werden muss. Auch die freie Verfügbarkeit ist in diesem Bereich so gut wie nicht vorhanden, sodass es praktisch keine aktuellen Open-Source-Produkte gibt, die diesen Bereich abdecken. 3.1.3 Wartungs-Aufwand Bei der Wartung kommt es meist darauf an, die Software auf dem aktuellsten Stand zu halten. Neuere Versionen enthalten Bug-Fixes und möglicherweise neue interessante Funktionen. Natürlich werden auch Sicherheitslücken früherer Versionen geschlossen. An dieser Stelle sollte man viel Zeit investieren, vor allem auch für den Betrieb eines sicheren Web-Servers, der mit der Groupware zusammen arbeitet. Hier haben Groß-Projekte einen klaren Vorteil, weil eine größere Nutzergemeinde und eine höhere Anzahl Entwickler KAPITEL 3. RAHMENBEDINGUNGEN DES GROUPWARE-EINSATZES 37 Fehler schneller entdecken und beseitigen können. Für die Pflege des CSCW-Systems sollte mindestens ein Verantwortlicher existieren, der die Administration übernimmt. Im Idealfall sollten aber mehrere Personen über das Produkt Bescheid wissen. Normalerweise ist der Betrieb von CSCW-Systemen ohne großen Aufwand verbunden, jedoch müssen bei den meisten zumindest Benutzer-und GruppenAccounts, Software-Installationen und Daten-Backups von einem Administrator ausgeführt und verwaltet werden. 3.2 Kosten Was unterscheidet Kosten und Aufwand? Unter Kosten versteht man denjenigen Werteverzehr an Gütern und Diensten in einer Abrechnungsperiode, der durch die rein betriebliche Tätigkeit bedingt ist. Beispiele für Kosten sind: Löhne, Gehälter, Mieten, Büromaterial, Reise- und Fahrtkosten. Kosten und Aufwendungen überschneiden sich teilweise, der Begriff Kosten stammt auch aus einem anderen Teil der Ökonomie, nämlich aus der Kostenrechnung. Die eingesetzten Groupware-Lösungen sollen kostenlos erhältlich sein, das ist zwar nach der genauen Definition bei Open-Source nicht der Fall, diese Diplomarbeit beschränkt sich aber auf freie Software, die also auch kostenlos zur Verfügung steht. Das hat den Vorteil, dass der Einsatz auch flexibler bleibt, weil etwa die Kosten bei mehr Gruppenmitgliedern nicht steigen, wie das bei den proprietären Lösungen der Fall ist. Da auch die Diskussion, ob Open-Source wirklich Kosten spart, intensiv in der Öffentlichkeit geführt wird, gibt es zahlreiche Studien, die sich dem Thema angenommen haben. Einerseits gibt es Studien, die sowohl dem Open-Source-Lager zusprechen und dieser Art von Software günstigere Kosten bescheinigen, andererseits gibt es auch Untersuchungen, die das Gegenteil herausgefunden haben wollen. Zwar sollte man immer darauf achten, wer die Studien in Auftrag gegeben hat, grundsätzlich gilt aber, dass eine Bewertung der Total Cost of Ownership (TCO), wie das meist der Fall ist, für Computersysteme nicht allgemein gültig ist, sondern von der speziell betrachteten Situation abhängig ist. Der Hauptgrund dafür ist, dass sich die Kosten für Hard- und Software nicht linear mit der Benutzeranzahl entwickeln, sondern sprunghaft ändern. Ein reiner TCO-Vergleich lässt außen vor, dass es bei einem Computer-System auch auf die Verfügbarkeit ankommt. Der TCO-Ansatz betrachtet ausschließlich die Kosten der EDV und die vorhandene Lösung. Die Verfügbarkeit hat auf der einen Seite einen starken Einfluss auf die Kosten der EDV Lösung selbst, sie hat aber vor allem auf den Erfolg des gesamten Unternehmens großen Einfluss: Steht etwa die Groupware-Lösung zur Kommunikation nicht zur Verfügung, so leidet das Unternehmen an entgangenen Gewinnen. Gerade wenn es darum geht, eine gewisse Verfügbarkeit eines Systems zu garantieren, KAPITEL 3. RAHMENBEDINGUNGEN DES GROUPWARE-EINSATZES 38 können die Kosten stark nach oben oder nach unten gehen. So sind etwa die Gesamtkosten einer CSCW-Lösung mit einer garantierten Verfügbarkeit von 99,9 Prozent, was etwa 13 Minuten Systemausfall pro Monat bedeutet, weitaus höher als bei 95 Prozent, was immerhin fast elf Stunden Systemausfall im gleichen Zeitraum verheißt. Auch Faktoren wie Reaktionszeit bei der Behandlung von Problemen haben bei den Kosten erheblichen Einfluss. Die TCO stellen somit nur einen Aspekt zur Beurteilung einer Computer-Lösung dar. In den meisten Studien werden die TCO von Linux und Windows verglichen. Linux steht dabei als prominenter Open-Source-Vertreter auch für andere freie Projekte, insbesondere auch für die in dieser Arbeit betrachteten freien Groupware-Systeme. Windows verkörpert ein traditionell proprietäres System, das auch auf dem Groupware-Markt Entsprechungen in Lotus Notes, Microsoft Exchange oder Novell Groupwise findet. Eine sehr umfangreiche und auch aktuelle Zusammenstellung zur TCO-Problematik zwischen Open-Source und proprietärer Software gibt es auf den Web-Seiten von David A. Wheeler1 . Er unterscheidet dabei zwischen Kosten für Anschaffung, Upgrade und Wartung, Lizenz-Management und Hardware. Die Anschaffungskosten sind meist gleich Null bei Open-Source-Software, denn die Produkte können in der Regel kostenlos aus dem Internet geladen werden. Man könnte natürlich jetzt anführen, dass dafür auch Kosten für den Rechnerbetrieb und die OnlineVerbindung anfallen. Da diese Kosten aber als äußerst gering einzuschätzen sind, können sie vernachlässigt werden. Geringe Kosten fallen meist für CD-ROMs, gedruckte Dokumentation und Support an. Meist gibt es FAQ-Rubriken oder Online-Dokumentationen, die eine Art kostenfreien Grundsupport darstellen. Die Kosten für Upgrades und Wartung sollten normalerweise auch unterhalb dessen liegen, was für ein proprietäres Produkt fällig wird. Auf kurze Sicht sind zwar normalerweise auch bei nicht-freier Software die Updates kostenlos dabei, betrachtet man aber den Betrieb über mehrere Jahre, so liegen die Preise für Aktualisierungen fast so hoch wie die Neuanschaffungskosten. Auch bei den Lizenzkosten ist die Sachlage eindeutig. Die proprietären Vertreter verdienen durch den Verkauf von Lizenzen ihr Geld, im Unternehmen muss darauf geachtet werden, dass die Lizenzen immer auf dem aktuellen Stand sind und die Nutzungsrechte nicht verletzt werden. Alle Vorgänge rund um dieses Thema werden unter dem Begriff Lizenz-Management zusammengefasst. Bei einem Open-Source-Produkt gibt es keine Lizenzen, die man verwalten müsste - also gibt es auch kein Lizenz-Management. Die Hardware-Kosten spielen auch keine unerhebliche Rolle. Open-Source-Software ist in der Regel genügsamer, was Hardware-Voraussetzungen für den Betrieb betrifft. Oftmals können alte Systeme, die schon ausgedient hatten, wieder verwendet werden. 1 http://www.dwheeler.com/oss fs why.html#tco KAPITEL 3. RAHMENBEDINGUNGEN DES GROUPWARE-EINSATZES 39 Zusammenfassend kann man sagen, dass die Kostenseite klar für Open-Source-Software spricht, auch das ist ein wichtiger Grund, warum in dieser Arbeit ausschließlich solche Systeme behandelt werden. Kosten Open-Source-Software Proprietäre Software Anschaffungs-Kosten Upgrade-Kosten Lizenz-Kosten Hardware-Kosten keine keine keine niedrig bis mittel Grundpreis + Lizenzen bis zu 80 Prozent des Neupreises variabel mittel bis hoch Tabelle 3.2: Kostenvergleich: Open-Source versus proprietäre Software 3.3 Bedienbarkeit Auch Bedienbarkeit ist ein Begriff, der häufig in der Informatik auftritt, speziell auch im Software-Bereich. Ein Programm soll immer möglichst leicht oder intuitiv zu bedienen sein. Aus diesem Grund ist auch die Bedienbarkeit ein wichtiger Punkt des SoftwareEngineering und zwar von der ersten Testphase an. Leider ist gute Bedienbarkeit“, oder ” Benutzerfreundlichkeit, wie es oft auch genannt wird, nicht messbar, sondern ein subjektiver Eindruck. Programme, die für den einen einfach zu bedienen sind, können für den anderen undurchschaubar sein. Unstrittig sollte aber sein, dass vor allem die Benutzung von Computer-Programmen auf Erfahrungswerten beruht. Ein kleines Beispiel soll dies verdeutlichen: Wenn man mit der Anwendung eines RechnerProgramms fertig ist, wird man zum Beenden sicher nach einem Menüpunkt Exit“, ” Quit“, Beenden“ oder Verlassen“ suchen. Genau das Gegenteil hat sich aber durch ” ” ” die Einführung von Microsoft Windows 95 und sämtlichen Nachfolgern in die Gedächtnisse der Windows-Nutzer eingebrannt: Wer Windows beenden will klickt zuerst auf den Start-Knopf“ der so genannten Task-Leiste, erst dann gibt es einen Button für das Be” enden der Sitzung. Zugegebenermaßen ist dieses Beispiel etwas überspitzt formuliert, jedoch zeigt es, dass bei der Anwendung von Software Erfahrungswerte gesammelt werden, auch wenn die Bedienbarkeit kontraintuitiv ist. Ein falscher Ansatz wäre es aber jetzt zu folgern, dass die Nutzer sich schon an die Groupware-Bedienung gewöhnen werden. Im Gegenteil, es sollte versucht werden die Benutzer in einer vertrauten Umgebung arbeiten zu lassen. Das kann auf zwei Arten funktionieren: Entweder die Benutzer verwenden zur Bedienung ein Client-Programm, dass sie bereits kennen, oder der neue Client wird an den Erfahrungsschatz der Nutzer angepasst. Es bietet sich an, für die intuitive Bedienung einer Groupware einen Web-Browser als Cli- KAPITEL 3. RAHMENBEDINGUNGEN DES GROUPWARE-EINSATZES 40 ent zu verwenden. Dabei wird vorausgesetzt, dass die Benutzer der Groupware Erfahrung mit Browsern haben, also die Navigation beherrschen. Im Idealfall sollte die passende Groupware in jedem Browser funktionieren, der sich an W3C-Standards hält. Alle in dieser Arbeit getesteten Programme können über einen Web-Browser bedient werden. 3.4 Erweiterbarkeit Wenn man in Zusammenhang mit CSCW-Systemen von Erweiterbarkeit spricht, meint man meist die Erweiterbarkeit um zusätzliche funktionale Gesichtspunkte, die Erweiterbarkeit in Hinblick auf größere Gruppen wird in Aschnitt 3.8 unter dem Begriff Skalierbarkeit besprochen. Dabei gibt es einige Grundannahmen: Etwa kann ein System, das modular aufgebaut ist, in der Regel leichter erweitert werden, als eines mit monolithischer Struktur. Bei einem Modulsystem sollte man zusätzliche Bausteine einfach hinzufügen können, wohingegen ein monolithisches System als Ganzes aktualisiert werden muss. Am interessantesten ist, welche Erweiterungsmöglichkeiten es denn überhaupt gibt, existieren Zusatzmodule oder Ergänzungsprojekte? Es gibt zum Beispiel für das Groupware-Projekt phpGroupware ein Ergänzungsprojekt, dass ein Modul für die Anbindung von Palm-Organizern an die Termindatenbank von phpGroupware realisiert. Wenn also eine Firma etwa die Außenmitarbeiter mit Palm Pilots ausstatten will, dann sollte sie so etwas berücksichtigen. Hier haben große Projekte normalerweise einen Vorteil gegenüber kleinen, denn je mehr Entwickler und Benutzer ein System hat, desto mehr Erweiterungsmöglichkeiten gibt es meist. Als nächstes ist es wichtig, ob die Erweiterungen mit vertretbarem Einsatz eingebaut werden können, was natürlich auch wieder eine Frage des Aufwands ist. Vor allem im Open-Source-Bereich ist es so, dass viele Erweiterungen erst noch in der Entwicklung sind und es nicht sicher ist, wann sie fertiggestellt werden. Ein halbfertiges Modul ist zwar besser als gar kein Modul, für den praktischen Einsatz ist es aber auch wertlos. Der Entwickleraspekt soll nicht verschwiegen werden: Erweiterbarkeit ist auch immer eng mit der Frage nach Standardisierung verknüpft. Die hier betrachteten Open-SourceSysteme setzen auf offene Standards, was die Erweiterbarkeit des CSCW-Systems fördert. Man kann also im vorhinein Informationen einholen, ob das gewünschte Projekt auf gewisse Standards aufsetzt, die später für Erweiterungen interessant sein könnten, natürlich erst recht vor dem Hintergrund eigener Erweiterungen. Beispiele für solche Standards sind etwa die http-Protokoll-Erweiterung WebDAV und der Verzeichnisdienst LDAP. WebDAV steht für ”Web-based Distributed Authoring and Versioning”, und soll vor allem die Web-basierte Zusammenarbeit durch zusätzliche Features für http erleichtern. Die Protokollerweiterung stellt Locking-Mechanismen bereit, außerdem ist eine Speichermöglichkeit für Metadaten eingebaut. Gearbeitet wird zur Zeit an einer Funktion für Versionierung und Zugriffs-Kontrolle. KAPITEL 3. RAHMENBEDINGUNGEN DES GROUPWARE-EINSATZES 41 LDAP steht für Lightweight Directory Access Protocol und stellt eine Alternative zum X.500 Verzeichnis-Dienst dar. Es basiert auf TCP/IP und ist von der Internet Engineering Task Force standardisiert. Das Protokoll bietet einen einheitlichen Standard für DirectoryServices, also Verzeichnis-Dienste, ohne dabei einen Directory-Inhalt zu definieren und hat ein weltweit eindeutiges Format, in dem alle Namen darstellbar sind. 3.5 Flexibilität Flexibilität bedeutet wörtlich übersetzt Biegsamkeit oder Elastizität; unter Flexibilität von CSCW-Systemen versteht man die Möglichkeit, sie an die eigenen Bedürfnisse anzupassen. Zur Flexibilität gehört eigentlich auch die eben besprochene Erweiterbarkeit. Die Flexibilität in Bezug auf Anpassbarkeit bringt das Open-Source-Modell wieder in den Blickpunkt. Bei dieser Art der Software-Verteilung besteht die Möglichkeit der Einsichtnahme in der Quelltext. Meist kann dieser dann auch selbst auf die eigenen Bedürfnisse angepasst werden. Aus diesem Grund werden ausschließlich freie Lösungen in dieser Diplomarbeit betrachtet. Auch die Einstellungsmöglichkeiten bei der Administration der Groupware sollten flexibel sein. Das ist in der Regel bei Open-Source-Software stärker der Fall als bei proprietären Lösungen. So sollte beispielsweise ein Groupware-System auch auf mehreren Betriebssystemen laufen. So kann selbst bei einem Wechsel der Server-Plattform das CSCW-System mitgenommen werden. Auch müssen die Systeme flexibel zu benutzen sein. Wichtig ist, dass die Benutzung unabhängig von einer bestimmten Plattform oder einem Betriebssystem sein muss. Ein Beispiel, bei dem das nicht so ist, ist Outlook. Der Client ist nur für Windows-Systeme verfügbar, zwar gibt es mit Evolution einen Clone aus der Linux-Welt, der kann aber zum einen nicht alle Features des Groupware-Servers Exchange nutzen und zum anderen ist er wieder nur eine Lösung für Unix und Linux. Systeme die rein über einen Browser bedient werden können bieten den Vorteil, dass sie auf Client-Seite Plattform- und Betriebssystem-unabhängig sind. Standard-konforme Web-Browser existieren schließlich für alle gängigen Rechner. Die Flexibilität einer reinen Web-Lösung zeigt sich auch im Punkt Mobilität der Benutzung. Wer eine Groupware nutzt, möchte sie entweder unterwegs dabei haben oder, was eleganter ist, von unterwegs darauf zugreifen. Web-basierte Groupware-Systeme setzen nur einen Internetanschluss voraus, der sollte sich in den meisten Fällen auch finden lassen. Ein Nachteil dieser Online-abhängigen Lösunge ist aber, dass ohne Internet-Zugang auch der GroupwareZugang verschlossen bleibt - solche Schwierigkeiten kann man umgehen, indem man etwa wichtige Dokumente lokal ablegt. KAPITEL 3. RAHMENBEDINGUNGEN DES GROUPWARE-EINSATZES 3.6 42 Integrierbarkeit In den meisten Firmen, die an einer Groupware-Lösung interessiert sind, ist bereits ein E-Mail-System im Einsatz oder es wird bereits ein Web-Server betrieben, den das CSCWSystem nutzen könnte. Wenn schon vorhandene Kompomenten bei der Einführung neuer Groupware weiterverwendet werden wollen, dann stellt sich die Frage nach Integrierbarkeit. Dabei sind vor allem die im Open-Source-Umfeld eingesetzten offenen Standards nützlich. Auch Protokolle für den Web-Zugriff sind offen standardisiert, etwa http, WebDAV, LDAP, POP oder IMAP. Die meisten Open-Source-Groupware-Produkte greifen auf den Apache Web-Server zurück, nutzen als Datenbank MySQL und immer häufiger auch die Skript-Sprachen Perl und PHP. Meist setzen sie sogar voraus, dass ein eigener Mail-Server bereits in Betrieb ist und bieten Zugriff auf den LDAP-Verzeichnisdienst. Lösungen für kommerzielle Web-Server, etwa Microsofts Internet Information Server, gibt es zwar, sie haben aber praktisch keine Bedeutung. Momentan lässt sich ein Trend erkennen, der die Programmierung von Open-Source-Clients umfasst, die mit dem GroupareServer Exchange von Microsoft zusammenarbeiten. Etwa entwickelt das Bundesamt für Sicherheit in der Informationstechnik an einem entsprechenden Programm. So ließen sich etwa Linux-Clients in eine Windows-Groupware integrieren. Normalerweise lässt sich eine Open-Source-Software leichter integrieren als proprietäre Programme, die oft alle Komponeten aus den Händen eines Herstellers voraussetzen. Wichtig ist, dass man sich vorher über die Möglichkeiten der Groupware im Klaren ist, denn auch bei freier Groupware lässt sich nicht alles mit jedem kombinieren, nur weil darunter offene Standards liegen. Hersteller-Lösungen haben den Vorteil, dass die Interoperabilität besser gewährleistet ist. 3.7 Sicherheit In dieser Arbeit ist die Sicht auf Groupware-Systeme beschränkt, die über einen Browser bedient und meist auch administriert werden. Bevor das System in Betrieb geht, müssen geeignete Sicherheitsrichtlinien erarbeitet werden und Sicherheitsmaßnahmen getroffen werden. Wenn das System läuft, müssen die Richtlinien überwacht und gegebenenfalls überarbeitet werden. Zuerst muss sichergestellt sein, dass die Gruppenmitglieder sich auch als solche sicher authentifizieren können. Grundlegende Voraussetzung dafür ist meist ein Schutz aus Zugangskennung und Passwort. Die richtige Kombination dieser beiden Parameter authentifiziert ein Gruppenmitglied als gültigen Benutzer. Sicherer funktionieren modernere Methoden der Authentifizierung, etwa die Benutzung von SmartCards. Eine Software, die KAPITEL 3. RAHMENBEDINGUNGEN DES GROUPWARE-EINSATZES 43 dafür eine Schnittstelle bietet, ist als potentiell sicherer einzustufen. Sicherheit bei der Benutzung von Groupware kann etwa bedeuten, dass die Systeme über eine https-Verbindung bedient werden. https ist eine Erweiterung des http-Protokolls, das die gängigen Web-Server zur Verfügung stellen und eigentlich alle Browser auch unterstützen. Auch die meisten Web-basierten Groupware-Programme können diesen verschlüsselten Weg der Kommunikation nutzen. Sicherheit in Bezug auf Groupware bedeutet auch, dass es eine Möglichkeit geben muss, so genannte Gruppenrichtlinien festzulegen, also verschiedenen Gruppenmitgliedern unterschiedliche Rechte zu geben. Normalerweise sollte es eine Gruppe Admnistratoren geben, die erweiterte Rechte hat. Auch eine Gruppe für normale Benutzer“ sollte einge” richtet sein, damit alltägliche Arbeiten nicht unnötig mit erweiterten Rechten ausgeführt werden und so eine potentielle Sicherheitslücke darstellen. Grundlegende Untersuchungen zur Sicherheit von Open-Source-Software haben gezeigt, dass diese Systeme potentiell sicherer sind als proprietäre. Eine Zusammenstellung gibt es auf den Web-Seiten von David A. Wheeler2 . Auch die Integrität der gespeicherten Daten ist ein wichtiger Teil von Sicherheit. Es sollte zum Beispiel sichergestellt werden, dass es eine Backup-Möglichkeit gibt, die wichtige Daten in regelmäßigen Abständen sichert. 3.8 Skalierbarkeit Skalierbarkeit bedeutet die Erweiterbarkeit eines CSCW-Systems bezüglich der Leistungsanforderungen. Etwa ist bei einer Groupware entscheidend, dass sie auch größere Gruppen unterstützt. Außerdem ist wichtig, dass die Skalierbarkeit möglichst einfach erreicht wird, etwa dass sich die Gruppenstärke leicht erweitern lässt. Einerseits muss es also leicht möglich sein, neue Gruppen oder Gruppenmitglieder hinzuzufügen. Andererseits muss auch der Groupware-Server für größere Auslastungen skaliert werden können, etwa wäre der Betrieb auf zwei physischen Rechner möglich. An ein CSCW-System werden zwei Anforderungen für Skalierbarkeit gestellt: • Skalierbarkeit für Gruppen • Skalierbarkeit bezüglich der genutzten Server 2 http://www.dwheeler.com/oss fs why.html#security KAPITEL 3. RAHMENBEDINGUNGEN DES GROUPWARE-EINSATZES 3.9 44 Zusammenfassung Die Vorstellung der Rahmenbedingungen in diesem Kapitel soll den Auswahlprozess nicht verkomplizieren, im Gegenteil: Es geht darum, aufzuzeigen, dass ein Auswahlkriterium wie Funktionalität zwar als Hauptaspekt verwendet werden kann, es gibt aber noch Zusatz-Bedingungen, die bei der Entscheidung berücksichtigt werden sollten. In Abbildung 3.1 sind die besprochenen Rahmenbedingungen als Teile eines Puzzles illustriert, am Rand kann man sogar noch einige angrenzende Stücke erkennen, die nicht beschriftet sind. Das ist durchaus gewollt, denn die Rahmenbedingungen sind von Fall zu Fall anders zu bewerten. Jeder, der vor einer Entscheidung für die richtige Groupware steht, muss seine eigenen Rahmenbedingungen definieren und vor allem auch priorisieren. Die in diesem Kapitel besprochenen Aspekte sollen dafür ein Leitfaden sein, der um zusätzliche Kriterien ergänzt oder auch gekürzt werden kann. Dabei ist es durchaus sinnvoll, mehr Zeit in die Auswahl zu investieren, denn wenn man erst nach der Einführung merkt, dass die Groupware untauglich ist, steigen die Kosten überproportional. Um die passende Groupware-Applikation zu finden, sind nur drei Schritte notwendig: 1. Passende Lösungen nach Funktionalität auswählen. 2. Rahmenbedingungen der ausgewählten Lösungen vergleichen. 3. Passende Groupware einführen. Kapitel 4 Web-basierte Open-Source-Groupware Der Open-Source-Groupware-Markt erlebte 2002 eine Flut neuer Projekte; in einschlägigen Foren wurde sogar von einer Groupware-Schwemme im Open-Source-Bereich geschrieben. Gute Übersichten zu aktuellen Open-Source-Projekten gibt es bei Grantbow1 , www.thinkofit.com und http://sourceforge.net. Durch die in Kapitel 3 erarbeiteten Anforderungen konnte die Anzahl der letztendlich betrachteten Lösungen auf zwölf Open-Source-Projekte eingeschränkt werden; diese sind auf dem aktuellen Stand Mitte April 2003. Dabei wurde nicht jedes geeignete Programm in die Bestandsaufnahme mit aufgenommen, etwa gibt es bei den WikiWebs zahlreiche Implementierungen, die aber alle dasselbe Prinzip verfolgen. Aus der Masse sind in so einem Fall immer geeignete Beispiele ausgewählt worden. Eine weitere Klasse von Systemen, die vor allem im UnixBereich eine große Verbreitung hat, sind die Bulletin-Board-Systeme, oder auch WebConferencing-Systeme genannt. Auch aus diesem Bereich wird nur ein repräsentativer Vertreter vorgestellt. 4.1 Auswahlkriterien Die Auswahlkriterien für die getesteten CSCW-Systeme sind aus der Aufgabenstellung und den ermittelten Rahmenbedingungen abgeleitet worden. Natürlich müssen alle Systeme der Definition von Groupware genügen. Zusammengefasst sind die wichtigsten zusätzlichen Eigenschaften: Open-Source-Produkte: Die gesichtete Software muss den Anforderungen an OpenSource-Programmen genügen. Für diese Arbeit wurde vereinfacht angenommen, dass die Programme frei in doppeltem Sinn sind: Einmal im Sinne von ”kostenlos 1 Ein Portal für OS-Groupware unter www.grantbow.com/groupware.html 45 KAPITEL 4. WEB-BASIERTE OPEN-SOURCE-GROUPWARE 46 erhältlich” und einmal im Sinne von ”der Quelltext ist einsehbar und darf verändert werden”. Diese Einschränkung schließt offensichtlich nicht nur die proprietären und kommerziellen Systeme aus: Bei der Bestandsaufnahme zeigte sich auch, dass viele Angebote, etwa Messaging-Dienste oder Forum-Hosting zwar kostenlos ist, die Software aber nicht im Quelltext verfügbar ist. Web-Browser als Client: In dieser Arbeit werden nur die so genannten Web-basierten Groupware-Systeme berücksichtigt. Das bedeutet, dass die betrachteten Lösungen ausschließlich über einen Browser bedient werden können. Produkte mit eigener Client-Software bleiben außen vor. Out-of-the-Box lauffähig: Um den Aufwand für die Installation und Administration so gering wie möglich zu halten, werden nur Lösungen betrachtet, die sich Out-ofthe-Box einrichten lassen und danach sofort lauffähig sind. Das schließt vor allem Produkte in frühem Entwicklungsstadium aus, bei denen noch zu viele Bugs auftreten. Out-of-the-Box benutzbar: Das gleiche Prinzip wie für Installation und Administration soll auch für die Benutzung gelten, die Systeme sollen sofort ohne große Anpassungen einsetzbar sein. 4.2 Testschema Die gefundenen Groupware-Lösungen wurden auf verschiedenen Betriebssystemen getestet: Auf einem virtuellen Red Hat 7.3 Server, auf Mandrake Linux 9.0/9.1, auf Red Hat 9.0 und SuSE 8.2. Schritt für Schritt sind die Anleitungen auf Red Hat 7.3 und Mandrake 9.0 und 9.1 lauffähig, die Installation auf den anderen Linux-Distributionen unterscheiden sich dabei in einigen Punkten, etwa in der verwendeten Verzeichnisstruktur oder den eingebauten Compilern. Auch die benötigten Software-Pakete heißen von System zu System anders. Die Beschreibung der Installation orientiert sich dabei an den gängigsten Methoden, Software unter Linux zu verteilen: Als fertiges Binär-Paket und als Quell-Paket - alle beschriebenen Operationen funktionieren über die Kommandozeile. Als Paketformat hat sich RPM des Linux-Distributors Red Hat weitgehend etabliert, das Kürzel steht für Red Hat Package Manager. Wenn das Paket für das zugrundeliegende Betriebssystem erstellt worden ist, reicht normalerweise ein Befehl aus um es zu installieren. Besonders gut ist, dass auch eine Deinstallation in der Regel nur einen Befehl erfordert. RPM-Pakete werden entweder von den Projekten selbst angeboten oder Distributoren oder auch Privatpersonen stellen maßgeschneiderte Pakete zur Verfügung. Bei der Suche nach RPM-Pakten helfen auch spezielle Suchmaschinen, etwa http://rpmseek.com oder http://rpmfind.net. KAPITEL 4. WEB-BASIERTE OPEN-SOURCE-GROUPWARE 47 Bei Verwendung der Quelltexte muss der Anwender das Paket zuerst selbst übersetzen. Das ist meist auch nicht schwer, trotzdem verlangt es tiefere Kenntnisse über das System und eine Reihe passender Bibliotheken. Die Vogehensweise in dieser Arbeit sieht so aus, dass immer die Installation des Quell-Pakets beschrieben wird. In der Praxis kann aber ein Paketformat viel Zeit sparen. Falls also Pakete angeboten werden, können diese in der Regel ohne Bedenken und mit weniger Aufwand installiert werden. Schlägt jedoch eine Paketinstallation fehl, dann kann man immer noch auf die Quelltexte zurückgreifen. Bei der Bestandsaufnahme der Groupware-Programme wird am Anfang kurz zur Entwicklung und der Vitalität der gefundenen Lösungen Stellung genommen; das soll einen Eindruck vermitteln, wie oft mit Updates gerechnet werden kann,wie groß die Entwicklergemeinde ist und wie weit das Projekt schon entwickelt ist. Danach werden die Voraussetzungen für die Installation angegeben. Dann wird der Installationsprozess beschrieben, und auftretende Probleme und Schwierigkeiten werden dargestellt. Außerdem gibt es eine Kurzeinführung in die ersten zu treffenden Maßnahmen nach der Inbetriebnahme des Systems. Anhand der Dokumentation wird die Funktionalität überprüft, das ist wichtig für die spätere Einordnung in das Klassifikationsschema in Abschnitt 5. Außerdem werden die Zusatz-Anforderungen überprüft, die bereits in Kapitel 3 als Ergänzung zur Funktionalität herausgearbeitet wurden. Sie werden jeweils im Fazit der einzelnen Groupware-Lösung besprochen. Wichtig ist, dass die aufgeführten Lösungen nicht in einem Vergleichstest einen Sieger unter sich ausmachen müssen. Vielmehr soll dies eine Bestandsaufnahme sein, in der die vorhandenen Lösungen mit ihren Stärken und Schwächen dargestellt werden sollen. 4.3 Backtalk Das Backtalk-Projekt im Internet: www.unixpapa.com/backtalk 4.3.1 Entwicklung und Vitalität Backtalk ist ein Open-Source-Conferencing-System, das seit 1996 ausschließlich in der Programmiersprache C entwickelt wird. Es wird in dieser Arbeit stellvertretend für die Bulletin-Board-Systeme vorgestellt. Das aktuelle Stable-Release trägt die Versionsnummer 1.1.15, die Entwicklerversion 1.3.2 ist aber auch bereits sehr stabil. Backtalk ist laut seinen Machern ähnlich zu Systemen wie Picospan, Yapp, Caucus oder Motet zu sehen. Backtalk ist kein Multimedia-System, denn es erlaubt nur textliche Kommunikation. Hintergrund der Entwicklung war der Bedarf eines Kommunikationssystems, das gleichermaßen in modernen Browsern und im Text-Browser Lynx funktioniert. Im Laufe der Zeit KAPITEL 4. WEB-BASIERTE OPEN-SOURCE-GROUPWARE 48 haben sich einige Derivate von Backtalk entwickelt, etwa Booktalk, ein System, das speziell für Schulen ausgelegt ist. 4.3.2 Voraussetzungen Backtalk lässt sich nur auf Unixsystemen und Derivaten, etwa Linux, installieren. Für den Betrieb ist zusätzlich noch ein CGI-fähiger Web-Server notwendig. Eine Datenbank wird nicht zwingend benötigt. Außerdem sollte man sich vor der Installation darüber im klaren sein, wie sich die Benutzer später beim System authentifizieren sollen. Dabei gibt es im Prinzip drei Möglichkeiten: Backtalk-Accounts, Unix-Accounts und DatenbankAccounts. Backtalk-Accounts haben den Vorteil, dass sie leichter einzurichten sind, man braucht nur Zugriff auf das CGI-BIN-Verzeichnis. Unix-Accounts greifen dabei auf die Datei /etc/passwd zurück, die in klassischen Unix-Systemen die Passwörter verwaltet. Sie können auch dazu benutzt werden, Zugriff über das File Transfer Protocol oder Secure Shell zu steuern. Will man ein bereits bestehendes Login-Verfahren, etwa gestützt auf Datenbanken, nutzen, so ist das meist mit Mehraufwand verbunden, weil Backtalk erst entsprechend konfiguriert werden muss. In diesem How-To werden Backtalk-Accounts verwendet, das ist eigentlich die sinnvollste Methode, denn sie fügt sich in die Einfachheit des Backtalk-Konzepts ein. 4.3.3 Installation Die Installation von Backtalk ist ein klassischer Dreischritt, bestehend aus Konfiguration, Ausführen des Make-Files und Installation. Viele Systeme, die so installiert werden, sind schon passend vorkonfiguriert, sodass nur noch die Befehle ./configure, make und make install nötig sind. Bei Backtalk ist das leider nicht so, vor allem das Anpassen des Konfigurationsskripts erfordert einigen Aufwand. Backtalk kann von www.unixpapa.com/backtalk geladen werden, das Paket trägt den Namen backtalk-1.1.15.tar.gz. Es kann in ein beliebiges Verzeichnis gespeichert werden, etwa /usr/local/src. KAPITEL 4. WEB-BASIERTE OPEN-SOURCE-GROUPWARE 49 #Wechsel ins Root-Verzeichnis des Apache cd /var/www/htdocs #Root-Rechte bekommen su #Backtalk-Quellen nach /var/www/htdocs entpacken tar xvzf /usr/local/src/backtalk-1.1.25.tar.gz #Backtalk-Verzeichnis umbenennen mv backtalk-1.1.25 backtalk #Wechsel ins Backtalk-Verzeichnis cd backtalk Unter der Web-Adresse http://localhost/backtalk/doc/install.html findet sich eine Beschreibung der Installation. Das ist deshalb wichtig, weil sich die verschiedenen Backtalk-Versionen untereinander in einigen Punkten unterscheiden. Das auf dem Backtalk-Server zugängliche Manual ist beispielsweise noch für die Vorgängerversion geschrieben, also nicht ganz auf dem aktuellen Stand. Zuerst wird das Konfigurations-Skript ohne Optionen aufgerufen. Daraufhin startet ein Dialog, in dem einige System-Parameter festgelegt werden müssen. #Aufruf des configure-Skripts ./configure #Dokument-Root-Verzeichnis festlegen /var/www/htdocs/backtalk #URL von Backtalk festlegen http://localhost/backtalk #CGI-BIN-Verzeichnis festlegen /var/www/cgi-bin/backtalk #CGI-BIN-URL festlegen http://localhost/cgi-bin/backtalk #Apache-Owner festlegen nobody #Backtalk-Owner festlegen nobody Die Konfiguration von Backtalk ist abgeschlossen, es gibt zwar noch weitere Optionen, die möglich wären, die Default-Werte funktionieren aber gut. Jetzt kann das Makefile aufgerufen werden, es kompiliert den Backtalk-Interpreter und Backtalk-Compiler. Außerdem werden für die Backtalk-Accounts einige Administrator-Tools bereitgestellt: makeacct, btpasswd, btvalid, btrmuser und btmkuser. KAPITEL 4. WEB-BASIERTE OPEN-SOURCE-GROUPWARE 50 #Makefile aufrufen make #Binaries installieren make install-binaries #Skripte installieren make install-skripts #BBS installieren make install-bbs #Benutzerverwaltung installieren make install-users Die Installations-Routine der Benutzerdatenbank fragt nach einem Passwort für den Administrator cfadm. Dieses wird später für den ersten Login benötigt. Bevor man die Konfiguration in einem letzten Schritt anpassen kann, muss der Apache geeignet eingerichtet werden. Wenn er so wie in 6.1.3 beschrieben konfiguriert ist, muss man nur noch die Datei httpd.conf ergänzen. Diese öffnet man mit einem Editor und trägt folgende Zeilen ein: #Einträge in httpd.conf ergänzen <Directory "/var/www/cgi-bin"> AllowOverride None Options ExecCGI Order allow,deny Allow from all </Directory> Im Verzeichnis scripts liegt die Datei config.bt, in der Backtalk noch der letzte Schliff verpasst werden muss. In dieser Datei kann etwa ein Logo definiert werden, oder das Layout angepasst werden. Einige wichtige Einstellungen sind die folgenden: #Skript-Rekompilierung einstellen /auto recompile 1 def #Rechte für Benutzer-Accounts /newuseropen 2 defconstant Die Installation von Backtalk ist jetzt abgeschlossen. Der nächste Abschnitt zeigt die ersten Schritte zur Inbetriebnahme des Systems. KAPITEL 4. WEB-BASIERTE OPEN-SOURCE-GROUPWARE 4.3.4 51 Start und Administration Über den URL http://localhost/cgi-bin/adm/backtalk/admin/begin kann man sich als Administrator mit der Kennung cfadm und dem bei der Installation festgelegten Passwort einloggen. Danach kann das System über das Web-Interfacke konfiguriert werden. Selbsterklärende Buttons stehen dafür zur Verfügung. Benutzer können sich selbst Accounts anlegen, dafür muss einfach die Web-Seite http://localhost/backtalk aufgerufen werden. 4.3.5 Funktionalität Ruft man sich das 3-Säulen-Modell aus Abschnitt 2.3 in Erinnerung, so wird schnell klar, dass Backtalk lediglich Groupware-Funktionen der ersten Säule zur Verfügung stellt - also rein Nachrichtenaustausch bietet. Das Ganze funktioniert asynchron und implizit, damit ist Backtalk einer der Ausnahmefälle, die wegen des vornehmlichen Nutzens als Nachrichtenaustausch-Plattform nicht zu Informationsverarbeitung gezählt werden. Trotzdem kann Backtalk auch für Informationsverarbeitung genutzt werden, dies ist aber nur für unstrukturierte Daten möglich. Der Gruppengedanke wird unterstützt, das heißt, Administratoren können explizit Gruppen anlegen. Dafür gibt es die Account-Tools. Entsprechend steht für das Anlegen neuer Conferences ein Conference-Tool zur Verfügung. Benutzer haben die Möglichkeit, sich immer die neuesten Einträge anzeigen zu lassen, außerdem gibt es eine Suchfunktion und die Möglichkeit, selbt verfasste Beiträge zu ändern. 4.3.6 Fazit Backtalk ist ein klassisches Web-Conferencing-System. Es dient zum Austausch von Nachrichten und nutzt CGI. Als implizites System bildet es einen Ausnahme-Fall beim Nachrichtenaustausch. Aufwand: Der Aufwand für die Installation ist, verglichen mit moderneren GroupwareProjekten, relativ hoch. Dafür sollten sich die Voraussetzungen ohne Probleme schaffen lassen. Für das Einrichten sind nicht einmal Root-Rechte nötig, eine Datenbank wird auch nicht gebraucht. Der Administrations-Aufwand hält sich in Grenzen. Kosten: Backtalk ist kostenlos und im Quell-Code frei verfügbar. KAPITEL 4. WEB-BASIERTE OPEN-SOURCE-GROUPWARE 52 Bedienbarkeit: Die Bedienbarkeit von Backtalk ist für die Benutzer intuitiv und leicht zu verstehen, die Administration kann zusätzlich zum Web-Interface auch direkt in den Konfigurationsdateien erfolgen. Erweiterbarkeit: Backtalk lässt sich leider nicht um zusätzliche Funktionen erweitern, es gibt lediglich ein Basis-Paket. Es stehen keine Zusatz-Module zur Verfügung, die etwa Standards wie LDAP oder WebDAV nutzen könnten. Flexibilität: Auch eine gewisse Flexibltiät wohnt dem System inne, das fängt beim Anpassen des Layouts an, und geht über die Möglichkeit, Benutzer-Accounts frei verwalten zu lassen bis zur Möglichkeit bestehende Authentifizierungs-Möglichkeiten zu nutzen. Als etwas betagtes System ist Backtalk auch auf vielen klassischen Unix-Systemen lauffähig. Groupware-Funktionalität bietet die Software nur beim asynchronen Nachrichtenaustausch und bei der Verarbeitung unstrukturierter Informationen. Integrierbarkeit: Backtalk lässt sich mit bestehenden Web-Server, vorzugsweise Apache, verwenden. Außerdem können bestehende Authentifikations-Systeme genutzt werden, etwa eine SQL-Datenbank. Bestehende Mail-Server und Daten aus anderen Groupware-Applikationen können nicht weiterverwendet werden. Sicherheit: Backtalk bietet alle Stärken und Schwächen eines CGI-basierten Systems, es kann natürlich über eine https-Verbindung betrieben werden. Füt die Benutzerverwaltung stehen Zugangs-Kontroll-Listen zur Verfügung und die BenutzerAuthentifizierung kann auch Datenbank-gestützt ablaufen. Die Datenintegrität kann durch eine eingebaute Backup-Möglichkeit gewährleistet werden. Skalierbarkeit: Gute Skalierbarkeit ist auf jeden Fall gegeben: Die Benutzeranzahl ist unbegrenzt und auch die Anzahl der Conferences ist nicht limitiert. Anmerkung: Eine Inkompatibilität neuerer Linux-Versionen in Bezug auf reguläre Ausdrücke macht eine Installation von Backtalk momentan zur Tortur. Nähre Informationen gibt es unter www.unixpapa.com. 4.4 Discus Das Discus-Projekt im Internet: www.discusware.com/discus4/index.php 4.4.1 Entwicklung und Vitalität Discus ist eine kostenlos erhältliche Discussion-Board-Software, die CGI als Kerntechnik nutzt. Das Programm wird seit 1997 entwickelt und unter einer eigenen Lizenz vertrieben; KAPITEL 4. WEB-BASIERTE OPEN-SOURCE-GROUPWARE 53 trotzdem darf der Source-Code frei verteilt werden. Zusätzlich zum Open-Source-Paket existiert eine kommerzielle Pro-Version, die etwas erweiterten Funktionsumfang besitzt und für die die Firma Discus auch Support übernimmt. Hier wird ausschließlich die OpenSource-Variante besprochen. 4.4.2 Voraussetzungen Discus benötigt für den Betrieb einen Web-Server, der CGI-Skripts unterstützt. Außerdem ist ein aktueller Perl-Interpreter nötig. Die in Abschnitt 6.1.3 besprochene ApacheInstallation ist dafür sehr gut geeignet. 4.4.3 Installation Eine Discus-Version kann von der Web-Seite www.discusware.com/discus4/index.php geladen werden. Die aktuelle Quelldatei für Linux-Systeme und mit Support für westeuropäische Sprachen trägt den Namen discus4 00 3-w european-free.tar.gz. Sie kann in ein beliebiges Verzeichnis gespeichert werden, etwa in /usr/local/src. #Ins Verzeichnis /usr/local/src wechseln cd /usr/local/src #Root-Rechte annehmen su #Quelldatei entpacken tar xvzf discus4 00 3-w european-free.tar.gz #In das Discus-Verzeichnis wechseln cd discus4 00 #Intallationsskript aufrufen perl 1st install.pl Das Installations-Skript fragt einige Systemspezifika ab, etwa wo der Perl-Interpreter liegt und welche CGI-Extensions der Web-Server verwendet. Danach wird die Datei dconfig.cgi erstellt, sie muss ins CGI-BIN-Verzeichnis des Apache kopiert werden. KAPITEL 4. WEB-BASIERTE OPEN-SOURCE-GROUPWARE 54 #Verzeichnis des Perl-Interpreters bestätigen /usr/bin/perl #CGI-Extension auswählen .cgi #Setup-Skript in den Hintergrund schicken CTRL-Z #Skript dconfig.cgi ins CGI-BIN-Verzeichnis kopieren cp -p dconfig.cgi /var/www/cgi-bin #Setup-Skript in den Vordergrund holen fg An dieser Stelle kann das Setup über den Web-Browser forgesetzt werden. Über den URL http://localhost/cgi-bin/dconfig.cgi erhält man Zugriff auf ein Formular, das schon gut mit Default-Werten ausgestattet ist. Trotzdem sollten die Einstellungen kontrolliert werden. Wichtig ist vor allem, dass das Administrations-Verzeichnis nicht über das Web zugänglich ist. Um das zu verhindern bietet Discus zwei Möglichkeiten: Man verschiebt das Admin-Verzeichnis, oder man generiert einen komplexen Namen, der das Erraten schwierig macht. Die zweite Variante ist dann nötig, wenn das Verzeichnis mangels anderer Zugriffsmöglichkeiten über einen Browser erreicht werden soll. Als letztes muss noch der Name für das Board festgelegt werden, außerdem lässt sich eine E-Mail-Adresse angeben, an die Probleme mit Discus berichtet werden sollen. Die Spracheinstellungen können in dem Formular auch auf den Eintrag ”German” umgestellt werden. Das Formular kann jetzt abgeschickt werden, eine Erfolgsmeldung sollte daraufhin angezeigt werden. Jetzt geht es zurück zum Installations-Skript, es müsste jetzt eine Datei mit dem Namen discus.conf vorliegen und vom Skript gefunden werden. Die Installation ist hiermit abgeschlossen. 4.4.4 Start und Administration Über die Web-Adresse http://localhost/cgi-bin/discus/discus.cgi kann man auf das Board zugreifen. Als erstes sollte man den Link ”Admin” aufrufen, Username ist ”admin”, Passwort bleibt leer. Im Admin-Menü sollte man ein Passwort vergeben. In einem letzten Schritt muss Discus registriert werden, optional kann man noch einer Mailing-Liste beitreten, die über Produkt-Updates informiert. Über den Admin-Link kann man sich erstmal mit dem neuen Passwort einloggen. Administratoren landen als erstes im so genannten Page Manager. Ein Administrator-Account bietet die Menüpunkte ”Navigation”, ”Moderator Tools”, ”Administrator Tools”, ”Board KAPITEL 4. WEB-BASIERTE OPEN-SOURCE-GROUPWARE 55 Controls” und ”Documentation”. Beim ersten Login wird außerdem angezeigt, dass es noch keine Diskussions-Themen gibt. Der Page Manager ist ein Untermenü der Moderator Tools. Navigation: Die Navigation bietet die Möglichkeit, zum Board zurückzukehren, außerdem kann sich der Administrator damit ein- und ausloggen. Moderator Tools: Die Moderator Tools verwalten bestehende Benutzer und Diskussionen, außerdem können über sie die Zugriffe gesteuert werden. Administrator Tools: Mit diesen Werkzeugen lassen sich neue Themen erstellen, Moderatoren-Accounts vergeben und Gruppen anlegen. Board Controls: Diese Programme kontrollieren das Aussehen des Boards und sind für die Verwaltung der Daten zuständig. Hier lässt sich etwa im Database Manager eine Datenbankanbindung einrichten. Documentation: Enthält Administrations-Handbuch und Hinweise zur Formatierung. Die ersten Schritte sollten sein: Ein neues Thema anlegen, Benutzer anlegen, Gruppe anlegen und Moderatoren bestimmen. Thema anlegen: Um ein neues Diskussions-Thema anzulegen, ruft man den Topic Manager im Menü Administrator Tools auf. Man muss einen Namen für das neue Thema angeben, optional ist eine kurze Beschreibung. Außerdem kann man festlegen, wer Beitrage schreiben darf. Dabei gibt es die Option public, die auch nicht registrierten Nutzern Schreibrechte gibt. Gruppe anlegen: Für die Gruppen-Verwaltung gibt es den Group Manager. Er zeigt alle vorhandenen Gruppen an und bietet auch die Möglichkeit, neue anzulegen. Dazu verwendet man einfach den Button ”Add Group”. Der Gruppenname darf nicht länger als 15 Zeichen sein; das ist zunächst alles, was man spezifizieren muss. In der Gruppenübersicht taucht dann sofort die neue Gruppe auf, die als DefaultModerator denjenigen zugeteilt kriegt, der sie angelegt hat. Moderator festlegen: Über den Moderator Manager kann man neue Moderatoren hinzufügen, dazu müssen nur Username und Passwort angegeben werden, eine E-MailAdresse ist optional. Hat man Moderatoren angelegt, so kann man Ihnen Gruppen zuordnen, für die sie die Betreuung übernehmen. Benutzer anlegen: Nur Moderatoren und Admin dürfen neue Benutzer anlegen. Die Moderatoren haben dabei die Einschränkung auf die ihnen zugeordneten Gruppen. KAPITEL 4. WEB-BASIERTE OPEN-SOURCE-GROUPWARE 4.4.5 56 Funktionalität Discus hat primär die Aufgabe den Nachrichtenausstausch zu unterstützen, das funktioniert nur asynchron. Zusätzlich kann Discus auch im Bereich der Informationsverarbeitung gesehen werden, dort vor allem bei unstrukturierten Informationen. 4.4.6 Fazit Aufwand: Die Systemvoraussetzungen sind überschaubar, man braucht nur einen CGIfähigen Web-Server und einen Perl-Interpreter. Der Aufwand für die Installation ist sehr gering, das gut konstruierte Installations-Skript führt einen Dialog mit dem Benutzer und erkennt viele System-Einstellungen selbständig. Für die Wartung von Gruppen und Benutzern ist auch nicht viel Zeit nötig. Kosten: Discus ist kostenlos und im Quell-Code frei verfügbar, besitzt aber eine eigene Lizenz, die restriktiver als die GPL ist. Bedienbarkeit: Die Bedienbarkeit ist intiutiv klar. Jeder, der schon mal ein Web-Formular ausgefüllt hat, kann Discus benutzen. Das gilt auch für die Administration, auch das kann intuitiv geschehen. Erweiterbarkeit: Discus lässt sich um eine Datenbank erweitern. Bestehende E-MailServer oder Authenitifizierungs-Mechanismen kann das System jedoch nicht integrieren. Auch Zusatz-Module gibt es nicht, die auf Standards wie LDAP oder WebDAV zurückgreifen. Flexibilität: Discus kann nur bedingt an eigene Bedürfnisse angepasst werden, das ist bei einem Diskussions-Board aber auch nicht nötig. Vor allem asynchroner Nachrichtenaustausch steht im Vordergrund. Für unstrukturierte Informationsverarbeitung kann Discus auch eingesetzt werden. Die Software gibt es für Linux, diverse Unix-Systeme und Windows. Integrierbarkeit: Ein vorhandener Apache-Web-Server kann weiterverwendet werden, dasselbe gilt für eine MySQL-Datenbank. E-Mail-Server oder Adressdatenbanken lassen sich nicht integrieren. Sicherheit: Das System kann über eine https-Verbindung betrieben werden. Eine BackupFunktion bleibt aber der kostenpflichtigen Version Disus Pro vorbehalten. Skalierbarkeit: Die Anzahl der Gruppen und Benutzer ist theoretisch unbegrenzt. KAPITEL 4. WEB-BASIERTE OPEN-SOURCE-GROUPWARE 4.5 57 Extropia Extropia im Internet: www.extropia.com 4.5.1 Entwicklung und Vitalität Extropia ist eine Firma, die auch kommerzielle Produkte vertreibt, einige GroupwareApplikationen aber auch unter der GPL verteilt. Dazu gehört auch das Programm WebDB, eine Datenbank-Management-Software. Die Anwendung basiert auf Perl und zielt darauf ab, dass möglichst viele Entwickler Module dafür schreiben, die sinnvolle Funktionalität bringen. Einige Beispiel-Module stellt Extropia selbst zur Verfügung, etwa NewsVerwaltung oder Adressbuch. Ein Bundle bestehend aus Basispaket und allen Modulen kann von www.extropia.com geladen werden. 4.5.2 Voraussetzungen Als Voraussetzungen braucht man einen lauffähigen Apache, wie er in Abschnitt 6.1.3 installiert wird, CGI-Support und einen Perl-Interpreter. 4.5.3 Installation Zuerst muss man das Extropia-Komplettpaket runterladen. Momentan ist Version 8.2 verfügbar, das Quell-Paket hat den Namen everything-8.2.noarch.tar.gz. Es kann in ein beliebiges Verzeichnis gespeichert werden, etwa in /usr/local/src. #Ins CBI-BIN-Verzeichnis wechseln cd /var/www/cgi-bin #Root-Rechte annehmen su #Quelldatei entpacken tar xvzf /usr/local/src/everything-8.2.noarch.tar.gz #In das Extropia-Verzeichnis wechseln cd everything #Zugriffsrechte für Verzeichnis ändern chown nobody . KAPITEL 4. WEB-BASIERTE OPEN-SOURCE-GROUPWARE 58 Damit die Bilder auf den Extropia-Seiten korrekt angezeigt werden, muss der Unterordner Images ins Document-Root-Verzeichnis des Apache verschoben werden. Das macht der Befehl mv -R Images /var/www/htdocs. 4.5.4 Start und Administration Die einzelnen Module können über einen Web-Browser gestartet werden. Etwa erreicht man das Adressbuch unter dem URL http://localhost/cgi-bin/everything/address book.cgi. Das Problem ist, dass es keine Oberfläche gibt, unter der die gesamten Module zentral verwaltet und bedient werden können. 4.5.5 Funktionalität In puncto Funktionalität bietet Extropia viel; überschaubar wird das Ganze durch die Moduliarisierung der Software. Folgende Module umfasst das Paket: • Adress-Buch - einfache Adressverwaltung • Bulletin-Board-System - Diskussions-Board für asynchronen Nachrichtenaustausch • Bug-Tracker - Bug-Tracking-System für Software-Projekte • Kommentar-Formular - Formular für Anmerkungen • Dokumenten-Manager - Einfache Verwaltung von Dokumenten • Ausgaben-Manager - Tool für die Verwaltung von Ausgaben • Ausgaben - Übersicht über alle Ausgaben • FAQ-Liste - Informationsseite mit häufig gestellten Fragen • FAQ-Manager - Verwaltung für die häufig gestellten Fragen • Gästebuch - klassische Gästebuchfunktion • Mailing-Listen-Manager - Verwalter von Mailing-Listen • News - Nachrichten-Übersicht • News-Manager - Verwaltung der News-Seite • Projekt-Verwalten - Projekt-Verwaltung KAPITEL 4. WEB-BASIERTE OPEN-SOURCE-GROUPWARE 59 • Quiz-Admin - Quiz-Verwaltung • Quiz - Quiz-Seite • Umfrage-Tool - Umfrage-Programm • Todo-Liste - Aufgabenliste • Kalender - Kalenderfunktion Nachrichtenaustausch: Nachrichtenaustausch ist bei den derzeit verfügbaren Modulen nur asynchron möglich, etwa über das Bulletin-Board-System, die Mailing-Listen oder die News-Seite. Auch das Gästebuch unterstützt diese Art der Kommunikation. Informations- und Dokumentenverarbeitung: Für die Verarbeitung von Dokumenten gibt es den Dokumenten-Manager; mit diesem Modul lassen sich persönliche und geschäftliche Dokumente verwalten. Das Adressbuch ist eine Funktionalität, die der Informationsverarbeitung zuzurechnen ist, ebenso der Bug-Tracker, der AusgabenManager und das Umfrage-Tool. Dabei werden das Spektrum von unstrukturierten bis strukturierten Anforderungen gut abgedeckt. Gruppenplanung: Im Bereich der Gruppenplanung gibt es Projekt-Verwaltung, Kalender und ToDo-Liste. Hier deckt Extropia die wenig- bis halb-strukturierten Aufgaben ab, hochstrukturierte Planungen, etwa für den Workflow, sind nicht verfügbar. 4.5.6 Fazit Extropia bietet viele Module, die leider nicht zentral verwaltet werden können. Im Prinzip ist jedes Modul eigenständig, das bringt auch das Problem mit sich, dass man für jedes Modul einen gesonderten Benutzer-Account braucht. Zwar lässt sich der Code anpassen, eine komfortable Administrations-Schnittstelle fehlt aber. Das trübt den Eindruck der funktional hochwertigen Software. Leider wird der Gruppengedanke bei Extropia nicht konsequent vertreten, im Prinzip bilden alle, die auf die Module Zugriff haben eine Gruppe, Untergruppen lassen sich nicht definieren. Aufwand: Der Aufwand für die Installation ist gering, ein Web-Server mit CGI-Unterstützung ist das einzig Nötige. Die Extropia-Pakete müssen nur ins richtige Verzeichnis entpackt werden. Auf anderen Systemen muss eventuell noch der Pfad zum Perl-Interpreter angepasst werden. Der Aufwand für die Administration ist dagegen recht hoch, weil man keine graphische Konfigurations-Möglichkeit hat. Die Module sind voneinander unabhängig organisiert, was zusätzlichen Aufwand bedeutet. Kosten: Die Module sind alle kostenlos verfügbar. KAPITEL 4. WEB-BASIERTE OPEN-SOURCE-GROUPWARE 60 Bedienbarkeit: Die Bedienung der Software ist intuitiv möglich, befremdend wirkt nur, dass man bei jedem Modul einen gesonderten Zugang benötigt und keine zentrale Übersichtsseite existiert. Hier macht sich das Fehlen einer Datenbank bemerkbar. Entsprechend aufwändig ist sind die Arbeiten für den Administrator. Erweiterbarkeit: Die Software ist leicht um zusätzliche Module erweiterbar. Natürlich können auch nicht benötigte Module einfach weggelassen werden, eine individuelle Zusammenstellung ist kein Problem. Das System kann über eine Java-Schnittstelle erweitert werden. Flexibilität: Extropia ist auch flexibel einsetzbar, so gibt es Module aus den drei Kernbereichen Nachrichtenaustausch, Informations- und Dokumentenverarbeitung und Gruppenplanung, die fast das ganze Groupware-Spektrum abdecken. Versionen für Unix und Windows sind über die Web-Seite verfügbar. Integrierbarkeit: Ein bestehender Web-Server lässt sich nutzen, vorzugsweise sollte das ein Apache 1.3.x sein. Vorhandene Mail-Server und vorhandene GroupwareApplikationen lassen sich nicht einbinden. Sicherheit: Die Software kann über eine https-Verbindung betrieben werden. ZusatzModule für die Authentifizierung von Benutzern, etwa mittels SmartCards, gibt es nicht. Das Daten-Backup muss der Administrator händisch erledigen. Skalierbarkeit: Extropia hat keine Beschränkung der Benutzeranzahl. 4.6 IntranetSuite Das IntranetSuite-Projekt im Internet: http://www.intranetsuite.org 4.6.1 Entwicklung und Vitalität IntranetSuite ist ein Kollaborations-Server, der drei Module besitzt: • E-Mail • Organizer • Dokumenten-Manager Mit diesen drei Modulen will IntranetSuite jeden wichtigen Groupware-Bereich abdecken: E-Mail ist das Werkzeug für den Nachrichtenaustausch, der Organizer übernimmt die KAPITEL 4. WEB-BASIERTE OPEN-SOURCE-GROUPWARE 61 Gruppenplanung und der Dokumenten-Manager soll die gemeinsamen Daten verwalten. Der Versionsstand 1.0 wurde vor etwa einem halben Jahr erreicht, momentan ist IntranetSuite 1.0.3 aktuell. 4.6.2 Voraussetzungen Als Voraussetzung benötigt man ein LAMP-System, wie es in Kapitel 6.1 beschrieben wird. Also einen Apache Web-Server der Versionsfamilie 1.3.x, eine MySQL-Datenbank, PHP-Support und das ganze auf einem Linux-System installiert. 4.6.3 Installation Die Quelldatei kann von www.intranetsuite.org geladen werden, die aktuelle Version ist 1.0.3 und trägt den Namen intranetsuite-1.03.tar.gz. Sie kann in ein beliebiges Server-Verzeichnis gespeichert werden, etwa in /usr/local/src/intranetsuite. #Ins Verzeichnis /usr/local/src wechseln cd /usr/local/src #Root-Rechte annehmen su #Quelldatei entpacken tar xvzf intranetsuite/intranetsuite-1.03.tar.gz #In das Intranetsuite-Verzeichnis wechseln cd intranetsuite-1.03 #Konfigurations-Skript mit Parametern aufrufen ./configure --with-apache documents root=/var/www/htdocs --with-apache user=nobody --with-apache group=nogroup --with-storage dir=/var/www/intranetsuite --with-db name=intranetsuite --with-db user=isuite --with-db pass=secret Dem Konfigurations-Skript wurde nur der Name des Apache-Document-Root-Verzeichnisses übergeben, außerdem wurden die Default-Einstellungen nobody für Apache-Besitzer und Gruppe nogroup angegeben. Zum Schluss wurde noch eine Datenbank namens intranetsuite angegeben und der Benutzer isuite mit Passwort secret. Jetzt muss man noch das Installations-Skript ausführen und die Datenbank anlegen. KAPITEL 4. WEB-BASIERTE OPEN-SOURCE-GROUPWARE 62 #Installations-Skript aufrufen ./install.sh #Nötige Datenbank anlegen lassen mysql -u root -p < createdb.sql Die Installation ist abgeschlossen. Unter http://localhost/main.php kann man sich erstmals mit Kennung ”admin” und leerem Passwort einloggen. 4.6.4 Start und Administration Nach dem ersten Login findet der Administrator eine schlichte Oberfläche vor. Drei Menüpunkte stehen zur Auswahl: Messages, Tasks, Documents. Rechts auf dem Bildschirm befindet sich eine Kalenderübersicht des aktuellen Monats, außerdem gibt es noch zwei Buttons, User-Administration und Group-Administration. Als erstes sollte man admin ein Passwort verpassen, das funktioniert über die UserAdministration. Dort ist admin als einziger Benutzer verzeichnet. Ein Klick auf den Button ”Modify User” macht ein neues Fenster auf, in dem ein Passwort für admin ausgewählt und gespeichert werden kann. Im Folgenden wird kurz erklärt, wie man Benutzer und Gruppen anlegen kann: Benutzer anlegen: Benutzer können über den User-Manager angelegt werden, ein PlusZeichen markiert den Button Add-User. Dann muss man einen Namen, Alias und Passwort festlegen. Den Namen kann man nachträglich, auch als admin, nicht mehr ändern. Gruppen anlegen: Im Gruppen-Manager werden zuerst alle vorhandenen Gruppen, nach dem Start sind das admins und all, und alle Benutzer angezeigt. Neue Gruppen lassen sich über den Button Add Group anlegen. Schwieriger ist es, einen Benutzer einer Gruppe zuzuordnen: Dazu wählt man die Gruppe aus und lässt sich alle Benutzer auflisten. Dann kann man die Gruppenmitglieder einzeln auswählen. 4.6.5 Funktionalität Die IntranetSuite bietet drei Funktionen: Nachrichtenaustausch, Aufgabenplanung und Dokumenten-Management. Nachrichtenaustausch: Der Nachrichtenaustausch funktioniert nur asynchron, wie das bei E-Mail üblich ist. Das funktioniert aber komplett ohne eigenen E-Mail-Server. KAPITEL 4. WEB-BASIERTE OPEN-SOURCE-GROUPWARE 63 Dabei sind alle Kommunikationsformen möglich, 1 : 1, n : 1, 1 : n und n : m. Leider ist die Zusammenstellung etwas mühsam, weil immer explizit jeder Benutzer ausgewählt werden muss, Gruppen können nicht in einem Schritt als Empfänger ausgewählt werden. Dokumenten-Management: Das Dokumenten-Management ist eng mit dem Nachrichtenaustausch verknüpft, denn die Dokumente können nur als Anhang an die Nachrichten getauscht werden. Es ist deshalb nur die Verarbeitung von unstruktuierten Daten möglich. Aufgabenplanung: Die Aufgabenplanung ist der dritten Säule ”Gruppenplanung” zuzuordnen. Mit IntranetSuite kann man neue Aufgaben definieren, für Gruppen und für einzelne Benutzer. Eine Schwäche ist aber, dass man einmal angelegte Aufgaben nicht nachbearbeiten kann. Sie lassen sich lediglich löschen. Die Aufgabenplanung selbst ist dabei unstrukturiert bis semi-strukturiert, neben freiem Text zur Aufgabenbeschreibung ist eine gewisse Strukturierung durch feste Zeitangaben möglich. 4.6.6 Fazit Die IntranetSuite ist ein übersichtliches und leicht zu installierendes Programm. Leider zeigten sich bei intensiverer Benutzung Schwächen, vor allem bei der Nachbearbeitung von Einträgen. Die Funktionalität verteilt sich auf alle drei ausgemachten GroupwareGebiete: Nachrichtenaustausch, Dokumentenverwaltung und Gruppenplanung. Nachrichten können nur asynchron ausgetauscht werden, dabei kommt ein Web-Mailer zum Einsatz. Die Dokumentenverarbeitung ist nur für unstrukturierte Dokumente geeignet und auch die Aufgabenplanung ist für Tasks von unstrukturiert bis semi-strukturiert geeignet. Aufwand: Der Aufwand für die Installation von IntranetSuite ist gering, rechnet man das vorausgesetzte LAMP-System mit ein, so kann man als Gesamtergebnis festhalten, dass der Installationsaufwand durchschnittlich für Web-basierte Groupware ist. Die Administration ist weniger aufwändig: Lediglich Benutzer und Gruppen müssen vom Administrator angelegt werden. Kosten: IntranetSuite ist kostenlos erhältlich. Bedienbarkeit: Die Bedienbarkeit ist teilweise gewöhnungsbedürftig, teilweise aber auch einfach wie Web-basierte Systeme meist sind. Probleme gab es etwa bei der Aufgabenplanung einer ganzen Gruppe, die Auswahl der betroffenen Gruppe funktionierte nicht per Mausklick aus der Liste, sondern nur per manueller Eingabe des Gruppennamens. Erweiterbarkeit: Zusätzliche Funktionen gibt es für die IntranetSuite nicht, lediglich Nachrichtenaustausch, Dokumentenverarbeitung und Aufgabenplaner sind integriert. KAPITEL 4. WEB-BASIERTE OPEN-SOURCE-GROUPWARE 64 Flexibilität: Besonders flexibel ist die IntranetSuite nicht, abgesehen davon, dass man selbst den Quell-Code anpassen kann. Es lassen sich keine Layout-Änderungen vornehmen und auch die System-Voraussetzungen können nicht verändert werden. Trotzdem bietet das Programm in allen drei Funktionsbereichen Funktionalitäten an. Integrierbarkeit: Die IntranetSuite nutzt ein bestehendes LAMP-System. Vorhandene E-Mail-Server oder Authentifizierungs-Mechanismen lassen sich nicht nutzen. Sicherheit: Die IntranetSuite kann über eine https-Verbindung betrieben werden. Der Zugangsschutz aus Kennung und Passwort ist für jeden Benutzer Pflicht. Für die Datenintegrität gibt es kein Backup-Modul, hier muss der Administrator auf die Funktionen der MySQL-Datenbank zurückgreifen. Skalierbarkeit: Es gibt keine Beschränkung für die Anzahl der Benutzer oder Gruppen. 4.7 Moregroupware Das Moregroupware-Projekt im Internet: www.moregroupware.org 4.7.1 Entwicklung und Vitalität Das Moregroupware-Manual startet mit einer schlichten, aber treffenden Beschreibung: Moregroupware ist eine Web-basierte Groupware-Applikation, und das Beste ist, sie ” ist kostenlos“. Die Entwicklung wurde bei der Morelogs GmbH in Deutschland gestartet, damals noch ohne den Hintergrund ein Open-Source-Projekt zu schaffen. Eine gute Möglichkeit Moregroupware ohne großen Aufwand zu testen ist eine speziell angepasste Knoppix-Version, die Moregroupware integriert hat. Das ist eine von CD lauffähige Debian-Linux-Version, die ohne Festplatteninstallatioin auskommt. So kann man die Groupware ohne Installationsaufwand ausprobieren. 4.7.2 Voraussetzungen Um Moregroupware installieren zu können ist ein funktionierendes LAMP-System nötig. Details für die Installation sind in Abschnitt 6.1 zu finden. Apache 2.0.x wird ausdrücklich nicht unterstützt. KAPITEL 4. WEB-BASIERTE OPEN-SOURCE-GROUPWARE 4.7.3 65 Installation Die Quellpakete von Moregroupware können von der Web-Seite www.moregroupware.org geladen werden. Das aktuelle Quellpaket trägt den Namen moregroupware-0.6.6.tar.gz. Es kann in ein beliebiges Verzeichnis gespeichert werden, etwa /usr/local/src. Wichtig ist, dass es in das richtige Verzeichnis entpackt wird, und zwar in das Document-RootVerzeichnis des Web-Servers. Bei der in Abschnitt 6.1 beschriebenen Installation ist es das Verzeichnis /var/www/htdocs, bestehende Apache-Installationen verwenden aber auch oft /var/www/html. #Wechsel ins Document-Root-Verzeichnis cd /var/www/htdocs #Root-Rechte bekommen su #Moregroupware-Quellen nach /var/www/htdocs entpacken tar xvzf /usr/local/src/moregroupware-0.6.6.tar.gz #Besitz-Rechte für das Moregroupware-Verzeichnis anpassen chown -R nobody moregroupware #Wechsel ins Moregroupware-Verzeichnis cd moregroupware Bevor die eigentliche Installation beginnen kann, sind noch kleine Arbeiten an der Datenbank nötig. #Datenbank namens moregroupware anlegen mysqladmin -u root -p create moregroupware #Datenbank-Nutzer namens moregw mit Passwort moregw00 anlegen mysql -u root -p grant all on moregroupware.* to moregw@localhost identified by "moregw00"; exit; Über die Web-Seite http://localhost/moregroupware/setup sollte jetzt das Setup zugänglich sein; zuerst muss nur die Sprache ausgewählt werden und man wird automatisch zu einem Web-Formular weitergeleitet. In dem Formular sind einige Angaben zu machen: Die Datenbank IP lautet localhost, Datenbankbenutzer ist moregw, das Passwort KAPITEL 4. WEB-BASIERTE OPEN-SOURCE-GROUPWARE 66 moregw00 und der Datenbankname moregroupware. Der Systempfad zum Moregroupware-Verzeichnis sollte bereits korrekt sein. Angaben zur LDAP-Authentifizierung sind nicht notwendig. Nach Absenden des Formulars kommt man schon zur Auswahl der einzelnen Applikationen. Dabei wird zwischen Basis- und User-Modulen unterschieden. Als Basis-Module sind dabei: Admin, Kalender, Kontakte, Übersicht, Projekte, Einstellungen, ToDo und Web-Mail. Die unterschiedlichen Versionsnummer zeigen dabei den Entwicklungsstand. Die BasisModule sollten auf jeden Fall installiert werden, aus diesem Grund sind sie bereits in der Voreinstellung ausgewählt. Die User-Module umfassen Dateien, Forum, W3Channels, News, Notizen, Outboard, PartProg und Trouble-Ticket-System kurz TTS. Sie können je nach Anforderung ausgewählt werden. Hier empfiehlt sich, zuerst mehrere Module auszuwählen, sie können dann getestet und bei Nicht-Gefallen wieder deinstalliert werden. Auf der nächsten Seite sollte die erfolgreiche Modulinstallation bestätigt werden. Im Moregroupware-Verzeichnis sollten sich jetzt die Dateien INSTALL, config.inc.php und index.php befinden, die Installation ist damit abgeschlossen. Aus Sicherheitsgründen sollten die Verzeichnisrechte des Moregroupware-Verzeichnisses wieder so definiert werden, dass nicht alle dort schreiben oder ausführen dürfen, sondern nur der Web-ServerBenutzer. #Benutzerrechte für Moregroupware-Verzeichnis ändern chmod 744 ../moregroupware Moregroupware ist somit fertig installiert. 4.7.4 Start und Administration Moregroupware muss nicht mehr explizit gestartet werden, es läuft bereits. Unter der Web-Adresse http://localhost/moregroupware kann man sich als Benutzer mit Kennung ”admin” und Passwort ”admin” einloggen. Moregroupware zeigt jetzt alle installierten Module als Reiter im oberen Teil der Web-Seite an, am unteren Rand sieht man zusätzlich die aktuelle Versionsnummer von Moregroupware und den Namen des aktuellen Benutzers. Daneben befindet sich der Logout-Button. Wichtig ist zuerst das Admin-Modul: Es enthält die vier Unterkategorien Benutzermanager, Rechtemanager, Gruppenmanager und Modulmanager. Der erste Weg sollte in den Benutzermanager führen, dort sollte das Passwort für den Admin-Account geändert werden - es muss mindestens acht Stellen umfassen. Im Benutzermanager sieht man auch, dass neben dem normalen Admin auch ein Foren-Admin, ein Forum-Moderator und ein KAPITEL 4. WEB-BASIERTE OPEN-SOURCE-GROUPWARE 67 Beispiel-Nutzer angelegt sind. Auch diese Zugänge sollten angepasst werden, also zumindest neue Passworte erhalten. Neue Benutzer gehören Standard-mäßig zur Gruppe Default, es ist aber auch möglich sie anderen Gruppen zuzuordnen, am Anfang existieren auch noch Admin, Forum-Admin und Forum-Moderator. 4.7.5 Funktionalität Nachrichtenaustausch: Moregroupware liefert ein E-Mail-Modul mit, das aus Webmail verwaltet wird. Das Modul greift auf eine bestehende Sendmail-Installation zurück. Leider lässt sich das Modul nicht ohne vorherige Handarbeit über den Browser konfigurieren, denn es fehlen einige Verzeichnisse für den Start des KonfigurationsMenüs. Die Verzeichnisse mit Namen attachments, img, readmessage und sendmail müssen zuerst im Moregroupware-Verzeichnis unter /modules/webmail2/cache angelegt werden. Danach funktioniert auch der Reiter Webmail und die eigentlichen Einstellungen können vorgenommen werden. Jedoch traten auch beim weiteren Betrieb Probleme mit E-Mails auf: Hinweise auf fehlende Verzeichnisse sind auf fehlerhafte Installations-Skripte zurückzuführen. Außerem gibt es ein Web-Forum, das auch für den Austausch von Nachrichten genutzt werden kann. Möglichkeiten für synchronen Nachrichtenaustausch gibt es nicht. Informations- und Dokumentenverarbeitung: Leider funktionierte das Dateien-Modul auf keiner des Testinstallationen reibungslos. Verantwortlich dafür ist ein SoftwareBug, der nach Angaben der Entwickler bereits in der nächsten Version, 0.6.7, behoben sein soll. Ab Mitte April 2003 soll es das neue Release geben. Die Kategorie News dient als eine Art Nachrichten-Ticker, der von ausgewählten Personen gefüllt werden kann. Diese News-Funktion dient als Informationsdrehscheibe. Außerdem gibt es die Möglichkeit, sich W3-Channels einzurichten, das funktioniert mit allen Web-Seiten, die Inhalte in RSS- oder MCF-Format anbieten. Zudem können noch Notizen verwaltet werden, der Gruppenaspekt ist auch dabei berücksichtigt, denn die Notizen können auch anderen Gruppenteilnehmern zugänglich gemacht werden. Gruppenplanung: Als Planungs-Ressourcen bietet Moregroupware Kalender, Kontakte, Projekte, ToDos, Trouble-Ticket-System, Outboard und PartProg. Der Kalender bietet umfangreiche Funktionen für die Terminplanung, etwa Wiederholungen. Alle Teilnehmner, sie können leider nur einzeln ausgewählt werden, bekommen den Termin in ihrem Kalender angezeigt. Die Kontakt- und Projektverwaltung deckt den Bereich der strukturierten Planung ab, bei beiden Modulen gibt es auch eine implementierte Suchfunktion. Das Outboard erfasst die Anwesenheitszeiten der Mitarbeiter und das PartProg zeigt eine Übersicht von Partner-Programmen. KAPITEL 4. WEB-BASIERTE OPEN-SOURCE-GROUPWARE 4.7.6 68 Fazit Bei Moregroupware ist der Name Programm: Dieses Programm bietet wirklich mehr Funktionen als die meisten Groupware-Produkte auf dem Markt. Das Bild wird von dem fehlerhaften Dateien-Modul getrübt, das die Entwickler im nächsten Release gefixt haben wollen. Aufwand: Der Aufwand für die Installation ist weder besonders hoch noch niedrig. Die hohe Funktionalität setzt ein funktionierendes LAMP-System voraus, Moregroupware selbst einzurichten, erfordert nicht allzu viele Schritte. Auch der Aufwand für die Administration ist in etwa durchschnittlich, zwar sind Benutzer und Gruppen schnell eingerichtet, die Fülle an Programm-Modulen bringt aber auch Konfigurationsarbeit mit sich. Kosten: Moregroupware ist kostenlos erhältlich. Bedienbarkeit: Moregroupware lässt sich intuitiv bedienen, die Seitenstruktur ist sehr übersichtlich und die wichtigsten Funktionen sind klar erkennbar, das gilt auch für alle Tätigkeiten, die der Administrator ausführen muss. Erweiterbarkeit: Moregroupware basiert auf einem Modulkonzept, das bedeutet dass zusätzliche Funktionalitäten leicht nachgerüstet werden können, ohne dass das Programm neu gestartet werden muss. Interessanterweise wird an der Integration des SyncML-Standards gearbeitet, was den Datenabgleich mit kompatiblen Geräten wie PDAs und Mobiltelefonen ermöglichen soll. Flexibilität: Moregroupware bietet asynchronen Nachrichtenaustausch, Informations- und Dokumentenverarbeitung und Gruppenplanung für Aufgaben jedes Strukturierungsgrades. Die Software ist sehr flexibel einsetzbar. Integrierbarkeit: Auch die Integration in bestehende Systeme ist gegeben. So lassen sich vorhandene LDAP-Verzeichnisse, Web-Server und E-Mail-Server nutzen. Problematisch ist lediglich der Import von Daten aus anderen Groupware-Programmen. Sicherheit: Moregroupware unterstützt verschlüsselte Verbindungen über https. Zugang ist nur für registrierte Benutzer durch Kennung und Passwort möglich. Module für SmartCards gibt es nicht. Skalierbarkeit: Moregroupware gibt keine Beschränkungen für die maximale Anzahl von Benutzern und Gruppen vor. KAPITEL 4. WEB-BASIERTE OPEN-SOURCE-GROUPWARE 4.8 69 phpCollab Das phpCollab-Projekt im Internet: www.phpcollab.com/phpbb/index.php 4.8.1 Entwicklung und Vitalität phpCollab ist ein sehr aktives Projekt, das von zwölf Entwicklern betreut wird. An der Software wird schon seit gut zwei Jahren entwickelt, freigegeben wurde aber erstmals eine Version Ende 2002. Die aktuelle Version ist 2.4, die Entwicklerversion 2.5 soll ausdrücklich nur von Programmierern benutzt werden, hier sind zahlreiche neue Funktionen zu erwarten. 4.8.2 Voraussetzungen Die Groupware-Applikation setzt ein LAMP-System voraus, wie es in Kapitel 6.1 beschrieben wird. Neben MySQL unterstützt phpCollab auch den Datenbank-Server PostgreSQL. 4.8.3 Installation Von der Web-Seite www.phpcollab.com kann das Quell-Paket kostenlos geladen werden. Es trägt den Namen phpcollab-2.4.tar.gz und kann in ein beliebiges Verzeichnis gespeichert werden, etwa in /usr/local/src. KAPITEL 4. WEB-BASIERTE OPEN-SOURCE-GROUPWARE 70 #Wechsel ins Dokument-Root-Verzeichnis cd /var/www/htdocs #Root-Rechte bekommen su #phpCollab-Quellen nach /var/www/htdocs entpacken tar xvzf /usr/local/src/phpcollab-2.4.tar.gz #Wechsel ins phpCollab-Verzeichnis cd phpcollab #Einstellungs-Skript umbenennen mv includes/settings blank.php includes/settings.php #Besitzer und Gruppen von settings.php ändern chown nobody.nogroup includes/settings.php #Volle Schreib- und Leserechte setzen chmod -R 777 files/ chmod -R 777 logos clients/ chmod 777 includes/settings.php Bevor die eigentliche Installation beginnen kann, sind noch kleine Arbeiten an der Datenbank nötig. #Datenbank namens phpcollab anlegen mysqladmin -u root -p create phpcollab #Datenbank-Nutzer namens phpcoll mit Passwort phpcoll00 anlegen mysql -u root -p grant all on phpcollab.* to phpcoll@localhost identified by "phpcoll00"; exit; Über den URL http://localhost/phpcollab/installation/setup.php kann man die restliche Konfiguration im Browser vornehmen. Nach dem Setup sollte die Datei setup.php gelöscht werden. Im Wesentlichen sind folgende Einträge wichtig: Der Installationstyp sollte normalerweise ”offline” sein. Der Datenbank-Server heißt localhost, Login ist phpcoll, Passwort lautet phpcoll00 und der Datenbankname ist phpcollab. Neue Ordner werden mit PHP angelegt und das Root-Verzeichnis sollte bereits richtig auf http://localhost/phpcollab gesetzt sein. Zuletzt muss noch ein Admin-Passwort festgelegt werden. KAPITEL 4. WEB-BASIERTE OPEN-SOURCE-GROUPWARE 4.8.4 71 Start und Administration Über die Web-Adresse http://localhost/phpcollab ist die Groupware-Applikation jetzt zugänglich. Die ersten Schritte sollten sein: • Neue Benutzer anlegen: Das funktioniert über die Kategorie Benutzerverwaltung. • Projekte hinzufügen: Dafür gibt es das Modul Projekt-Manager. • Kunden hinzufügen: Kunden lassen sich über ein eigenes Modul verwalten. 4.8.5 Funktionalität Bei phpCollab ist eine besondere Sichtweise in die Bedienung des Programms eingeflossen, die es von anderen Groupware-Applikationen unterscheidet: Es wird eine so genannte Projekt-Sicht verwendet, das bedeutet alle Tätigkeiten werden Projekt-bezogen verwaltet. Die Projekt-Verwaltung zeigt als Unterkategorien eines Projekts folgende Punkte an: Detaillierte Projekt-Beschreibung, Support-Anfragen, Aufgabenplanung, Diskussionsforum, Team-Mitglieder, Dokumente und Notizen. Aber es gibt auch Module, die nicht Projektbezogen sind. Folgende Module sind übergeordnet: Kundenverwaltung, Berichte, Suchfunktion, Kalender und Lesezeichen. Jedes Gruppenmitglied hat dabei die Sicht auf die eigenen Projekte, also auf die Projekte, an denen es mitarbeitet. Nachrichtenaustausch: phpCollab unterstützt durch das Diskussionsforum asynchrone Kommunikation zwischen den Benutzern. Information- und Dokumentenverwaltung: Notizen werden bei phpCollab stets Projekt-bezogen verfasst und auch abgespeichert. Sie müssen explizit auf der ProjektSeite veröffentlicht werden, damit andere Teilnehmer sie lesen könnne. Die KundenVerwaltung ist eine Datenbank, die Kunden-bezogene Informationen verwaltet. Berichte dienen dazu, Arbeitsergebnisse, das können Zwischenergebnisse oder Endergebnisse sein, festzuhalten. Ein Bericht wird dabei automatisch aus den Projektbezogenen Daten generiert; dazu können einzelne Aufgaben nach Status und Priorität abgefragt werden. Die verknüpften Projekt-Inhalte sind nichts anderes als ein System zum Verwalten von Dokumenten, natürlich wieder in der speziellen Projektsicht. Das funktioniert sehr gut, es gibt sogar die Möglichkeit einer Vorschau, lokale Speicherung und auch eine Versionenierung von Dokumenten. Damit das auch wie gewünscht funktioniert müssen die Parameter der maximalen Projekt-Größe und die maximale Upload-Größe für Dateien in phpCollab groß genug gesetzt werden. Die Lesezeichen-Verwaltung listet gemeinsame Web-Adressen auf. KAPITEL 4. WEB-BASIERTE OPEN-SOURCE-GROUPWARE 72 Gruppenplanung: Auch Aufgaben- und Team-Verwaltung laufen Projekt-bezogen, das bedeutet es gibt die Sicht auf Projekt-Aufgaben und eine Übersicht über die am Projekt beteiligten Personen. Die Aufgabenplanung kann unstrukturierte bis strukturierte Vorgänge verwalten. Der Kalender ist aus der Projekt-Sicht ausgegliedert. Was zuerst wie ein Bruch des logischen Konzepts aussieht, wird verständlich wenn man annimmt, dass es Personen gibt, die in mehreren Projekten gleichzeitig vertreten sind. Eine umfassende Lösung mit dem Ein- und Ausblenden von bestimmten Projekt-Terminen wäre zwar auch möglich, aber von Implementierungsaufwand her wesentlich größer. 4.8.6 Fazit phpCollab bringt durch die erzeugte Projekt-Sicht einen zusätzlichen Gruppenaspekt mit ein, der sich auf die Zusammenarbeit positiv auswirkt. Das Arbeiten mit dieser Software macht Spaß, sie ist Ressourcen-schonend, übersichtlich, funktional hochwertig und komfortabel zugleich. Aufwand: Der Installations-Aufwand für phpCollab selbst ist gering, jedoch ist zum Betrieb ein LAMP-System nötig, was den Gesamtaufwand durchschnittlich macht. Für die Administration ist der Aufwand höher, das spiegelt sich aber in der Funktionalität wieder. Grundsätzlich gilt, je mehr Projekte vorhanden sind, desto höher wird der Aufwand für die Administration. Kosten: phpCollab ist kostenlos erhältlich. Bedienbarkeit: Die Bedienbarkeit ist sehr intuitiv und funktioniert in den gängigen Browsern. Das einzig unkonventionelle ist das strikte Denken in Projekten, was sich aber nach einer gewissen Einarbeitungszeit als sehr nützlich erweist. Auch die Administration erfordert keinen großen Lernaufwand. Erweiterbarkeit: phpCollab kommt als Rund-um-Paket und ist funktional nicht ohne Komplett-Update erweiterbar. Flexibilität: phpCollab kann vollständig über den Browser bedient und administriert werden. Zudem ist es schnell und stabil. Unterstützung für andere Datenbanken als MySQL ist vorhanden, etwa für PostgreSQL. Die drei Bereiche Nachrichtenaustausch, Informationsverarbeitung und Gruppenplanung deckt phpCollab größtenteils ab. Integrierbarkeit: phpCollab nutzt außer dem LAMP-System keine vorhandenen Komponenten. Bestehende Mail-Server und Daten aus bereits verwendeten GroupwareProgrammen können nicht integriert werden. KAPITEL 4. WEB-BASIERTE OPEN-SOURCE-GROUPWARE 73 Sicherheit: phpCollab kann über eine https-Verbindung betrieben werden. Für ein Backup muss der Administrator auf die Funktionen der Datenbank zurückgreifen. Skalierbarkeit: Es gibt keine Beschränkung für die Anzahl der Benutzer oder Gruppen bzw. Projekte. 4.9 phpGroupware Das phpGroupware-Projekt im Internet: www.phpgroupware.org 4.9.1 Entwicklung und Vitalität phpGroupware bezeichnet sich selbst als Multi-User Groupware-Suite. Wie schon der Name vermuten lässt ist phpGroupware in PHP geschrieben, das Projekt hat seine Ergebnisse unter der GPL veröffentlicht. Momentan ist Version 0.9.14.002 aktuell. Das Projekt gehört zu den aktivsten OpenSource-Entwicklungen überhaupt. Laut einer Statistik ist phpGroupwara das drittaktivste Projekt, das bei Sourceforge gehostet wird. Es gibt auch eine deutsche phpGroupware-Community, die sehr aktiv ist. Sie ist unter www.phpgw.de zu finden. 4.9.2 Voraussetzungen Um phpGroupware installieren zu können ist ein funktionierendes LAMP-System nötig2 . Details für die Installation sind in Abschnitt 6.1 zu finden. 4.9.3 Installation Für die Installation sind natürlich die Quellpakete von phpGroupware nötig, sie können unter www.phpgroupware.org geladen werden. Das Quellpaket hat den Namen phpGroupWare.0.9.14.002.tar.gz. Es kann in ein beliebiges Verzeichnis gespeichert werden, etwa in /usr/local/src. Wichtig ist, dass es in das richtige Verzeichnis entpackt wird, und zwar in das DocumentRoot-Verzeichnis des Web-Servers. Bei der in Abschnitt 6.1 beschriebenen Installation 2 phpGroupware unterstützt auch PostgreSQL KAPITEL 4. WEB-BASIERTE OPEN-SOURCE-GROUPWARE 74 ist es das Verzeichnis /var/www/htdocs, bestehende Apache-Installationen verwenden aber auch oft /var/www/html. #Wechsel ins Dokument-Root-Verzeichnis cd /var/www/htdocs #Root-Rechte bekommen su #phpGroupware-Quellen nach /var/www/htdocs entpacken tar xvzf /usr/local/src/phpGroupWare-0.9.14.002.tar.gz #Wechsel ins phpGroupware-Verzeichnis cd phpgroupware Die aktuelle phpGroupware-Version wurde zwar erst im März 2003 veröffentlicht, wegen der rasanten Entwicklung ist die Software aber nicht mehr auf dem ganz aktuellen Stand. Ein Update über CVS aktualisiert die Pakete und spielt die letzten Patches ein. #CVS-Update starten cvs -z6 update -dP > cvs.log Bevor die eigentliche Installation beginnen kann, sind noch kleine Arbeiten an der Datenbank nötig. #Datenbank namens phpgroupware anlegen mysqladmin -u root -p create phpgroupware #Datenbank-Nutzer namens phpgw mit Passwort phpgw00 anlegen mysql -u root -p grant all on phpgroupware.* to phpgw@localhost identified by "phpgw00"; exit; Die Setup-Routine von phpGroupware läuft über einen Web-Browser, aus diesem Grund müssen die Setup-Dateien über den Web-Server zugreifbar sein. Dabei gibt es die Methode, für kurze Zeit das phpGroupware-Verzeichnis für jeden zugänglich zu machen, danach das Setup auszuführen und anschließend die Rechte wieder zurückzusetzen. Das ist die einfachste Methode. KAPITEL 4. WEB-BASIERTE OPEN-SOURCE-GROUPWARE 75 #phpGroupware-Verzeichnis zugreifbar machen chmod a+w ../phpgroupware Im phpGroupware-Verzeichnis gibt es für jede Anwendung wieder ein Unterverzeichnis. Besonders wichtig ist das Unterverzeichnis files. Dort werden Gruppen und Benutzer nebst Ihren Dateien verwaltet, das ist für das Dokumenten-Management entscheidend. Wie oben angesprochen soll das phpGroupware-Verzeichnis nach dem Setup nicht mehr für alle zugreifbar sein; aus diesem Grund wird das Verzeichnis files an einen anderen Ort ausgelagert, der vom Sicherheitsaspekt her nicht so kritisch ist, wie das phpGroupware-Verzeichnis. Gut geeignet ist etwa ein Unterverzeichnis eines lokalen Benutzers. Das Home-Verzeichnis des Beispielbenutzers joerg befindet sich in /home/joerg. #Unterverzeichnis phpgwadmin in /home/joerg anlegen mkdir /home/joerg/phpgwadmin #Verzeichnis files nach /home/joerg/phpgwadmin verschieben mv ./files/ /home/joerg/phpgwadmin #Rechte für files und Unterverzeichnisse anpassen chmod -R a+w /home/joerg/phpgwadmin/files Über den URL http://localhost/phpgroupware/setup/ kann die Konfiguration mittels eines Web-Browsers beginnen. Wichtig ist nach Aufruf der Adresse, dass sich das System meldet und die angebundene Datenbank erkennt. Normalerweise lautet diese Meldung You appear to have MySQL support enabled“. Auf der aktuellen Seite wird die Da” tei header.inc.php konfiguriert. Wichtig sind die Einstellungen Server Root, das ist der Pfad zur phpGroupware-Installation, im vorliegenden Beispiel /var/www/htdocs/phpgroupware. Das Feld Include Root wird mit dem gleichen Pfad verknüpft. Jetzt gilt es noch, ein Admin-Passwort für dieses Konfigurationsskript zu wählen. Der Datenbank-Host ist localhost, alternativ kann hier auch die IP-Adresse des Servers angegeben werden. Der DB Name ist phpgroupware, der Benutzer phpgw mit dem angelegten Passwort phpgw00. Der Typ der verwendeten Datenbank ist mysql, ein Konfigurationspasswort kann frei gewählt werden. Die restlichen Einstellungen sind in Ordnung, mit dem Knopf write config können die Einstellungen gespeichert werden. Danach geht es weiter mit continue. Die Datei header.inc.php ist geschrieben und die Installation ist abgeschlossen. KAPITEL 4. WEB-BASIERTE OPEN-SOURCE-GROUPWARE 4.9.4 76 Start und Administration phpGroupware muss nicht mehr explizit gestartet werden, es läuft bereits. Unter der WebAdresse http://localhost/phpgroupware kann man sich als Benutzer mit Kennung und Passwort einloggen. Auch der Administrator benutzt diese Seite als Login, die Sprache kann dabei schon auf Deutsch umgestellt werden. Es sind vier Schritte zu durchlaufen: Einfache Applikations-Verwaltung: Mit der Applikations-Verwaltung lassen sich die einzelnen Programm-Module installieren. Das geht einfach durch das Abhaken einer Checkbox. Das phpGroupware-Paket bringt alle 44 Module mit, einige lassen sich nicht beim ersten Mal installieren, weil sie auf anderen Modulen aufsetzen. Geht man ein zweites Mal in die Applikations-Verwaltung, so kann man diese Pakete nachinstallieren. Konfiguration: Unter diesem Menüpunkt wird die aktuell vorhandene Konfiguration bearbeitet. Wichtig ist der richtige Pfad zu den Benutzer-Verzeichnissen, sonst kann man sich später nicht einloggen: er lautet /home/joerg/phpgwadmin/files. Der URL zur phpGroupware-Installation lautet http://localhost/phpgroupware. Alle anderen Einstellungen sind momentan noch nicht von Belang, etwa kann man in diesem Menü den Pfad zu einem E-Mail-Server angeben oder einen LDAPDienst integrieren. Hier können auch schon ein Admin-Account und Demo-Accounts angelegt werden. Sprach-Verwaltung: Die Sprach-Verwaltung muss eigentlich nicht aufgerufen werden, Deutsch ist gleich zu Anfang mitinstalliert. Erweiterte Applikations-Verwaltung: Die erweiterte Applikations-Verwaltung ist für das eigentliche Installieren und Entfernen der Module zuständig. Sollte nachträglich etwas an der Datei header.inc geändert werden müssen, so gibt es zwei Wege: Entweder das phpGroupware-Verzeichnis wird für jedermann geöffnet und der Admin führt die Konfiguration über http://localhost/phpgroupwre/setup durch, oder er loggt sich per ssh auf dem Server ein und editiert das Skript von Hand. Wenn man die erste Methode wählt, sollte man die Rechte nach Beendigung des Setups wieder zurücksetzen. 4.9.5 Funktionalität phpGroupware ist ein sehr ehrgeiziges Projekt. Seit kurzem ist es sogar Teil eines speziellen Förderprojekts in Niedersachsen, was erstens einige Umbauarbeiten beim Design KAPITEL 4. WEB-BASIERTE OPEN-SOURCE-GROUPWARE 77 mit sich brachte und zweitens den Funktionsumfang um zahlreiche Neuheiten erweitert hat. Aktuell umfasst phpGroupware 44 installierbare Applikationen, wobei deren Versionsstatus von 0.0.0.2 bis zu 0.9.14 reicht3 . Nachrichtenaustausch: phpGroupware ist vielseitig bestückt, wenn es um Nachrichtenaustausch geht. Natürlich ist eine Anbindung an ein E-Mail-System integriert. phpGroupware selbst bringt keinen E-Mail-Server mit, stattdessen arbeitet es mit bestehenden Servern auf Anhieb zusammen, etwa mit Sendmail. Stimmen der Benutzername von phpGroupware und der Account-Name des Mail-Servers überein, so lässt sich E-Mail von jedem Nutzer selbst einstellen. Nötig sind nur MailserverAdresse und Passwort. Stimmen die Namen nicht überein, so muss der Administrator für die geeigneten E-Mail-Einstellungen sorgen, das geht über die Benutzerverwaltung. Eine Chat-Funktion ist auch integriert, sie funktioniert basierend auf Gruppen oder auch mit auswählbaren Gesprächspartnern. Auch ein Forum kann den einzelnen Gruppen zur Verfügung gestellt werden, die Überwachung von externen Newsgroups übernimmt ein gesondertes Tool. Informations- und Dokumentenverarbeitung: Bei der Verarbeitung von Informationen und Dokumenten bietet phpGroupware einiges: Ein Adress-Buch übernimmt die Verwaltung von Kontaktdaten, ein Content-Manager ist für das Publizieren von Online-Inhalten zuständig und über das Umfrage-Tool kann man eine Abstimmung innerhalb der Gruppenmitglieder steuern. Für unstrukturierte Informationen gibt es eine Notiz-Möglichkeit und eine To-Do-Liste. Mit den Headlines können aktuelle Informationen als eine Art Ticker verbreitet werden, und die Bookmarks bilden einen gemeinsamen Fundus für nützliche Web-Adressen. Gruppenplanung: Auch bei der Gruppenplanung deckt phpGroupware das gesamte Spektrum der Strukturierung ab. Der Kalender kann unstrukturierte bis semi-strukturierte Einträge verwalten. Dagegen ist das TimeTrack-Modul durchgängig strukturiert und achtet auf die Anwesenheit der Gruppenmitglieder. Das lässt sich für eine Workflow-Planung nutzen. Die Projektverwaltung bietet auch semi-strukturierte Funktionalität an, wobei die Tendenz hierbei schon zur strukturierten Projektplanung geht. 4.9.6 Fazit phpGroupware hat auf jeden Fall das Zeug dazu, proprietären Lösungen das Wasser zu reichen. Funktionsumfang und Administrierbarkeit sind auf jeden Fall sehr gut gelungen. Zwar wird phpGroupware auch in der Praxis schon oft eingesetzt, im Zuge des 3 0.9.14.002 ist der aktuelle Versionsstand von phpGroupware KAPITEL 4. WEB-BASIERTE OPEN-SOURCE-GROUPWARE 78 Re-Designs wurden aber einige Applikationen, etwa die Dokumentenverwaltung neu geschrieben. Besonders dieses Modul, das momentan erst in Version 0.0.0.2 zur Verfügung steht, wird wohl in Zukunft noch mehr Funktionen erhalten, die beim Einsatz in der Praxis sehr nützlich sind. Aufwand: Der Aufwand für die Installation von phpGroupware ist relativ hoch im Vergleich zu anderen Open-Source-Groupware-Lösungen. Setzt man aber die erhaltene Funktionalität dazu in Relation, so relativiert sich dies sofort. Wichtig ist am Anfang, dass man sich darüber im klaren ist, welche Funktionen man braucht und welche nicht. Als Voraussetzung wird ein LAMP-System benötigt. Auch die Administration ist aufwändiger als bei der Konkurrenz, das liegt aber an der großen Menge von Einstellungsmöglichkeiten, die phpGroupware bietet. Kosten: phpGroupware ist kostenlos erhältlich. Bedienbarkeit: Die Bedienung ist sehr intuitiv. Bei der Installation aller Module sind die verwendeten Icons aber meist nicht sehr hilfreich. Administratoren sollten demnach auch ohne Probleme mit der Software zurecht kommen. Erweiterbarkeit: phpGroupware dürfte eines der mächtigsten Groupware-Systeme überhaupt sein, es existieren diverse Projekte, die Ergänzungen zu phpGroupware entwickeln. Der modulare Aufbau der Software unterstützt die Integration von ZusatzFunktionen. phpGroupware war das einzige Projekt, das eine Synchronisation mit einem PalmOS-Client zu Stande brachte und einige Firmen setzen es bereits in Zusammenarbeit mit Microsofts Client Outlook ein. Flexibilität: phpGroupware ist sehr flexibel. Aus dem reichhaltigen Angebot an Modulen kann man sich genau die erforderliche Groupware zusammenstellen - man sollte aber nur die Module installieren, die man wirklich braucht, sonst wird es leicht unübersichtlich. Integrierbarkeit: phpGroupware nutzt bestehende E-Mail-Server, außerdem werden LDAP-Verzeichnisse unterstützt. Sicherheit: Eine Verbindung über https kann ohne Probleme eingerichtet werden. Für die Datensicherung aus phpGroupware heraus gibt es ein gesondertes Modul. Skalierbarkeit: Es gibt keine Begrenzung für die Anzahl von Benutzern oder Gruppen. 4.10 PHPNuke Das PHPNuke-Projekt im Internet: www.phpnuke.org KAPITEL 4. WEB-BASIERTE OPEN-SOURCE-GROUPWARE 4.10.1 79 Entwicklung und Vitalität PHPNuke bezeichnet sich selbst nicht als Groupware-Applikation, vielmehr soll es ein Web-Portal-System sein, und wird auch gerne als Redaktionssystem oder wie es neuerdings heißt Content-Management-System, eingesetzt. Trotzdem erfüllt das Programm wichtige Anforderungen an Groupware-Systeme und ist gleichzeitig auch weit verbreitet. Vor allem bei der Verarbeitung von Informationen kann PHPNuke punkten. Das Projekt ist sehr aktiv, das merkt man auch daran, dass einige Hacks existieren, also Programm-Ergänzungen, die bestimmte Funktionen zur Verfügung stellen: Etwa gibt es einen File-Manager, der über die Kommandozeile bedient wird und Dateien in einem Download-Verzeichnis verwaltet. 4.10.2 Voraussetzungen Um PHPNuke installieren zu können ist ein funktionierendes LAMP-System nötig. Details für die Installation sind in Abschnitt 6.1 zu finden. Zwar wird MySQL als Datenbank empfohlen, aber auch mSQL, PostgreSQL, PostgreSQL local, ODBC, ODBC Adabas, Interbase und Sybase funktionieren. 4.10.3 Installation Die aktuelle Progammversion von PHPNuke kann bei www.phpnuke.org geladen werden. Momentan ist die Version 6.5 aktuell, die Entwicklerversion befindet sich bei 6.5 Beta 2. Das aktuelle Quellarchiv hat den Namen PHP-Nuke-6.5.tar.gz und kann nach /usr/local/src/phpnuke gespeichert werden. Jetzt kann man das Quellarchiv auspacken und in das Document-Root-Verzeichnis des Apache verschieben. #Ins Verzeichnis /usr/local/src/phpnuke wechseln cd /usr/local/src/phpnuke #Archiv auspacken tar xvzf PHP-Nuke-6.5.tar.gz #Verzeichnis phpnuke ins Document-Root-Verzeichnis verschieben mv ../phpnuke/ /var/www/htdocs KAPITEL 4. WEB-BASIERTE OPEN-SOURCE-GROUPWARE 80 Im nächsten Schritt muss eine Tabelle in der Datenbank angelegt werden, zusätzlich ein Nutzer, der auf diese neue Tabelle vollen Zugriff hat. #Datenbank namens phpnuke anlegen mysqladmin -u root -p create phpnuke #Datenbank-Nutzer namens phpnk mit Passwort phpnk00 anlegen mysql -u root -p grant all on phpnuke.* to phpnk@localhost identified by "phpnk00"; exit; Im nächsten Schritt wird ins PHPNuke-Verzeichnis gewechselt, dort liegen im Unterordner html alle Konfigurationsdateien. In der Datei config.php müssen noch einige Einstellungen getätigt werden: #In Unterordner html wechseln cd /var/www/htdocs/phpnuke/html #Datenbank-Host setzen $dbhost = "localhost"; #Datenbankbenutzer bestimmen $dbuname = "phpnk"; #Passwort des Datenbankbenutzers bestimmen $dbpass = "phpnk00"; #Tabellenname eintragen $dbname = "phpnuke"; Die Zeilen mit den Variablen $prefix und $user prefix sollten auf den Werten nuke gelassen werden, sonst kommt es beim Anlegen der Datenbanken zu Komplikationen. Ein Problem gibt es nur, wenn mehrere Nuke-Server auf einen Datenbestand zugreifen. Dann müssen die Prefixe angepasst werden, für einen Server nicht. Um alle Tabellen zu erstellen, die für den Betrieb von PHPNuke gebraucht werden, liegt im Verzeichnis phpnuke/sql die Datei nuke.sql. #In SQL-Verzeichnis von PHPNuke wechseln cd /var/www/htdocs/phpnuke/sql #nuke.sql laden mysql -u root -p phpnuke < nuke.sql KAPITEL 4. WEB-BASIERTE OPEN-SOURCE-GROUPWARE 81 Die Installation ist jetzt abgeschlossen, PHPNuke kann über einen Browser konfiguriert werden. 4.10.4 Start und Administration Über den URL http://localhost/phpnuke/html/admin.php kann die Konfiguration von PHPNuke begonnen werden. Zuerst muss ein Login und Passwort für den Administrator festgelegt werden. Die ersten Schritte sollten sein: Benutzer anlegen und Module konfigurieren; die entsprechenden Module sind selbsterklärend. 4.10.5 Funktionalität Nachrichtenaustausch: Für den asynchronen Nachrichtenaustausch steht ein Messenger zur Verfügung, der eine Web-basierte E-Mail-Funktion zur Verfügung stellt. Ein Newsletter kann an ausgewählte Gruppenmitglieder versendet werden. Eine weitere Möglichkeit bietet das angegliederte Forum, ein typisches BBS. Informations- und Dokumentenverarbeitung: Wie bereits erwähnt ist phpNuke eher als Content-Management-System zu bezeichnen als als Groupware. Es gibt daher die Möglichkeit, bestimmte Themenbereiche, so genannte Topics, anzulegen. Diese können dann mit Artikeln zum jeweiligen Thema befüllt werden. Gemeinsame Ressourcen verwalten Web-Link, das ist eine Bookmark-Sammlung, und die Enzyklopädie. Gruppenplanung: Besondere Tools zur Gruppenplanung stellt phpNuke nicht bereit. 4.10.6 Fazit phpNuke ist vom Ansatz her keine waschechte Groupware und erhebt auch nicht den Anspruch eine solche zu sein. Die Funktionen für die Gruppenplanung, etwa ein Kalender oder ein Projekt-Planer, fehlen gänzlich. Dagegen bieten sich vor allem einige Funktionen zum asynchronen Nachrichtenaustausch an. Seine Stärken hat phpNuke aber bei der Informations- und Dokumentenverarbeitung: Hier steht der Content-Manager im Vordergrund, der es erlaubt Artikel zu bestimmten Themenbereichen zu publizieren. Aufwand: Der Aufwand für die eigentliche Installation ist nicht besonders hoch. Zusammen mit der Einrichtung des LAMP-Systems befindet sich phpNuke im Mittelfeld der evaluierten Groupware-Lösungen. Auch der Aufwand für die Administration ist nicht besonders hoch, obwohl es über 20 Software-Module gibt. KAPITEL 4. WEB-BASIERTE OPEN-SOURCE-GROUPWARE 82 Kosten: phpNuke ist als Open-Source-Projekt kostenlos erhältlich. Bedienbarkeit: Leider ist der Groupware-Gedanke bei phpNuke nicht verwirklicht, im Vordergrund steht, wie bei CM-Systemen üblich, die Publikation von Erzeugung, Verarbeitung und Distribuierung von Inhalten. Trotzdem ist das Programm recht einfach zu bedienen und übersichtlich aufgebaut. Erweiterbarkeit: Durch den modularen Aufbau ist die Software leicht erweiterbar, bei Updates werden auch nur die überarbeiteten Module eingespielt. Flexibilität: phpNuke gefällt als Programm zwischen reinen CM-Systemen und Groupware. Wer aus beiden Welten Funktionalitäten braucht, für den kann phpNuke interessant sein. phpNuke ist auch als Groupware-Programm gut einsetzbar, wenn man auf die Planungstools verzichten kann. Integrierbarkeit: phpNuke arbeitet auf Apache und kann sonst keine vorhandene Software nutzen. Sicherheit: phpNuke kann über eine https-Verbindung betrieben werden, andere Authentifizierungs-Mechanismen nutzt es nicht. Für ein Backup der Datenbank ist ein eigenes Modul vorgesehen. Skalierbarkeit: phpNuke kennt keine Beschränkung für die Anzahl der Nutzer oder Module. 4.11 PHProjekt Das PHProjekt im Internet: www.phprojekt.com 4.11.1 Entwicklung und Vitalität Das PHProjekt bezeichnet sich selbst als Open-Source-Groupware-Suite, die sich auf Information-Sharing und Dokumenten-Management spezialisiert hat. Die aktuelle Version ist 4.0. Die Software ist in 28 Sprachen verfügbar und unterstützt die Zusammenarbeit mit unterschiedlichen Datenbanken, etwa mit PostgreSQL. KAPITEL 4. WEB-BASIERTE OPEN-SOURCE-GROUPWARE 4.11.2 83 Voraussetzungen Das PHProjekt setzt Server-seitig einen Web-Server mit PHP-Parser voraus, der Zugriff auf eine SQL-Datenbank hat. Eine typische Umgebung ist ein LAMP-4 oder WAMPSystem. Der Nutzer muss als Client einen framefähigen Browser haben und Javascript sollte aktiviert sein. 4.11.3 Installation Die aktuelle Progammversion von PHProjekt kann bei www.phprojekt.com geladen werden. Das aktuelle Quellarchiv hat den Namen phprojekt.tar.gz und kann nach /usr/local/src gespeichert werden. Jetzt kann man das Quellarchiv auspacken und in das Document-Root-Verzeichnis des Apache-Servers verschieben. #Archiv auspacken tar xvzf phprojekt.tar.gz #Verzeichnis phprojekt ins Document-Root-Verzeichnis verschieben mv ../phprojekt-4.0/ /var/www/htdocs Jetzt muss noch eine leere Datenbank angelegt werden, die PHProjekt nutzen kann. Das ist in wenigen Schritten erledigt: #Datenbank namens phprojekt anlegen mysqladmin -u root -p create phprojekt #Datenbank-Nutzer namens phpr mit Passwort phpr00 anlegen mysql -u root -p grant all on phprojekt.* to phpr@localhost identified by "phpr00"; exit; Bevor die eigentliche Konfiguration beginnen kann, muss der Nutzer, unter dessen ID der Apache läuft, Schreibrechte bekommen. 4 Zur Einrichtung siehe 6.1 KAPITEL 4. WEB-BASIERTE OPEN-SOURCE-GROUPWARE 84 #Besitzverhältnisse des PHProjekt-Verzeichnisses rekursiv ändern chown -R nobody phprojekt-4.0 Das PHProjekt ist fertig installiert und kann über einen Web-Browser konfiguriert werden. 4.11.4 Start und Administration Im Web-Browser kann man über den URL http://localhost/phprojekt-4.0/setup.php das Konfigurationsmenü aufrufen. Dabei gibt es drei Login-Möglichkeiten: Erstinstallation, Update und Konfiguration. Logischerweise sollte jetzt Erstinstallation ausgewählt werden. Auch die Sprache kann sofort festgelegt werden, Deutsch ist auch dabei. Auf der nächsten Seite sind noch einmal alle Voraussetzungen aufgelistet, eine leere Datenbank und Schreibrechte für den Web-Server. Jetzt müssen Datenbanktyp, Hostname, Nutzername, Passwort und der Name der Datenbank gewählt werden. db typ = mysql Hostname = localhost Nutzername = phpr Passwort = phpr00 Name der existierenden Datenbank = phprojekt Jetzt sollte eine Meldung erscheinen, dass die Datenbankanbindung funktioniert. Der nächste Schritt umfasst bereits die Auswahl der Applikationen. Die vorhandenen Groupware-Module stehen dabei in einer Liste zur Auswahl. In einem Eingabefeld neben dem beschriebenen Modul kann eine ”1” für ”Installieren” oder eine ”0” für ”Nicht Installieren” ausgewählt werden. Bei einigen Modulen zeigt sich bereits jetzt die Projekt-Orientierung von PHProjekt. Etwa lässt sich bei der Zeiterfassung festlegen, ob Kommen/Gehen als Arbeitszeit oder Pause gerechnet werden sollen - bereits hier sollte eine Absprache zwischen Technikabteilung und Geschäftsführung solche Kriterien festgelegt haben, das spart später viel Konfigurationsarbeit. Jetzt muss noch ein Admin-Passwort gewählt werden, die Default-Einstellung ”root” sollte nicht beibehalten werden. Außerdem lässt sich ein LDAP-Server eintragen und angeben, ob Passworte verschlüsselt werden sollen. Zum Abschluss können noch lokale Parameter wie Uhrzeit und Währungssymbol und das Seiten-Layout eingerichtet werden. Nach Absenden des Formulars erfährt man sofort, ob die Einrichtung funktioniert hat. Das ist in der Regel der Fall, weil nur die Schreibrechte in die Datenbank von Bedeutung sind. KAPITEL 4. WEB-BASIERTE OPEN-SOURCE-GROUPWARE 85 Jetzt ist die Datei config.inc.php neu geschrieben worden. Aus Sicherheitsgründen sollte man davon eine Kopie anlegen. Außer dem Adminı́strator, er trägt die Kennung root, wird noch ein Benutzer mit Kennung test angelegt, der der Gruppe default angehört. Über die Web-Adresse http://localhost/phprojekt-4.0/index.php kann man sich jetzt einloggen. 4.11.5 Funktionalität PHProjekt ist eine gut gelungene Software, die durch einige Besonderheiten auffällt. So springt beim Einloggen ein Pop-Up-Fenster auf, das die aktuellen Termine anzeigt. Das Programm deckt das ganze Spektrum von Groupware-Funktionalitäten ab. Nachrichtenaustausch: Das PHProjekt unterstützt sowohl synchronen als auch asynchronen Nachrichtenaustausch. Für den synchronen Part gibt es den ”Chat”, in dem sich die Gruppenmitglieder über ein Textfeld unterhalten können. Für den asynchronen Teil gibt es ein Forum und ein E-Mail-Modul. Informations- und Dokumentenverarbeitung: Die Dokumentenverarbeitung wird von dem Programm-Modul ”Dateien”erledigt. Dabei können die Zugriffsmechanismen für einzelne Teilnehmer eingestellt werden, zusätzlich gibt es eine Möglichkeit für Versions-Management, so können Dateien aktualisiert werden. Leider funktionierten die Zugriffsrechte nicht immer wie gewünscht, das könnte in der Praxis viel Arbeit für den Administrator bedeuten. Die gemeinsame Nutzung von Informationsobjekten realisieren Kontakte, Notizen und Helpdesk für den Bereich der unstrukturierten bis semi-strukturierten Daten. Das Zeitkartensystem dokumentiert den Arbeitsaufwand der Mitarbeiter für die einzelnen Projekte. Gruppenplanung: Kalender und Projekte bieten Planungsmöglichkeiten für die Arbeitsgruppen an, dabei reicht das Spektrum von unstrukturierten Aufgaben bis zu strukturierten Projekt-Beschreibungen. 4.11.6 Fazit Besonders gut gefällt an PHProjekt, dass alle Anwendungen sofort ohne großen Aufwand funktioniert haben. Das Funktionsspektrum ist breit gefächert aber nicht unübersichtlich. Auch der Team-Gedanke ist gut in der Software umgesetzt. Aufwand: Der Installationsaufwand für PHProjekt ist durchschnittlich, weil ein betriebsfertiges LAMP-oder WAMP-System vorausgesetzt wird. Der Aufwand für die Ad- KAPITEL 4. WEB-BASIERTE OPEN-SOURCE-GROUPWARE 86 ministration hält sich in Grenzen, bei Problemen mit der Dokumentenversionierung muss der Administrator aber häufig eingreifen. Kosten: PHProjekt ist kostenlos erhältlich. Bedienbarkeit: Die Bedienung ist intuitiv und die Anordung der einzelnen Funktionen als Register verleiht dem System eine gewisse Dynamik. Erweiterbarkeit: Eine gewisse Erweiterbarkeit ist durch den modularen Aufbau gegeben, bei zu vielen Modulen geht aber das übersichtliche Gesamtkonzept verloren. Die Bestandteile von PHProjekt bilden ein sinnvolles Ganzes, was vor allem das Weglassen von Modulen überflüssig macht. Flexibilität: Die Software ist flexibel einsetzbar, sie bietet aus allen drei GroupwareBereichen Funktionalitäten an. Integrierbarkeit: Vor allem bei den Datenbanken ist PHProjekt nicht wählerisch, sechs verschiedene Server werden unterstützt. Die Verwendung mit einem bestehenden Apache 1.3.x ist auch kein Problem. Sicherheit: Eine https-Verbindung kann von PHProjekt genutzt werden. Dokumente können mit Passwort verschlüsselt werden und außerdem existieren erweiterte Benutzerrechte, die der Administrator vergeben kann. Skalierbarkeit: PHProjekt gibt keine Begrenzungen für Mitglieder oder Gruppen an. 4.12 TUTOS Das TUTOS-Projekt im Internet: www.tutos.org/homepage/index.html 4.12.1 Entwicklung und Vitalität TUTOS ist ein Akronym und steht für The Ultimate Team Organisation Software. Die Software funktioniert natürlich auch Web-basiert; die Entwicklung wurde Mitte 2000 gestartet, Verion 1.0 wurde vor kurzem erreicht. Ziel des Projekts ist es, die Verwaltung und Organisation von kleinen Gruppen oder Teams zu übernehmen. TUTOS ist im März 2003 als Projekt des Monats bei Sourceforge ausgezeichnet worden, was Rückschlüsse auf eine aktive Entwicklergemeinde zulässt. KAPITEL 4. WEB-BASIERTE OPEN-SOURCE-GROUPWARE 4.12.2 87 Voraussetzungen Für die Installation von TUTOS braucht man einen Apache Web-Server und PHP4. Zusätzlich ist eine der Datenbanken MySQL, PostgreSQL, Oracle oder Borland Interbase 5 nötig. Ein LAMP-System, wie es in Abschnitt 6.1 aufgesetzt wird, eignet sich also sehr gut zum Betrieb von TUTOS. Aktuell ist die Version 1.0, die bei den TUTOS-Paketen immer um das genaue Release-Datum ergänzt wird. Hier wird Version 1.0.20030205 betrachtet, die demnach um 5. Februar 2003 veröffentlicht wurde. 4.12.3 Installation Die aktuelle Programm-Version von TUTOS kann von www.tutos.org geladen werden; das Quellarchiv umfasst nur 2,83 MB. Die gepackte Quell-Datei trägt den Namen tutos-php-1.0.20030205.tar.bz2. Sie kann in einem beliebigen Verzeichnis gespeichert werden, etwa in /usr/local/src. Sie sollte in das Dokument-Root-Verzeichnis des Apache entpackt werden, bei der in 6.1 beschriebenen Installation ist das /var/www/htdocs. #In das Document-Root-Verzeichnis des Apache wechseln cd /var/www/htdocs #TUTOS-Quellarchiv auspacken tar xvjf /usr/local/src/tutos-php-1.0.20030205.tar.bz2 #In das TUTOS-Verzeichnis wechseln cd tutos Jetzt muss noch eine leere Datenbank angelegt werden, die TUTOS nutzen kann. Das ist in wenigen Schritten erledigt: #Datenbank namens tutos anlegen mysqladmin -u root -p create tutos #Datenbank-Nutzer namens tuto mit Passwort tuto00 anlegen mysql -u root -p grant all on tutos.* to tuto@localhost identified by "tuto00"; exit; Jetzt müssen in die Datei php/config default.pinc die Datenbankeinstellungen eingetragen werden. KAPITEL 4. WEB-BASIERTE OPEN-SOURCE-GROUPWARE 88 #Datenbank-Namen auf tutos setzen $tutos[dbname][0] = "tutos"; #Datenbank-Host setzen $tutos[dbhost][0] = "localhost"; #Datenbank-Port auf MySQL setzen $tutos[dbport][0] = 3306; #Datenbank-Benutzer setzen $tutos[dbuser][0] = "tuto"; #Passwort für Datenbank-Nutzer setzen $tutos[dbpasswd][0] = "tuto00"; #Datenbank-Typ setzen $tutos[dbtype][0] = 2; #Datenbank-Alias setzen $tutos[dbalias][0] = "MySQL database"; Jetzt müssen noch einige wichtige Tabellen angelegt werden, die TUTOS zum Betrieb braucht. Das geht über ein Konfigurationsskript, das im Browser unter der Web-Adresse http://localhost/tutos/php/scheme.php aufgerufen werden kann. Drei Schritte sind dabei zu durchlaufen. Fehlermeldungen in roter Signalfarbe sind dabei normal: wenn man genau hinsieht, dann bemerkt man, dass es sich hierbei nur um Meldungen handelt, dass bestimmte Tabellen noch nicht existieren. Diese werden dann angelegt. Die Installation ist damit abgeschlossen. • Dabenbank-Infos bestätigen • Nötige Tabellen anlegen lassen • Angaben bestätigen #Schema-Skript schützen chmod 700 php/scheme.php #Update-Skript schützen chmod 700 php/update.php #Konfigurations-Skript verstecken chmod 600 php/config default.pinc #Besitzverhältnisse für TUTOS anpassen chown -R nobody ../tutos TUTOS ist jetzt fertig installiert. KAPITEL 4. WEB-BASIERTE OPEN-SOURCE-GROUPWARE 4.12.4 89 Start und Administration Über den URL http://localhost/tutos/php/mytutos.php kann man sich mit Kennung ”superuser” und Passwort ”tutos” einloggen. Die ersten Schritte sollten sein: • Superuser-Passwort ändern • Programm-Module konfigurieren • Benutzer anlegen Diese drei Schritte können über den Reiter ”Einstellungen” vorgenommen werden. Neue Gruppe lassen sich über im Menü Gruppenübersicht anlegen, dort kann man auch die Benutzer zu einer oder mehreren Gruppen zuteilen. 4.12.5 Funktionalität Als Programm-Module gibt es Kalender, Adressen, Fehlermanagement, Projekte und Gruppenübersicht. Optionen für das aktive Fenster stehen oben links, so kann man bei der Kalenderansicht Einträge suchen oder neu anlegen. Kern der Software ist die ProjektVerwaltung. Zu jedem Projekt lassen sich Dokumente erzeugen, Änderungen vornehmen, Notizen anlegen, Rechnungen erstellen und Aufgaben definieren. Nachrichtenaustausch: Mit TUTOS ist nur asynchrone Kommunikation über eine MailFunktion möglich. In der verwendeten Version ist das Mail-Modul aber nicht enthalten, es muss also ein externer E-Mail-Zugang existieren, um die eingebundenen Funktionen zu nutzen, etwa eine Nachricht an eine Gruppe zu schicken. Informations- und Dokumentenverarbeitung: Die Dokumentenverarbeitung funktioniert bei TUTOS Projekt-bezogen, das heißt für jedes Projekt gibt es die zugehörigen Dokumente. Diese lassen sich versionieren und vom Besitzer sperren. Die Adress-Datenbank verwaltet die Kontakte, also semi-stukturierte bis strukturierte Daten. Gruppenplanung: Das Planungsspektrum reicht von unstrukturierten Aufgaben bis zu strukturierten Aufgaben. Vorhandene Tools sind der Kalender und der Projekt-Manager. KAPITEL 4. WEB-BASIERTE OPEN-SOURCE-GROUPWARE 4.12.6 90 Fazit TUTOS wird zwar momentan von vielen Seiten mit Lob überschüttet, im Gegensatz zu vielen anderen Web-basierten Groupware-Systemen ist es aber nicht besonders intuitiv zu bedienen. An vielen Stellen fehlt eine klare Navigation, wichtige Features fehlen manchmal sogar ganz. Etwa kann man sich keine Übersicht über alle Benutzer anzeigen lassen. Aufwand: Der Aufwand für die Installation von TUTOS ist hoch. Vorausgesetzt wird ein LAMP-System, dann kommen noch einge zusätzliche Konfigurationsschritte hinzu. Auch der Aufwand für die Administration ist überdurchschnittlich, das liegt aber auch daran, dass TUTOS einfach viele Einstellungsmöglichkeiten bietet. Kosten: TUTOS ist kostenlos erhältlich. Bedienbarkeit: Die Bedienbarkeit ist im Vergleich zu den anderen gefundenen Lösungen gewöhnungsbedürftig. Meist muss man sich durch drei oder mehr Untermenüs hangeln, bis man die gewünschte Funktion gefunden hat. Das Hinzufügen neuer Benutzer ist zum Beispiel sehr kompliziert. Erweiterbarkeit: TUTOS ist über den Administrator-Account flexibel um neue Module erweiterbar. Flexibilität: Das Programm ist flexibel für Informationsverarbeitung und Gruppenplanung einsetzbar. Im Besonderen beim Dokumenten-Management zeigt TUTOS seine Stärken durch Versionierung. Im Kommunikationsbereich hingegen enttäuscht die Software. Integrierbarkeit: TUTOS lässt sich auf einem bestehenden Apache-System betreiben. Was den Datenbank-Server betrifft, kann TUTOS auch mit PostgreSQL zusammenarbeiten. Bestehende Mail-Server lassen sich auch integrieren. Sicherheit: TUTOS kann über eine https-Verbindung betrieben werden und verwendet als Zugangsschutz eine Kombination aus Kennung und Passwort. Eine BackupMöglichkeit für die Datenbank besteht. Skalierbarkeit: TUTOS gibt keine Begrenzung für Gruppen oder Mitglieder vor. 4.13 WikiWeb - Beispiel phpWiki Der Ausdruck Wiki stammt aus dem hawaiianischen und bedeutet soviel wie ”schnell”. Normalerweise spricht man von WikiWeb oder auch WikiWiki, was in etwa dem deutschen Ausdruck ”Hopp Hopp” gleichkommt. Dahinter steckt eine Web-basierte Form KAPITEL 4. WEB-BASIERTE OPEN-SOURCE-GROUPWARE 91 der Zusammenarbeit, die für eine Web-Seite jedem Benutzer volle Gestaltungsmöglichkeiten gibt und auch einfache Formatierungsbefehle zur Verfügung stellt. Zu einem Wiki gehört, dass Hyperlinks nicht einfach auf eine Seite verweisen, sondern auf ein Thema, ein Topic. Das Klicken auf einen Hyperlink führt zu einer Seite mit Informationen zu dem entsprechenden Thema. Die Seiten eines Wiki bilden ein inhaltliches Netz. Wikis entstanden als Wissensmanagement-Tool im Umfeld der Design Pattern-Theoretiker. Das erste WikiWeb wurde vom amerikanischen Software-Guru Ward Cunningham konzipiert und entwickelt. Anfangs zweifelt wohl jeder an, dass ein WikiWeb funktioniert; Tatsache ist aber, es funktioniert wirklich. Die Beliebtheit der Wiki-Idee hat zahlreiche verschiedene Implementierungen entstehen lassen. Das phpWiki-Projekt im Internet: http://phpwiki.sourceforge.net/phpwiki 4.13.1 Entwicklung und Vitalität phpWiki ist ein WikiWeb, das in PHP programmiert wurde. Momentan ist die Version 1.2.2 aktuell. 4.13.2 Voraussetzungen Unabdingbare Voraussetzungen für den Betrieb von phpWiki sind der Web-Server Apache und die Skriptsprache PHP. Da der intensive Betrieb erst mit einer Datenbank Sinn macht, ist ein LAMP-System zu empfehlen, wie es in Abschnitt 6.1 eingerichtet wird. phpWiki unterstützt aber auch andere Datenbanken, etwa mSQL oder PostgreSQL. 4.13.3 Installation Die aktuelle Version von phpWiki kann von http://phpwiki.sourceforge.net geladen werden, die Quelldatei hat den Namen phpwiki-1.2.2.tar.gz. Die Datei kann in einem beliebigen Verzeichnis gespeichert werden, etwa in /usr/local/src. Sie sollte ins Document-Root-Verzeichnis des Apache entpackt werden. Wenn der Apache wie in Abschnitt 6.1.3 beschrieben installiert wird, dann ist das /var/www/htdocs. KAPITEL 4. WEB-BASIERTE OPEN-SOURCE-GROUPWARE 92 #Ins Verzeichnis /var/www/htdocs wechseln cd /var/www/htdocs #Quelldatei entpacken tar xvzf /usr/local/src/phpwiki-1.2.2.tar.gz #Das phpWiki-Verzeichnis umbenennen mv phpwiki-1.2.2/ phpwiki/ #Besitzrechte für phpWiki-Verzeichnis ändern chown -R nobody phpwiki #Ins phpWiki-Verzeichnis wechseln cd phpwiki Empfehlenswert ist aber die Verwendung einer MySQL-Datenbank. Wie die Datenbank konfiguriert wird, steht in Abschnitt 6.1.2. Für das Zusammenspiel von phpWiki und MySQL sind noch ein paar Schritte nötig: #Datenbank namens phpwiki anlegen mysqladmin -u root -p create phpwiki #Datenbank-Nutzer namens phpwiki mit Passwort phpwiki00 anlegen mysql -u root -p grant all on phpwiki.* to phpwiki@localhost identified by "phpwiki00"; exit; Jetzt muss nur noch die Datei lib/config.php bearbeitet werden. #Sprache festlegen $LANG = "de"; #Datenbanktyp auf MySQL setzen $WhichDatabase = ’mysql’; #Datenbank-Host setzen $mysql server = ’localhost’; #Datenbank-Benutzer setzen $mysql user = ’phpwiki’; #Datenbank-Passwort setzen $mysql pwd = ’phpwiki00’; #Datenbank-Name setzen $mysql db = ’phpwiki’; KAPITEL 4. WEB-BASIERTE OPEN-SOURCE-GROUPWARE 93 #Verzeichnis /var/www/htdocs/phpwiki/pages anlegen mkdir /var/www/htdocs/phpwiki/pages #DB-Dateien verschieben mv /tmp/*db /var/www/htdocs/phpwiki/pages/ #Verzeichnisrechte ändern chown 500.500 /var/www/htdocs/phpwiki/pages #Ins phpWiki-Verzeichnis wechseln cd phpwiki #Datenbank-Schema anlegen mysql -u root -p phpwiki < schemas/schema.mysql Die Installation von phpWiki ist abgeschlossen, unter dem URL http://localhost/phpwiki/ sollte jetzt die Index-Seite erscheinen. 4.13.4 Start und Administration Um in den Admin-Bereich zu gelangen muss zuerst in der Datei admin.php eine Kennung nebst Passwort festgelegt werden. Danach ist die Web-Seite http://localhost/phpwiki/admin.php zugänglich. Den Administrator-Account braucht man eigentlich nur, um Seiten zu löschen oder zu sperren. Ansonsten reguliert sich ein gut besuchtes WikiWeb durch die aktiven Nutzer selbst, eine explizite Benutzerverwaltung gibt es nicht. 4.13.5 Funktionalität Das Haupteinsatz-Gebiet von phpWiki ist Informationsverarbeitung. Durch die einfache Art und Weise, verknüpfte Seiten zu erstellen bietet es weitreichende Möglichkeiten, die in der Praxis oft für die Erstellung von Dokumentationen, Lexika oder spezielle Interessenseiten genutzt werden. Nachrichtenaustausch: Obwohl man es meist nicht vermutet, kann phpWiki auch zum Zweck des Nachrichtenaustauschs verwendet werden. Man kann sich zum Beispiel eine eigene Unterseite für das Hinterlassen von Nachrichten anlegen, eine Form der asynchronen Kommunikation. Jeder der eine Nachricht posten will, kann die entsprechende Seite editieren. Informations- und Dokumentenverarbeitung: Die eigentliche Kernfunktionalität von Wikis an sich ist die Informationsverarbeitung, also die Erstellung von untereinander verknüpften Inhaltsseiten. Ein WikiWeb ist ein klassisches Beispiel für ein Hypertext-System. KAPITEL 4. WEB-BASIERTE OPEN-SOURCE-GROUPWARE 94 Gruppenplanung: Planungs-Tools für phpWiki gibt es nicht. 4.13.6 Fazit phpWiki ist ein mächtiges Werkzeug, das in der Praxis häufig eingesetzt wird. So verwendet es etwa die Technik-Abteilung der New York Times um damit Dokumentationen zu schreiben. Vom Standpunkt des Groupware-Einsatzes muss erwähnt werden, dass phpWiki keine Gruppen kennt, lediglich die Benutzer, die alle Vollzugriff haben. Trotzdem gibt es einen Administrator, dessen Hauptaufgabe das Backup der Seiten ist. Aufwand: Der Aufwand für die Installation ist durchschnittlich; für den sinnvollen Betrieb ist ein LAMP-System nötig. Dagegen ist der Aufwand für die Administration verschwindend, das Ziel eines Wikis ist es, sich selbst zu regulieren. Kosten: phpWiki ist kostenlos erhältlich. Bedienbarkeit: phpWiki ist intuitiv zu bedienen. Wenige Spezialregelen erleichtern die Strukturierung des Textes und die Verknüpfung der Seiten untereinander. Erweiterbarkeit: phpWiki ist funktional nicht durch zusätzliche Komponenten erweiterbar. Der Phantasie der Benutzer ist aber keine Grenze gesetzt, so setzen einige WikiSites das System auch für den asynchronen Nachrichtenaustausch ein. Flexibilität: phpWiki ist flexibel einsetzbar, hat seine besondere Stärke aber bei der Informationsverarbeitung. Features zur Gruppenplanung gibt es nicht. Integrierbarkeit: phpWiki lässt sich mit einem bestehenden LAMP-System nutzen, auch andere Datenbanken lassen sich verwenden. Sicherheit: Da phpWiki auf die Eigenverantwortung jedes Lesers setzt, der zugleich auch Schreiber ist, gibt es keine Authentifikations-Mechanismen. Der Administrator hat natürlich eine Backup-Möglichkeit für die Datenbank. Das Wiki kann auch über eine https-Verbindung betrieben werden. Skalierbarkeit: phpWiki gibt keine Begrenzung für Benutzer vor. 4.14 Zope Das Zope-Projekt im Internet: www.zope.org KAPITEL 4. WEB-BASIERTE OPEN-SOURCE-GROUPWARE 4.14.1 95 Entwicklung und Vitalität Zope ist ein Web-Application-Server, genauer gesagt ein Framework für das Erstellen von Web-Applikationen, also Programme, die über einen Browser bedient werden können. Das Akronym Zope steht für Z Object Publishing Environment“. Das bringt gleich ein ” grundlegendes Konzept von Zope zum Ausdruck: Web-Seiten bestehen aus Objekten, das können Ordner oder auch Dokumente sein. Außerdem gibt es Objekt-Hierarchien, etwa einen Ordner, in dem Dokumente als UnterObjekte liegen, die als Unter-Objekte wieder Bilder enthalten. Das Zope-Projekt wurde 1996 von Jim Fulton gestartet und die Programmierer sind sehr aktiv. Ein Großteil des Zope-Codes wurde und wird in Python geschrieben. Momentan ist die Version 2.6.1 aktuell. Zope wird heute auch gerne für Content Management eingesetzt. Das sollte vor allem für Benutzer interessant sein, die neben der Groupware-Funktionalität auch an einem CMS interessiert sind - Zope kann für beides eingesetzt werden. 4.14.2 Voraussetzungen Zope ist für folgende Plattformen verfügbar: Windows, Linux und Solaris. Die angebotenen Quellen sollen aber auch auf den meisten anderen Unix-Systemen laufen. Für Zope ist eine installierte Python-Version nötig, alles andere bringt das Toolkit selbst mit. 4.14.3 Installation Besprochen wird die momentan stabile Version 2.6.1, die aktuelle Entwickler-Version ist 2.6.1b2. Das Zope-Team rät dazu, mindestens die Version 2.2.0 einzusetzen, erst in dieser Version sind einige wichtige Sicherheits-Updates verfügbar. Für Neuinstallationen empfiehlt sich die hier besprochene Version. Im Download-Bereich der Zope-Web-Seite gibt es Links auf die Stable- und DeveloperVersion. Wie oben besprochen ist für den produktiven Einsatz die Stable-Version vorzuziehen. Zope wird hier nicht als RPM-Paket angeboten, erste Wahl ist das Quellpaket für Linux namens Zope-2.6.1-linux2-x86.tgz; es ist immerhin fast sieben MByte groß. Es wurde im Februar 2003 veröffentlicht. Gesonderte RPM-Seiten bieten Jeff Rush und Adam Manock an, in RPM-Suchmaschinen findet man aber meist aktuellere Pakete. Zu beachten ist, dass dieses Paket für die x86-Plattform gemacht ist und auf anderen Plattformen nicht verwendet werden kann. Falls eine andere Rechnerarchitektur verwendet wird, sollte das Paket Zope-2.6.1-src.tgz verwendet werden. Ausschließlich für Updates sind Pakete mit der Namensgebung Zope-2.x.x-to-2.y.y-platform.tgz zuständig. KAPITEL 4. WEB-BASIERTE OPEN-SOURCE-GROUPWARE 96 #Ins Verzeichnis /usr/local wechseln cd /usr/local #Zope-Paket entpacken tar xvzf src/Zope-2.6.1-linux2-x86.tgz #Verzeichnis umbenennen mv Zope-2.6.1-linux2-x86 zope #Ins Zope-Verzeichnis wechseln cd zope Bevor das Intallationsskript ausgeführt wird gibt es eine wichtige Frage zu beantworten: Soll ein eigener Web-Server mit Zope verwendet werden oder wird der mitgelieferte ZServer verwendet? Viele Anwender werden wahrscheinlich Apache verwenden und damit auch Apache in Zusammenarbeit mit Zope bevorzugen. Wer noch keinen Web-Server einsetzt kann getrost auf ZServer zurückgreifen, er ist schnell und stabil. Jetzt kann das Installationsskript ausgeführt werden. #Installations-Skript ausführen ./install #Besitzverhältnisse des Zope-Verzeichnisses ändern chown -R nobody.nobody ../zope #Besitzverhältnisse des Unterverzeichnisses var anpassen chown root.root var #Sticky-Bit setzen chmod o+t var Die Installationsroutine läuft automatisch ab und generiert zum Abschluss einen Usernamen nebst Passwort. Diese müssen unbedingt notiert werden. Beide Parameter können über ein spezielles Skript namens zpasswd.py im Nachhinein geändert werden. 4.14.4 Start und Administration Zope lässt sich per Web-Browser einrichten, zum Starten reicht das Kommando ./start &. Falls Zope als Root-Prozess oder unter der ID eines anderen Users laufen soll, ist das Kommando ./start -u user & nötig. Zope startet aber nur, wenn auch der eingerichtete Web-Server läuft. Zugriff gibt es Standard-mäßig über den Port 8080. Bei dieser Beispiel-Installation ist Zope unter http://localhost:8080 erreichbar. KAPITEL 4. WEB-BASIERTE OPEN-SOURCE-GROUPWARE 97 Die Administration erfolgt ebenso über den Web-Browser, die Web-Adresse lautet http://localhost:8080/manage. Um sich hier einzuloggen ist das generierte Paar aus Username und Passwort nötig, das am Ende der Installation vom Install-Skript generiert worden ist. Für das Zurücksetzen des Passwortes gibt es ein Python-Skript, das sich im ZopeVerzeichnis befindet, es trägt den Namen zpasswd.py. Es ist eine Notlösung, falls das automatisch generierte Passwort nicht greifbar ist. #Variable PYTHONPATH anlegen PYTHONPATH=/usr/local/zope/lib/python: /usr/local/zope/lib/python2.1/ #Variable exportieren export PYTHONPATH #Admin-Account mit Passwort ”geheim” anlegen bin/python ./zpasswd.py -u admin -p geheim inituser Zope ist jetzt fertig installiert. Die eigentliche Groupware müsste aber als Applikation erst noch installiert werden, Zope stellt nur die Grundlage dafür. Allein auf der Zope-Webseite findet man über 700 ergänzende Applikationen zu Zope. Speziell für Groupware-Funktionen gibt es etwa das Projekt Worldpilot, das leider im Alpha-Stadium eingeschlafen zu sein scheint, denn es ist unter der aktuellen Zope-Version gar nicht lauffähig. Andere Projekte sind Amphora und das WikiWeb ZWiki, erwähnenswert ist auf jeden Fall auch Proiektor, eine Groupware-Lösung, die sich vor allem dem Projekt-Management widmet. Hier soll kurz auf ein interessantes Groupware-Modul namens Nuxeo eingegangen werden, es kann kostenlos von www.nuxeo.org geladen werden. Die aktuelle Version 0.8 kann etwa unter /usr/local/src gespeichert werden. Die Installation ist denkbar einfach: #Ins Zope-Verzeichnis wechseln cd /usr/local/zope #Nuxeo-Paket entpacken tar xvzf /usr/local/src/gwsuite-0.8beta.tgz #Zope neu starten ./start -u root Einige Groupware-Funktionen bietet Zope trotzdem, diese sind teilweise als BeispielSzenarien schon vorkonfiguriert: Datei-Verwaltung, Gästebuch oder Benutzerverwaltung. Über die Benutzerverwaltung, im Menü als acl users bezeichnet, kann man einen Manager-Account anlegen, der für die Einrichtung von Zope zuständig ist. KAPITEL 4. WEB-BASIERTE OPEN-SOURCE-GROUPWARE 98 Die Ordner-Hierarchie im Management-Verzeichnis ist einfach strukturiert, der RootFolder ist unter dem URL http://localhost:8080/ zu erreichen, jeder angelegte Unterordner wird dann entsprechend unter http://localhost:8080/Unterordner gefunden. Ein neuer Ordner lässt sich einfach über das Pull-Down-Menü hinzufügen. 4.14.5 Funktionalität Zope kann, ergänzt durch Groupware-Module, den gesamten Groupware-Bereich abdecken. Das Basismodul ist mit Dokumentenverwaltung und Mail-Funktion ausgestattet, fügt man noch, wie oben beschrieben Nuxeo oder ein anderes Groupware-Modul hinzu, kann man das komplette Groupware-Spektrum abdecken. Nachrichtenaustausch: Zope erlaubt die Integration von bestehenden Mail-Servern. Auch Foren-Software gibt es. Damit liegen die Stärken vor allem bei der asynchronen Kommunikation. Informations- und Dokumentenverarbeitung: Die Informationsverarbeitung kann etwa ZWiki übernehmen, ein WikiWeb, das für Zope geschrieben wurde. Zope bringt aber auch schon im Basismodul umfangreiche Funktionen für das Publishing mit, etwa die Möglichkeit, Templates zu erstellen. Beim Dokumenten-Management bietet Zope mehr als die meisten anderen Groupware-Applikationen. Zugriff über WebDAV ist möglich. Dateien können sogar online editiert und somit versioniert werden. Gruppenplanung: Die Planungs-Funktionen reichen von unstrukturierten über semistrukturierte bis zu hochstrukturierten Aufgaben. 4.14.6 Fazit Zope ist keine Groupware-Lösung sondern ein Web-Applikation-Server, der als Groupware-Lösung verwendet werden kann. Das Problem bei Zope ist, dass die vorhandenen Module, momentan sind das allein auf der Zope-Webseite über 700, fast schon eine Wissenschaft für sich bilden. Beispiele aus der Praxis zeigen, dass Zope gerne als RundumLösung eingesetzt wird. So verwendet die politische Wochenzeitung ”Die Zeit” in ihrer Online-Ausgabe ein Zope-basiertes System für das Content-Management. Aufwand: Das Basissystem für Zope lässt sich einfach installieren, vor allem wenn man den beiliegenden Web-Server nutzt. Schwierig ist nur, das richtige Programm-Modul für den spezifischen Einsatz zu finden; hat man sich für ein Modul entschieden, dann ist das Einspielen auch ohne viel Aufwand erledigt. Für den bloßen Einsatz KAPITEL 4. WEB-BASIERTE OPEN-SOURCE-GROUPWARE 99 als Groupware ist Zope fast schon überdimensioniert, als Rundum-Lösung, also auch für Content-Management gibt es nichts Vergleichbares. Kosten: Die Software ist kostenlos erhältlich. Bedienbarkeit: Zope lässt sich intuitiv bedienen. Der Administrator sollte aber vorher ein umfassendes Konzept entwerfen, weil die hohe Anzahl der KonfigurationsMöglichkeiten leicht überfordern kann. Erweiterbarkeit: Über Module lässt sich Zope beliebig erweitern. Allein die Zope-Webseite listet über 700 Zuatzmodule unterschiedlichster Couleur auf. So gut wie alle offenen Standards, die es im Groupware-Bereich gibt, werden unterstützt: WebDAV, LDAP oder XML sind nur drei Beispiele. Flexibilität: Das Gleiche gilt für die Flexibilität; Zope ist flexibel einsetzbar, es gibt allein auf der Zope-Webseite über 700 Zusatz-Module, die den Web-ApplicationServer beliebig aufrüsten. Nützlich sind vor allem auch reine Praxislösungen; etwa gibt es ein Modul, das Dokumente aus dem freien Office-Paket OpenOffice.org einliest und verwaltet. Zope kann den gesamten Groupware-Bereich abdecken. Integrierbarkeit: Zope kann mit bestehenden Web-Servern, E-Mail-Servern, LDAPVerzeichnissen und vielen anderen bestehenden Systemen genutzt werden. Sicherheit: Zope nutzt einen Zugangsschutz bestehend aus Kennung und Passwort, aber auch andere Möglichkeiten bieten die zusätzlichen Zope-Module: Mit RPC Auth kann man sich über einen XML-Remote-Procedure-Call anmelden. Skalierbarkeit: Zope kann beliebig viele Objekte verwalten. Kapitel 5 Einsortierung der Open-Source-Groupware Dieses Kapitel schlägt die Brücke zwischen der pragmatischen Klassifizierung aus Kapitel 2.3 und der Bestandsaufnahme aus Kapitel 4. Die gefundenen Groupware-Lösungen werden jetzt in die Klassifizierung eingeordnet, besser gesagt, die Funktionalitäten der einzelnen Groupware-Produkte werden in die Funktionsklassen eingeordnet. Die Einordnung wird mittels einer Tabelle illustriert. Dort sind in den Zeilen die OpenSource-Produkte aufgelistet und in den Spalten die drei Kategorien Nachrichtenaustausch, Informations- und Dokumentenverarbeitung und Gruppenplanung. Auch die Unterkategorien sind mit eingetragen. Die Tabelle erfüllt zwei Funktionen: Produktfinder: In der Praxis wird meist eine bestimmte Funktionalität gesucht, nicht ein bestimmtes Produkt. Das heißt, es geht darum, ein Produkt zu finden, das eine bestimmte Aufgabe erfüllen kann. Mittels Tabelle 5 kann man über die Funktionalitäten nachsehen,welche Produkte eine bestimmte Aufgabe erfüllen können. Funktionalitätenfinder: Eine zweite Möglichkeit ist es, ausgehend von einem bestimmten Produkt nach seinen Funktionaliäten zu suchen, das ist insbesondere dann der Fall, wenn noch mehrere Produkte zur Auswahl stehen und man sich nicht im klaren darüber ist, welche Lösung die geeignetste ist. Dann kann man einfach, nach Produkten sortiert, deren zusätzliche Funktionalität anhand der Tabelle überprüfen. 100 Informations -und Gruppenplanung Dokumentenverarbeitung str. semi-str. unstr. str. semi-str. unstr. Backtalk X X X X X Discus X X X X X Extropia X X X X IntranetSuite X X X X Moregroupware X X X X X X X phpCollab X X X X X X X X X X X X X X X X X X X X TUTOS X X X X WikiWeb - phpWiki X X X X X X X X phpGroupware X X X X PHPNuke PHProjekt Zope mit Modulen X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X 101 Tabelle 5.1: Funktionen von Open-Source-Groupware KAPITEL 5. EINSORTIERUNG DER OPEN-SOURCE-GROUPWARE 1:1 Nachrichtenaustausch synchron asynchron n:1 1:n n:m 1:1 n:1 1:n n:m Kapitel 6 How-Tos für Standard-Probleme Das aktuelle Kapitel bietet How-Tos für Standard-Probleme an, wie sie in Arbeitsgruppen heute auftreten. Die Beispiel-Szenarien sollen jeweils ein konkretes Problem kurz beschreiben und dann aufzeigen, wie mit Hilfe der Kategorisierung von CSCW-Systemen und den Installationshinweisen eine schnelle Einführung von Groupware-Applikationen geschehen kann. Die drei Standardszenarien sehen folgendermaßen aus: Szenario 1: Dieses Praxis-Szenario beschreibt das Finden und Installieren einer Webbasierten Open-Source-Groupware-Lösung für eine kleine Arbeitsgruppe. Als zusätzliche Merkmale kommen hinzu, dass diese Arbeitsgruppe am gleichen Ort tätig ist und im wesentlichen die gemeinsame Nutzung von Dokumenten im Vordergrund steht. Szenario 2: Einen in der Praxis immer häufiger auftretenden Fall beschreibt dieses Szenario: Es betrifft kleine bis mittlere Arbeitsgruppen, deren Mitglieder sich an unterschiedlichen Orten befinden. Deshalb ist ein wichtiger Faktor auch die Gruppenkommunikation und das Gruppenbewusstsein. Außerdem nutzen die Gruppenmitglieder einen gemeinsamen Dokumentenvorrat. Szenario 3: Dieses dritte Szenario lenkt den Focus weg von klassischen Arbeitsgruppen und betrachtet eine Community of Practice, auch Interessengruppe genannt. Die Gruppenmitglieder sind also nicht durch eine gemeinsame Aufgabe verbunden, sondern durch ein gemeinsames Interesse. Das Hauptmerkmal ist, dass die Interessengruppe den Austausch von Informationen, also die Informationsverarbeitung in der Vordergrund stellt. Aufgrund der Tatsache, dass viele Open-Source-Groupware-Systeme auf das Betriebssystem Linux zurückgreifen und außerdem den Web-Server Apache nebst einer MySQL102 KAPITEL 6. HOW-TOS FÜR STANDARD-PROBLEME 103 Datenbank und PHP verwenden, gibt es zuerst ein How-To, wie man ein so genanntes LAMP-System einrichtet; es dient dann als Grundlage für die Installation der GroupwareServer, wie sie in Kapitel 4 beschrieben sind. 6.1 Einrichtung eines LAMP-Systems LAMP ist ein Akronym, die Buchstaben stehen dabei für das Betriebssystem Linux, den Web-Server Apache, die Datenbank MySQL und die Skriptsprache PHP. Diese Komponenten gelten als Aushängeschilder der Open-Source-Bewegung, denn sie werden nicht nur privat, sondern auch weitläufig in Unternehmen eingesetzt und zeigen, zu welchen Dingen freie Software fähig ist. Da diese Diplomarbeit auf Open-Source-Groupware beschränkt ist, macht es auch Sinn, sich ein LAMP-System einzurichten; gespartes Geld für Lizenzen kann man in leistungsfähige Hardware investieren. Für Windows gibt es auch eine ähnliche Konfiguration, solche Systeme werden dann als WAMPs bezeichnet, sie sind jedoch weit weniger verbreitet. 6.1.1 Linux-Installation Eine Beschreibung für eine konkrete Linux-Installation macht eigentlich keinen Sinn. Erstens gibt es sehr viele verschiedene Linux-Systeme. Diese so genannten Distributionen werden von Firmen oder Projekten zusammengestellt, mit Installationsroutinen, PaketManagern und jeder Menge Zusatz-Tools kombiniert und dann entweder verkauft oder zum kostenlosen Download angeboten. Leider nehmen immer mehr Distributoren Anpassungen an Linux-Komponenten vor, die nicht Standard-konform sind, oftmals sind Teile sogar nicht mehr frei zugänglich, sondern proprietär. Wer heute ein Linux-System installieren will, hat die Möglichkeit entweder einen Satz CDs oder DVDs zu kaufen, der Kaufpreis liegt meist unter 100 Euro, oder ein kostenloses Linux-System aus dem Netz zu laden, bei dem dann meist die kommerziellen Komponenten fehlen. Besonders der zweite Weg ist interessant. Etwa gibt es auf der Web-Seite www.linuxiso.org Linux-Distributionen zum kostenlosen Download. Diese können dann auf CD gebrannt werden und die Installation kann beginnen. Welche Distribution man wählt ist Geschmackssache, eine klare Nummer eins gibt es nicht. Als besonders robust, auch im Unternehmenseinsatz hat sich Red Hat Linux gezeigt. Auf diese Distribution bauen auch andere Hersteller auf, etwa Mandrake. Von obiger Adresse kann man sich kostenlos die aktuellen Distributionen laden, als Beispiel soll Mandrake 9.1 dienen. Zwar basiert Mandrake auf Red Hat, besonders bei der am 31. März 2003 veröffent- KAPITEL 6. HOW-TOS FÜR STANDARD-PROBLEME 104 lichten Version Red Hat 9.0 kommen aber einige Unterschiede zum Tragen. Tatsache ist aber, dass die beschriebenen Schritte ausgeführt werden müssen. Kleine Anpassungen sind dennoch nötig. Die Installation läuft in einem grafischen Modus ab, wichtig ist für das Aufsetzen eines LAMP-Systems, dass die richtigen Pakete installiert werden: Vor allem die EntwicklerTools nebst Bibliotheken sind sehr wichtig und sollten gleich zu Anfang installiert werden. Außerdem noch die Pakete flex, bison, gd-library, glibc-devel, db1, db2-devel und libpng. Leider heißen bei anderen Linux-Distributionen die Pakete anders. Die jeweiligen Paket-Manager sollten aber nach einer Stichwortsuche die richtigen Pakete parat haben. Für die Downloads sollte man ein eigenes Verzeichnis anlegen. In dieser Beschreibung wird beispielsweise /usr/local/src/lamp/dl verwendet. Administrator-Rechte sind zwar nicht für alle Schritte der Installation nötig, aus Gründen der Einfachheit lohnt es sich aber, am Anfang durch das Kommando su Root-Rechte zu erlangen. 6.1.2 MySQL-Installation MySQL ist immer noch die am weitesten verbreitete Open-Source-Datenbank, auch wenn in letzter Zeit große Konkurrenz aus dem eigenen Lager kommt. Sehr interessant unter den alternativen Lösungen ist PostgreSQL; bei einigen Groupware-Lösungen wird bereits an der Unterstützung gearbeitet. Trotzdem ist man momentan mit MySQL auf der sicheren Seite, besonders wenn es um Dokumentation und Integration geht. MySQL kann kostenlos von der Web-Seite www.mysql.com geladen werden, in diesem How-To wird die Version 3.23.56 verwendet. Es ist darauf zu achten, das richtige Quellpaket auszuwählen. In diesem Fall ist das mysql-3.23.56.tar.gz, das in /usr/local/src/lamp/dl abgespeichert wird. Um einen Download in diesem Verzeichnis zu speichern muss es schreibbar sein. Der Befehl chmod 777 /usr/local/src/lamp/dl macht das Unterverzeichnis dl für jeden schreibbar. KAPITEL 6. HOW-TOS FÜR STANDARD-PROBLEME 105 #Ins LAMP-Verzeichnis wechseln cd /usr/local/src/lamp #MySQL-Quellen entpacken tar xvzf dl/mysql-3.23.56.tar.gz #Verzeichniswechsel cd mysql-3.23.56 #Eine Gruppe mit Namen mysql nebst Mitglied mysql anlegen groupadd mysql adduser -g mysql mysql #Ausführen des Konfigurations-Skripts mit Installations- und Datenverzeichnis ./configure --prefix=/usr/local/mysql/3.23.56 --localstatedir=/var/mysql/data Das Konfigurations-Skript hat ein Make-File erstellt, das im nächsten Schritt ausgeführt wird. Anschließend kann MySQL installiert werden. #Ausführen des erstellten Make-Files make #Installation make install #Symbolischer Link auf das Verzeichnis current ln -s /usr/local/mysql/3.23.56 /usr/local/mysql/current #Anlegen des Datenverzeichnisses mkdir /var/mysql mkdir /var/mysql/data #Datenbanken anlegen scripts/mysql install db #Besitzrechte des MySQL-Verzeichnisses auf root setzen chown -R root /usr/local/mysql #Besitzrechte des Datenverzeichnisses auf mysql setzen chown -R mysql /var/mysql/data #Gruppe des MySQL-Verzeichnisses auf mysql setzen chgrp -R mysql /usr/local/mysql MySQL ist fertig installiert und kann gestartet werden. KAPITEL 6. HOW-TOS FÜR STANDARD-PROBLEME 106 #Starten des MySQL-Servers /usr/local/mysql/current/bin/safe mysqld & #Festlegung eines MySQL-Admin-Passworts /usr/local/mysql/current/bin/mysqladmin -u root password ’passwort’ #MySQL sollte jetzt laufen, Kontrolle durch: ps aux | grep mysql 6.1.3 Apache-Installation Der Apache-Web-Server ist mit einem Marktanteil von etwa 60 Prozent mit Abstand Marktführer und ein Aushängeschild der Open-Source-Gemeinde. Entwickelt wird er seit 1995 und seit April 2002 existieren zwei Versionen parallel: Apache 1.3.x und Apache 2.0.x. Normalerweise wird bei Software die Ausgabe mit höherer Versionsnummer bevorzugt eingesetzt; auch beim Apache vollzieht sich ein schleichender Umstieg. Das Problem ist lediglich, dass Apache 1.3.x auf etwa 10 Millionen Web-Servern läuft, und die neuere Version nur auf etwa 100.000. Auch viele Groupware-Projekte unterstützen ausschließlich Apache 1.3.x. In diesem How-To wird Apache in Version 1.3.27 besprochen. Unter der Web-Adresse httpd.apache.org können die Quellen geladen werden. Die Datei apache 1.3.27.tar.gz sollte in das Verzeichnis /usr/local/src/lamp/dl gespeichert werden. Im Unterschied zu Apache 2.0.x: Die neueren Web-Server sind alle nach dem Schema httpd Version.tar.gz benannt. Das Entpacken vom Verzeichnis /usr/local/src/lamp aus erfolgt durch das Kommando tar xvzf dl/apache 1.3.27.tar.gz. Dieser Befehl legt im LAMP-Verzeichnis das Unterverzeichnis apache 1.3.27 an. #Verzeichniswechsel cd apache 1.3.27 #Ausführen des Konfigurations-Skripts mit Installations- und Datenverzeichnis ./configure --prefix=/usr/local/apache/1.3.27 --datadir=/var/www --enable-module=most --enable-shared=max #Ausführen des erstellten Make-Files make #Installation make install #Symbolischer Link auf das Verzeichnis current ln -s /usr/local/apache/1.3.27 /usr/local/apache/current KAPITEL 6. HOW-TOS FÜR STANDARD-PROBLEME 107 Der Apache wird erst nach der PHP-Installation gestartet, ist jetzt aber fertig installiert. 6.1.4 PHP-Installation Viele, und vor allem die am weitesten fortgeschrittenen Open-Source-Groupware-Projekte nutzen die Skriptsprache PHP. Deswegen muss für den reibungslosen Betrieb PHP installiert sein. In diesem How-To wird PHP in Version 4.3.1 verwendet. Unter der WebAdresse www.php.net gibt’s den Source-Code zum Download. Die Datei php-4.3.1.tar.gz sollte wieder in das Verzeichnis /usr/local/src/lamp/dl gespeichert werden. Das Entpacken vom Verzeichnis /usr/local/src/lamp aus erfolgt durch den Befehl tar xvzf dl/php-4.3.1.tar.gz. Er legt das Unterverzeichnis /usr/local/src/lamp/php-4.3.1 an. #Verzeichniswechsel cd php-4.3.1 #Ausführen des Konfigurations-Skripts mit Optionen für Apache und MySQL ./configure --prefix=/usr/local/php/4.3.1 --with-apxs=/usr/local/apache/current/bin/apxs --with-mysql=/usr/local/mysql/current --with-ftp --enable-versioning --enable-track-vars=yes --enable-url-includes --enable-sysvshm=yes --enable-sysvsem=yes --with-config-file-path=/etc #Ausführen des erstellten Make-Files make #Installation make install #Kopieren der php.ini in den Konfigurationspfad cp /usr/local/src/lamp/php-4.3.1/php.ini-dist /etc/php.ini Wer Dateien über http auf den Web-Server laden will, muss in der Datei php.ini noch Einstellungen vornehmen. Besonders bei der maximalen Dateigröße für den Upload gilt besondere Vorsicht, normalerweise beträgt die Grenze 2 MByte, das ist für DokumentenSharing viel zu wenig. KAPITEL 6. HOW-TOS FÜR STANDARD-PROBLEME 108 #Register-Globals einschalten register globals = On #File-Upload erlauben file uploads = On #Maximale Upload-Dateigröße auf 200 MB setzen upload max filesize = 200M #Maximale POST-Größe post max size = 250M #Speicher-Limit memory limit = 300M Zuletzt muss noch die Konfigurationsdatei des Apache angepasst werden. Dazu öffnet man in einem Editor die Datei /usr/local/apache/current/conf/httpd.conf. Jetzt müssen zuerst alle Vorkommnisse der Apache Versionsnummer auf current gesetzt werden. Dann muss die Zeile AddType application/x-httpd-php .php .phtml .php3 .html .htm eingefügt werden. Die Default-Index-Seite sollte um PHP ergänzt werden, folgende Zeile sollte die Datei httpd.conf enthalten: DirectoryIndex index.html index.php index.htm Mit dem Befehl /usr/local/apache/current/bin/apachectl start kann man jetzt den Apache starten. Wenn alles geklappt hat, dann sieht man im Browser unter dem URL http://localhost jetzt die Apache-Startseite. 6.2 Szenario 1 - Die benachbarte Gruppe Dieses Praxis-Szenario beschreibt das Finden und Installieren einer Web-basierten OpenSource-Groupware-Lösung für eine kleine Arbeitsgruppe. Als zusätzliche Merkmale kommen hinzu, dass diese Arbeitsgruppe am gleichen Ort tätig ist und im wesentlichen die gemeinsame Nutzung von Dokumenten im Vordergrund steht. Folgende Merkmale sind also gegeben: • Kleine Arbeitsgruppe • Gleicher Ort • Gemeinsame Nutzung von Dokumenten KAPITEL 6. HOW-TOS FÜR STANDARD-PROBLEME 109 Ein Beispiel für so eine Arbeitsgruppe könnte ein Lehrstuhl sein oder ein kleines bis mittelständisches Unternehmen. Für verschiedene Forschungsprojekte oder Aufträge werden kleine Teams gebildet, die auch über längere Zeiträume zusammen eine Aufgabe zu erledigen haben. Da die Gruppe räumlich benachbart organisiert ist, sind die Anforderungen an den Nachrichtenaustausch nicht allzu groß, denn schließlich haben die Gruppenmitglieder gleiche Arbeitszeiten und kurze Wege zu Besprechungen. Eine Möglichkeit zur asynchronen Kommunikatin, etwa E-Mail, ist völlig ausreichend. Auch die Planungs-Tools stehen nicht allzu sehr im Vordergrund. Erstens sind die ProjektTeams auch in der Planung einer höheren Instanz, also etwa des Lehrstuhls oder einer Abteilung in einer Firma eingebunden und zweitens ist Gruppenplanung in einem kleinen Team nicht allzu anspruchsvoll. Die wichtigste Anforderung, die diese Gruppe an Groupware-Systeme stellt, ist das gemeinsame Nutzen von Dokumenten. 6.2.1 Die Auswahl Die Einordnung der gefundenen Groupware-Lösungen nach Funktionalität kann in Tabelle 5 101 betrachtet werden. Am wichtigsten ist für die beschriebene Arbeitsgruppe das Dokumenten-Management. In Frage kommen also nur Groupware-Programme, die im Bereich Informations- und Dokumentenverarbeitung möglichst das gesamte Spektrum abdecken. Geeignete Lösungen sind Moregroupware, phpCollab, phpGroupware, phpNuke, TUTOS und Zope. Jetzt kommt es darauf an, die spezifischen Anforderungen zu berücksichtigen, nicht nur funktionale Aspekte, sondern vor allem auch die Rahmenbedingungen des Groupware-Einsatzes. Wer wirklich keinerlei Zusatz-Features braucht, kann aufgrund der einfachen Installation und der Stärke beim Dokumenten-Management auf Zope zurückgreifen, siehe dazu Abschnitt 4.14. Sollten zusätzlich noch Funktionen für die Gruppenplanung benötigt werden, dann ist phpCollab die beste Lösung. Eine detaillierte Beschreibung gibt es in Abschnitt 4.8. 6.3 Szenario 2 - Die verteilte Gruppe Einen in der Praxis immer häufiger auftretenden Fall beschreibt dieses Szenario: Es betrifft kleine bis mittlere Arbeitsgruppen, deren Mitglieder sich an unterschiedlichen Orten befinden. Deshalb ist ein wichtiger Faktor auch die Gruppenkommunikation und das Gruppenbewusstsein. Außerdem nutzen die Gruppenmitglieder einen gemeinsamen Dokumentenvorrat. KAPITEL 6. HOW-TOS FÜR STANDARD-PROBLEME 110 Folgende Merkmale sind also gegeben: • Kleine bis mittlere Arbeitsgruppe • Unterschiedlicher Ort • Gruppenkommunikation • Awareness • Gemeinsame Nutzung von Dokumenten Beispiele für diese Art der Zusammenarbeit gibt es auch sowohl aus dem universitären Umfeld, als auch aus der Wirtschaft. Etwa ein Forschungsprojekt, bei dem mehrere Universitäten zusammenarbeiten, oder ein Firmen-übergreifendes Projekt. In der Regel sind auch das heutzutage kleine bis mittlere Arbeitsgruppen, die aber normalerweise an unterschiedlichen Orten und auch zu unterschiedlichen Zeiten an dem Projekt arbeiten. Ungleich höher als bei Szenario 1 ist also das Bedürfniss nach Kommunikationsmitteln. Am besten sollte synchrone und asynchrone Kommunikationi gleichermaßen funktionieren. Die gemeinsame Nutzung von Dokumenten ist ebenso wichtig, genauso wie die Group-Awareness im Vordergrund steht. 6.3.1 Die Auswahl Diese Zielgruppe sucht eine umfassende Lösung, die alle Funktionalitäten von Groupware bietet. Aus Tabelle 5 sollten also nur Programme in die nähere Auswahl genommen werden, die möglichst alle drei Groupware-Bereiche gleichermaßen abdecken. Geeignete Lösungen sind phpGroupware, PHProjekt und Zope mit Zusatzmodulen. Da die Zope-Module speziell für Gruppenplanung und Kommunikation noch nicht ausgereift sind, stehen nur noch zwei Lösungen für eine allumfassende Groupware zur Auswahl. Wägt man die Rahmenbedingungen ab, so wird man in der Regel auf das fortschrittlichste Groupware-Programm im Open-Source-Bereich zurückgreifen, phpGroupware. Eine genaue Installationsanleitung gibt es in Abschnitt 4.9. 6.4 Szenario 3 - Die Interessengruppe Dieses dritte Szenario lenkt den Focus weg von klassischen Arbeitsgruppen und betrachtet eine Community of Practice, auch Interessengruppe genannt. Die Gruppenmitglieder KAPITEL 6. HOW-TOS FÜR STANDARD-PROBLEME 111 sind also nicht durch eine gemeinsame Aufgabe verbunden, sondern durch ein gemeinsames Interesse. Das Hauptmerkmal ist, dass die Interessengruppe den Austausch von Informationen, also die Informationsverarbeitung in der Vordergrund stellt. Folgende Merkmale sind also gegeben: • Interessengruppe • Informationsaustausch Ein Beispiel wäre eine Gruppe von System-Administratoren, die alle ein Unix-Netz zu betreuen haben. Sie sind natürlich daran interessiert, Erfahrungen untereinander auszutauschen, etwa über Sicherheitsthemen oder Installationsfragen. So eine Gruppe zeichnet sich auch dadurch aus, dass sie einen gemeinsamen Wortschatz verwendet, eine Fachsprache, und auch hohes Know-How mitbringt. Dieser Interessengruppe geht es nicht um die Planung von Terminen oder Veranstaltungen, und auch das explizite Kommuikationsbedürfnis ist nicht besonders hoch. Vielmehr ist für diese Art von Gruppe die Informations-Verarbeitung wichtig. Implizite Kommunikations steht im Vordergrund. 6.4.1 Die Auswahl Wichtig ist für die Interessengruppe vor allem der Bereich Informationsverarbeitung. Aus Tabelle 5 ist zu entnehmen, dass eigentlich alle Programme in diesem Bereich Funktionen zur Verfügung stellen. Die Interessengruppe wird normalerweise unstrukturierte bis höchstens semi-strukturierte Informationen in Anspruch nehmen. Wichtig ist außerdem, dass die Interessengruppe keinen Wert auf großen zusätzlichen Funktionsumfang legt, weil das in der Regel auch zusätzlichen Administrationsaufwand bedingt. Auch die Sicherheits-Features spielen keine Rolle, Zugangskontrolle und LoginMechanismen schränken in diesem Fall nur ein. Der Aufwand für Installation und Administration soll minimal sein. Das schränkt die möglichen Lösungen schon etwas stärker ein, beim Blick in die Rahmenbedingungen der einzelnen Lösungen kristallisieren sich die Systeme Discus, PHPNuke und phpWiki heraus. Am besten geeignet scheint das WikiWeb phpWiki, weil es die geringsten Anforderungen an die Pflege der Seite stellt und trotzdem flexibel und dynamisch ist. Eine genaue Installationsanleitung findet sich in Abschnitt 4.13. Kapitel 7 Fazit Dieses Kapitel beinhaltet ein abschließendes Resümee. In Abschnitt 7.1 wird das Thema dieser Diplomarbeit, dessen Bearbeitung und Ergebnis bewertet. Im Abschnitt 7.2 werden Alternativen zu den betrachteten Open-Source-Lösungen vorgestellt und bewertet. Den Abschluss in 7.3 bildet ein Ausblick auf zukünftige Entwicklungen im Bereich der OpenSource-Groupware. 7.1 Abschließende Bewertung Der Themenbereich ”Open-Source-Groupware” ist gerade top-aktuell. In vielen Fachpublikationen wird darüber berichtet1 , viele Firmen und Behörden denken über den Einsatz nach. Trotzdem herrscht noch viel Unklarheit bei Unternehmen: Etwa ist meist nicht klar, welche Groupware-Lösungen bereits existieren, ob diese einsatzbereit sind, wieviel Administrationsaufwand sie bedürfen oder wie sicher sie sind. Genau diese Unklarheiten haben das Thema der vorliegenden Arbeit geliefert. Diese Diplomarbeit soll Licht in das Dunkel bringen, und zumindest für eine kurze Zeitspanne den akteullen Stand der Dinge im Bereich Web-basierter Open-Source-Groupware beleuchten. Denn klar ist, die Situation kann in einem Jahr bereits anders aussehen. Es gibt etwa noch 20 Projekte, die in dieser Arbeit wegen ihrem jungen Entwicklungsstadium nicht berücksichtigt wurden - wie sie sich entwickeln kann jetzt noch nicht abgeschätzt werden. Es hat sich gezeigt, dass vom funktionalen Standpunkt aus gesehen, einige Open-SourceProjekte dabei sind, die kommerzielle Lösungen zu übertrumpfen. Auch hat sich gezeigt, dass es Lösungen gibt, die kostengünstiger sind und mit weniger Aufwand installiert und 1 Titelgeschichten im Linux-Magazin März/2003 und IX April/2003 112 KAPITEL 7. FAZIT 113 administriert werden können. Fakt ist, dass man die gefundenen Lösungen in zwei Klassen einteilen kann, je nachdem wie sie technisch aufgebaut sind. Die eine Klasse ist meist Perl-basiert und nutzt CGISkripte, die andere Klasse nutzt ein LAMP-System. Grundsätzlich gilt, dass die CGISysteme meist älter, langsamer und weniger gut ausgestattet sind. Die Zukunft bei modernen Groupware-Anwendungen spricht für die LAMP-basierten Systeme. Ein Kritikpunkt an den Open-Source-Lösungen ist, dass oftmals geeignete Dokumentationen fehlen. Professioneller Support ist natürlich nicht kostenlos möglich, doch oft kann auch eine FAQ oder ein Forum weiter helfen. Aber auch die unterschiedlichen LinuxDistributionen erschweren die Installation. Hat man eine funktionierende Anleitung für ein System entwickelt, so kann es passieren, dass unter einer anderen Linux-Distribution die Installation fehlschlägt. Das war sogar bei den verwandten Distributionen Mandrake und Red Hat der Fall. Nachdem anfäglich etwa 50 Groupware-Kandidaten in der engeren Auswahl waren, wurden etwa 30 auf den ersten Blick ausgewählt, denn allem Anschein nach erfüllten sie alle Kriterien. Im Laufe der Arbeit musste aber die Zahl der Lösungen nochmals reduziert werden, letztendlich blieben zwölf Lösungen, von denen eine2 auf den aktuellsten LinuxDistributionen Probleme macht, wie Tests kurz vor Fertigstellung dieser Arbeit zeigten. Gründe für das Kürzen des Groupware-Feldes waren abenteuerliche Änderungen, die etwa am Web-Server vorgenommen werden mussten, oder großer Konfigurationsaufwand, der vom letztendlichen Funktionsumfang nicht gerechtfertigt werden konnte. Einige Beispiel-Systeme, die sich als ungeeignet erwiesen haben: • COW • DarkBoard • eThreads • Slash Stand der Dinge ist heute, dass Web-basierte Groupware nur dann sinnvoll eingesetzt werden kann, wenn ein breitbandiger Internet-Anschluss zur Verfügung steht. Der Traum vom mobilen Büro, bei dem man auch auf die Web-Groupware über eine schmalbandige Online-Verbindung über Notebook und Handy zugreift ist noch nicht erfüllt. Hierzu sollte angemerkt werden, dass sich nur zwei3 der getesteten Systeme dazu eignen, etwa mit einem PDA darauf zuzugreifen, ein Computer mit schneller Internet-Verbindung ist Grundvoraussetzung. 2 Backtalk, vergleiche Abschnitt 4.3 und phpGroupware 3 Moregroupware KAPITEL 7. FAZIT 114 Auffallend ist, dass sich die Funktionalitäten Web-basierter Open-Source-Groupware auf bestimmte Bereiche konzentrieren. So gibt es sehr viele Systeme, die asynchronen Nachrichtenaustausch unterstützen, auf der synchronen Seite jedoch wird die Anzahl der Systeme rar. Vor allem gibt es de facto keine klassischen Video- oder Audio-Konferenzsysteme, die nicht einen zusätzlichen Client erfordern. Bei der Informations- und Dokumentenverarbeitung, sowie bei der Gruppenplanung fällt auf, dass im strukturierten Bereich weniger Systeme Funktionen bieten, bei unstrukturierten bis semi-strukturierten Aufgaben ist das Angebot an Open-Source-Software wieder größer. 7.2 Alternativen Als Alternative zu den Web-basierten Systemen stehen auch noch Lösungen bereit, die einen zusätzlichen Client verwenden. Ein Beispiel ist etwa Evolution von Ximian, der die Kommunikation mit Exchange-Servern erlaubt und auch in heterogenen Umgebungen enigesetzt werden kann. Eine andere Möglichkeit wären Peer-to-Peer-Systeme (P2P), die aber mittlerweile alle aus dem Open-Source-Feld verschwunden sind. Ein Beispiel ist etwa Groove, eine P2PLösung von Groove Networks, die in den Entstehungsjahren frei verfügbar war und viele Anhänger hatte. Auch die Linux-Firmen steigen langsam in den Groupware-Markt ein: So ist der Nürnberger Linux-Distributor SuSE Ende letzten Jahres auch mit einem Web-basierten GroupwareProdukt an den Start gegangen. Der Openexchange-Server ist eine auf Unternehmen zugeschnittene Lösung. SuSE bietet dazu den von vielen Unternehmen gewünschten Support. Speziell für Schulen soll es in Zukunft auch ein Produkt von SuSE geben, das auf phpGroupware basiert und spziell angepasst werden soll. 7.3 Ausblick Open-Source-Groupware ist momentan eines der Zugpferde der freien Software-Entwicklung. Nach Linux, Apache und MySQL gibt es jetzt auch ernstzunehmende Konkurrenz für proprietäre Groupware-Lösungen wie Outlook/Exchange und Lotus Notes. Wie forsch das Thema Open-Source-Groupware vor allem von den Entwicklern vorangetrieben wird kann man auch daran erkennen, dass bei einigen Projekten zwischen Oktober 2002 und April 2003 bis zu vier neue Releases herausgebracht wurden - Patches gibt es normalerweise täglich. KAPITEL 7. FAZIT 115 Es kann damit gerechnet werden, dass sich wenige Projekte durchsetzen und die anderen mehr oder weniger in der Versenkung verschwinden werden. Vor allem die LAMPbasierten Systeme haben das Zeug dazu, zu Zugpferden zu werden. Klassische Bulletin-Boards wird es sicherlich weiterhin geben, sie werden aber auch heute meist nicht mehr als Groupware-System verstanden, sondern oft auf privaten Web-Seiten eingesetzt. Ein Trend zu Web-basierten Systemen ist auf jeden Fall erkennbar. Ein Verschwinden der Systeme, die einen gesonderten Client erfordern ist zwar nicht abzusehen, aber im Hinblick darauf, dass in Zukunft die verschiedensten Geräte auf Groupware-Applikationen zugreifen werden, ist die Browser-Lösung die effizienteste. Ein weiterer Trend geht dazu, Open-Source-Software einzusetzen, weil viele Firmen maßgeschneiderte Lösungen wollen. Oft ist es dann billiger, die Software selbst anzupassen, als sich mit Kompromiss-Lösungen von kommerziellen Herstellern zu begnügen. Abbildungsverzeichnis 1.1 IDC-Studie täglich verschickter E-Mails . . . . . . . . . . . . . . . . . . 3 1.2 Aufgaben-Umgebung-Spektrum . . . . . . . . . . . . . . . . . . . . . . 7 2.1 Die Raum-Zeit-Matrix nach Robert Johansen . . . . . . . . . . . . . . . 11 2.2 Das 3K-Modell nach Teufel et al. . . . . . . . . . . . . . . . . . . . . . . 16 2.3 Funktionale Einteilung von CSCW-Systemen . . . . . . . . . . . . . . . 20 2.4 Untergliederung des Nachrichtenaustausches . . . . . . . . . . . . . . . 24 2.5 Unicast-Verbindung (1 : 1) . . . . . . . . . . . . . . . . . . . . . . . . . 24 2.6 Concast-Verbindung (n : 1) . . . . . . . . . . . . . . . . . . . . . . . . . 25 2.7 Multicast-Verbindung (1 : n) . . . . . . . . . . . . . . . . . . . . . . . . 26 2.8 Multipeer-Verbindung (n : m) . . . . . . . . . . . . . . . . . . . . . . . . 26 2.9 Funktionale Einteilung von CSCW-Systemen . . . . . . . . . . . . . . . 30 3.1 Rahmenbedingungen des Groupware-Einsatzes . . . . . . . . . . . . . . 33 116 Tabellenverzeichnis 2.1 Erweiterte Raum-Zeit-Matrix nach Grudin. . . . . . . . . . . . . . . . . 12 2.2 Beispiele eingesetzter Nachrichtensysteme . . . . . . . . . . . . . . . . . 27 2.3 Typen von Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 3.1 Eigener Server versus Miet-Server . . . . . . . . . . . . . . . . . . . . . 36 3.2 Kostenvergleich: Open-Source versus proprietäre Software . . . . . . . . 39 5.1 Funktionen von Open-Source-Groupware . . . . . . . . . . . . . . . . . 101 117 Literaturverzeichnis [1] U. Borghoff, J. Schlichter (1998). Rechnergestützte Gruppenarbeit. Springer, Berlin. [2] J. Schlichter (2001). Skript zur Vorlesung Computergestützte Gruppenarbeit. Technische Universität München, München. [3] J. Schlichter (1997). Skript zur Vorlesung CSCW Systeme. Technische Universität München, München. [4] S. Teufel, C. Sauter, T. Mühlherr, K. Bauknecht (1995). Computerunterstützung für die Gruppenarbeit. Addison-Wesley, Bonn. [5] J. Udell (1999). Practical Internet Groupware. O’Reilly Verlag, Köln. [6] Meyers Lexikonredaktion (2001). Duden Informatik. Dudenverlag, Mannheim. [7] Cora Burger (1997). Groupware. dpunkt-Verlag, Heidelberg. [8] Alexander Schill (1996). Rechnergestützte Gruppenarbeit in verteilten Systemen. Prentice Hall, München. 118