(Grant and Jeffrey, please scroll down for questions...)

Morgen and I chatted this morning about some funny behaviors we've noticed on the Office Calendar. Bogus 'lorem ipsum' items keep reappearing on the Office Calendar even when people delete them. There are a couple of reasons why that's happening:

1. There's a now obsolete bug with dump files that was generating the bogus lorem ipsum events. (Morgen, do I have this right?)

2. We're currently ignoring deletes and removes from shared collections when there are local edits. We don't even register them as 'pending changes.' In other words, if someone deletes or removes an item you've edited, you'll never know they tried to delete it and the item will reappear in their Chandler client as soon as they sync again.

As a result:
User A subscribes to Office Calendar, sees lorem ipsum events and deletes them. User B does an export and reload to migrate and re- generates the lorem ipsum items and syncs. User A sees lorem ipsum items on the calendar again.

How bad is this?
Well it's hard to tell right now because there are other bugs obscuring the problem. Maybe this will turn into an edge case once everyone's migrated to a late enough version of Chandler Desktop that the export/reload bugs won't screw up the Office Calendar anymore.

However, having items you deleted constantly reappearing in shared collections just because other sharees made edits with no way of communicating that you want to delete/remove the item could get annoying if it happened often.

Morgen currently has a fix to solve this problem for 'normal items' as in non-recurring event items. If User A deletes/removes an item from a shared collection and User B has made a local edit to that item, then User B sees User A's deletion/removal as a pending change on the item...at which point, User B can choose to either Apply or Discard the deletion/removal.

However, getting this to work with recurring events may be a bunch more work. Morgen thinks he can get it to work for cases where User A deletes/removes an entire series from a shared collection, so it might be worth doing this if we find this to be a common scenario. The proposed solution is:

1. User A deletes or removes an entire event series from a share. User B has local changes on one, some or all instances in that series.

2. User B would accept the deletion/removal for all instances in the series that they have *not* made local changes to.

3. The instances in the series that User B made local changes to would become 'singletons' or isolated, single events. + Q What if User B made a This and Future local change? Could we keep all of those instances linked together in a recurring series?

4. Those remaining instances would display a 'Pending Changes' warning informing User B that User A has deleted/removed the entire series from the share.

When User B applies User A's deletion, User B's locally changed instances will also get deleted.

Q However, when User B discards User A's deletion, does the entire series get restored? or just the instances User B changed locally? (I think the whole series should get restored...)

Grant and Jeffrey:
+ Can we do something similar if User A makes a This and Future deletion? How would that work? What happens today with This and Future deletions if there are local changes?

+ What about deletions of instances that result from changes to Recurrence Rules? For example, User A turns a Daily event series to a Weekly event series, thereby deleting a whole lot of instances, some of which User B made local changes to. Can we keep User B's locally changed instances around and mark them with the pending changes icon? If User B discards User A's recurrence rule change, can we restore the series to recur Daily?

Other stuff Morgen and I settled on:
+ User A's Chandler automagically turns a modified instance back into an un-modified instance, thereby removing that modified instances from the recurring series and User B has made local changes to that modification, thereby keeping it a modification, User B's local changes win and the modified instances is put back on the server. (This works today.) Jeffrey, when does this happen?

+ User A deletes a single instance in a series. User B has local changes to that instance. User A's deletion shows up as a pending change in User B's Chandler.

Is that all?

Mimi



_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Open Source Applications Foundation "Design" mailing list
http://lists.osafoundation.org/mailman/listinfo/design

Reply via email to