Anzeige
Anzeige
Entwicklung
Artikel merken

Freie Software organisiert die Arbeit in Gruppen: phpGroupWare

phpGroupWare ist eine rein webbasierte Groupwarelösung, die fast vollständig in PHP geschrieben ist. Sie bietet eine große Anzahl von verschiedenen Modulen und ist dadurch vielfältig im Einsatz. Als freie Software kann sie individuell angepasst und durch eigene Entwicklungen im modularen Aufbau ergänzt werden. Lizenzgebühren fallen für phpGroupWare nicht an.

6 Min. Lesezeit
Anzeige
Anzeige

In mehrfacher Hinsicht ist phpGroupWare eine Ausnahme unter den verfügbaren Groupware-Systemen. Zunächst einmal ist es unter den Open-Source-Lösungen eine recht alte Lösung: Das Projekt existiert bereits seit über sechs Jahren. Darüber hinaus ist es nicht „nur“ freie Software, sondern ein offizieller Teil des GNU-Projekts. phpGroupWare ist unter GPL/LGPL lizenziert und ist ein reines Community-Projekt – eine weitere Besonderheit gegenüber anderen Open-Source-Projekten, die von Firmen getragen und weitestgehend kontrolliert werden. Hinter phpGroupWare steht keine Firma, das Projekt wird von Einzelpersonen und Freiberuflern getragen und die Protagonisten sind über mehrere Kontinente verteilt. Eine weitere Besonderheit: Bedingt durch den stark modularen Aufbau existieren etwa 50 verschiedene Module (also Anwendungen) für phpGroupWare, von denen etwa zwei Dutzend aktiv gepflegt werden. Diese Breite an Anwendungen bietet kaum ein anderes System, abgesehen von eGroupWare, das als Abspaltung von phpGroupWare entstanden ist.

Anzeige
Anzeige

Anfang November 2006 wurde auf einer internationalen Konferenz [1] die weitere Entwicklung des Projekts besprochen. Wie die meisten Community-getriebenen Projekte ist phpGroupWare immer auf der Suche nach neuen Teilnehmern, entweder als Entwickler oder auch in anderen Bereichen wie Übersetzung, Qualitätssicherung und Dokumentation.

Die Features

Die Feature-Liste von phpGroupWare ist lang und kann hier nur in Auszügen wiedergegeben werden. Alle klassischen Groupware-Funktionen wie Adressbuch, Kalender, Webmailer, Aufgaben und Notizen sind vorhanden und können mit einem fein granulierten Rechtesystem gemeinsam genutzt werden. Darüber hinaus gibt es ein voll ausgereiftes Projektmanagement, ein HelpDesk-/TroubleTicket-System und weitere Module wie Chat, Forum, Voting-Booth, Wiki, Wetterabfrage, zentrale Bookmarks,

Anzeige
Anzeige

Liegenschaftsverwaltung, Web-Filemanager, CRM-Komponenten (InfoLog), eine zentrale Bookmark-Verwaltung, die Anzeige von Börsenkursen und vieles mehr. Auch ein eigenes Content Management System ist integriert, auf dem auch die phpGroupWare-Website aufgebaut ist. Die Anwendungen sind nicht alle auf demselben Entwicklungsstand: Einige, wie das Projektmanagement und die Liegenschaftsverwaltung, sind sehr tief ausgebaut, andere, wie die Aufgabenverwaltung und der Instant Messenger, eher einfach gehalten. Zusätzlich zu den eigenen Anwendungen gibt es noch weitere, unabhängige 3rd-Party-Erweiterungen [2].

Anzeige
Anzeige

Besonders stark wird an den Stellen entwickelt, für die ein Entwickler besonderes Interesse zeigt – entweder weil es ihn privat interessiert oder weil ein Kunde die Entwicklung in diesem Bereich bezahlt. Die verschiedenen Funktionen stehen auf Online-Demosites zur Verfügung und können dort ausprobiert werden [3].

API, XML-RPC & SOAP

Eigene Entwicklungen werden entweder über das dokumentierte phpGroupWare-API in das System integriert oder über die vorhandene XML-RPC-Schnittstelle. Ab der kommenden Version 0.9.18 wird darüber hinaus eine SOAP-Schnittstelle angeboten. Damit kann der phpGroupWare Server auch als Basis für Web-Services eingesetzt und mit anderen Systemen gekoppelt werden.

Anzeige
Anzeige

Der Code von phpGroupWare ist auf Savannah beheimatet, dem Gegenstück des GNU-Projekts zu SourceForge. Lediglich die Release-Packages werden zusätzlich auf SourceForge zum Download angeboten, weil dort durch die bessere Netzanbindung der Download für die Interessenten schneller vonstatten geht. Der Code ist als Tarball, als ZIP-Archiv, als RPM-Paket und als Debian-Paket über einen CVS-Zugang erhältlich.

Technisch ist das Projekt in zwei Teile geteilt: Die API stellt ein eigenes Projekt dar, die Module hingegen die verschiedenen Anwendungen. Dadurch ist es möglich, neue Anwendungsentwickler schnell zu integrieren, ohne ihnen sofort Zugriff auf die sensiblen Teile der API geben zu müssen. Die API ist sehr umfangreich und innerhalb des Quelltexts gut dokumentiert. Alle Anwendungen und die API sind in PHP geschrieben, wobei ein möglichst strikt objektorientierter Ansatz verfolgt wird. Es existiert ein eigenes Template-/Skin-System, das zurzeit durch XSLT ergänzt wird. Als Datenbank werden hauptsächlich MySQL und PostgreSQL eingesetzt. Auch andere Datenbanken sind möglich, sie werden aber nicht offiziell unterstützt. Einen eigenen Mailserver (MTA) bringt phpGroupWare nicht mit, arbeitet aber mit den allermeisten IMAP/SMTP-Servern zusammen und unterstützt außerdem LDAP. Eine Gruppe deutscher Entwickler hat eine SyncML-Synchronisation [4] als Ergänzung für phpGroupWare geschaffen, die auf JBoss und Sync4J aufbaut und zurzeit implementiert wird.

phpGroupWare aufsetzen

Das Projekt phpGroupWare ist grundsätzlich in PHP4 geschrieben. Derzeit werden die letzten Inkompatibilitäten mit PHP5 beseitigt. Um phpGroupWare zu betreiben, wird ein PHP4-fähiger Webbrowser (mind. PHP 4.1.2) benötigt, empfohlen wird ein Apache Server. Um E-Mail vollständig nutzen zu können, sollten die php-imap-Extensions im verwendeten PHP-Modul vorhanden sein. Aus Sicherheitsgründen wird empfohlen, in der php.ini „register_globals“ auf „OFF“ zu setzen. Da phpGroupWare wie erwähnt keinen eigenen Mailserver mitbringt, wird der Einsatz von Courier, Cyrus und UWash für IMAP und POP3 empfohlen. Der Mercury32 IMAP Server ist nicht uneingeschränkt zu empfehlen, da bei diesem Server Probleme in der Anbindung aufgetreten sind. Die Mailauslieferung erfolgt über SMTP, eine spezielle Empfehlung für einen bestimmten Server gibt es nicht. Grundsätzlich kann jedes Betriebssystem verwendet werden, das diese Voraussetzungen erfüllt, neben Linux (32 und 64bit) also auch diverse UNIX-Derivate und Windows. Allerdings setzt der integrierte Zeit-Service, der zum Beispiel Alarmmails verschickt, ohne dass der Benutzer eingeloggt ist, einen Unix-artigen „cron“-Daemon voraus.

Anzeige
Anzeige

Bevor das phpGroupWare-eigene Setup aufgerufen werden kann, muss zunächst mit den entsprechenden Datenbank-Tools ein Datenbank-Benutzer angelegt werden. Als wichtiger Schritt vor dem eigentlichen Setup muss zudem ein Verzeichnis für den Dateimanager der Groupware angelegt werden. Aus Sicherheitsgründen muss dieses Verzeichnis außerhalb des Webserver-Verzeichnisbaums liegen. Nach dem Entpacken des PHP-Codes in ein Verzeichnis innerhalb der DocumentRoot des Webservers kann das Setup mit http://www.your_server.whatever/phpgroupware/setup gestartet werden. Dort wird unter anderem der eben angelegte Datenbank-Nutzer eingetragen. Außerdem werden weitere Defaults wie ein Temp-Verzeichnis, Servernamen, ein Admin-Account mit Passwort sowie weitere Einstellungen festgelegt. Wenn die genannten Schritte erfolgreich abgearbeitet sind und die Datenbankverbindung als OK markiert wird, kann die Groupware über das Web-Interface eingerichtet werden. Zunächst werden die gewünschten Lokalisierungen nachgeladen (als Default ist Englisch installiert). Anschließend folgt die Installation der einzelnen Anwendungen. Später ist es möglich, für jeden Nutzer oder auch für Nutzergruppen separat festzulegen, welche der Anwendungen jeder einzelne Nutzer sieht – nicht jedem Nutzer stehen immer alle Anwendungen zur Verfügung. Als letzter Schritt der Basis-Einrichtung folgt die Abmeldung vom Setup-Programm und die Anmeldung mit dem eben definierten Admin-Account an der Groupware. Dort werden abschließend über die Anwendung „Administration“ alle gewünschten Standardeinstellungen wie Sprache, Skin/Template oder Mail-Anbindung gesetzt sowie die Nutzerkonten und deren individuelle Rechte eingerichtet. Damit ist die phpGroupWare-Installation betriebsbereit. Weitere Hinweise zur Installation gibt es auch im Internet [5].

Für eine gute Performance ist wie üblich unbedingt auf genügend Hauptspeicher zu achten und darauf, dass die Cache-Größen sowohl in der Datenbank als auch für PHP (in php.ini) entsprechend hoch angesetzt sind. Wenn der Server viel Swap-Space benutzt, hat er definitiv zu wenig Hauptspeicher. Als sehr hilfreich hat es sich erwiesen, einen PHP-Cache zu benutzen, beispielsweise den Turck-MMCache.

Support für phpGroupWare gibt es je nach Bedarf kommerziell und nicht kommerziell. Der nicht-kommerzielle Support funktioniert, wie bei freier Software üblich, über Mailinglisten und IRC [6]. Außerdem ist ein Bugtracker [7] eingerichtet.

Anzeige
Anzeige

Fazit

phpGroupWare bietet ein sehr breites Spektrum an Einsatzmöglichkeiten und ist einfach erweiterbar. Dadurch wird phpGroupWare zu einer Art „Schweizer Messer“ für (fast) alle Bedürfnisse kleiner bis mittlerer Firmen. In Teilbereichen gilt das auch für größere Organisationen. Geboten werden neben klassischen Groupware-Funktionen auch Projektmanagement, Trouble-Ticket-System, Content Management und vieles mehr. Allerdings handelt es sich prinzipbedingt um eine rein webbasierte Lösung. Es existiert kein eigener Stand-alone-Client und die Lösung ist daher nicht offline-fähig. Sofern ein ständiger Netzzugang besteht, ist dies kein Nachteil. Eine PDA/MDA-Synchronisation für SyncML existiert, ist aber noch nicht vollständig in das Projekt integriert. Als Freie Software kann die Lösung jederzeit individuell angepasst werden.

Mehr zu diesem Thema
Fast fertig!

Bitte klicke auf den Link in der Bestätigungsmail, um deine Anmeldung abzuschließen.

Du willst noch weitere Infos zum Newsletter? Jetzt mehr erfahren

Anzeige
Anzeige
Schreib den ersten Kommentar!
Bitte beachte unsere Community-Richtlinien

Wir freuen uns über kontroverse Diskussionen, die gerne auch mal hitzig geführt werden dürfen. Beleidigende, grob anstößige, rassistische und strafrechtlich relevante Äußerungen und Beiträge tolerieren wir nicht. Bitte achte darauf, dass du keine Texte veröffentlichst, für die du keine ausdrückliche Erlaubnis des Urhebers hast. Ebenfalls nicht erlaubt ist der Missbrauch der Webangebote unter t3n.de als Werbeplattform. Die Nennung von Produktnamen, Herstellern, Dienstleistern und Websites ist nur dann zulässig, wenn damit nicht vorrangig der Zweck der Werbung verfolgt wird. Wir behalten uns vor, Beiträge, die diese Regeln verletzen, zu löschen und Accounts zeitweilig oder auf Dauer zu sperren.

Trotz all dieser notwendigen Regeln: Diskutiere kontrovers, sage anderen deine Meinung, trage mit weiterführenden Informationen zum Wissensaustausch bei, aber bleibe dabei fair und respektiere die Meinung anderer. Wir wünschen Dir viel Spaß mit den Webangeboten von t3n und freuen uns auf spannende Beiträge.

Dein t3n-Team

Melde dich mit deinem t3n Account an oder fülle die unteren Felder aus.

Bitte schalte deinen Adblocker für t3n.de aus!
Hallo und herzlich willkommen bei t3n!

Bitte schalte deinen Adblocker für t3n.de aus, um diesen Artikel zu lesen.

Wir sind ein unabhängiger Publisher mit einem Team von mehr als 75 fantastischen Menschen, aber ohne riesigen Konzern im Rücken. Banner und ähnliche Werbemittel sind für unsere Finanzierung sehr wichtig.

Schon jetzt und im Namen der gesamten t3n-Crew: vielen Dank für deine Unterstützung! 🙌

Deine t3n-Crew

Anleitung zur Deaktivierung
Artikel merken

Bitte melde dich an, um diesen Artikel in deiner persönlichen Merkliste auf t3n zu speichern.

Jetzt registrieren und merken

Du hast schon einen t3n-Account? Hier anmelden

oder
Auf Mastodon teilen

Gib die URL deiner Mastodon-Instanz ein, um den Artikel zu teilen.

Anzeige
Anzeige