Fedora Calendar Project

A calendaring server can be very useful to a large project like the Fedora Project. The benefits are limitless with regard to scheduling, meetings, events and other activities held within and without the Fedora Project.

It would seem the efficiency of the Fedora Project as a whole could be improved in many ways:


 * Eliminating problems with time zone conversion for one.
 * Fedora Meetings could be scheduled identifying conflicts.
 * Individuals could import the calendar into their personal calendars
 * Adding and removing personal events on their calendar could be shown with the fedora calendar events
 * Depending on the sub-project or SIG, individuals could help update events for the group. (access controls would be needed here)

Initiators (and possible owners)

 * Adam Williamson
 * Clint Savage

Background
For information on the history and reasoning for this effort, read these entries:


 * https://www.redhat.com/archives/fedora-infrastructure-list/2009-February/msg00060.html

Target (sub-)domains and paths

 * http://calendar.fedoraproject.org* - Main web calendar / provides calendar server functionality
 * https://fedoraproject.org/en/get-fedora - Shows upcoming release dates (alpha, beta, etc)

Time frame/schedule
No timeframe exists at this point. Please feel free to suggestion on this wiki page.

Tasks
The tasks below are a list (with tentative dates) of the process to choose a good calendaring server. Many variables may come into play that make these dates impossible. However, we will do our best to stick to the schedule.


 * TBD: Identify possible candidates for calendaring servers. Several were listed in the above email thread.
 * TBD: Contact calendaring maintainers/developers to obtain information and write reviews of calendaring servers.
 * TBD: Obtain resources and implement top 2 or 3 candidates for testing purposes. This requires help from infrastructure and the calendaring server communities at a minimum.
 * TBD: Testing of candidates should be complete including security reviews.
 * TBD: Choose a calendaring server option
 * TBD: Calendaring server should be packaged and ready to be added to Fedora 12.

Must have

 * View a calendar on a web page and edit it from there.
 * Support individual calendars as well as shared event calendar.
 * Must be readable by the world.
 * New submissions held for approval.
 * Events should be editable by admins.
 * Support automatic TimeZone conversion.
 * Authentication against FAS for write privileges

Should have

 * Use OpenID for authentication.
 * Ability to push/pull data from handheld clients in an "acceptable" format. ical is a good candidate format.
 * Ability to support Free/Busy scheduling.
 * Ability to kick off permissible actions against a registered event, e.g.:
 * Email reminders for a meeting

Other good qualities

 * Be a modular design (v. monolithic)
 * Have an active and large community

Recommended Calendaring Server Option
There is a Drupal module that may serve as a good option, which could be integrated with Fedora Insight.

Other Calendaring Options

 * http://trac.calendarserver.org/ (Apache v2.0)
 * Bongo Project - http://bongo-project.org/Main_Page (formerly Hula) (GPLv2)
 * Bedework - http://www.bedework.org/bedework/ (BSD License)
 * DAViCal - http://rscds.sourceforge.net/ (GPLv2)
 * Chandler Project - http://chandlerproject.org/ (Apache v2.0)
 * OpenGroupWare - http://www.opengroupware.org/ (GPL or LGPL)

Team requirements for deployment and maintenance
We are looking for a team of people who wish to deploy and maintain a new calendar server for the whole of the Fedora Project. This project will provide a way to schedule events within each sub-project with access control. Larger calendaring functionality could become commonplace with something like this and help to provide better management of schedules, releases, etc.

Skills needed

 * Web systems administration
 * Possible Design (graphics, CSS)
 * Coding (PHP, Python, Java, etc.) in the particular CMS solution
 * Some understanding of caldav or ical functionality