Closed Bug 932258 Opened 11 years ago Closed 10 years ago

[User Story] Recurring Calendar Events

Categories

(Firefox OS Graveyard :: Gaia::Calendar, defect)

x86
macOS
defect
Not set
normal

Tracking

(tracking-b2g:backlog)

RESOLVED DUPLICATE of bug 1023664
tracking-b2g backlog

People

(Reporter: arogers, Unassigned)

References

Details

(Whiteboard: [ucid:productivity9, 1.5:p3, ft:productivity][p=5])

Attachments

(2 files, 3 obsolete files)

User Story:

As a user, I want to be able to create recurring calendar events and receive recurring events that have been sent to me. These events should be added to the calendar such that I do not need to manually create an event for each instance.

Acceptance Criteria:

1. When creating a new calendar event, I have an option to make the event recurring at specific intervals (ie; weekly, daily, daily on weekdays, etc).  UX to provide final list of intervals. 
2. Setting a recurrence on an event will cause it to be added to the calendar on each day it should occur on.
3. There exists an option to specify how long an event should recur for (ie; 3 instances)
4. Setting the length of the recurrence will cause a specific number of events to be populated in the calendar.
5. Receipt of an invitation with a recurrence shall populate the calendar as in 2,3 & 4.
Depends on: 931983
Assignee: nobody → gaye
Comment on attachment 824816 [details]
Pointer to Github pull request: https://github.com/mozilla-b2g/gaia/pull/13200#attch-to-bugzilla

Hi James && Kevin,

I know you guys are both about to go for PTO, and I was hoping for some initial feedback for my patch. I included on GitHub a short, English summary of what's going on since there are quite a few changes. I'm particularly concerned about how I'm changing the provider wiring.

Before my changeset the Provider.Caldav was the only one that implemented #ensureRecurrencesExpanded which got called a few levels after the Controllers.RecurringEvents issued #_expandProvider. Now I want the Provider.Local to also respond to #ensureRecurrencesExpanded so that it can update appropriately, but the previous #ensureRecurrencesExpanded was very tightly coupled to the way that the syncing/caldav parts of the calendar app did recurrence expansion.

I made a [small] effort to abstract how expansion happens by keeping the parts of #ensureRecurrencesExpanded that (1) find and group ical components which need updating and (2) iterate through the calendars in Provider.Abstract while moving more specific things into Caldav.Provider. Does this seem ok? I'm also a bit worried about test coverage so I wonder if we should make this block on adding integration tests against a test caldav server.

Thoughts?
Attachment #824816 - Flags: feedback?(kgrandon)
Attachment #824816 - Flags: feedback?(jlal)
Attachment #824815 - Attachment is obsolete: true
Attachment #824814 - Attachment is obsolete: true
Comment on attachment 824816 [details]
Pointer to Github pull request: https://github.com/mozilla-b2g/gaia/pull/13200#attch-to-bugzilla

I did a quick run through of the pull request, and didn't see anything that seemed terrible to me. I think James can probably do a better review of this design-wise though. Nice work!
Attachment #824816 - Flags: feedback?(kgrandon) → feedback+
Whiteboard: [ucid: Productivity8] → [ucid:productivity8, 1.4:p2, ft:productivity]
Am I the blocker here? I skimmed this originally but need some time to review it property (given our IRC conversation my input here seemed optional). Can you mark me as the reviewer if you need through input/testing.
Flags: needinfo?(gaye)
Attachment #824816 - Flags: feedback?(jlal)
Whiteboard: [ucid:productivity8, 1.4:p2, ft:productivity] → [ucid:productivity8, 1.4:p3, ft:productivity]
Target Milestone: --- → 1.3 C1/1.4 S1(20dec)
Whiteboard: [ucid:productivity8, 1.4:p3, ft:productivity] → [ucid:productivity8, 1.4:p3, ft:productivity][p=13]
Whiteboard: [ucid:productivity8, 1.4:p3, ft:productivity][p=13] → [ucid:productivity8, 1.4:p3, ft:productivity][p=5]
Flags: needinfo?(gaye)
Whiteboard: [ucid:productivity8, 1.4:p3, ft:productivity][p=5] → [ucid:productivity9, 1.4:p3, ft:productivity][p=5]
Whiteboard: [ucid:productivity9, 1.4:p3, ft:productivity][p=5] → [ucid:productivity9, 1.5:p3, ft:productivity][p=5]
Attached file [1.4 Calendar] all_v1.0.pdf (obsolete) —
Minor updates according to L10n suggestions
Attachment #8367153 - Attachment is obsolete: true
Target Milestone: 1.3 C1/1.4 S1(20dec) → 1.4 S6 (25apr)
Assignee: gaye → nobody
blocking-b2g: --- → backlog
Whiteboard: [ucid:productivity9, 1.5:p3, ft:productivity][p=5] → [ucid:productivity9, 1.5:p3, ft:productivity][p=5][priority]
Target Milestone: 1.4 S6 (25apr) → ---
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → DUPLICATE
Whiteboard: [ucid:productivity9, 1.5:p3, ft:productivity][p=5][priority] → [ucid:productivity9, 1.5:p3, ft:productivity][p=5]
blocking-b2g: backlog → ---
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: