[commits] [Wiki] changed: ExternalClientsHowTo
Jan Schneider
jan at horde.org
Mon Nov 11 12:48:23 UTC 2013
jan Mon, 11 Nov 2013 12:48:23 +0000
Modified page: http://wiki.horde.org/ExternalClientsHowTo
New Revision: 8
Change log: Update current state
@@ -1,27 +1,31 @@
+ Using external groupware (PIM) clients with Horde
-There are several ways to access Horde applications or backends with
external clients. These options can be summerized into two groups.
Either both Horde and the external applications access the same shared
backends as clients. Alternatively Horde can act as a backend server
itself, that can be used by external clients.
+There are several ways to access Horde applications or backends with
external clients. These options can be summerized into two groups.
Either both Horde and the external applications access the same shared
backends as clients. Alternatively Horde can act as a backend server
itself, that can be used by external clients through
((Synchronization)).
++ Shared backends
+++ Kolab server
-A [http://www.kolab.org Kolab] server is probably the most complete
groupware solution with a shared backend server. Kolab is basically a
stack of proven open source server systems that build a complete
groupware server including web based management and wide range of
supported clients. Horde is the officially supported
((KolabHowTo|browser frontend for Kolab)) and supports all groupware
features. There exist several clients for various platforms with
native Kolab support, as well as connectors for existing groupware
clients like **[http://office.microsoft.com/en-us/outlook/ Outlook]**
or **[http://www.mozilla.com/en-US/thunderbird/ Thunderbird]**.
+A [http://www.kolab.org Kolab] server is probably the most complete
groupware solution with a shared backend server. Kolab is basically a
stack of proven open source server systems that build a complete
groupware server including web based management and wide range of
supported clients. Horde is the officially supported
((KolabHowTo|browser frontend for Kolab 2)) and supports all groupware
features. There exist several clients for various platforms with
native Kolab support, as well as connectors for existing groupware
clients like **[http://office.microsoft.com/en-us/outlook/ Outlook]**
or **[http://www.mozilla.com/en-US/thunderbird/ Thunderbird]**.
+++ Homebrew servers
-Kolab is probably the most comfortable way to install a groupware
server for Horde. But if you already have some servers running that
support open standards, chances are that you can access them with
Horde applications. Horde applications support a wide range of
protocols like IMAP, LDAP, IMSP and SQL. Due to the modular,
driver-based architecture of the Horde Framework, you can even write
your own drivers for backends that are currently not yet supported.
Using Kronolith as frontend for a !CalDAV server would be such
possible driver.
+Kolab is probably the most comfortable way to install a groupware
server for Horde. But if you already have some servers running that
support open standards, chances are that you can access them with
Horde applications. Horde applications support a wide range of
protocols like IMAP, LDAP, CalDAV, IMSP and SQL. Due to the modular,
driver-based architecture of the Horde Framework, you can even write
your own drivers for backends that are currently not yet supported.
++ Horde as a backend
-+++ !SyncML
++++ SyncML
-SyncML is not really an access protocol, but a synchronization
protocol. SyncML is already built into many **mobile devices** like
**mobile phones**, and there exist many clients for mobile devices and
**desktop applications**, most notably by [http://www.funambol.com/
Funambol] and [http://www.synthesis.ch/ Synthesis]. SyncML not used to
access the live groupware data from the clients and manipulate them
directly on the client, but to keep several copies of the same data
synchronized with a push on a button.
+SyncML is not really an access protocol, but a synchronization
protocol. SyncML was already built into many **mobile devices** like
**mobile phones**, and there exist many clients for mobile devices and
**desktop applications**, most notably by [http://www.funambol.com/
Funambol] and [http://www.synthesis.ch/ Synthesis]. SyncML not used to
access the live groupware data from the clients and manipulate them
directly on the client, but to keep several copies of the same data
synchronized with a push on a button. The usage of SyncML is fading
out and being replaced by the ActiveSync protocol.
-+++ !WebDAV/!GroupDAV/!CalDAV/iCalendar
++++ ActiveSync
-Horde has a basic [http://www.webdav.org/ WebDAV] interface that can
be accessed by external clients like
**[http://www.mozilla.com/en-US/thunderbird/ Thunderbird]**,
**[http://www.kontact.org/ Kontact]**, or
**[http://www.apple.com/ical/ Apple iCal]**. This interface is going
to be the basis for more advanced [http://www.groupdav.org/ GroupDAV]
and/or [http://ietf.osafoundation.org/caldav/ CalDAV] interfaces.
These are standards which allow more complex access to groupware data
and scale better than plain !WebDAV. Even in older versions of
Kronolith and Nag exist HTTP interfaces with can be used by !WebDAV
compatible clients to connect to calendars and task lists, though
limited to read-only access.
+The ActiveSync protocol provides over the air synchronization of
contacts, calendar, task, notes, and email to devices supporting
Exchange ActiveSync such as the iOS, Android, and Windows Mobile.
+
++++ WebDAV (iCalendar/ICS)/!GroupDAV/CalDAV/CardDAV
+
+Horde has [http://www.webdav.org/ WebDAV], CalDAV and CardDAV
interfaces that can be accessed by external clients like
**[http://www.mozilla.com/en-US/thunderbird/ Thunderbird]**,
**[http://www.kontact.org/ Kontact]**, or
**[http://www.apple.com/ical/ Apple iCal]** or mobile devices like iOS
or Android phones. The latter are standards which allow more complex
access to groupware data and scale better than plain WebDAV. Support
for [http://www.groupdav.org/ GroupDAV] doesn't exist yet, because
this protocol has never grown popular.
+++ XML-RPC
Several generic RPC interfaces exist in Horde, at the time of this
writing XML-RPC, SOAP, and JSON. These can be used to access the
external API of Horde and its applications and are rather targeted at
developers. But there exists a ((PhpgwHowTo|wrapper around the XML-RPC
interface)) that is compatible to the RPC interface of
**[http://www.phpgroupware.org/
phpGroupWare]/[http://www.egroupware.org/ eGroupWare]**. At least one
client **(Kontact)** supports this interface. It hasn't been tested
much though.
@@ -29,7 +33,5 @@
Of course you can combine any of the scenarios mentioned here. You
could use Horde as a frontend for a Kolab server and as a SyncML
server for your **PDAs** and **phones** at the same time. Or you can
use the Kolab server as a groupware backend, but add more address
books from your company's LDAP or Active Directory servers, etc.
+++ Authentication Caveats
-The above methods all use the rpc.php entry point to horde, which in
most cases uses basic HTTP authentication to authorize access. This
may not work out of the box when PHP is run in CGI mode. Please see
HTTPAuthHowTo for a workaround.
-
-If you have configured Horde to use Shibboleth as an authentication
method then the RPC interface will fail as Horde will have no means to
authenticate the user with the supplied HTTP authentication
credentials (no _authenticate method in the Shibboleth driver).
Shibboleth is designed for web browser based applications and hides
the authentication part from Horde, providing just a trusted session
and attribute data about the externally authenticated user.
+If you have configured Horde to use Shibboleth or some other
transparent authentication method then the RPC interface will fail as
Horde will have no means to authenticate the user with the supplied
HTTP authentication credentials. Most of these authentication drivers
are designed for web browser based applications and hide the
authentication part from Horde, providing just a trusted session and
attribute data about the externally authenticated user.
More information about the commits
mailing list