Aaron Croasmun is a epic level contributor to the Service Manager forums, and he’s helped me personally out on several occasions.
Now, much like Prometheus (the allegory, not the terrible film), he has gifted for us something that will change the very nature of humanity. Ok, well, just the people who use service manager anyways.
Aaron has single-handedly solved the “This item cannot be updated because it has been changed by another user or process” write conflict error.
<pause for the shocked murmur of disbelief in the audience to die down>
Anyone who wishes to leave now and secure a copy from Technet Galleries may be excused.
For those of you who haven’t had to deal with this, the dialog looks like this:
This is a annoying and scary dialog I have written about before, and it is the bane of many Service Manager implementations. This error stops the form dead, and the only way to fix it is to refresh the form and re-enter all the data. As if data loss wasn’t bad enough, this is a completely undecorated DotNet error; For users who don’t know how to read DotNet errors (read “everyone who isn’t a professional programmer”) a bald-faced exception like this is intimidating to the point of panic.
There are two parts to Aaron’s solution. First, if a conflict can be resolved automatically (I.E. the two edits are to different properties, like the other user edited Title and you edited Description) then the conflict is just resolved. no muss no fuss no interaction. AUTOMATICALLY DO THE RIGHT THING; SOLVED.
Second, if any property conflicts, (i.e. you both edited the description) then you are presented with a friendly dialog allowing you to choose which values to use.
I’d like to note that Aaron’s dialog is very similar to this mock-up dialog I created based on the vision of a process engineer/former programmer colleague (Elvis, take your credit).
Throwing more cherries on top, Aaron’s add-in is delivered as a packaged control that can be inserted into ANY form. He even includes example form extensions for the four major work item forms, and MPBundles with the dll all ready and packaged, so that if you don’t have any existing form extensions you can just import them and call it done.
To say this is a big fat win is an understatement of magnitude. My only complaint is that the resource isn’t packages on it’s own, requiring you to bundle the dll yourself if you already have form extensions.
MICROSOFT: Hire this man and make him very wealthy, and all of our lives will be better better.