Calendar:Feature Implementations:Error Reporting: Difference between revisions
Line 33: | Line 33: | ||
There are two things we can do with the finish button at this point (I'm not sure which is best.) | There are two things we can do with the finish button at this point (I'm not sure which is best.) | ||
* Option 1: Disable the Finish button. Hence the user cannot add the Calendar if there is | * Option 1: Disable the Finish button. Hence the user cannot add the Calendar if there is an error. | ||
* Option 2: Enable the Finish button. If the user click Finish, the Calendar is added to the calender list in the main app window, even though there is an error with it. Some how describe to the user that this is what clicking on Finish will do. | * Option 2: Enable the Finish button. If the user click Finish, the Calendar is added to the calender list in the main app window, even though there is an error with it. Some how describe to the user that this is what clicking on Finish will do. | ||
Revision as of 14:27, 16 April 2006
Calendar Error Reporing
This page descibes how I (garyvdm) think we can improve error reporting in Sunbird.
Bug 314594 - need user-friendly error presentation
There are 3 places we need to cover error reporting:
- When a user is adding a new calendar.
- When a user is reloading an existing calendar.
- When a user is publishing changes to a calendar.
Error Displayer
For all 3 areas, we will have a common piece of code to display errors. I'll call it the error displayer (ED) from now on. This will be a XBL or a XUL overlay (I'm not sure which yet.)
The ED will look similar to the Error pages in Firefox. eg: it might display the following:
The ED must be able to handle the following errors:
- Unknown protocol.
- Unable to resolve server name.
- Responce timeout.
- Server returned Error code.
- Error in the format of the calendar returned. (eg: Malformed ICS file)
Adding a new calendar
The behavior of the last page of the Create New Calendar wizzard needs to be changed. It currently adds the calender to the list of calendars immediately, and the main window attempts to load the calendar - and error are reported in a sepperate window.
How I think it should work is a follows:
- The wizzard needs to try load the calendar before it adds it to the main app window. While it is trying to load the calender, it will display this:
At this point the Finish button is disabled. But the user can Cancel the loading and get out of the wizzard by click Cancel.
- If the calender load successfully, then it will be add to the calender list in the main app window, and the wizzard will display a success message (like it currently does.)
- But if there is an error, then we display the ED for the error. The user can then click back to change the url if they have entered it incorrectly. Thay can also click Cancel to dismiss the wizzard without adding the calender
There are two things we can do with the finish button at this point (I'm not sure which is best.)
- Option 1: Disable the Finish button. Hence the user cannot add the Calendar if there is an error.
- Option 2: Enable the Finish button. If the user click Finish, the Calendar is added to the calender list in the main app window, even though there is an error with it. Some how describe to the user that this is what clicking on Finish will do.
Reloaing and existing calendar
If we try and reload an exising calender, and there is an error, what will will do is:
- In the status bar, display an Explanation icon and the text "There were errors loading some calendars."
- In the calendar list box display an Explanation icon next to the calendar for which there were errors.
- If the user click on the Explanation icon, it displays a dialog box, with the ED, and a close button.
Publishing changes to a calendar
If there is an error publishing changes to a calendar, the dialog box should display immediately .