Details
-
Feature
-
Should have
-
Obs Mgt & Controls
-
-
-
2
-
2
-
5
-
2.5
-
SP-2359 spike for new widgets in Taranta
-
Team_CREAM
-
Sprint 5
-
-
-
-
17.6
-
NFRS met, Demonstrated, Satisfies Acceptance Criteria, Accepted by FO
-
-
SYSTEM_DEMO_6 Taranta Team_CREAM
Description
After conversation with CREAM during PI17 planning, we decided to descope the feature (to make room for the other one, sp-3057).
Taranta will have a widget for displaying attributes/states of a list of devices in tabular format.
Descoping is achieved because:
- the table will display info of a set of devices only, not other data sources (eg list of alarms)
- table cells will not contain LEDs nor buttons;
- selection of devices is quite limited, allowing only explicit, one by one selection;
- formatting and colors have to be specified with "raw" CSS, without fancy UI widgets to help doing that;
- no sorting nor filtering will be possible on a running DeviceTable.
With these decisions the estimated effort is 2 FPs.
Old stuff
What follows is the original formulation of this feature.
This is the implementation of the widget based on the output produced by the UX spike https://jira.skatelescope.org/browse/SP-2359 (which at the moment 2022-05-23 is not completed yet).
What we need
A "Table Widget" that allows presentation of information on a bidirectional grid, N rows x M columns. Each row presents an instance of devices and each column represents a property of that devce, Examples of tables are: list of receptors, list of subarrays, list of alarms. Example of columns are names, addresses, LEDs, states, attribute values.
The widget has a maximum number of rows (if more data needs to be displayed then an overflow-control mechanism is applied - for example via a scrollbar).
A filter can be enabled (or not) for each of the columns that selects a subset of the devices to be displayed. The filter may refer to values of device attributes and states. The selection therefore may change dynamically.
The number of rows can also change dynamically if new devices come into being that match the inclusion and filtering rules of the widget.
It should be possible to create on the fly common and standard tables of devices. Uers should be able to create on the fly a preconfigured table for a list of device addresses; the table would contain a preconfigured set of attributes and states of those devices. This preconfiguration could rely on taranta wide defaults.
Configuration options
The Table Widget can be configured in terms of:
- mechanism to select the devices to be displayed (can be set of devices whose address or name match a regular expression, a device class, a manually selected list of devices)
- columns to be displayed in terms of attributes or states of devices, or an LED based on state/attributes. A command can also be specified (to be rendered as a button).
- visual properties of the borders (to control if borders of the table, of the rows, of the columns are visible, line size, line color)
- default background colors of columns and of the entire table
- text formatting (font size, font style, color, alignment) for text printed in cells
- visual properties of cells are the background and foreground color of text, font size and style, and horizontal alignement (left, right, center). These may depend on the actual values of that cell (so that, for example, the number of active alarms of a device is printed in red if >0; or a receptor that is under-maintenance is shown with a brown background)
- visibility of 1st row with column headers
- visbility of 1st column with row headers
- text labels to use for column/row headers.
Appropriate defaults are provided to minimize user work.
In addition:
- column width is automatic unless the user changes it
- row height is automatic