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:

% 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/

______________________

Comments

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

SOGo 1.1.0 with SOPE r1660 compilation

SOGood's picture

just do apt-get install libmemcached-dev
Enjoy

SOGoCache.h:29:36: warning: libmemcached/memcached.h: No such fi

Anonymous's picture

I am having the same issue... Running on Ubuntu 8.04 64 Bit.

SOGO's compilation

Arnaud's picture

Hello there,

Francis this is great tutorial!

However, you may need to update it as the option --with-gnustep in

   % cd ../SOGo-trunk
   % ./configure --with-gnustep --enable-strip --disable-debug

doesn't seem to exist anymore.

Then on my Debian Lenny machine, the GNUstep make is located in /usr/share/GNUstep/Makefiles/, no more in /usr/GNUstep/System/Library/Makefiles/

Finally, I still have an error during the SOGo's make :

   SOGoCache.h:29:36: warning: libmemcached/memcached.h: No such file or directory

Would someone knows how to resolve this issue ?

Best regards,
arnaud

Good Tutorial

nirwan's picture

Pertamax!!

White Paper
Linux Management with Red Hat Satellite: Measuring Business Impact and ROI

Linux has become a key foundation for supporting today's rapidly growing IT environments. Linux is being used to deploy business applications and databases, trading on its reputation as a low-cost operating environment. For many IT organizations, Linux is a mainstay for deploying Web servers and has evolved from handling basic file, print, and utility workloads to running mission-critical applications and databases, physically, virtually, and in the cloud. As Linux grows in importance in terms of value to the business, managing Linux environments to high standards of service quality — availability, security, and performance — becomes an essential requirement for business success.

Learn More

Sponsored by Red Hat

White Paper
Private PaaS for the Agile Enterprise

If you already use virtualized infrastructure, you are well on your way to leveraging the power of the cloud. Virtualization offers the promise of limitless resources, but how do you manage that scalability when your DevOps team doesn’t scale? In today’s hypercompetitive markets, fast results can make a difference between leading the pack vs. obsolescence. Organizations need more benefits from cloud computing than just raw resources. They need agility, flexibility, convenience, ROI, and control.

Stackato private Platform-as-a-Service technology from ActiveState extends your private cloud infrastructure by creating a private PaaS to provide on-demand availability, flexibility, control, and ultimately, faster time-to-market for your enterprise.

Learn More

Sponsored by ActiveState