I am building the workflow for our ECO process (EPDM 2012). I've got almost everything down but came accross a hiccup. Here's the situation - Once we go through the approval process, we have our print at a "Released" State. When we go to make the inevitable revision, I have a Transition to a "Change Initiated" State where Engineers have permission to check out the file. That transition changes a Status variable and makes a PDF of the drawing. Because we engineers sometimes get over zealous and might transition files we don't need to change, I added an "Undo" Transition which puts it back at the "Released" State. The "Undo" restores the Status variable back to released and recreates the PDF. That's all well and good if the Engineer doesn't make a change and checks it in while at the "Change Initiated" State. If they do change it and then "Undo", their updated print gets watermarked and moved to "Released". The bad idea bypasses approval and gets marked as released - Oops!
I need to find a way to do one of the three following for the "Undo" transition
- Check out the file, get the version at the most recent "Transition from 'Routing' to 'Released'" and check it in
- Force a Rollback to most recent "Transition from 'Routing' to 'Released'" in the History.
- "Undo" transition is not an option if the files last history event was "Checked In"
I don't like the Rollback option because the history of the "bad" ideas is lost. I don't like the third option because it can force us to revise and release a print in order to get it out of the "Change Initiated" State when we've decided we don't want to. The first option is ideal but I don't see a way to walk back through the history in Dispatch to "Get" something other than the latest version. Any advice? How do you handle undoing a transition?