Difference between revisions of "SoC calendar plugin"

From GeeklogWiki
Jump to: navigation, search
(Added some more links, WebDAV)
Line 21: Line 21:
 
* The calendar shall have the ability to import, export and perhaps sync using the iCal ([http://tools.ietf.org/html/rfc5545 RFG5545]) format.
 
* The calendar shall have the ability to import, export and perhaps sync using the iCal ([http://tools.ietf.org/html/rfc5545 RFG5545]) format.
 
** Ability to share with services like [http://upcoming.yahoo.com/ Upcoming], [http://www.dopplr.com/ Dopplr], or [http://www.google.com/calendar Google Calendar], so events only have to be entered once.
 
** Ability to share with services like [http://upcoming.yahoo.com/ Upcoming], [http://www.dopplr.com/ Dopplr], or [http://www.google.com/calendar Google Calendar], so events only have to be entered once.
 +
** The calendar shall optionally support WebDAV ([http://tools.ietf.org/html/rfc2518 RFC2518]) for calendar and schedule sharing.
 
* The calendar shall support [http://microformats.org/wiki/hcalendar HCalendar].
 
* The calendar shall support [http://microformats.org/wiki/hcalendar HCalendar].
 
* The calendar shall support recurring events.
 
* The calendar shall support recurring events.
Line 45: Line 46:
  
 
== Further Reading ==
 
== Further Reading ==
===From the Bug Tracker===
+
===References===
 +
* [http://en.wikipedia.org/wiki/ICalendar Wikipedia: iCalendar]
 +
* [http://en.wikipedia.org/wiki/CalDAV Wikipedia: CalDAV]
 +
 
 +
===Bug Tracker===
 
* [http://project.geeklog.net/tracking/view.php?id=974 0000974: Make order of day/month/year dropdowns configurable in editors (without template change)]
 
* [http://project.geeklog.net/tracking/view.php?id=974 0000974: Make order of day/month/year dropdowns configurable in editors (without template change)]
 
* [http://project.geeklog.net/tracking/view.php?id=635 0000635: Required visual cues in Calendar Plugin's Event Editor v1.5b1]
 
* [http://project.geeklog.net/tracking/view.php?id=635 0000635: Required visual cues in Calendar Plugin's Event Editor v1.5b1]

Revision as of 18:29, 24 February 2010

(This is an idea page for the Google Summer of Code)

Overview

Geeklog's current calendar plugin is old and unmaintainable. It has no support for modern calendar standards and cannot support such basic functionality as recurring events. It's interface is antiquated and its sharing/group features are extremely limited.

A new Calendar plugin, written from scratch, could be designed from the group up to work with calendar standards and support a wide variety of use cases.


Requirements

Listed below are an initial set of requirements. Students applying to complete this project can use the below list as a design outline.

  • The calendar shall support events for individual users.
    • Individuals shall be able to create multiple calendars (limited to number defined by an administrator).
    • The calendar owner shall be able to control the visibility of the calendar (private, shared to a group, public).
  • The calendar shall support group events.
  • The calendar shall support site wide events.
    • Who can submit site wide events shall be controlled by the site administrator.
    • When given permission to submit site wide events, users can submit a copy of an existing individual events to the site wide calendar.
    • The site administrator shall be able to moderate events submitted by non-admin users.
    • Only site administrators shall be able to modify existing events.
  • The calendar shall have the ability to import, export and perhaps sync using the iCal (RFG5545) format.
    • Ability to share with services like Upcoming, Dopplr, or Google Calendar, so events only have to be entered once.
    • The calendar shall optionally support WebDAV (RFC2518) for calendar and schedule sharing.
  • The calendar shall support HCalendar.
  • The calendar shall support recurring events.
  • The calendar shall have an efficient implementation (responsive).
    • A smart design will be needed to support recurring events without causing a lack of responsiveness.
  • The calendar shall support for event reminders.
  • The calendar shall support sending event invitations and tracking responses.
  • The calendar shall implement Geeklog's Multi-language support.
  • The calendar shall support "locales".
    • Configurable date format (e.g. 01/21/2010 vs 2010/01/21 vs 21/01/2010)
    • Configurable first day of week (e.g. Monday vs Sunday)


Bonus

  • A migration utility to convert existing Geeklog calendar tables to work with the new plugin.
  • Create a calendar block for display in Geeklog's left or right blocks.


Level of Difficulty

medium to difficult

The level of difficulty on this project will be dependent upon the chosen design and implemented features.


Further Reading

References

Bug Tracker