# Horde (Framework)

Horde ist eine freie, webbasierte Groupware.
Die verschiedenen Komponenten dieser Groupware bauen auf dem Horde Framework auf. Dieses in PHP geschriebene Framework liefert alle Elemente für die schnelle Entwicklung von Webanwendungen.
Das Horde-Projekt hat es sich zur Aufgabe gemacht, eine möglichst breite Unterstützung für Backends zu liefern. So kann Horde mit diversen SQL-Dialekten genauso umgehen wie mit LDAP und Kolab. Horde unterstützt NoSQL-Datenbanken wie CouchDB und das CalDAV-Protokoll für Kalender-Daten. Während Standard-Einstellungen über mitgelieferte Kommandozeilenskripte oder Knöpfe im Admin-Bildschirm sehr schnell erstellt werden können, gibt es zahlreiche Konfigurationsmöglichkeiten und Sonderfunktionen, die teilweise erheblich komplexer einzurichten sind. Ein gewisses Verständnis der zugrundeliegenden Techniken ist in diesen Fällen erforderlich.

## Geschichte

Horde geht aus dem Webmailer IMP (Internet Messaging Program) hervor, der von Chuck Hagenbuch im Sommer 1998 für seinen Campus programmiert wurde. Als Ausgangspunkt hierfür diente die IMAP-Erweiterung von PHP. Nachdem IMP auf Freshmeat vorgestellt wurde, gab es viele Erweiterungsanfragen. Nicht alle dieser Anfragen waren spezifisch für Webmail, weswegen Horde als Überbau geschrieben wurde. Horde sollte alle Erweiterungen beinhalten, die nicht zu IMP passten.
* IMP 1.0 wurde am 23. Juli 1998 auf Freshmeat vorgestellt. Zu diesem Zeitpunkt bestand IMP aus einer einzigen PHP-Datei mit drei Funktionen.
* Am 10. Januar 2001 wird Horde als eigenes Projekt bei Freshmeat registriert.
* Horde 2.0 und IMP 3.0 wurden im Jahr 2001 fertiggestellt. Horde 2.0 war die erste Version, die ohne IMP lauffähig ist. Horde stand ab jetzt unter LGPL
* Am 23. Dezember 2003 wurde Horde 3.0 freigegeben. Die Anzahl der Horde-Module stieg von 6 auf 45. Horde verwendet seit diesem Release ein PEAR-ähnliches Paketverwaltungssystem für seine Softwarebibliotheken.
* Am 30. Oktober 2012 erschien Horde 5.

## Anwendungen

Horde bietet diverse Anwendungen in Form von Modulen. Diese unterteilen sich hauptsächlich in:

### E-Mail
#### IMP

    ist der Horde-Webmail-Client. IMP verwendet wahlweise IMAP- oder POP3-Server als Backend. Seit Horde 5 bietet IMP auch einen speziellen Tablet-Modus für Computer mit Touch-Bedienung.

   #### DIMP

       ist eine modernere Oberfläche für IMP und verwendet Ajax-artige Techniken, um eine dynamischere Benutzerschnittstelle zu ermöglichen. DIMP ist seit Horde 4 / IMP 5 im Webmailer fest integriert und nicht mehr separat erhältlich.

   #### MIMP

       ist eine stark abgespeckte Version von IMP, um den Webmailservice auch für Mobiltelefone und PDAs via WAP verfügbar zu machen. MIMP ist seit Horde 4 / IMP 5 im Webmailer fest integriert und nicht mehr separat erhältlich.

#### Ingo

    ist eine Anwendung zum Verwalten von Filterregeln. Neben einfachen Regeln für procmail unterstützt Ingo auch Sieve-, maildrop- und IMAP-Filterregeln.

#### Passwd

    zum Ändern von Passwörtern bei verschiedenen Diensten wie LDAP, IMAP, Unix-Login oder zum Ändern des Horde-Login-Passwortes. Bis Horde 3 im Sork-Modul enthalten-

#### Sork

    ist eine Sammlung weiterer Anwendungen, :

   #### Passwd

       Bis Horde 3 in Sork enthalten, danach eigenständig.

   #### Forwards

       zum Verwalten von E-Mail-Weiterleitungen. Ab Horde 4 von Ingo abgelöst.

   #### Vacation

       zum Verwalten von Abwesenheitsnachrichten (Autoresponder). Ab Horde 4 von Ingo abgelöst.

   #### Accounts

       für die Anzeige weiterer Kontoeigenschaften wie zum Beispiel das verbliebene Festplattenkontingent (Dieses Modul ist seit Horde 3.x fest integriert und wird nicht mehr einzeln angeboten). Accounts wurde ursprünglich eingeführt, um die Menüleiste von Horde dadurch zu entlasten, indem die Sork-Anwendungen unter einem Menüpunkt zusammengefasst wurden.

### Groupware
#### Kronolith

    ist eine Kalenderanwendung mit iCalendar/iTip-Unterstützung

#### Mnemo

    ist ein Notizbuch

#### Nag

    ist ein Taskmanager

#### Gollem

    ist ein Dateimanager, der über ein virtuelles Dateisystem auf FTP-, SQL-, Samba-, SSH- und lokale Server zugreifen kann

#### Trean

    ist eine Anwendung zur browserunabhängigen Verwaltung von Bookmarks

#### Turba

    ist ein virtuelles Adressbuch mit Unterstützung für vCards

#### Wicked

    ist ein Wiki

#### Ansel

    Ab Horde 4: Eine Mediengalerie

### Entwicklungstools
#### Chora

    ist eine Anwendung zum Betrachten von CVS- und Subversion-Repositories

#### Whups

    (Web Horde User Problem Solver) ist ein Bugtracker.

## Horde Groupware

Um die Installation und Wartung von Horde zu erleichtern, werden das Horde-Basissystem sowie die aktuellen Versionen der Module Kronolith, Turba, Nag und Mnemo als Bundle unter dem Titel Horde Groupware als ein einziges, herunterladbares Archiv mit teilweise bereits fertigen Konfigurationen angeboten. Am 14. Januar 2007 erschien das erste dieser Bundles. Aktuell ist die Version 5.2.22 vom 21. September 2017.

### Webmail Edition

Da der Webmailer IMP zu den beliebtesten Horde-Anwendungen gehört, gibt es ein weiteres Bundle unter dem Titel Horde Groupware Webmail Edition, welches dieselben Module wie das obige Bundle enthält und zugleich um IMP und Ingo erweitert wurde. Die erste Version erschien zeitgleich zur normalen, aktuell ist die Version 5.2.15 vom 2. Juli 2016.

## Das Entwicklerteam

Das ständige Horde-Entwicklerteam setzt sich zurzeit zusammen aus:
* Jan Schneider
* Michael J Rubinsky
* Ralf Lang
Ehemalige Entwickler:
* Chuck Hagenbuch
* Jon Parise
* Anil Madhavapeddy
* Rich Lafferty
* Marcus I. Ryan
* Jason E. Felice
* Matt Selsky
* Eric Rostetter
* Michael M. Slusarz
* Gunnar Wrobel
* Ben Klang

## Screenshots Horde 4 vor Redesign

* Die Portalansicht von Horde
* Das Webmailmodul IMP
* Hordes Adressverwaltung
* Verwaltung von Regeln zum Filtern von E-Mails