×

Please give details of the problem

Skip to content

Basket

The basket (or basket of tasks) is the generic name used to define the list of classified tasks of one connected user. Basically, the basket aggregates a list of tasks done, to be done or cancelled assigned to the user and a list of tasks done, to be done or cancelled requested by the user.

Basket definition

The basket has 3 main parts:

1. Basket alert

basket_alert_in_the_header

The basket alert appears on the top right of the header (see figure below). It shows the number of opened tasks assigned to the connected user.

info_1 The number inside the basket alert turns to red and bounces 3 times when the number changes (and after loading)

info_1 The number inside the basket alert appears also in the title of the web page (only if positive)

2. Basket popup

The basket popup (see figure below) appears and disappears when you click on the basket alert.

basket_popup

The basket popup contains the following information:

  • Under "My Tasks" you will find the number of tasks assigned to the connected user:

    • Pending: Number of opened tasks waiting for an action from the connected user (this number is also the number of the basket alert)
    • Completed: Number of tasks completed
    • Cancelled: Number of tasks cancelled
    • Overdue: Number of tasks in overdue
  • Under "My Requests" you will find the number of tasks requested by the connected user:

    • Opened: Number of opened tasks (the process is not yet started or is waiting for a validation)
    • Completed: Number of tasks completed
    • Cancelled: Number of tasks cancelled
    • Overdue: Number of tasks in overdue
  • "See all" option, when checked the numbers are concerning all the web interfaces. If not checked, the numbers concerns only the current web interface

info_1 Only task's category with positive number are clickable

3. Tasks list popup

The tasks list popup appears when you click on a task's category in the basket popup. It contains the detail of the tasks (see figure below).

Tasks list Basket

You can find in this popup:

  • Name: The name of the task and the name configured in the header of the web interface (if exists)
  • Lane: The name of the lane concerned by this task or simply a dash ['-'] if the task concerns only the user
  • Priority: The priority of the task (! means low, !! means medium, !!! means high)
  • Creation date: The creation date of the task
  • Updated date: The last updated date of the task
  • Due date: The due date of the task

info_1 The list is ordered by updated date and paginated (20 tasks maximum)

How to configure the basket

In the first tab of the configuration of the web interface, when the checkbox "Display the header" is checked, you can click on the icon (see figure below) to configure the basket.

Configuration of the basket

You have 4 possibilities for the basket (see figure below):

  • "All instances": the basket will display the information about all applications (equals to "See all" option checked)
  • "Current web interface instances": the basket will display the information only related to the current application (equals to "See all" option unchecked)
  • "None": The basket will not appear for this web interface
  • "Another web interface instances": The basket will display the instance of the chosen application (this case is typically used for the reporting web interfaces which have no instance but which refer to instances of another web interfaces).

Configuration of the basket

info_1 The basket uses jQuery-ui, this library is automatically added to your user interface but you should not remove it.

Basket synchronisation latency

To optimize the response time of the basket some information are pre-calculated and some not. For this reason, you may have sometime differences between the popup basket (number of tasks) and list basket (list of tasks). It's due to

  • The tasks numbers are asynchronous (it may take several second to be update)
  • The tasks lists are synchronous, you directly query the dabatase to have the exact list at any time
  • The user interfaces refresh automatically their basket every 5 minutes, but you can also reload the interfaces to get updated data

i18n of the basket

The basket can be translated using the Application Translator. You will find some specific entries in your dictionary dedicated to the basket.

Handle basket with javascript

This part is for javascript developer.

You can bind your user interface javascript method with the input data of the basket. The basket comes with 3 javascript methods.

RMP_basket.addListener(fct): This method allows to bind a method (fct) to the input data of the basket. fct will be called every 5 minutes (each refresh of the basket) even if there is no modification of the basket's data

RMP_basket.popup(id, filter, status): This method allows to open the tasks list basket.

  • id <Number>: Id of the application used to filter the tasks list
  • filter <String>: "ASSIGNED_TO" to filter by "My Tasks", "INITIATED_BY" to filter by "My Requests"
  • status <Number>: Filter on the category of the task:
    • 1 - OPENED
    • 2 - CLOSED
    • 3 - CANCELLED
    • 4 - OVERDUE

RMP_basket.setApplicationId(id): This method allows to associate the basket with another application than the current one (id <Number> is the id of the application used to filter the tasks list).

Let's see how it works with an example. The example below will invite the user to see its pending tasks for application id = 123

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
function notify(data){
    if (!data) return;

    // Filter the data assigned to the connected user.
    var assignedData = data['ASSIGNED_TO'];
    if (!assignedData) return;

    // Filter the data for pending tasks
    var pendingData = assignedTo['1'];
    if (!pendingData) return;

    // Filter the data for 123 application
    var applicationData = pendingData['123'];
    if (!applicationData) return;

    if (confirm('Do you want to see tasks list for 123?')){
        // Open the tasks list popup
        RMP_basket.popup(123, 'ASSIGNED_TO', 1);
    }       
}
RMP_basket.addListener(notify);

The data input of listener functions is a JSONOBJECT with following structure:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
{
'ASSIGNED_TO':
    {
    1:                          // Pending
        {
        web-interface-id: number of tasks ...
        }
    }
    2:                          // Closed
        {
        web-interface-id: number of tasks ...
        }
    }
    3:                          // Cancelled
        {
        web-interface-id: number of tasks ...
        }
    }
    4:                          // Overdue
        {
        web-interface-id: number of tasks ...
        }
    },
'INITIATED_BY':
    {
    1:                          // Opened
        {
        web-interface-id: number of tasks ...
        }
    }
    2:                          // Closed
        {
        web-interface-id: number of tasks ...
        }
    }
    3:                          // Cancelled
        {
        web-interface-id: number of tasks ...
        }
    }
    4:                          // Overdue
        {
        web-interface-id: number of tasks ...
        }
    }

}

How to create an homepage

Header and Menu Bar

Application Translator