On Feb 13, 2007, at 7:17 PM, Jeffrey Harris wrote:
I think what we want for the UI is to change lastModifiedBy (which
correspond in the UI to created by/edited by) if any changes
successfully merge in or if conflicting changes are accepted, but not to
change lastModifiedBy if all changes are conflicting and the conflict
either hasn't been resolved or local changes are chosen to win.

Sincerely,
Jeffrey

If I change the title of an item, the byline should now say "edited by Me" (or something equivalent). If Joe then changes the body on the server, and I do a background sync, what should the byline say? There was no conflict, so following the above logic the byline should now read "edited by Joe". Now I hit the sync button to commit my local change and send it to the server; lastModifiedBy is still "Joe", not "Me", so the server has the wrong idea about who made the latest change.

Perhaps we should instead think of the byline as "this item was officially updated on the server by...", to indicate who was the last person to change the "source of truth" for an item. This would mean the sharing layer would set lastModifiedBy when a locally modified item is sent out, and it means not having the byline change to "Me" until local changes for an item have actually been successfully sent to the server. I think it might be nice to see the byline change from "Joe" to "Me" only when an item reaches the server -- it's a per- item indicator that my changes made it out. What's also nice about this is that since the sharing layer knows if we're *actually* sending a change to the server (which is a function of what filters are in place and what conflicts occur), it makes sense to have the sharing layer be in charge of setting lastModifiedBy, just in time.

~morgen
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

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

Reply via email to