Open Bug 378443 Opened 17 years ago Updated 2 years ago

Add UI for viewing, creating and removing EXDATEs (exceptions)

Categories

(Calendar :: General, defect)

defect

Tracking

(Not tracked)

People

(Reporter: Kensie, Unassigned)

References

Details

(Keywords: uiwanted)

Attachments

(4 files)

I'm not sure if there was specific discussion on taking this out, if there was I wouldn't object to being pointed to it, but I want it back!

Most of the time I know about exceptions when I'm setting up a recurring event, as it's school holidays and breaks, rather than a canceled meeting.  It's a PITA to even think about having to go through every month and delete the individual events by hand rather than just tossing the dates into the exceptions panel like I used to.

This is definitely a regression for me (although the rest of the panel is nice).
Adding a blocker just so people can find the original discussion where this happened.  As I recall, most of the debate took place in that bug.
Blocks: 239431
OS: Windows XP → All
Hardware: PC → All
CCing mickey and christian to come up with the replacement UI we never came up with.
jminta's looked *perfect* to me - https://bugzilla.mozilla.org/show_bug.cgi?id=239431#c10
Summary: Bring back the exceptions in the "set pattern" panel! → Add UI for creating EXDATEs (exceptions)
Version: Trunk → unspecified
Unfortunately, I doubt the core developer team can devote time for this in the 0.8 timeframe. I do see your point though and agree that this is a fine use case. Adding uiwanted to try again to come up with replacement UI.
Keywords: uiwanted
Whether or not they have time to actually implement something, or even discuss something, it would be nice to get some sort of judgement on whether this decision will be revisited.  I appreciate how the development process works, and the time frames involved therein. 

However, I filed this 7 months ago, and this functionality was removed without being properly replaced over a year ago, with the intention of gathering user feedback and revisiting the decision.  Plenty of time for it to have made 0.8, so I don't so much need to know which timeframes it's *not* going to make, as the answer so far has been all of them, but which one this will actually be looked at for.
Thats quite hard to answer, since planning next releases is already connected to a lot of assumptions that usually end with features being moved one release further out.
Flags: wanted-calendar0.8?
Attached image UI Proposal for Exceptions β€”
I've uploaded an ui proposal. This should solve the problem. Maybe there is someone out there who is willing to implement this....

https://bugzilla.mozilla.org/attachment.cgi?id=290871

I think that it would be great to have the ability to see and change exceptions in list form as Christian proposes.  In addition, it would also be nice if we can click on days in the three-month-recurrence pattern to toggle days which would then be automatically added/removed from that exception list.  In this regard, I like Michiel's suggestion to offer a way to scroll through the three-month display to show other months in the past/future in the recurrence dialog.
Christian, how should it be handled when the rule is changed in the UI, invalidating currently existing exdates?

To be more specific: 

* I have a daily rule, starting on a monday with exceptions on tue, wed, thu.
* I change the rule to weekly in the UI
* All three exceptions do not fall on a monday, are therefore invalid (?)

I was thinking maybe to grey out the dates, maybe even with a tooltip that the entries are invalid, but I'm not sure if thats the best solution. 
(In reply to comment #9)
> I've uploaded an ui proposal. This should solve the problem. Maybe there is
> someone out there who is willing to implement this....
> 
> https://bugzilla.mozilla.org/attachment.cgi?id=290871
> 

If we're just going to implement an exceptions button, why not make it link to the original dialog that listed the exceptions and let you add or remove them in *one* dialog?  This is way too many dialogs, and the format you have for showing the exceptions beside the button, IMO is pretty useless.  I'd rather just hit the exceptions button to see them.
I don't like Christian's proposal for several reasons:

1) Opens another dialog (from the opened recurrence dialog)
2) Still results in a plain list of dates (no visual feedback)
3) Not integrated into the recurrence preview (for no apparent reason)
4) Tons of new dialogs require more work than an integrated solution

But I find the idea to integrate the exception handling into the preview are an extremely elegant solution. It has the additional benefit that the exceptions form a natural group with the recurrence dates inside a common visual representation.

Here's a proposal for how this could work -> Clicking on the dates in the preview area could have the following implications:

1) Clicking on a date where no occurrence exists -> Add a new occurrence
2) Clicking on a date where an exceptional occurrence exists -> Remove occurrence
3) Clicking on a regular element of the series -> Create exception, mark occurrence with an X or something like that
4) Clicking on an existing exception -> Remove the exception

This behavior in addition to the possibility to scroll through different months in the preview pane should solve the problem. We could also offer two buttons that automatically select the next/previous occurrence of the series (including dates and exceptions).

Changing the series where already exceptions have been defined is also easy. We just leave the exception list intact while changing the series. Of course, we could discuss whether or not it makes sense to leave the dates but nuke the exdates, but this is just a minor detail. I think we should just leave both and change the rule.
(In reply to comment #12)
> (In reply to comment #9)
> > I've uploaded an ui proposal. This should solve the problem. Maybe there is
> > someone out there who is willing to implement this....
> > 
> > https://bugzilla.mozilla.org/attachment.cgi?id=290871
> > 
> 
> If we're just going to implement an exceptions button, why not make it link to
> the original dialog that listed the exceptions and let you add or remove them
> in *one* dialog?

Could you attach a screen shot of the old dialog?

  This is way too many dialogs, and the format you have for
> showing the exceptions beside the button, IMO is pretty useless.


  I'd rather
> just hit the exceptions button to see them.
> 

(In reply to comment #10)
> I think that it would be great to have the ability to see and change exceptions
> in list form as Christian proposes.  In addition, it would also be nice if we
> can click on days in the three-month-recurrence pattern to toggle days which
> would then be automatically added/removed from that exception list.

Having this option would be great, but it makes sense to offer an alternative way, which allows users to enter an specific date without scrolling. Without that, it could be very inconvenient to specify exceptions date which takes place, for example in nine month.

  In this
> regard, I like Michiel's suggestion to offer a way to scroll through the
> three-month display to show other months in the past/future in the recurrence
> dialog.
> 
Attached image UI from Sunbird 0.3a1 β€”
If it's not obvious, the dropdown field that opens the calendar picker is also a text field.  As you can see it's packaged with what would be the "custom" recurrence panel in the current UI.

I have to say I wish I'd noticed this UI gone sooner in relation to when it happened.  By the time I switched from 0.3a1 to newer versions I'd already set up my schedule for the year.  Didn't need to use that part of the UI until this September.
hrm :-\ the screenshot didn't take the calendar. The dropdown would open the single month calendar that would allow you to choose one date at a time.
Attached image UI from Sunbird 0.2 β€”
I'm not sure how it is with smaller screen sizes, but maybe we can get away with putting the groupbox into the main recurrence dialog?
(In reply to comment #11)
> Christian, how should it be handled when the rule is changed in the UI,
> invalidating currently existing exdates?
> 
> To be more specific: 
> 
> * I have a daily rule, starting on a monday with exceptions on tue, wed, thu.
> * I change the rule to weekly in the UI
> * All three exceptions do not fall on a monday, are therefore invalid (?)
> 
> I was thinking maybe to grey out the dates, maybe even with a tooltip that the
> entries are invalid, but I'm not sure if thats the best solution. 
> 

What do you think about automatically deleting invalid exdates?
(In reply to comment #19)
> What do you think about automatically deleting invalid exdates?

I think that will look a bit strange for the user. Also, what if accidentally changes the rules in the dialog? We don't want the exdates to vanish just because the user changed the dropdown to a different type of rule.

If we have one set of saved exdates for each rule type that might work out, but I'm not sure thats practical from a programming standpoint.
(In reply to comment #13)
> I don't like Christian's proposal for several reasons:
> 
> 1) Opens another dialog (from the opened recurrence dialog)
> 2) Still results in a plain list of dates (no visual feedback)
> 3) Not integrated into the recurrence preview (for no apparent reason)
> 4) Tons of new dialogs require more work than an integrated solution
> 
> But I find the idea to integrate the exception handling into the preview are an
> extremely elegant solution. It has the additional benefit that the exceptions
> form a natural group with the recurrence dates inside a common visual
> representation.
> 
> Here's a proposal for how this could work -> Clicking on the dates in the
> preview area could have the following implications:
> 
> 1) Clicking on a date where no occurrence exists -> Add a new occurrence
> 2) Clicking on a date where an exceptional occurrence exists -> Remove
> occurrence
> 3) Clicking on a regular element of the series -> Create exception, mark
> occurrence with an X or something like that
> 4) Clicking on an existing exception -> Remove the exception

This could work, but IMO users need to see exception in list form, too. A list form is very easy to read and easy to modify. Especially in regards to exceptions which take place in the far future. I'll revise my initial proposal based on the feedback I've received.


Christian -

Is there a reason to not use jminta's proposal?  Would at least be nice to know what it's lacking if we're not using it.
Please find a new proposal attached. I hope this compromise covers most feedback. It is mixture of jminta's proposal, mickeys ideas and comments, it respects your feedback and also the suggestion to remove the group boxes.


What's new?

- It's an integrated approach
- The "Preview" turned into a "Preview- Add/Remove Exception" control.
- No additional pop-up dialogs are needed.
- Occurrences are marked green
- A click on occurrence creates an exception (marked red)
- A click on an exception turns the exception back into an occurrence
- users who don't want to navigate through several months can
  add/del exceptions in list form.
  For avoiding clutter this option is collapsed by default.
Attached image Revised UI based on Feedback β€”
That's definitely better for me, although why are the dates dropdowns instead of a list?

The other thing I would ask for is that the custom entry come out of the dropdown and be a button beside it, so I would pick weekly, and if i wanted more options I'd click "customize"
(In reply to comment #25)
> That's definitely better for me, although why are the dates dropdowns instead
> of a list?

I think having date pickers would make more sense, compared to a simple list.
> 
> The other thing I would ask for is that the custom entry come out of the
> dropdown and be a button beside it, so I would pick weekly, and if i wanted
> more options I'd click "customize"
> 

Sorry, but could you explain this more in detail? Which "custom entry" do you mean exactly?
(In reply to comment #26)
> (In reply to comment #25)
> > That's definitely better for me, although why are the dates dropdowns instead
> > of a list?
> 
> I think having date pickers would make more sense, compared to a simple list.

I would agree if it wasn't right below date pickers.  In theory it's much easier if you pick a date by accident, but odds are if you do that you'll notice right away and it'd be easier to correct the mistake via the calendar.  I think the benefit you get from them being drop downs is outweighed by the visual effect.

> > 
> > The other thing I would ask for is that the custom entry come out of the
> > dropdown and be a button beside it, so I would pick weekly, and if i wanted
> > more options I'd click "customize"
> > 
> 
> Sorry, but could you explain this more in detail? Which "custom entry" do you
> mean exactly?
> 

In the "repeat" drop down, "custom" is the entry at the bottom.  That means you have to select from a drop down *twice* to create an event that happens for example twice a week.  You either have to click the drop down, select weekly, then click the drop down and select custom, or click the drop down, select custom, then click the drop down on the next panel and select weekly.

Would be faster to go through one drop down and then click a button (or click a button then go through the drop down).
Oh, another question.  In the graphic calendar, can you click on a date that isn't an occurance to create a "positive" exception, for an example case like "This week we're having extra meetings to catch up on work, but then we're back to the regular one a week" if that makes sense?  Or "this week the meeting is on thursday, not wednesday"

Obviously there are ways to do that now, editing a single instance, or creating an extra event, but I think this is something users will want to be able to do in the future (can file another bug to add that in, in future, not important for implementing something now)
This bug is not important enough to warrant wanted0.8 status. 

We would however take a fix for this bug into 0.8, if such a fix materializes.
Flags: wanted-calendar0.8? → wanted-calendar0.8-
Flags: wanted-calendar1.0?
Summary: Add UI for creating EXDATEs (exceptions) → Add UI for viewing, creating and removing EXDATEs (exceptions)
Flags: wanted-calendar1.0?
Flags: wanted-calendar0.8-
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: