While I like all of these ideas I just feel like we're peeling an onion here to try to do this in 0.7 - we started with background syncing, and ended up with proposals for conflict management in 0.7. Every time we peel another layer, I cry a little more :) Sure, this is a lightweight proposal and might just add 2-3 days, but everything starts that way...:)

Again, I'm NOT against any of these ideas in the long run, but I feel like between this, the activity log collection, and more, we just keep piling more things into 0.7. Not only does it make me feel like we'll be releasing 0.7 in august, but this is also about the one hundredth design issue that's spreading us all way too thin..

Here's my proposal: We don't implement any UI for all conflict management and activity logs in 0.7, phased or not. Then we do a great job at activity and conflict management in 0.8?

Alec

Mimi Yin wrote:
Here are some proposals for lightweight conflict management in 0.7

Providing users with visual feedback
+ "Flag" on items that have been newly added to a share/ edit or changed / have conflict(s)
+ "Flag" is displayed in the mark-up bar of changed / conflicted items
+ User can click on "Flag" to view edit/conflict details in the Activity Log
+ In the Activity Log, user can click on "something" to take them back to the original item detail view

If you're editing a field that has been changed by the server
+ Phase 1: Chandler over-writes the user's edits with the server's changes
+ Phase 2: Can we intercept item change notifications coming from the server before they get displayed in the detail view? The user's edits win and a "conflict" Flag is raised on the item in the mark-up bar. Users can click on the Flag to see what got sucked down from the server.
+ Phase 3: Display a modal dialog: The "notes" have been edited since you last synced. (Here are the edits). Do you still want to proceed with your edits? Okay Cancel. (Not sure if this is necessary.)

Server-side conflicts
+ Last version to get synced wins
+ Conflicting versions are both pulled down and "stored" in the Notifications/Activity log as Activity notifications.
+ User pulling down conflicts can examine the log to see what happened, but there doesn't need to be a "compare versions" UI in 0.7

Mimi

On Feb 6, 2006, at 2:18 PM, Sheila Mooney wrote:

I just wanted to point out that any kind of sophisticated conflict resolution or versioning handling UI is out of scope for 0.7. We will likely implement things in stages but the first step for all of this will be to record the conflicts and log them in a way a user can view them and manually make updates if they choose to. Once we get that working (just to understand more about when conflicts are happening), we can figure out what enhanced UI would be the next logical step. Perhaps some of this will be done during 0.7 but I think it's important to get something primitive up and running first.

We do need to make a decision about how we will handle attributes that are currently being edited in the UI and are modified via background sync. Mimi is about to post something on the design list that focusses in on this discussion further.

On Feb 6, 2006, at 1:58 PM, Jeffrey Harris wrote:

Hi Folks,

I, too, am late to this thread, sorry.

Bryan Stearns said:
This indicates that we end up needing a way to present two detail views
side-by-side. For approach 1, we'd also need to teach attribute editors
to conditionally display the "local" or "remote" version of the item;
for approach 2, we'd need to teach them to incorporate newer values from
a UserNotification item. Either way, this mechanism also requires
support from the change-notification mechanism (since the detail view
uses the change-notification mechanism to communicate with itself), and
would require CPIA work to handle two rendered detail views at once.
(I'm sure there's more than this, but I'll wait until more work's been
done on an intended user-level design.)

I'd been envisioning a slightly different picture of how we'd render
different versions of what, in the user's mental model, is the same
item.  Changes received via sync seem like a special case of the general
problem of several people editing the same (mental model of an) item.

==> As an aside, I have a suspicion in some cases we'll represent
different versions using versioning in the repository, at other times
we'll have different (linked) items under the hood, to match the
"emailed item" model where there's no authoritative source of truth.
I'm going to approach this by assuming we can work out the
representation issues. <==

Here's my picture, based on what I think I've understood Mimi to be
describing about scheduling workflow.  If an item has multiple versions,
the most recent version would show up in the table view, but it would
have a thread expansion widget associated with it to open different
versions in the table view.

This would avoid the need for multiple detail views; users could scroll
through different versions in the table view.  It would be nice to
highlight changed fields to call out distinctions between versions.

To do this at a basic level, the table view would need support for
something like threads.  I don't know if that's doable in 0.7, but it
feels like a more appealing path to follow than trying to render two
detail views.

In this model, there could still be an RSS style view of recent changes,
 it would be basically look like sorting a collection into threads
sorted by an imagined "last time modified by someone other than me"
attribute.

Sincerely,
Jeffrey
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Open Source Applications Foundation "Design" mailing list

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

Open Source Applications Foundation "Design" mailing list


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



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

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

Reply via email to