Process with arbitrary state change

Hello,

I have a very high level requirements and trying to figure out what is the best way to implement it.

Basically, there is a business process of few steps and each step has some sub steps. For example S1 (S1.1 -> S1.2 ->S1.3) -> S2 (S2.1 -> S2.2) -> ... etc. with corresponding automatic state change.

But the hard requirement is that the user can move the process manually into any of the steps (mostly forward, but backward is also possible).

If I implement it as one process model with possibility to change state on each screen I would have to check the state after each user input and have a route to each of the other possible nodes which will create one-to-all lines which is not manageable.

Other way is to have the business process modeled by database entity record and have small one to few steps process models. In this way it will be less node connections and I'll still be able to get some time performance statistics about the user input node which I need. But the high level statistics I would to calculate manually because there is no process model for whole process.

Third option is to have one process model and have a gateway around each user input so if the user changes the status five nodes ahead the process model will pass the following gateways one by one.

Is it a better way to implement this requirement with Appian?

  Discussion posts and replies are publicly visible

Parents
  • 0
    Certified Lead Developer
    I'm not 100% sure I understand your requirement exactly correctly, but would it be possible to implement essentially a hub-and-spoke approach, i.e. have one "landing page" or "dashboard" consisting of the list of steps, where i.e. the user can select step 1, then the user returns there when step 1 is completed, whereupon they could select step 2 or 3, or even step 1 again if they need? I've implemented similar approaches elsewhere and it can work well (though it's obviously a lot more work in the setup than a single process flow).
  • In our case it is a main process, and arbitrary jumps are exceptional. For example, the main commit button would be "Next" which should be used 90% of the time. And there is a separate list of possible statuses and button "go to that status".

    Does Appian have a possibility to control process state from inside? If yes I would create a regular process model and a one step process where the user can select the process instance and required target state and them move the target process to that node unconditionally.
Reply
  • In our case it is a main process, and arbitrary jumps are exceptional. For example, the main commit button would be "Next" which should be used 90% of the time. And there is a separate list of possible statuses and button "go to that status".

    Does Appian have a possibility to control process state from inside? If yes I would create a regular process model and a one step process where the user can select the process instance and required target state and them move the target process to that node unconditionally.
Children
No Data