Calendar:Calendar Managment UI

From MozillaWiki
Jump to: navigation, search

Overview

Cases to consider:

  1. Subscribing to a remote calendar (webdav, caldav)
  2. Opening a local ics file
  3. Importing events from a (local) ics file into a calendar
  4. Creating local calendar (using storage)
  5. Deleting local calendar
  6. Unsubscribing from remote calendars
  7. Deleting remote calendars

1 can be done with the wizard, described below (and implemented by now). 2 Do we want to support 2? It would be usefull to have a filepicker to browse to a file on the lan. It does mean that we need locking etc without using webdav, because you can be sure that users will share the file. The wizard could add a way to open a filepicker. Will it be local or remote?

It means there is only one menu option, 'Add new calendar'. Is that confusing? Will users know to use that when opening a file?

On second though, I think it actually is a good idea, because it describes what will happen: adding a new calendar. 'Open file' in most other apps will open a new window with just that document. This is not what calendar does. So a different wording is better

How about simply "Add Calendar"? That removes the confusion over whether it's being created or subscribed to, delegating it to the dialogue that opens. It could have submenu items 'New', 'Existing' it you wanted to do it that way. - BenS

Calendar Creation Wizard

creating a calendar: a wizard. different pages ask for:

  • ask for a type of calendar: local, webcal/webdav/remote ics, caldav (,groupdav)
  • name, color, others?
  • file: filepicker. others: url input

editing a calendar:

  • just the properties in one screen
  • Can't change the type. Users would expect the data to move, which won't happen
  • other way of changing the type?



Step 1.) Where do you want to store you calendar? 
Your calendar can be stored on your computer or on a server in order to access 
it remotely or share it with your friends or co-workers. 
(*) Local
( ) Server

Next>

for remote:

Step 2.) Locate your calendar
Provide info about what is needed to access a remote calendar
Format:
(*) webdav - Help text info about webdav
( ) caldav - versus caldav
url:      [                ] 
optional: enter an username and password
username: [                ]
password: [                ]

<Previous  Next>  
Step 3.) Customize your calendar
You can give your calendar a nickname and colorize the events from this calendar.. etc.
Name   [                ]
color  [  ][v]

<Previous Finish> 

In this story, a webdav calendar will automaticly reload. It is assumed that it is shared, so there should be locking. (locking if it in fact isn't shared won't hurt)

Next/Finish should provide error handling/conflict resolution before moving to the next stage - like two calendars can't have the same name.. or the calendar file could not be found or wasn't in the right format.

It would be nice to have a graphic indicating Local versus Remote (harddrive versus network/server)

note: it isn't easy to add a local ics file. This is depracted for the better perfoming storage. (should make sure it really performs better...)


Calendar Deletion Wizard

Currently the meanings "delete a calendar" and "unsubscribe from a calendar" are not distinguishable in the Calendar UI. Right-clicking on a calendar offers to "delete" it, then a confirmation dialog asks if you really want to "unsubscribe". And what the software currently does is unsubscribing in all cases, including the local calendars. At least here we need the option to really delete the local calendar. I also think that unsubscribing from local calendars should not be an option since it is not possible to browse subscribable (previously unsubscribed) local calendars. If dataloss is of concern here, the confirmation dialog could contain a message like "we recommend a backup via 'Export Calendar' prior to deleting the calendar and all containing events....blabla"

I recommend the following UI: The context menu should distinguish between remote and local calendars.

  1. Remote calendars should have the option "Unsubscribe from Calendar",
  2. Local calendars should have the otption "Delete Calendar",
  3. Remote calendars should also have the option "Delete Calendar".

Confirmation dialogs should also distinguish between the two cases:

Case 1: "Are you sure you want to unsubscribe from calendar x?"
Case 2: "Are you sure you want to delete calendar x and all its contents?"

Maybe Case 2 should contain a second sentence like: "Please use 'Export Calendar' first if you want to keep a backup!"

Case 3: see Case 2.

Relevant Bugs: