I've been making changes to a process model, but due to issues with the changes I made I tried to revert it back to how it was before I made the edits by deleting the versions I created. However, when I call the process model, it still seems to be using the latest version I deleted (Version 13) as opposed to the one I want it to be using (Version 5). When I go to the process monitoring and click the process name, it shows me it ran the latest version I deleted, but when i click the link in the monitoring view "Process Model" column it shows a blank canvas with the following errors:
To revert it back, I first selected "Save As", entered a new name, and saved so I had a copy (I've checked this and it has no dependents and a different name so I don't think it's being called). I then removed the versions to take it back to the original one I wanted, and clicked "Save & Publish".
Thanks for any help with this, I really appreciate it.
We had a similar issue and we resolved it by saving and publishing the version that we wanted as many times as necessary for the version number to match that of the version that was previously published. So if version 13 was the latest published version and you then deleted all versions back to version 5, you would need to save and publish version 5 eight times until it was saved as version 13.
This could be a bug but could also be a symptom of taking the wrong action to reinstate a previous version. I suspect that the correct approach is to load the version that you want published, save and publish that, and then you are free to deleted any of the previous versions if you want to tidy up the version history.
Thank you so so much, I tried this and it worked. Such a relief for this to now be resolved. In future I'll reinstate a previous version as you advised.
Just to note for anyone else who comes across this issue in the future, when I got the saves to a point where they matched (I saved it up to version 13, which is the version number of the deleted version that was being run) it showed me a glitched version of the process model where it seemed to try to call both and resulted in an amalgamation of the two being displayed. By saving it one more time, so the one I wanted to run was now a version higher than the latest one I had deleted, this issue was resolved.
So, if you face this issue, and it shows it running as a higher version (i.e. 13) but you've tried reverting it to a lower version (i.e. 5) in the same way I had, save the one you want it to run to a point where it surpasses that higher number (i.e. at least version 14 in my situation) and it should now be running the expected process model.
Thanks again Gavin.
Glad it resolved the issue (and sorry that my memory of the solution was not quite accurate )
Haha don't be in the slightest, I honestly couldn't be more grateful, I've been worrying about this all morning and your response was such a relief. Just wanted to be clear for anyone who comes across this in the future. I've been scouring the forums for an answer to no avail and didn't want anyone else to be stuck in the same situation.
I hope you've opened a support case with Appian to let them know of this behavior, as I would expect a process model should always correctly use the latest Published version despite prior version removals (barring other technical issues with the reverted version). Their engineers probably need to look into this as a corner case and try to address it.
This sort of behavior is why colleagues of mine and I support the best practice of never deleting anything from an Appian environment ever. Deprecate it, stop using it, write a comment about how it's not to be used and this rule has replaced it, but never delete it.
When you delete something, Appian retains it in memory in some capacity. If you ever create something later of the same object type with the same name, it will assign it the ID of the previous one that was deleted. This causes the error that you saw.
It's possible with the ability to globally rename objects you might be able to rename something to a name you'd never reuse, such as Delete Me, before deleting it and see how that affects the retrieval of the UUID when you try to create the object again with it's original name. I've never tested that, though.
You also don't need to delete a version to return to an earlier version. I'm currently on version 10 and I want to return to version 5, just load version 5 and save it (which will then become version 11 once you save and publish). This always makes it easier to retrace your steps!
Is that not what I said:
" I suspect that the correct approach is to load the version that you want published, save and publish that, and then you are free to deleted any of the previous versions if you want to tidy up the version history."
This is the approach I suggested to the developer who had deleted the published version of the process model in our case.
As for never deleting anything we were previously encouraged to delete incremental versions of process models. When developing process models we typically follow a Test Driven Development approach where we start with a very basic flow (start node and end node) and incrementally add functionality step by step, saving and testing often. This can lead to a large number of versions for complex changes. We were previously encouraged to delete these incremental versions as they were taking up memory and causing performance/stability issues in our development environment (not sure if this is still the case).
Discussion posts and replies are publicly visible
© 2020 Appian. All rights reserved.