Calendar:Feature Implementations: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(start stubbing out feature pages)
 
(19 intermediate revisions by 11 users not shown)
Line 1: Line 1:
[[Calendar:Home_Page |<< Back to  Calendar Home Page]]
<small>[[Calendar:Home_Page |<< Back to  Calendar Home Page]]</small>


'''Note: This page is a work in progress.  See the [http://groups.google.com/group/mozilla.dev.apps.calendar/browse_frm/thread/3fa0f50b63bd0ec7/608458e349d7281c?q=wiki&rnum=1#608458e349d7281c wiki restructuring] for more information.'''
'''Note: This page is a work in progress.  See the [http://groups.google.com/group/mozilla.dev.apps.calendar/browse_frm/thread/3fa0f50b63bd0ec7/608458e349d7281c?q=wiki&rnum=1#608458e349d7281c wiki restructuring] for more information.'''
Line 8: Line 8:
===Front-End features===
===Front-End features===
This section is for features directly related to the user-interface of Sunbird/Lightning.
This section is for features directly related to the user-interface of Sunbird/Lightning.
*[[Calendar:Feature_Implementations:Item Dialogs| Item Dialogs]] ([[Calendar: Event Dialog]], [[Calendar: Task Dialog]]) - Dialogs for creating and editing tasks and events.
 
*[[Calendar:Feature_Implementations:Main UI Layout| UI-Layout]] ([[Calendar: Calendar View]], [[Calendar:Sunbird UIReview]]) - The overall organization of various widgets and menubars in the main xul-window.
*[[Calendar:Feature_Implementations:Main UI Layout| UI-Layout]] - The overall organization of various widgets and menubars in the main xul-window.
*[[Calendar:Feature_Implementations:Drag'n'Drop| Drag'n'Drop]] - Proposals and features related to drag and dorp behaviors of various items.
*[[Calendar:Feature_Implementations:Drag'n'Drop| Drag'n'Drop]] - Proposals and features related to drag and drop behaviors of various items.
*[[Calendar:Feature_Implementations:UI Sync|UI Sync between Sunbird/Lightning]] - ([[Calendar:Tree Review]], [[Calendar:Calendar Managment UI]]) As much as possible, we're trying to keep the code between Lightning and Sunbird the same.
*[[Calendar:Feature_Implementations:UI Sync|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]]
*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 [http://www.sun.com/software/products/calendar_srvr/index.xml 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.
*[[Calendar:Feature_Implementations:Item Dialogs| 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, ...
*[[Calendar:Server Based Invitation Handling| Invitation Dialog]] - Support for server based invitations
*[[Calendar:Server Based Subscriptions| Calendar Subscriptions]] - Support for subscriptions of calendars hosted by the same server
*[[Calendar:Server Calendar Groups| Calendar Groups]] - Support for groups of calendars hosted by the same server
*[[Calendar:Server Access Rights| Access Rights]] - Support to view and modify calendar access rights
*[[Calendar:Server Calendar Properties| Calendar Properties]] - Support to view and modify various calendar properties


===Sharing Data===
===Sharing Data===
This section is for features that relate to sharing your data with others, as well as moving your data to other locations
This section is for features that relate to sharing your data with others, as well as moving your data to other locations


*[[Calendar:Feature_Implementations:iTIP-iMIP|iTIP/IMIP]] ([[Calendar:iTIP and iMIP Support]]) - Sending and receiving calendar data via the iTIP and iMIP protocols
*[[Calendar:WCAP Provider]] - Backend code implementing all WCAP related server communication
*[[Calendar:Feature_Implementations:Device Sync Overview|Device Sync]]: ([[Calendar:Device Sync]], [[Calendar:Networking Sharing Syncing]], [[Calendar:Syncing Algorithm]])
*[[Calendar:Feature_Implementations:iTIP-iMIP|iTIP/IMIP]] - Sending and receiving calendar data via the iTIP and iMIP protocols
*[[Calendar:Feature_Implementations:Device Sync Overview|Device Sync]] - Moving information to other devices, also includes some information about publishing/remote sharing
*[[Calendar:Feature_Implementations:Emailing_Events|Emailing Events]] - Needed to fully support iMIP but, could also be used to implement "email on alarm" functionality as well.
*[[Calendar:Feature_Implementations:Attendees|Attendees]] - Many items include attendees, includes proposals and features relating to managing these.
*[[Calendar:Feature_Implementations:Attendees|Attendees]] - Many items include attendees, includes proposals and features relating to managing these.
*[[Calendar:Feature_Implementations:Providers|Providers]]: ([[Calendar:Calendar formats]], [[Calendar:Protocol/Storage Providers]]) - various implementations of calICalendar to allow storing/reading/writing calendar data in various formats.
*[[Calendar:Feature_Implementations:Providers|Providers]] - various implementations of calICalendar to allow storing/reading/writing calendar data in various formats.
*[[Calendar:Feature_Implementations:Timezones|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 [https://addons.mozilla.org/thunderbird/519/ sync kolab] to sync to an imap folder.


===Back-end and Architecture===
===Back-end and Architecture===
Features and proposals related to the internal storage and manipulation of data.
Features and proposals related to the internal storage and manipulation of data.


*[[Calendar:Feature_Implementations:Data structures|Data Structures]] ([[Calendar:Recurrence and Exceptions]], [[Calendar:Task Support]]) - the types and aspects of data that are stored.
*[[Calendar:Feature_Implementations:Data structures|Data Structures]] - the types and aspects of data that are stored.
*[[Calendar:Feature_Implementations:Modification architecture|Modification Architecture]] ([[Calendar:Architecture]]) - Proposals related to the way items are retrieved and modified.
*[[Calendar:Feature_Implementations:Modification architecture|Modification Architecture]] - Proposals related to the way items are retrieved and modified.
*[[Calendar:Feature_Implementations:Performance|Performance and Speed]] ([[Calendar:Performance and Speed]], [[Calendar:Cache]]) - optimizing various aspects of calendar code-flow
*[[Calendar:Feature_Implementations:Performance|Performance and Speed]] - optimizing various aspects of calendar code-flow
*[[Calendar:Feature_Implementations:Calendar_Cache|Calendar Cache]] - Abstracting the code to allow a local cache of calendar items for all providers


===Diverse Audiences===
===Diverse Audiences===
Line 33: Line 59:
*[[Calendar:Backwards Compatibility]]
*[[Calendar:Backwards Compatibility]]
*[[Calendar:Accessibility]]
*[[Calendar:Accessibility]]
[[category:calendar|Feature Implementations]]

Latest revision as of 06:59, 6 October 2007

<< Back to Calendar Home Page

Note: This page is a work in progress. See the wiki restructuring for more information.

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.

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

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.

Diverse Audiences

Features and proposals related to making Sunbird/Lightning usable by a variety of audiences