zondag 6 mei 2007

Types of splits and joins

Technically, there are not that many different ways to perform a split:

  • no split: there is only one step that follows the completed step

  • and split: there are several steps immediately following the completed step, and each of them has to be created

  • (x)or split: based on the data of the case one or more of the following steps have to be created



From a business point of view there are many reasons to perform a split. You could not group them in less then 10 different groups.

To be practical however, I suggest to have to following types of splits:

  1. no split

  2. and split

  3. redo split

  4. (x)or split as a result of direct user input (e.g. an invitation can be accepted or rejected)

  5. (x)or split based on conditions (e.g. if value of field amount is greater than 100000)


In processes it often happens that something has to be approved or accepted. If not, one ore more steps have to be redone. For instance if a meeting request is sent, and someone asks for a different date or time, because he forgot to fill in his agenda. This is so common that a special join type is made for it. Another reason for this special type of join is that it leads to an infinite loop. The fourth type of split could be realised by putting a selection box directly into the worklist. (The user interface can be simpler for single select than for multiple select.) In fifth case a condition table could be filled in, in the process definition. In this stage however, that would be consume too much time. Instead, a specific function must be written in php, and the name of this function is filled in, in the process definition.

Conclusion: for each split, the process designer can choose between the following options:

  • and split

  • redo split

  • user single select

  • user multiple select

  • specific function

Geen opmerkingen: