This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Split Processing Vs Generating Condition

Is there any consensus on when to use split processing with a script that throws an exception thereby branching a process chain or using generating conditions? I thought split processing may be better because in cases where some condition means 3 or 4 process steps should execute, instead of calculating the condition 3 or 4 times in each of the steps generating conditions, you could calculate it once in a script and then have 4 process steps execute on the success path and to continue on with whatever else not running the 4 if the condition isn't meant. So you're only processing the generating condition once.

 

However, I've made a process with split processing that has groups of 4 steps, the first step in each set is split processing and running a script. If the script is successful the 4 steps run and then the success event at the bottom of these 4 steps links to the first step of the next step. If the first step fails the orange failure link also goes to the next group of 4. I ran this though and looked in JobQueueInfo and the process has a huge number of steps. It looks like it loads every step in every possible condition of split processing then executes them as needed. So not sure how this may effect the used resources.

 

What do you think?

  • To avoid having the same processing intensive gen. condition on each of your steps, it is recommended to run the script once in the pre-script of the process and populate a variable that can be used in the multiple gen. condition.

    Please refer to the documentation for more details https://support.oneidentity.com/technical-documents/identity-manager/8.0/configuration-guide/85#TOPIC-862623

    In regards to the huge number of steps in JobQueue Info. The system does not load every step in every possible condition just the ones that can be executed. But to display the process in a tree structure you have to multiply the steps. That's what you are seeing.

  • Thanks Markus. I didn't mention I'm using 7.1. I couldn't see anywhere in the documentation about passing values from one process step to the next (apart from out parameters from a script component but that's something else). I did try adding a value to the Values object array and accessing from the next step and I recall this not working. I came to the conclusion that each process step has it's own Values array. I don't have a problem writing to Values and reading from it from within the same process step. It sounds like my testing is mistaken?
  • Hi Dan,

    pre-scripts are not an 8.0 feature. It is only easier to post the link to 8.0 as the older ones are hidden behind a login-wall. But here is the link to the documentation in 7.1 https://support.oneidentity.com/technical-documents/identity-manager/7.1/configuration-guide/77#TOPIC-562688

    The values in the values-array are available during generation time only, so exactly your use-case. Out-Values need to be used if values should be passed from one step to the other, that are calculated during execution time of process steps.