Did you end up trying this? I was planning to do a variable update when the file is added to our vault, but it won't trigger for some reason. The dispatch works during Check-in so I was considering just triggering it there if it doesn't slow down our system noticeably.
I did try it for a few weeks. No noticeable impact on performance - I turned it off just because I decided update on state change is often enough, we usually don't need to update this variable with every check-in. In History it showed up as an extra row "Updated Filepath", but not an extra version.
Hi Brian and Bryan,
My experience with updating variables by dispatch hasn't appeared to impact performance but there are some caveats I've noticed (not all-inclusive):
- Version free variables are "special" (read that finicky)
- Include the @ or other configuration when reading datacard variables
- Automatic transitions do not appear to evaluate dispatch scripts to update variables. Need to investigate this as this is a showstopper at times which then requires an add-in
- Dispatch can be used with jumps and labels to halt the transition, ask for input through an input box, and used the value the user entered to update fields on the datacard. Plus if the input doesn't meet criteria, the transition can be cancelled. But make sure this one is specific on which folder and filetype to run this on to avoid running it on every file inside EPDM.
- Dispatch can be used to trigger on transitions or file add to call an add-in that runs on selected files. This avoids limitations with dispatch and avoids having too many add-ins that can experience interop conflicts. This has not appeared to create performance issues either.
- Dispatch being used to update variables during file add operations has not appeared to impact performance but if the datacard needs to be updated during file add, how about setting a default datacard value?
Hope this helps.
I liked Tim's list so I thought I'd add my own info:
- Dispatch runs on the local client, with the logged in users folder and state permissions, keep that in mind
- Check-in/out operations in dispatch tend to run on all file references, meaning you'll often check out a parent, then later check out the child and get errors about the file already being checked out (careful coding can avoid this)
- The dispatch add-in (as well as the task add-in) need to get upgraded when you upgrade EPDM, check the installation guide for the procedure so that you don't lose you're installed scripts
I think the real answer to the original question is the often mentioned... "It depends". I have a Dispatch script that allows the user to select what watermark to use (Prototype, Quote Only, etc) when they change to a certain state. It works great, but it does slow things down. In order to change the Watermark variable (not version free) it has to check-out, change, check-in before the state change. I'm sure most of the extra time is the check-out-in stuff, changing variables with Dispatch seems lightweight.
Test: change state on 10 files --> Without script 21-25 seconds, With script 80-90 seconds. Fortunately we rarely use this state change for more than 5 files at a time, so still worth it.