Calendar:Feature Implementations
Note: This page is a work in progress. See the wiki restructuring for more information.
Contents
Feature Implementations
This page contains a listing of various feature implementations that are proposed, being considered, and already implemented in Sunbird/Lightning. Please be aware that not all pages may be as up-to-date as they should be. To discuss feature implementations here, please use the newsgroup.
Front-End features
This section is for features directly related to the user-interface of Sunbird/Lightning.
- UI-Layout - The overall organization of various widgets and menubars in the main xul-window.
- Drag'n'Drop - Proposals and features related to drag and drop behaviors of various items.
- UI Sync between Sunbird/Lightning - As much as possible, we're trying to keep the code between Lightning and Sunbird the same.
- Calendar:Feature_Implementations:Alarms - Rethinking and refactoring alarms.
- Other: Calendar:Timezones
Sun JS Calendar Server Support (WCAP)
This section describes features needed for server based calendaring. The goal is to provide all features that can be found in the web client of Sun's JS Calendar Server (i.e., Sun JS Calendar Express) and to further enhance them by the functionality found in Thunderbird/Lightning.
All features that require a substantial UI change will be done as prototypes and will require a special preference settings to switch them on. See Calendar:Enterprise Features for the details.
The following feature areas have been identified as being required to fully support the WCAP protocol as described above. They are not necessarily limited to this protocol and are meant as a proposal to extend existing providers as well.
- Item Dialogs - Dialogs for creating and editing tasks and events on the server, free/busy support, invitations via address book/LDAP, attendee status, time zone handling, ...
- Invitation Dialog - Support for server based invitations
- Calendar Subscriptions - Support for subscriptions of calendars hosted by the same server
- Calendar Groups - Support for groups of calendars hosted by the same server
- Access Rights - Support to view and modify calendar access rights
- Calendar Properties - Support to view and modify various calendar properties
Sharing Data
This section is for features that relate to sharing your data with others, as well as moving your data to other locations
- Calendar:WCAP Provider - Backend code implementing all WCAP related server communication
- iTIP/IMIP - Sending and receiving calendar data via the iTIP and iMIP protocols
- Device Sync - Moving information to other devices, also includes some information about publishing/remote sharing
- Emailing Events - Needed to fully support iMIP but, could also be used to implement "email on alarm" functionality as well.
- Attendees - Many items include attendees, includes proposals and features relating to managing these.
- Providers - various implementations of calICalendar to allow storing/reading/writing calendar data in various formats.
- Timezones - a new timezone backend architecture allowing us to handle arbitrary timezones
- Other: Calendar:Search_Engines
- IMAP - Why go to the trouble of setting up a webdav server or an ftp server when you already have an IMAP server for your mail. Although network calendars accept imap: scheme'd url's it doesn't work, so instead create a local calendar and use sync kolab to sync to an imap folder.
Back-end and Architecture
Features and proposals related to the internal storage and manipulation of data.
- Data Structures - the types and aspects of data that are stored.
- Modification Architecture - Proposals related to the way items are retrieved and modified.
- Performance and Speed - optimizing various aspects of calendar code-flow
- Calendar Cache - Abstracting the code to allow a local cache of calendar items for all providers
Diverse Audiences
Features and proposals related to making Sunbird/Lightning usable by a variety of audiences