Scalable OpenGroupware.org

Finally, a scalable groupware solution that matches the offerings from big vendors.

This article is a follow-up to “Linux Groupware Roundup”,
published in Linux Journal
in July 2005. As you might know, a few things have changed since 2005:

CalDAV has been adopted by the IETF as a proposed standard, and
open-source projects, such as Bedework, OSAF Chandler Server (Cosmo),
Zimbra and SOGo, implement the protocol.

The Sync4j Project, a PIM-data synchronization server, is now
called Funambol. It also has received major enhancements in the
past few releases.

In 2006, Novell retracted all full-time employees from the Hula
Project. In 2007, Messaging Architects announced the acquisition
of NetMail, from which Hula is derived.
Thereafter, faithful contributors to Hula forked the source code
in a new independent project named Bongo.

The latest version of Apple Mac OS X Server (code-named Leopard)
is shipped with a CalDAV server called Calendar Server.

OpenOffice.org's groupware client named
Glow is being replaced by a Mozilla-based PIM suite.

A new project named Zimbra obtained considerable attention,
especially from Yahoo!, who bought the company in September 2007.

The open-source collaboration servers mentioned in the 2005 article
have all survived the competition:

Both OpenGroupware.org (OGo) and
Open-Xchange (OX) remain good servers for companies that want to
continue using Microsoft Outlook, even though these products have
not integrated any new appealing features during the past three
years.

Citadel has improved its GroupDAV support, but the authors still
refuse to implement CalDAV.

Bedework has forked the UW Calendar Project and quickly brought the
project to maturity.

This article focuses on Scalable OpenGroupware.org (SOGo), a complete open-source groupware that
integrates all requirements one would expect from a collaboration
suite: accessibility, consistent interfaces, scalability and stability.

Scalable OpenGroupware.org

Based on OpenGroupware.org, a project with
more than ten years of maturity, Scalable OpenGroupware.org provides a complete groupware
solution oriented toward scalability instead of depth in
functionality. SOGo offers all standard groupware features, including the
following:

Personal and shared calendars with events and tasks.

Personal and shared address books with LDAP sources.

Personal and shared e-mail mailboxes.

It also stores calendar information using the iCalendar standard and
contact information using the vCard format. This avoids information loss
when exchanging over protocols supported by SOGo, such as CalDAV,
CardDAV and GroupDAV.

In development since 2004, the project has greatly improved during the
past few months. Inverse, developers on the project, contributed many
improvements, such as CalDAV, CardDAV and ACL support. Furthermore, it
re-created SOGo's Web interface so that it matches the look and feel
of Mozilla Thunderbird and Lightning (or its standalone equivalent,
Sunbird). The interface now also makes use of Ajax. Although CalDAV and
IMAP take care of the calendaring and e-mail integration of the Mozilla
suite with SOGo, address books also needed to be synchronized.
Inverse created a plugin for Thunderbird named SOGo Connector that
adds this functionality among others.

These contributions allow SOGo to provide Web and native interfaces
sharing the same look and feel, features and data—a considerable
advantage and uncommon characteristic compared with other FOSS
groupware solutions.

Installation

SOGo depends on a few core components, such as Apache, PostgreSQL, an LDAP
server and an IMAP server (preferably Cyrus IMAP Server, Dovecot or
Courier) that uses the LDAP server as the authentication back end. You
need to install those (or reuse existing installations) and get
them running properly before continuing with the SOGo installation
instructions. SOGo supports other database back ends, but for this
article, we assume the use of PostgreSQL and that all components,
including the LDAP server, are installed on the same server.
Furthermore, SOGo depends on the following components:

GNUstep make and base for compiling and installing the project and
subprojects.

SOPE, for server-side Web application development.

Start with obtaining GNUstep make and base. If you're using Debian, you
can install both components with apt-get:

SOPE needs to be patched so that it works well with SOGo. Once you have
pulled SOPE from the trunk successfully, apply the SOPE patch included with
SOGo:

% cd SOPE-trunk
% patch -p0 < ../SOGo-trunk/SOPE/sope-patchset-*.diff

Prior to compiling SOPE and SOGo, make sure to source the GNUstep.sh
script that comes with GNUstep make. This will define some environment
variables used by GNUstep make when building the packages. When using
the Debian packages, this script is located in
/usr/GNUstep/System/Library/Makefiles/GNUstep.sh. Once sourced, compile
and install SOPE, as follows: