Calendar:Deprecated:Feature Requirements/Roadmap Review

From MozillaWiki
Jump to: navigation, search

THIS IS A DEPRECATED DOCUMENT

Calendar Feature Requirements (revision 2.0)

This document covers all the requirements, which we want to accomplish in the coming months and years. Please note, that this is not a roadmap. Since we currently lack active developers we have no timeframe for all the uncompleted features.

A lot of the functionalities have already been completed. These are shown as striked-through. The rest is either being worked on or needs developer attention. If you want to contribute to the project these tasks are your best way to get into it. Please see the FAQ and the developer guide for information on how to contribute to the project.

Appearance & Performance

  • New theme using new toolkit and Winstripe-style icons.
  • Review of calendar performance especially with large files.
  • Support for archiving old events and tasks.

Alarms

  • The format of the alarm will be to open up a dialog window. The user will be able to dismiss the alarm, or snooze it for X number of minutes, days or hours, where X is an integer.
  • Alarms give a snooze function (remind me in X minutes, snooze past event start, remember status when Calendar is turned off).
  • Snoozing alarms should persist. If you snooze an alarm, and then shut Calendar down, it should remember that the alarm was snoozed.
  • Alarms that have passed when calendar/sunbird was not running will go off on Calendar start-up.
  • Alarms can be turned on or off per calendar.
  • Alarms can be turned off globally.
  • Alarms can be set X minutes, days or weeks before the event.
  • The user should be able to snooze events for a certain time, and for a certain amount of time before the event. [Remind me again [___] (mins / hrs / days) (from now / before event)] PARTIALLY COMPLETE (just regular snooze)
  • The user should be able to see all the alarms that have not gone off.

Associating

  • Events can have locations assigned to them.
  • Events can have notes or bookmarks attached to them.
  • Calendar events can have files attached to them.
  • Events can have attendees (contacts or mailing lists) associated to them (after Server support).

Alarm popup window shoud be always on top. (or should have been an option to set it) Alarm for tasks work only for due date at the moment. When it is dismissed and I set a new due date the alarm is turned off.

Categories

  • Categories should be user-definable (add/edit/delete functions).
  • Field to associate with any event (meeting, Address, Call, etc.) to a category. There could be some default categories (e.g., Family, Friends, Work, Clients, Subcontractor, Restaurants, Computer) or perhaps example category sets for different purposes (e.g. business, software development, education, single person, family)
  • Events can be filtered based on categories.
  • Events can be associated with multiple categories.
  • Should be able to be colored based on differing categories

Exporting

  • Ability to export to another ICS file on file system or WebDAV folder.
  • Ability to export only selected events.
  • Export to HTML (pretty much the same as Print).

Events

  • Events can be added, edited or deleted and (if applicable) re-published via WebDAV.
  • Events can be all-day events or even span multiple days.
  • Events can be repeated every X days, weeks, months or years as well as on every X-day or Yth of each month.
  • Repeating events can have exceptions applied to them.

Add / Edit / Delete Events

  • The user must be able to add/edit/delete an event regardless of its location (local or remote) if they have enough permissions. PARTIALLY COMPLETE (no remote, requires calendar server)

Repeating events

  • Events can repeat every X day, week, month or year.
  • Events can repeat every week on certain days of the week, eg. Monday and Tuesday of every week.
  • Events can repeat every day of a certain month and a certain date of every month. eg. 19th of every month, or 3rd Monday of every month.
  • Users should be able to add exceptions to repeating events.

Importing

  • Import MS Outlook and other popular calendar data.
  • Import other Mozilla calendar data (see 5 - Exporting).
  • Import vCalendar data directly from clipboard

Integration

  • Receiving an email invitation should bring the calendar up to prompt to import file.
  • Finish integration with Thunderbird as an extension.
  • Accept Outlook invitations.

Invitations

  • You should be able to email invitations to people to inform them and invite them to the event. (using WebDAV only)
  • Guests will be alerted when the event is modified or deleted (Pop-up to offer re-notification). (needs Calendar Server support, see 10. Multiple People)
  • Responses to invitations that come via email will prompt to import into the calendar.

Multiple People

  • The calendar should be able to show other people's calendars, and let you edit events for other people with the proper permissions. (Completed using WebDAV only)
  • Ability to store multiple calendars on a calendar server, options for the calendar software include:
    • Sun Java System Calendar Server (formerly Sun's ONE calendar server )
    • phpGroupWare
    • eGroupWare
    • OpenGroupWare.org (OSS version of Skylix)
    • Exchange4Linux (formerly Bill's WorkGroup Server)
    • WebCalendar

Printing

  • Printing of day, week, month view with or without his calendar events as displayed on screen.
  • Printing support for tasks together with categories, percentage complete and due dates.
  • Print list of events with start and end dates, categories and locations.
  • Print only what is defined by the drop down "View" menu or the current search.
  • Option to leave out white space, i.e. Only print when I'm busy.

Remote Access

  • Users can access and subscribe to remote calendar files, re-publishing them with permission. (using WebDAV only)

Search

For saved searches, see the 17. Views which enables the "View" drop down menu

  • The user should be able to do a simple (quick) search for events.
  • Search facility from toolbar allowing quick search based on title, location and description (notes).
  • The user should not have to press a search button, it should search automatically after a certain period of time has elapsed since typing.
  • The user should be able to do an advanced search for events (design done).
  • Pop-up window to enable advanced search by selection of what fields to search in (including time and date). [Design already done]

Settings

  • Options to configure start of week, hours in day and alarm defaults (as well as others).
  • Option to pick colours for each calendar.
  • You should be able to see the week number.
  • Ability to set text colour for calendars as well as highlight colour.
  • Setting dialog needs updating to new style (see Firefox and Thunderbird as examples).

Synchronization

  • Sync data with mobile devices:
    • Palm Pilot (custom format)
    • Pocket PC (runs Outlook PocketPC version)
    • Nokia mobile phones (format?)
    • Sony Ericsson mobile phones (format? - java based)
    • Apple iPod (uses ics) [raccettura started work]

SyncML support will help a bit. Try Sync4j support http://www.funambol.com/opensource/

This software might work: Sync4jmozilla http://sourceforge.net/projects/sync4jmozilla


How about motorola or some java for phone application?

To Do List

  • Sidebar for displaying to do task list.
  • Alarms for to do tasks.
  • To do tasks should be searchable (see 13 - Search)
  • To do tasks should appear in main view, if global option is set.
  • To do tasks comment-textfield should be larger
  • To do list for simple tasks.
  • To do list should be viewable by category, due date and percentage completed.
  • To do list should be viewable as tree (by category, due date and percentage completed).

Views

  • Day, week, multi-week and month views, supporting resizing and multiple events at one time.
  • List of all events, configured by View or Search options.
  • The month view should show the trailing/following days of the previous/next month, not just the days of the current month.
  • Show a work week view which shows a user specified amount of days (some people work Mon - Fri, others work Tue - Sat).
  • In-line editing for events in both list view and calendar view.
  • Drop down "View" menu should be configurable (as in Thunderbird/Mail) and provide Save option.

Day View / Week View

  • When switching to day view, it should scroll until a certain time is at the top (like 8 AM).
  • Events that occur at the same time as each other should still be shown (ie. be squished side by side).
  • You should be able to double click on an hour and then have the new event dialog pop up for that time.
  • Day view - Configurable hours in day.
  • Week view - Monday to Friday support for Week view.
  • You should be able to delay double click on an hour and then have an inline edit box pop up for easy and quick calendar adding.

The actual day should be always marked in every view. (now it is only in month view)

Month View

  • It should be able to be resized to any width and height.

MultiWeek View

  • Multiweek view should display a grid of days (similar to month view).
  • Multiweek view should display weeks relative to current week (not current month).
  • Multiweek view should display T weeks total, where T is a user settable preference.
  • Multiweek view should display P previous weeks, where P is a user settable preference.

Standalone Build (Sunbird)

  • Make standalone build compile from the mozilla trunk.
  • Make standalone build really standalone (resolve the dependency on building it on top of Mozilla Firefox.
  • Complete the artwork/theme in standalone build.
  • Resolve integration issues (mail and browser integration)


Mozilla Calendar Roadmap

This page documents our goals and feature requirements for our upcoming releases. Since we currently lack active developers, no timeframe for upcoming releases can be given.

For a more thorough overview of our completed and uncomplete features, please visit our Feature Requirements page.

Calendar 0.9 - "Almost there..."

Items to resolve:

  • 1. Appearance & Performance - New theme; Ability to archive old events and tasks.
  • 3. Associating - Events can have files attached to them.
  • 4. Categories - Events can have multiple categories.
  • 5. Exporting - Export to HTML
  • 8. Integration - Complete integration with Thunderbird.
  • 11. Printing - Support for printing To do tasks; Support for printing list of events.
  • 14. Settings - Option to set text colour for calendars; New independent preference folder.
  • 16. To do - Tasks to appear in main view (if option set); Filter views by category, date due...

Calendar 1.0 - "Finally!"

Items to resolve:

  • 1. Appearance & Performance - Performance increase especially when dealing with large files.
  • 2. Alarms - Configurable email; Alarms triggered when Thunderbird/Mail only is running.
  • 8. Integration - Accept Outlook invitations.
  • 11. Printing - Option to leave out white-space; Print only results from search or "View" filter.
  • 13. Search - Pop-up window for advanced search.
  • 14. Settings - Change settings dialog to new style and theme.
  • 16. To do - Search facility.
  • 17. Views Drop down "View" filter menu should be configurable.

Plans for the time after 1.0

We will branch into 1.0 and 2.0 trees which are developed concurrently

Branch 1.0 will probably follow this release plan:

  • 1.1: Bug Fixes
  • 1.2 - 1.4: Beta Releases of Stand alone build, Sunbird
  • 1.5 - 1.1: Build re-release as stand alone build, Sunbird

Branch 2.0 will probably follow this release plan:

  • 1.6 - 1.7: Alpha Releases of next generation release
  • 1.8 - 1.9: Beta Releases of next generation release
  • 2.0: Release of next generation calendar, both as extension and stand-alone build

Calendar 2.0

Items to resolve before a 2.0 release:

  • 9. Invitations - Guests will be alerted when events changed; responses automatically imported.
  • 10. Multiple People - Support for various calendar servers.
  • 15. Synchronization - Support for sync with mobile devices.
  • 17. Views - In-line editing for events in both list view and calendar view.
  • 18. Standalone Build - Full support; as feature complete and as stable as Calendar

Tray notification should be part of sunbird.


THIS IS A DEPRECATED DOCUMENT