Search Scopes - Part 1
Table of contents
Scenario
Search Scopes are used to separate/filter and query for objects. The Search all resources or Simple Search search bar is located on the very top of the IDABUS® UI and first place to search for objects like (Persons, Groups, Units, etc.). A search automatically starts after a certain number of minimum characters are entered in the search field. The default amount of required characters is 3:
By default the following Search Scopes are available:
- Person
- Contract (disabled)
- B2B
- Offboarding (disabled)
- Group
- ocgPAMGroup
- ocgPermission (disabled)
- ocgTeam (disabled)
- ocgOrgUnit
- ocgRole
- ObjectTypeDescription (disabled)
- AttributeTypeDescription (disabled)
- BindingDescription (disabled)
- Set (disabled)
- ManagementPolicyRule (disabled)
- RequestBasedWorkflowTrigger (disabled)
- Workflow (disabled)
If a search is triggered the Search all resources textbox drops a result panel showing up matches separated by Search Scopes:
The image above shows 6 active search scopes (Person/User, Azure B2B, Groups, PAM groups, Organizational Units and Roles). For the keyword ‘test’ entered in the search field only the Roles-Scope found a single match called ‘Tester’ while the PAM groups are still being queried.
Queries are performed case-insensitive and can contain wild cards such as the percent sign (%) and/or start with an exclamation mark (!) in order to search for exact matches only. Let´s assume we have the following personal data available:
- Eva
- Evan
- Nevada
Searching for ‘%eva’ will find all records above as all start with or contain ‘eva’. Searching for ‘eva’ will only find the first two records. Searching for exactly ‘!eva’ will only find the first record.
Configuration
“searchScopes” can be modified, added, removed and enabled or disabled in the custom configuration file in section: C:\inetpub\Oxford Computer Group\IDABUS UI\portal\app\customisation\assets\config\customConfig.dev.json
Parameters
Search Scopes
Key | Description | Values |
---|---|---|
name | Defines a unique name/key for this Search Scope. Example: person | string |
type | Specifies the Object Type as defined in the MIM Portal. Example: Person | string |
text | A localizable string that is shown to the user to identify this scope. Example: l10n_users | localizable string |
icon | Specifies the Google Material Icon to be used for this scope. | string |
enabled | Specifies whether or not this scope is displayed in the “Search all resources”-results. | true/false |
query | Defines the normal query to be triggered. In order to search in all person´s first and last names the following search should be performed:/Person[starts-with(FirstName, '%SearchText%') or starts-with(LastName, '%SearchText%')] %SearchText% will be replaced with the user´s input characters at runtime. | XPath |
exactQuery | Defines the exact query to be triggered when the user performs an exact search using the exclamation mark (!). The main difference to a normal search is that an exact search can only use equivalents (=) but no starts-with or contains./Person[FirstName='%SearchText%' or LastName='%SearchText%'] %SearchText% will be replaced with the user´s input characters at runtime. | XPath |