Shared Calendars

Jon Orris jorris at redhat.com
Wed May 12 21:34:54 UTC 2004


After reading 
http://www.redhat.com/archives/fedora-desktop-list/2004-April/msg00035.html 
I've been taking a look at groupware/calendaring solutions, and wanted 
to share my thoughts on it:

System requirements:

Performance & scalability: The system should scale to hundreds, and 
ideally thousands of users. It should be easy to purchase better 
hardware or add servers in a clustered environment to improve 
performance and support large numbers of users.

Community: Ideally, the project should already have a strong Open Source 
community around it.

Standards: The product needs to support common open components and 
standards. The use of standard protocols for storage & exchange of data 
is important. There are some projects that use standard components, but 
in very unusual ways with no standard protocol for exchange. Some 
relevant standards are:


(The below lists of standards & features, excepting Evolution 
integration, are from 
http://www.redhat.com/archives/fedora-desktop-list/2004-April/msg00058.html) 


http://www.imc.org/ietf-calendar/index.htmliCalendar/iCal (RFC2445)   
http://www.ietf.org/rfc/rfc2445.txtxCal (iCalendar DTD document)      
http://xml.coverpages.org/iCal.htmlCalendar Server Extensions for WebDAV 
(CalDAV)      
http://greenbytes.de/tech/webdav/draft-dusseault-caldav-00.htmliTIP (RFC 
2446) Transport-independent Interoperability protocol
http://www.ietf.org/rfc/rfc2446.txtiMIP (RFC 2447) Message-based 
Interoperability Protocol     
http://www.ietf.org/rfc/rfc2447.txtCalendar Access Protocol (CAP) 
transport over BEEP      
http://www.beepcore.org/beepcore/home.jsp      
http://beepcore.org/beepcore/docs/profile-cap.htmlICAP (extension of 
IMAP 4 to support CAP)       
http://www.wirs.aber.ac.uk/spk/Diary/icap-draft.htm#Overview


Features:

* Single-Sign On (usually via Directory integration)
* user management via "address book users" rather than "system users"
* Group scheduling/Meeting creation
* Resource scheduling (ie. room availability, notebook checkout...)
* Free/busy time
* Merging of multiple calendars
* import/export iCal
* synchronization:       
  * to handhelds/phone        
  * to notebook       
  * to other calendar servers
* notification/reminder mechanism

* Evolution Integration

Anyone have other requirements we haven't thought of here?


As an alternative to adopting a particular project, we could build 
something. The WAF framework, for example, contains numerous 
infrastructure components that would facilitate building such a system.
http://redhat.com/software/rha/tech/waf/

Community Projects:
The ones I've looked at so far were mentioned in 
http://www.redhat.com/archives/fedora-desktop-list/2004-April/msg00058.html
My overall conclusion is that Open Groupware and Horde are the strongest 
existing options.

k5n.us (http://www.k5n.us/webcalendar.php)
License: GPL

Features:
Decent PHP calendar implementaion. Does not appear to have groups, but 
allows creating calendar entries for multiple individuals in 'Waiting 
for Approval' State.

Allows Export as iCal, vCal, or CSV. Allows import as vCal or CSV. 
Supports LDAP authentication.

Database:
MySQL, PostgreSQL, Oracle, DB2, Interbase or ODBC.

Documentation:
Pretty good documentation. Good documentation on the DB schema.

UCal from the University of Washington (http://www.washington.edu/ucal/)
License: BSD Style http://www.washington.edu/ucal/bsd.html

Features:
Java Servlets based calendar implementation. Allows import & export in 
iCal. Has users & groups.

Code is of adequate to poor quality. Academic implementation. No 
built-in authentication mechanism other than simple plaintext passwords. 
Database code spread throughout as raw JDBC calls.

Open Groupware (OpenGroupware.org)
License: GPL & LGPL

Features:
Group Collaboration system descended from the SKYRiX groupware server. 
Supports group workspaces, calendaring, some document management. 
Integrates with IMAP for mail and LDAP for authentication. Written in 
Objective-C, some XML-RPC APIs for Java & perl being developed.

Calendar integration works with Mozilla Calendar, Apple's iCal.app and 
generic WebDav. There is an OGo specific Evolution plugin being 
developed; I tried it on 1.4.5 and it was able to create entries on the 
server, but not view them in Evolution.

OGo works with Ximian's Exchange Connector v1.2. The version recently 
released as Open Source by Ximian is 1.4.7, which does not work, but
there is strong interest on the OGo lists in supporting it.

OGo has a plugable database architecture, and currently supports 
PostgreSQL and FrontBase.

OGo has basic localization support for Latin-1 charsets, but doesn't 
currently support language such as Chinese or Japanese. This is a 
planned feature.

Horde (http://www.horde.org/)
License: GPL & LGPL

PHP based groupware system. Supports POP3/IMAP integration for mail, 
LDAP & SQL for contact management, and has calendaring.

The calendar system now support import/export of iCal. It doesn't yet 
support group calendaring, but this is in development.

Supports MySQL and PostgreSQL databases.

KGroupware (http://kgroupware.org/)
License: GPL

Groupware/calendaring solution focusing on KDE frontends.  Calendaring 
supports vCal standard. Calendar entries, like everything else, are 
stored on the IMAP server as a special type of 'mail' message. This does 
not fit well with most other software.

http://www.redhat.com/archives/fedora-list/2003-October/msg00588.html

Chandler (http://wiki.osafoundation.org/twiki/bin/view/Chandler/WebHome)
License: GPL, other OS licenses in the future.

Interesting project, but is in a very early stage. It doesn't look like 
full Full iCal compliance isn't scheduled until the 1.5 release, and it 
is currently  on 0.3. It isn't clear if even this allows external 
clients such as Evolution to access calendar functionality.

Currently, development focus is on building out the application 
framework. The project has full time developers being funded by OSAF.

Egroupware:

License: GPL & LGPL

community

Egroupware is a fork of phpgroupware. Some people were dissatisfied with 
phpgroupware development so they forked. The calendar application is 
actually on a fork of the PHP-based WebCalendar (separate project).The 
project is pretty popular as a download on sourceforge.

features

Reasonable calendar. Primitive "CMS". Webmail app (strangely not based 
on Horde; based on Anglemail). There is also a Wiki, Bookmarks, Forum, 
and "Infolog" (notes/todos).The UI isn't very good (lots of clicking 
around to figure out how to do things, and it's slow so it's a bit 
frustrating). It looks pretty, though.The documentation is pretty 
abysmal. There is work with LDAP.

technical
Written in PHP. It runs very slowly on a test system at Red Hat. 
Supports MySQL and PostgreSQL only with embedded SQL statements.They 
have made an attempt to separate out business logic from the UI. Given 
the scripting language base, I don't know if this is scaleable. 
Interoperability with existing systems (e.g., IMAP stores) does not seem 
to be a focus.They do not have real standards support (e.g., iCal).





More information about the Fedora-desktop-list mailing list