Users wish to be able to find licenses that have particular license terms defined, or particular values for specific license terms.
- being able to pull a list of all the resources we have that allow text mining would be helpful
- our ILL and Reserves staff need to be able to pull up a single term (like ILL rights) which will display all instances of that term on all licenses in the system. They should be then able to refine by selecting what sort of rights we have (Yes ILL, No ILL, Print Only) to compare by that as well. This is useful not only to know what rights we have, but in negotiations so that previous language can be easily recalled and staff can highlight which publishers we need to push to include that language.
Roles and restrictions:
This should be available to any user with permission to Search & View licenses
Workflow / UI expectations:
In order to be able to build a complex query for license terms, we should support a query builder that can be used to create appropriate queries for the license terms.
This should be accessed from the search and filter pane, but be a pop-over screen that can be used to build a complex query
The query builder should be based on the wireframes at https://drive.google.com/open?id=1rtCa2H9gt2l9joX5RMWtjlcLDlZxU-xS
It should be possible to:
- Create "groups" which will reflect bracketed query strings. The user should be able to add as many groups to the query as they want
- The user can set how query groups should be combined using one of the boolean operators : AND, OR, NOT
- When creating a new query, one query group should be displayed by default
- If a query group is added it must contain at least one term
- Users should be able to add "terms" to the groups which is how a condition for the value of a license term will be set in the query. The user should be able to add as many terms to the query as they want, and may add the same term multiple times
- When creating a new query, one query term should be displayed by default
- The user can set how query terms should be combined using one of the boolean operators : AND, OR, NOT
- If a term is added, it must be specified as either "Set", "Not set" or a set of rules must be specified
- Rules are used to specify a condition for the content of the term. Users can add as many rules as they wish to the query
- The rules available will vary dependent on the "type" of value license term (e.g. text, integer, Refdata)
It may be worth noting that there is a story to support custom properties on Agreements (see
ERM-683) which may indicate that the same ability to build a search based on custom properties could be a future requirement. However there is no immediate requirement for this to be supported
Business rules & constraints:
It should be possible for a user to select a property/term in the search/filter panel and see all the licenses that have a value (any value) for that term. Once a term has been selected it should be possible for the user to specify a value for the term and see only the licenses where the term has that value assigned.
Because custom properties can be of different types, the method for specifying the value for a term will vary dependent on the custom property type:
- Drop down list of values
- Text search box
- Specify a number / range of numbers
It should be possible for the user to search for multiple terms/term values at once