1 2 Previous Next 22 Replies Latest reply on Jan 20, 2007 6:53 AM by kukeltje

    new simplified menu structure

    tom.baeyens

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

      I would like less navigation and more content in one page. Here are the direct navigations that i would propose in the left hand menu:

      Task list : shows 2 tables, the personal task list and the group task list. The personal task list should be shown on top and only contains tasks that are assigned directly to the authenticated user. From each task in the personal task list, the user should be able to navigate to the task instance view to perform the task.

      The group task list should show all tasks for which the authenticated user is in the pooled actors. Note that the pooled actors list can also contain one of the groups for which the authenticated user is a member. Also in that case, such task should show up in the users group task list. Users should might be able to navigate directly to the task instance view, but they should not be allowed to perform any operations on those tasks. To do that, the user has to 'take' the group task into his/her personal task list. 'Taking' the task should be the only allowed operation on group tasks. That prevents that multiple people start working on group tasks simultaniously.

      Processes : Should display a list of processes similar to the current Find Processes menu screen. By default, this screen shows only the latest versions of the processes in alphabetical order. Users should be able to sort and filter the list. For each process, the user should be able to start a new process instance.

      Search : Should display a search screen with a form to start searching for tasks, tokens and process instances. From many locations in the webapplication, there will be links to this search page. E.g. in a task instance page you could add a link 'Show all tokens for this process'. There are many such convenience links thinkable and they should all point to the unified search page.

      Reports : Should always display an overview of system-wide reports. How many total number of instances. How many transactions per minute/hour/day, How many open tasks per user, Avg time for task per user, ...

      In case a process definition is selected, links to reports per process definition, should be shown as well.

      Admin : Groups all admin functionality. Currently I see 2 such functionalities. Deploying a process as is already available. And viewing/managing the job-and-timer queue. I think that both of these two functionalities can currently be easily combined in one screen.

      Logout

      ===============================================

      Apart from those directly navigatable screens, i think that only 2 other screens are needed: task instance view and process instance view.

        • 1. Re: new simplified menu structure
          jeffdelong

          I agree with Tom with a few comments / additions:

          On Task list: a common term for "take" is "acquire". So you might name the button that performs this operation "acquire". In some applications users will acquire the task from the tasklist, and the act of acquiring will navigate to the TaskInstance page. On the other hand, you could let the user navigate to the TaskInstance page and then acquire (but this would be a less common way of designing this).

          When the user acquires a task, you should set the actorId (this is probably obvious), and also start it (this is good for reporting purposes). Having acquired a task from the group task list, the user should be able to release it (set ActorId back to null) on the TaskInstance page, and close the page.

          • 2. Re: new simplified menu structure
            bazoo

            Hi all, great work on the console. A few questions/suggestions from a BA point of view:

            General comment is that I think the navigation could be simplified without affecting functionality.

            The Process menu shows "No Instance" and "No Definition", when I first start the server, even though I definitely do have a process definition in there.

            I don't really understand the point of the Task menu, given that you can navigate to the task through the user task list, which is a more natural way to get to the screen.

            I would suggest that "Start new instance" should be more easy to find. It takes a bit of hunting around before you can work out how to start a new instance. If anything it should be a sub-menu item underneath Process.

            Responding to Jeff's suggestion, I would suggest that "acquire" has a slightly different meaning to "take". Semantics I know, but what is wrong with "Take" anyway?

            I would not incorporate the "Search for instance" row in the task list, at least not at the top. For someone new to the app, you don't immediately notice that you have a task in the task list because it is hidden in small text underneath the big search boxes. You immediately think you have to perform a search, even though you may not have to.

            Why doesn't the Task Instance and Definition view become active until I have "Viewed" the task in the User Task List? Surely it should become active as soon as there is a task.

            Why can any old user re-assign a task? I would have thought that given we have assigned a task to a particular swimlane in the process definition then that swimlane should do the task, unless there is some exceptional reason. I would have thought this functionality should be restricted to "managers". Otherwise people will not do any work and will just re-assign tasks to other people all the time!

            I don't understand what the "Task Definition View" is really.

            I don't think the Summary page should be the first page you see when you click Task Instance View. I think it should be the Task Form to minimize clicking.

            Instead of "End Task", I would suggest "Proceed", to reinforce the idea that the user is moving through a process.

            I get the following exception when I click "End task" or "More info needed", although the transition does happen: javax.el.PropertyNotFoundException: /main/task/new_tasks.xhtml @41,57 value="#{entry.taskInstance.id}": Property 'taskInstance' is not found on type: java.lang.String

            I would suggest that "User Task List" should be at the top of the navigation menu, especially as it is the view you go to first when you log in.

            When you start a new instance of a process, the console has a "show details" link. If I click it it just comes back telling me the task instance ID. I don't think that's really worth hiding!

            Cheers
            Matt

            • 3. Re: new simplified menu structure
              kukeltje

              take vs acquire: +1 for 'take' for non english people it is more 'natural'. The translations to dutch for take and acquire also favour take.

              • 4. Re: new simplified menu structure
                dmlloyd

                Take vs. Acquire: How about "Assign to me". We don't need to create new terminology for this function in my opinion.

                • 5. Re: new simplified menu structure
                  kukeltje

                  even better, but in a link form then or a (rather large) button?

                  • 6. Re: new simplified menu structure
                    kukeltje

                    I mean... if it is in a datatable, 'assign to me' in a button form would make the form rather crowded

                    • 7. Re: new simplified menu structure
                      tom.baeyens

                       

                      "bazoo" wrote:
                      I would not incorporate the "Search for instance" row in the task list, at least not at the top. For someone new to the app, you don't immediately notice that you have a task in the task list because it is hidden in small text underneath the big search boxes. You immediately think you have to perform a search, even though you may not have to.


                      i'll take this to a separate thread.

                      "bazoo" wrote:
                      I don't understand what the "Task Definition View" is really.


                      I also think that should be left out. At task-instance-creation-time, the task definition data is copied into the task instance data. After that, the task instance data might be updated (e.g. description or name). I don't think that showing the task definition information is relevant.

                      "bazoo" wrote:
                      I don't think the Summary page should be the first page you see when you click Task Instance View. I think it should be the Task Form to minimize clicking.


                      +1

                      "bazoo" wrote:
                      Instead of "End Task", I would suggest "Proceed", to reinforce the idea that the user is moving through a process.


                      The good thing about 'End Task' is that it's from the perspective of the task performer. 'Proceed' has more meaning in the context of the larger business process. But the task performer does not HAVE to be aware of that. I was thinking of 'Finish' or 'Complete' but none of those really hits it for me.

                      "bazoo" wrote:
                      I get the following exception when I click "End task" or "More info needed", although the transition does happen: javax.el.PropertyNotFoundException: /main/task/new_tasks.xhtml @41,57 value="#{entry.taskInstance.id}": Property 'taskInstance' is not found on type: java.lang.String


                      David, are you onto this one ? Can you reproduce ?

                      "bazoo" wrote:
                      I would suggest that "User Task List" should be at the top of the navigation menu, especially as it is the view you go to first when you log in.


                      +1


                      Thanks Matt !

                      • 8. Re: new simplified menu structure
                        tom.baeyens

                         

                        "kukeltje" wrote:
                        I mean... if it is in a datatable, 'assign to me' in a button form would make the form rather crowded


                        'Assign to me' as a link would be good as well. As long as that is the only way people can start working on this task. This is important as the webapp has to make sure that there is no multiple people start working on this task concurrently.

                        • 9. Re: new simplified menu structure
                          kukeltje

                           

                          "tom.baeyens@jboss.com" wrote:

                          "bazoo" wrote:
                          I get the following exception when I click "End task" or "More info needed", although the transition does happen: javax.el.PropertyNotFoundException: /main/task/new_tasks.xhtml @41,57 value="#{entry.taskInstance.id}": Property 'taskInstance' is not found on type: java.lang.String


                          David, are you onto this one ? Can you reproduce ?


                          I could reproduce this, but David already fixed it in cvs.

                          • 10. Re: new simplified menu structure
                            dmlloyd

                             

                            "tom.baeyens@jboss.com" wrote:
                            Processes : Should display a list of processes similar to the current Find Processes menu screen. By default, this screen shows only the latest versions of the processes in alphabetical order.


                            For the new prototype, there should be two tables for Processes. One table should have a row for each unique process name, and it should contain any information that is shared between all versions of a process (even if it is just the name). The other will be a child table of the main Process table and should contain per-version information. The main process table should have link to the Process Version table representing the current "active" version. This way, the latest version of a process can be found without having to using grouping SQL operations, and also the user can easily revert to an earlier version of a process if they need to by changing a simple link.

                            This normalization will greatly simplify the querying of process information.

                            • 11. Re: new simplified menu structure
                              dmlloyd

                               

                              "bazoo" wrote:
                              Instead of "End Task", I would suggest "Proceed", to reinforce the idea that the user is moving through a process.


                              The "End Task" is not terminology that is defined by the web console. The caption of each of the transition buttons is determined by the name of the corresponding transition. In this case, the "websale" example process happens to have transitions named "End Task".

                              To demonstrate this, you can run the websale process to this point in its execution, and go to the process instance view. From here go to the Tokens tab and choose to signal the token that is waiting on that task. You will see a listing of all the possible transitions.

                              • 12. Re: new simplified menu structure
                                tom.baeyens

                                 

                                "david.lloyd@jboss.com" wrote:
                                "tom.baeyens@jboss.com" wrote:
                                Processes : Should display a list of processes similar to the current Find Processes menu screen. By default, this screen shows only the latest versions of the processes in alphabetical order.


                                For the new prototype, there should be two tables for Processes. One table should have a row for each unique process name, and it should contain any information that is shared between all versions of a process (even if it is just the name). The other will be a child table of the main Process table and should contain per-version information. The main process table should have link to the Process Version table representing the current "active" version. This way, the latest version of a process can be found without having to using grouping SQL operations, and also the user can easily revert to an earlier version of a process if they need to by changing a simple link.

                                This normalization will greatly simplify the querying of process information.


                                Wouldn't this be nicer solved by a checkbox in the search criteria "Show all versions" which by default is unchecked ?

                                • 13. Re: new simplified menu structure
                                  tom.baeyens

                                   

                                  "david.lloyd@jboss.com" wrote:
                                  "bazoo" wrote:
                                  Instead of "End Task", I would suggest "Proceed", to reinforce the idea that the user is moving through a process.


                                  The "End Task" is not terminology that is defined by the web console. The caption of each of the transition buttons is determined by the name of the corresponding transition. In this case, the "websale" example process happens to have transitions named "End Task".


                                  if there are multiple leaving transitions, the transition names should be shown. but the web app also must have a default name in case there is 1 single anonymous transition. From the proposals that i have seen so far, i like 'Complete' or 'Finish' the most

                                  • 14. Re: new simplified menu structure
                                    dmlloyd

                                     

                                    "tom.baeyens@jboss.com" wrote:
                                    Wouldn't this be nicer solved by a checkbox in the search criteria "Show all versions" which by default is unchecked ?


                                    The problem isn't the UI. We can do a checkbox, that's no problem. The problem is that the query cannot be made efficient, because it is not possible to know the latest version of a process without reading all rows of the process definition table with that process' name. That's why I recommend that the tables be normalized, with one table for Processes and one for ProcessVersions.

                                    1 2 Previous Next