9 Replies Latest reply on Jan 10, 2007 11:43 AM by dmlloyd

    direct navigation when starting a new process instance

    tom.baeyens

      This topic is part of the web console feedback: http://wiki.jboss.org/wiki/Wiki.jsp?page=JbpmConsoleFeedback

      When starting a new process instance, the web console currently handles both processes without a start task form and with a start task form.

      But in both cases, after clicking the 'Start It!' button, the user is navigated to an intermediate screen that only has 1 link. I think that the user should be navigated directly to those referred pages.

        • 1. Re: direct navigation when starting a new process instance
          jeffdelong

          This is a bit tricky, because these are really two different scenarios here.

          1) if Start-task - then user should be navigated to the page to perform the task, i.e. fill in the form.

          2) no Start-task - typically the user that started the process will not perform the first task in the process (otherwise we could have modelled their task at the start). So they should not navigate to a task-related page. Question is where to take them. What they would probably most like to see is the list of started processInstances, and see the one they just started in that list, or the ProcessInstance View for that particular instance that they just started.

          By the way, with the websale process I get an exception from the TaskInstance page when i hit the End task button:

          javax.el.PropertyNotFoundException: /main/task/new_tasks.xhtml @41,57 value="#{entry.taskInstance.id}": Property 'taskInstance' is not found on type: java.lang.String

          • 2. Re: direct navigation when starting a new process instance
            dmlloyd

             

            "jeffdelong" wrote:
            By the way, with the websale process I get an exception from the TaskInstance page when i hit the End task button:

            javax.el.PropertyNotFoundException: /main/task/new_tasks.xhtml @41,57 value="#{entry.taskInstance.id}": Property 'taskInstance' is not found on type: java.lang.String


            This was a typo... it should be fixed now, sorry.

            • 3. Re: direct navigation when starting a new process instance
              tom.baeyens

               

              "jeffdelong" wrote:
              This is a bit tricky, because these are really two different scenarios here.

              1) if Start-task - then user should be navigated to the page to perform the task, i.e. fill in the form.


              +1

              "jeffdelong" wrote:

              2) no Start-task - typically the user that started the process will not perform the first task in the process (otherwise we could have modelled their task at the start). So they should not navigate to a task-related page. Question is where to take them. What they would probably most like to see is the list of started processInstances, and see the one they just started in that list, or the ProcessInstance View for that particular instance that they just started.


              i would guess they most likely want to see the ProcessInstance View.



              • 4. Re: direct navigation when starting a new process instance
                dmlloyd

                It can be slightly more complicated than this.

                Starting a process instance may result in the creation of multiple tasks assigned to the person starting the task, or it may result in one or more group tasks being created, or some combination therein. If we want to shortcut the single-task case, that's fine, but if there are multiple tasks that are relevant to that user, we should go to an intermediate screen to allow the user to choose the task.

                • 5. Re: direct navigation when starting a new process instance
                  kukeltje

                  Sounds reasnoable, but I think in most cases there will be one task, so we should focus on that situation. The other usecases could be done at a later moment... (imo)

                  • 6. Re: direct navigation when starting a new process instance
                    tom.baeyens

                    yes. i agree with ronald.

                    if there is one or more tasks created assigned to the authenticated user, select an arbitrary one from that list and navigate to that task form. otherwise, navigate to the task list home page.

                    i don't think it's necessary to do anything specific for pooled actors. cause after starting a process instance and if there is no task assigned to the authenticated user, the user should navigate to the task list home page. If there are group tasks, he/she'll see them instantly in the group task list (which i think should be on that same page) and the user can instantly perform the 'take' operation on that task.

                    • 7. Re: direct navigation when starting a new process instance
                      dmlloyd

                       

                      "tom.baeyens@jboss.com" wrote:
                      if there is one or more tasks created assigned to the authenticated user, select an arbitrary one from that list and navigate to that task form. otherwise, navigate to the task list home page.


                      People aren't going to like that, I'm sure. The rule should at least be predictable so that process designers (the people) can have some idea of what will happen. If you're dead-set against a created task list like we have now, what about just always choosing the first task. That will at least be predictable.

                      • 8. Re: direct navigation when starting a new process instance
                        tom.baeyens

                        always choosing the first task is definitely good for me.

                        as long as we try to minimize the user navigation by autonavigating the user to the page that the user is most likely to visit after a command operation.

                        • 9. Re: direct navigation when starting a new process instance
                          dmlloyd

                          Action: I will redirect the user to the first newly created task if there is one; if not, I will redirect the user to the process instance if it is still open; if not, I will redirect the user back to their task list.