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).