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.
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.
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:
% apt-get install gnustep-make libgnustep-base1.13 ↪libgnustep-base-dev
Then, retrieve the SOPE and SOGo's sources from the official Subversion server:
% svn co http://svn.opengroupware.org/SOPE/trunk/ SOPE-trunk % svn co http://svn.opengroupware.org/SOGo/inverse/trunk/ SOGo-trunk
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:
% ./configure --with-gnustep --enable-strip --disable-debug % make && make install
And, finally, compile and install SOGo, its Web templates and resources:
% cd ../SOGo-trunk % ./configure --with-gnustep --enable-strip --disable-debug % make && make install % cp -a UI/WebServerResources UI/Templates $GNUSTEP_LOCAL_ROOT/ ↪Library/SOGo-0.9/
Webinar: 8 Signs You’re Beyond Cron
11am CDT, April 29th
- Tips for Optimizing Linux Memory Usage
- Picking Out the Nouns
- "No Reboot" Kernel Patching - And Why You Should Care
- DevOps: Better Than the Sum of Its Parts
- Return of the Mac
- Android Candy: Intercoms
- Drupageddon: SQL Injection, Database Abstraction and Hundreds of Thousands of Web Sites
- Non-Linux FOSS: .NET?
- diff -u: What's New in Kernel Development