I opened two browser windows, logged into Dragnet with both, and in both browser windows chose to modify the same bug.
Then I made my edits in browser 1 and saved
Then I made my edits in browser 2 and saved
Although both sets of changes were recorded, there seemed to be no information to tell me (as user 2) that while I had been editing, user 1 had made changes to that same item.
Is the absence of optimistic locking by design?
Does Dragnet have no locking on items?
Moderator: SourceGear
Optimistic locking wouldn't apply, because there will be no transaction until the form has been submitted.
Instead I would describe this as a choice of update strategy. Currently, Dragnet is designed using a strategy of "Last to commit" wins. I don't see this changing for Dragnet 1.0
----------------
With that said, there are two other strategies we could use when modifying items:
1) Disregard if changed - In this strategy, nothing is allowed to change, if the item itself has changed.
2) Merge with changed - In this strategy, if the data updated by user 1 does not conflict with user 2, user 2's changes are merged in with user 1.
To gather some feedback, does anyone prefer any one of the update strategies over the other?
Instead I would describe this as a choice of update strategy. Currently, Dragnet is designed using a strategy of "Last to commit" wins. I don't see this changing for Dragnet 1.0
----------------
With that said, there are two other strategies we could use when modifying items:
1) Disregard if changed - In this strategy, nothing is allowed to change, if the item itself has changed.
2) Merge with changed - In this strategy, if the data updated by user 1 does not conflict with user 2, user 2's changes are merged in with user 1.
To gather some feedback, does anyone prefer any one of the update strategies over the other?
Jeff Clausius
SourceGear
SourceGear
Conflicts in a system like Dragnet, which is unlike to have more than a dozen or so people in one project using at once, would be so rare, it is probably not worth the effort implementing a merge mechanism.
I think I prefer option 1 (disregard) over option 2 (merge), with informative feedback telling me why my changes couldn't be applied.
I think I prefer option 1 (disregard) over option 2 (merge), with informative feedback telling me why my changes couldn't be applied.
Failure vice merge
I personally would rather get an error message than have the merge occur without my knowledge. That said, though, I would expect/hope that my inputs would be saved after the error, so if I wanted to re-edit the item, and use some of the inputs already typed, I could save that information.
Hope that made sense.
Hope that made sense.