×

Please give details of the problem

Skip to content

Report Widget

1. Overview

This widget allows you to present either a web interface report, a process report, a collection or a custom source of data (JavaScript report) to the end user on a web interface.

application_report

2. Configuring a Report

There are three tabs for configuring the report - Properties, Layout and Rules.

2.1 Properties

The first thing you must decide is the type of report you wish to display - collection, web interface report, process report or a JavaScript report. It is defaulted to collection but you can change this by choosing the Other Report option.

ReportType

You can choose to either use an existing report that is already defined in your web interface project or to create a new one (not possible for JavaScript reports). Choosing to create a new report will enable you to design and save a new report before returning to configure the widget.

picto_wrench: click on this icon, to configure the columns displayed in the report. You can define the width (in pixels) of each column, set a column as visible or not and add a calculated column. To define the content of a calculated column, enter your javascript : ${P_user.name} "[[mycolumname]]" and "[[propertyname]]" and "[[MEASURE_1]]" at index "[[_row_]]" or if("[[myvar]]"=="0"){"bad";}else{"good";}.

info_3 You can't filter on a calculated column and calculated column won't be exported.

info_4 You can use "P_index" to get the index of the current row.

Most of the properties that can be configured from the Properties tab are common to all types of reports but some are specific to the type of report you are configuring.

2.1.1 Collection Properties

The following properties are specific to collection reports:

  • Collection URL: The URL for the collection.
  • Query: Enter a query to be run on your collection. If empty, all records will be displayed. The query is a pattern : {"lastname":"Smith"} or {"$and":[{"field1":"value1"}, {"field2":value2}]}. The query can also contain a more advanced pattern (display all records that match a given pattern, order by a given key : {"$query":{"field":value},"$orderby":{ "field":1}}.
  • Aggregate: This allows you to perform an aggregation query on your collection. For example, {"$group":{"_id":{"service":"$uo"}}},{"$project":{"service":"$_id.service","_id":0}} will display unique "service" of your collection.
  • Post loaded script: This allows you to execute a script when the report is completely loaded in the web page. For example, you could set a javascript filter on your report. For more information, please refer to the JavaScript report tutorial. An example is id_report.addMeasureFilter("mymeasure",RMP_FilterOperator.EQUAL,"myvalue");id_report.refresh();

    Please note that the post loaded script of a report used in a web interface created after the Lifou v3 release is executed each time the report's data is refreshed (after a reset filter, manual or dynamic refresh etc )

Learn more about collections here.

2.1.2 Process and Web Interface Report Properties

The following properties are specific to process and web interface reports:

  • Name column name: This allows you to change the title of the first column of your report.
  • Sort order query: By default, reports are sorted by their creation date in descending order, and you can allow users to sort on a specific column of your reports (enable the Sortable property).

If you disable the Sortable property, you can enter a query to change the default sort order: You can define that reports are always to be sorted by one or several columns in ascending or descending order.
Enter a query in the following pattern: orderby=<column name>&order=ASC DESC, for example, orderby=MEASURE_1 MEASURE_2&order=ASC.

*![info_7](/images/info.png)  Please note that the same query parameter cannot be used several times in one query. For example, `orderby=MEASURE_1&order=ASC&orderby=MEASURE_2&order=DESC` will only take the first `orderby` parameter into account.*
  • Post loaded script: This allows you to execute a script when the report is completely loaded in the web page. For example, you could set a javascript filter on your report. For more information, please refer to the JavaScript report tutorial. An example is id_report.addMeasureFilter("mymeasure",RMP_FilterOperator.EQUAL,"myvalue");id_report.refresh(); Please note that the post loaded script of a report used in a web interface created after the Lifou v3 release is executed each time the report's data is refreshed (after a reset filter, manual or dynamic refresh etc )

2.1.3 JavaScript Report Properties

The following properties are specific to JavaScript reports:

  • Loading data script: This allows you to define a script that will enable the display of data from any source as long as they are formatted as a JSONArray.
  • Export by email: If you want to export all of the data you will need to create a process to do this for you (or you may already have one). Once you have this process configured, you can attach it to your JavaScript report here.

For more information, visit the JavaScript Report page.

2.1.4 Shared Report Properties

The following properties are common to each type of report - collection, process, web interface and JavaScript.

  • Open links in the same window: Choose this if you want users to remain in the same window (or iframe) when they click on a link (instead of opening a new tab with manual task web page).
  • Enable filters: Choose this if you want to allow user to filter your report. This field must not be checked if you are using Javascript to filter your report.
  • Show filter at start: Check this box if you want to open the filter section when opening the web interface.
  • Sortable: Check this box if you want to allow the users to sort on a column of your report.
  • Visible items: The maximum number of lines displayed on a screen report (it is linked to the Table height).
  • Table height: The height in pixels of your report.
  • Allow users to select rows: You can choose to allow users to select "Only One" or "All" rows from the report. When the user makes a selection the JavaScript declared in the "On row select / deselect" field will run. Choosing "None" here will disable this functionality.
  • On row select / deselect: This option is enabled only if you have chosen to allow users to select rows (one or all). Enter the JavaScript that will be triggered when a user selects or deselects a row from the report or when running dedicated JavaScript functions (refresh, selectAll...). JavaScript function getLatestSelectedLineValues() will return the values of the selected line or null if the lastest action was the deselection of a line.
  • Date format: Allows you to customize the date format used to display the date fields in your report and when exporting the data. The format must follow the ISO 8601 format.
  • Listen to variables: Populate this field with a variable name that should be listened to.
  • Identifier: The id of the widget. This is only needed if you intend to use Javascript functions in your web page.

info_7 Please note that if a widget report is "Active" (cf. Rules tab), the end users will be able to modify the configuration of the report directly from their web interface without using the RunMyProcess back office interface.

2.2 Layout

The Layout tab enables you to tailor the look of your report.

2.3 Rules

The rules tab enables you to set rules for the availability of the report widget.

3. Filtering on Process Status

When presented with a process report on a Web Interface, the user can choose to filter on process status (if enable filtering has been set on the report widget properties). Here is the list of the status available for filtering by:

Status ID Server Description Web Interface Label Description
0 NONE Initialized The process is in a queue for processing but has not started yet.
100 READY Processing Process step is being processed (Temporary status).
102 WAITING Waiting The process is waiting for en external action to restart (e.g. a Manual Task)
103 WAITING RESUME Waiting (Resume) The process is in waiting resume state.
201 COMPLETED Completed The process has completed.
301 ABORDED Aborted The process has been aborted.
302 KILLED Killed The process has been killed.
400 CANCELLED Cancelled The process was cancelled by a user.
401 OUTDATED Outdated The Process has ended because it has timed out.

All status are included as default.