Appian terminate process when user navigate to another URL

I have a list interface A added under Site, and once user click on each individual item in the list, it start a process P1 (no process starting form). In the process, it initially set some variables and then open an summary interface S1.

Now, as my site have A,B,C,D interfaces added as pages, I want to terminate process P1 once I jump out from S1 by clicking any of the A,B,C,D button on the navigation bar in main menu.

How do I achieve that?

  Discussion posts and replies are publicly visible

Parents
  • 0
    Certified Lead Developer

    This feels like something you just would not do in Appian.

    Do you want to explain your use case a bit? I am sure we can come up with a working approach.

  • My site structure:

    Site ->

      |-- Case List

        |-- Case Summary (process, including view/update/create features)

      |-- Work List

      |-- Task List

    The thing is, I am combining View/Update/Create of a record type "Case" into 1 interface (Case Summary). In order to write the record type into database during create/update, I have to make an process to contain that interface. for example, when user try to create a Case by clicking on the "New Case" button I setup in the case list interface, it start the process, OPEN A NEW TAB, and show the interface with all empty fields. However, it is possible that user may want to quit the case creation. The best practice is, user click on a "Cancel" button I added in the interface, however, it might not be the case. User can either:

    1. enter a case list (or other urls) url directly in the browser address bar

    2. click on other menu items (eg. Work List and Task List) on the site navigation bar

    In both cases, I want to cancel the process

  • 0
    Certified Lead Developer
    in reply to danielh2593

    Seems like you are not using record actions. If this is the case, why?

    Do you use the start form feature in process models or an initial user input task chained to the start node?

  • No I did not use record action.

    The reason for that is, as I mentioned above, I am combining View/Upate/Create of "Case" into 1 single interface. When update a case, once user click on "Save" button, after I finish writing the change into the database in the process, I do not want to quit the case summary interface, I want to stay on the case summary interface and let user look at the update result, which means, in my process, I need to make a loop, which is after write record type smart service, I need to point back to the interface unless user click on the "Cancel" button.

    and the thing is create start node with a form does not allow me to point back as the start node cannot have incoming flow

    similarly, if I cannot have a process with start form, I cannot use record action

  • No I did not use the record action

    The reason for that is, as I mentioned above, I am combining view/create/update into Case summary interface. So when user update a case, once user click on the "Save" button, I do not want user go back to the case list interface (terminate the process), instead, I want user to stay on the summary interface to view the change they made.

    In that case, I have to make a loop in the process. After write to record type smart server been called, I need to point it back to the interface node.

    So, I cannot make the interface as the process start form because start node does not allow incoming flow

    Because I cannot make the process start form so I cannot use record action

  • 0
    Certified Lead Developer
    in reply to danielh2593

    Well ... records and record actions are the way to do such things in Appian. If you leave these tracks, you might end up stuck.

  • but even I do use record actions, it is still possible that user click on other menu items on the navigation bar and leave, which will result in an haning process. Is there a way to solve it?

  • 0
    Certified Lead Developer
    in reply to danielh2593

    Use start forms. The purpose of a user input task is to be assigned as concrete tasks to groups. And such a task cannot be completed just by navigating away.

  • Even if I use start form, it still resullts in a hanging process. I get the idea that Appian want to make every process a concrete task, but I would really suggest to allow developers jump out of the loop if needed

Reply Children
  • +1
    Certified Lead Developer
    in reply to danielh2593

    If you use a start form, the process is only started once the user submits that form. If the user navigates away, nothing happens.

    Keep in mind that Appian is not a UI toolkit by nature and all (most) design decisions are made on purpose to support the automation of business process operations. Off course, you can use Appian in a different way, but then might find yourself in a fight against the platform.