9.6   Branch Search

Branch search is an advanced search function which finds branches in selection trees. It makes it easier to find branches with a certain layout, and present them in a table form. It also makes it easier to find selection tree elements, depending on how they are defined. Branches are entire sections of a selection tree from the root of the tree to a leaf element, that is, a node that contains a modifier as its last element. Branch search allows the user to configure one or more filters, and use these filters to search through a selection tree for branches that fill certain criteria. The search is defined by one or several filters, and several filters may be combined to create complex search criteria.

The branch search is started from the selection tree editor, by choosing the menu option Search for branches.... Each filter created must have a unique name. The branch search dialog is described in Figure 196 and Table 93.

Figure 196   Branch Search Dialog with Some Examples of Filters

Table 93    Legend to Branch Search Figure

1

List of all filters available for the current service.

2

Buttons to create and administer filters.

3

Fields to create and edit filters.

4

Lists of included and excluded filters for the current branch search.

5

Button to start the branch search.

6

Filter information - the filter being edited is a new filter.

7

Filter information - the filter definition has been changed.

Two types of filter may be defined - Field Value and Element Setting filters. Both types define criteria that are to be matched to all branches in a selection tree. The filters are connected to the service definition associated with the tree, and are saved automatically per service.

Field Value filters are set up using the fields in the service definition associated with the selection tree. A data value to be matched against may also be provided to the selection tree, so that the resulting behavior is also included in the search. Several fields may be added to a filter to narrow down the results. Once a field from a specific context in the service is used, only other fields in that context, or belonging to no context, may be chooses in the same filter. The filter judges the relevance of branches, the more criteria a branch fills, the higher its relevance in the search result.

Values for the field may be provided in field value filters. If no values are supplied, then the default value of the field in the service definition is used. The conditions in the selection tree are executed, so that the results returned are used as the target of the search.

Branches that match the search criteria defined are returned in the results. Branches that may match the criteria, but cannot be evaluated in a field-value filter because of no conditions, are known as potential matches. They can be added to the search results by selecting the check box in the branch search window.

Element Setting filters are set up using the name or ID, the value of a certain parameter, or STQ of an element or elements in a branch of the selection tree. Up to three of these criteria may be used in the same filter. The filter may be configured to use a logical AND by selecting Match all, or a logical OR by selecting Match any, to combine these search criteria.

Element setting filters match the criteria in string form or floating point value form with the settings of the elements in a selection tree. No wildcards may be used in the filter definition.

A filter defined must be saved before they can be used in a branch search. The filters are saved to the .rma folder for the current user. Removing a filter from the All Filter list in the branch search dialog removes this filter from the .rma folder, meaning that it cannot be recovered. Filters defined for one selection tree may be used in other selection trees that share the same service definition.

When performing the search, filters may be included or excluded. Excluded means purposefully eliminating the terms in that filter from the search results, to remove irrelevant matches from the result. Branch search first searches the tree using the filters in the include list, and then applies the filters in the exclude list to remove irrelevant results.

If no filters are defined, performing the search will display all branches in the selection tree.

Figure 197   An Example of the Results of a Branch Search

Table 94    Legend to Branch Search Results Figure

1

The results of a branch search. Each column is a separate branch of the selection tree.

2

Criteria to sort the search results by.

3

The buttons to hide or show conditions and nodes.

4

Buttons to toggle if the branches are shown with root first or last in the column.

5

Return to the first page and refine the branch search.

6

Button to toggle if each branch should be displayed as a column or a row.

The results of the branch search are presented in a table, the form of which may be configured. Figure 197 and Table 94 show the result table with an example of the results of a search.

If no branches in the selection tree are returned by the search, No matching branches found is displayed.

Each column of the results table represents a single branch of the selection tree, from root to leaf. Checking the Show branches in row mode box rearranges the table so that each row is a single branch. Double-clicking on a cell in a branch brings up the same element in the selection tree editor. The branches may be shown in two ways, either with the root of the tree at the top or at the bottom of a column. This is controlled by the Toggle showing root as top node and Toggle showing leaf as top node option buttons.

To present more concise branches in the table, it is possible to hide all conditions, nodes, or both in the table, using the Show: check boxes.

The branches shown in the result table may also be sorted to present the most interesting results first. Up to three sort criteria may be used. The Arrange columns by selected criterion button sorts the results table according to these. These criteria may be:

The Refine button returns to the dialog where the filters are defined, so that further criteria may be added to the search.

Closing a selection tree editor while an associated branch search editor is open, brings up a dialog asking if both editors should be closed. Selecting No leaves both editors open.