[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Shared Calendars



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




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]