Drag-and-Drop
Workspaces are enabled with drag-and-drop within panels and between panels. This is unlike the standard interface, where drag-and-drop only works within a window. There are specific actions which are allowed with drag-and-drop, and drag-and-drop is not valid between all panels, but only between those which will produce a valid result of a logical action.
Firstly, drag-and-drop actions are only valid between specific types of report outputs or edit panels within workspaces. The basic premise is that you can drag one or more issues from a report output panel and drop the issues within another report output panel. When ExtraView sees that the values within the issues being dragged can be changed to match the filters within the panel where the issues are being dropped, the issues being dropped will be updated accordingly.
For example, consider you have two column reports:
- Report A has filters of Product = myProduct and Status = Open
- Report B has filters of Product = myProduct and Status = Fixed
Using the standard convention with a click of your mouse to select and drag an issue from Report A, and drop the issue on Report B, the Status of the issue will be updated to Fixed. Reports may have a button in the title bar of the panel that enables the record selector to allow multiple records to be selected for an operation. This button is used for all of these purposes:
- You can drag all the selected issues and drop them on another panel to perform a mass update operation, where all the issues being dropped will take on the values of the filters in the second panel
- You can click the Detailed Report button to obtain a report of all the selected issues
- You can click the Group Issues button to place the selected issues within a relationship group
- You can perform a Mass Update of the issues
- You can export the selected issues
When you drag a number of selected issues you will see an indication of the number of issues being dragged, and when you drop the issues on a different panel, the mass update utility is invoked to perform updates on all the issues being dropped, to match the values of the filters in the panel where the issues have been dropped. In the same way that you may decide to inhibit the sending of email notification upon a mass update operation, you are given the same choice when dropping a number of issue, to either send or not send email notification.
You may only initiate one drag-and-drop operation at one time, and although you can perform other actions such as run reports and update issues, you must let the updates from the drag-and-drop action complete before beginning another drag-and-drop.
This table shows the valid drag-and-drop operations between report types. If the report type is not in the table, then drag-and-drop actions are not supported at this time to reports within their panels.
Column Report | Summary Report | Matrix Reports | Quicklist Report | |
Column Report | ✓ | ✓ 1 | ✓ 2 | ✓ |
Summary Report | ✓ | ✓ 1 | ✓ 2 | ✓ |
Matrix Report | ✓ | ✓ 1 | ✓ 2 | ✓ |
Quicklist Report | ✓ | ✓ 1 | ✓ 2 | ✓ |
- When you drop one or more issues on a summary report, you must drop the issues on a row within the report. This report helps define the target filters for the drop, with the issue assuming the values of each of the fields in the columns that define the summary report
- When you drop one or more issues on a matrix report, you must drop the issues within a cell on the report. The field values of the row and the column within the report act as filters for the drop, and are used in addition to overall filter values for the matrix report
Drag-and-Drop and Workflow
Drag-and-drop provides a quick, convenient method to update issues for many purposes. When you drag-and-drop a single issue, you will see a popup window if there are dependencies. For example, if a field becomes required as part of an update, and it does not have any contents when you drop the issue on a report to execute the update, the popup will present the field and will require you to provide a value for the missing field.
However, there are some occasions when dropping an issue will produce an error, and no update is performed:
- When the update encounters a business rule that executes a STOP or an ERROR. On these occasions, you will see the reason for the failed update. Simply edit the issue and update through the screen
- When the update encounters a reauthorization or electronic signature request. This update must also be accomplished via an edit screen.
Drag-and-Drop and Query Filters
Only AND conjunctions between filters are allowed on the drop area report. all other filters fail when you attempt to drop one or more issues. This is because filters such as OR lead to ambiguous results, in that trying to change a field value to either one value or another makes no sense.
Only EQUAL (=) and IN operators for filter values are supported. Filter operators such as NOT EQUALS (<>) and GREATER THAN (>) are not supported. Again, the use of these operators would lead to ambiguous results in the updates to be applied to the issue or issues being dropped. Multiple values within the IN filter is not supported.
Drag-and-Drop to Relate Issues
There are several convenient places from where you can drag an issue, and drop it onto a related issue display. This implies that the issue being dropped is to be added to the relationship group that forms the related issue display.
-
Detailed Reports – There is a button at the top left-hand corner of the screen. The icon depicts a hand which can be dragged and then dropped onto a related issue display to relate the issue within the related issue display to its relationship
-
Edit Screens – The button at the top left-hand corner of the screen depicts a hand which can be dragged and then dropped onto a related issue display to relate the issue within the related issue display to its relationship
Drag-and-Drop and Multi-Valued List Fields
When you drop one or more issues onto a drop area which contains fields with filters on one or more multi-select fields, the behavior is as follows:
- If a report is created where the filter criteria includes the multi-valued field, with the operator “=” and a single value is selected, the filter shall be used to add the selected value to the multi-valued field. For example, if the issue has a multi-valued list field named FRUIT, with the values apple, orange and pear, and apple is selected, when you drop the issue onto the report where the filter criteria is FRUIT = orange, the result will be that the updated issue will have both apple and orange within the field
- If a multi-valued field is one of the axes of a matrix report, and you drag an issue into a cell specifying one particular value of the field, the issue is updated to add the value to the multi-valued field. Existing values in the field are left untouched. Using the same field explained in the previous bullet as an example, when you drop an issue with the value of apple onto a cell where the value is orange, the updated issue will have both apple and orange within the field
- If a report is created where the filter criteria includes the multi-valued field, with the operator IN and multiple values are selected, the filter is discarded for the update to the issue. For example, if the filter criteria is FRUIT IN apple, orange the FRUIT field is not used for the update
- If a report is created where the filter criteria includes multiple instances of the multi-valued field, and where the operator is “=” and the filter criteria use AND as the conjunction, the filter is used in the update, and all values will be added to the field within the issue. For example, if the issue has apple selected, and you drop it onto the report where the filter criteria is FRUIT = orange AND FRUIT = pear, then the issue is updated to have apple, orange and pear all selected in the field.
In summary, updates via drag-and-drop to multi-valued fields never remove values from the list, and handle all filter criteria in a manner consistent with normal single-valued list fields.
Drag-and-Drop and Repeating Rows
Repeating row fields may be part of the filters within any drag-and-drop operation. Consider a matrix report like this:
The Y-axis field is a repeating row field titled Branch Status. Its values are shown on the report. The X-axis is a field (not a repeating row field) titled Priority. The entire report has a filter for a field named Release, a repeating row with the title 12.0 Issues. The user wants to close all the P2 Fixed issues by dragging them to the P2 Closed cell. The conundrum is that when the user performs this operation, there needs to be an understanding of the repeating row values of the issues being dragged and dropped as there may be more than one repeating row. In our case we would only want to update the repeating rows where the Release field has a value of 12.0 and not the rows where the value is anything other than 12.0. ExtraView will only update the rows in the Fixed issues where the Release value equals 12.0.
When a drag and drop operation is initiated between different reports in a workspace, and repeating rows are involved, on many occasions there is not enough information to ascertain the user’s precise intent, and the drop will not succeed.
There are other rules that are observed when dragging and dropping fields within and summary reports:
- If a field’s filter value in the drop area is different from the value in the issue, the issue in the drop area is used to update the value of the field being dropped
- If a repeating row does not exist in the issue being dropped, but exists in the issue within the drop area, a new repeating row is created within the issue being dropped
- If a repeating row exists in the issue being dropped, but the field used as a filter does not have any value, the filter field is given the same value as that in the issue in the drop area.