Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Info
titleSummary

In complex installations it is often desirable to have multiple ways to view the core types of data: Members, Activities, and Learning Plans a.k.a., Applications. For example, there may be multiple contexts in which a user may need to view or search Member data, and the relevant filter criteria, result columns, and access control business rules may be different in each one.

System Administrators can use advanced configuration features to create separate search screens for each scenario, without needing any custom programming in the core application.


Supported Entities

Common Functionality

Member Search was implemented first and contains some special features not supported in the other cases.


Search Form Configuration 

"searchFields":

 [...]

CapabilityPurpose / Syntax
Configurable
Search Form
search formThe list of form fields displayed to the user is configurable, so that it can be restricted to only those properties that make sense for a given implementation.
Search against values that are NOT in the Workflow Attribute collection

Each implementation of the search framework contains a base search model that can expose information that is not represented as Workflow Attributes. These properties can be targeted by a search field.

"target": "model.OwnerName"

Search against values that ARE in the Workflow Attribute collection

To search against Workflow Attributes, use the "entity-scoped" syntax:

"target": "ActivityInstance.Activity Type"

Configurable
Field Labels
field labels

Each search field is given a label, and the label can be a fixed string or can be pulled from the Glossary.

"label": "Glossary.Singular(Activity)"

Multiple
Search Types
search types

"searchType": "<value>"

  • ExactMatch: (default) the value in the database exactly matches value entered into search formTextbox
  • BeginsWith: the value in the database starts with the search value
  • Contains: the value in the database contains the search value 
  • IncludeChildren: (Member Search only) searches against the specified Member and it's "children" in the Organization Hierarchy
Multiple
Input Modes
input modes

Search values can be entered into the search form using a variety of different mechanisms.

"criteriaType": "<value>"

  • Textbox: (default) 
  • Picklist: renders as a dropdown
list (see: TODO
  • list 
    • (Must also specify "pickListName": "<name of list>")
  • MultiSelectList: renders as a multi-select listbox
    • (Must also specify "pickListName": "<name of list>")
  • MemberAttribute: renders a Member Lookup attribute for choosing a specific Member

(Member Search specific)

  • RolePickList
  • RoleStatusPickList
  • MemberName
  • MemberType
  • MemberStatusPickList
  • MemberId

(Activity Instance Search specific)

  • ActivityType
  • MemberKeyword
  • DateRange
  • NumberRange
  • AutoComplete


Search Results Configuration 

"resultFields": [...]

CapabilityPurpose / Syntax
Display columns of data NOT in the Workflow Attribute collection

Each implementation of the search framework contains a base search model that can expose information that is not represented as Workflow Attributes. These properties can be displayed in the results table.

"source": "model.OwnerName"

Display columns of data that ARE in the Workflow Attribute collection

To display Workflow Attributes in the results grid, use the "entity-scoped" syntax:

"source": "ActivityInstance.Activity Type"

Custom formatting

Custom formatting can be used to display a link:

"format": "<a href=\"...\">{ActivityInstance.Id}</a>"

Column labels using Glossary Terms

To give a column a label that is controlled by a Glossary term:

"label": "Glossary.Singular(Activity)"


Custom actions or links for each search result

"links": [...]

CapabilityPurpose / Syntax
FontAwesome Icon

Each custom link can use a FontAwesome icon

"icon": "fa-eye"

Entity-type-specific link handling

Each custom link can be given a custom CSS class, which can be used to add dynamic behavior to that link. (This is an advanced configuration and may require development assistance)

"triggerClass": "jq-some-class-name"


Custom Page Buttons

"toolbarButtons": [...]

CapabilityPurpose / Syntax
Specify button order

"order": "1"

Entity-type-specific link handling

Each button can be given a custom CSS class, which can be used to add dynamic behavior to that button. (This is an advanced configuration and may require development assistance)

"cssClass": "jq-some-class-name"


Forced Filters

CapabilityPurpose / Syntax
Apply a custom search filter in addition to whatever criteria the user selects
{
  "target": "model.CurrentStepId",
  "values": [1, 2, 3]
}

{
  "operator": "Or",
  "filters": [
    {
      "target": "ActivityOffering.Offering Primary Contact",
      "matchesAssociationTypes": [
        "CurrentUser"
      ]
    },
    {
      "target": "model.OwnerMemberId",
      "matchesAssociationTypes": [
        "CurrentUser",
        "Organization"
      ]
    }
}


Additional Directives

CapabilityPurpose / Syntax
Configure instructions, button labels, and other messaging

"pageInstructions": "<p>Lorem ipsum...</p>"

"noResultsMessage": "No records matched the criteria"

"searchButtonLabel": "Filter"

Show or Hide the Workflow Button for each result row

"showWorkflowButtons": true

Specify default sort order

"defaultSort": "Activity.Title"

"defaultSortDirection": "Ascending"

Configure data set limits

"defaultPageSize": 20

"searchResultCap": 2000

Perform a default search automatically on page load"autoSearch": true


Child pages (Children Display)
Related Content

children

Jira Legacy
serverSystem JIRA
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId80a5de98-58ff-3b59-a4bd-e013083b8a1d
keyLB-626


Info
titleTerminology

The terms "queue" and "search" are both to describe this feature, but indicate different use cases.

queue is a page that shows users a list of things that they should work on next. This is often used to represent things like a "review queue" where the default criteria return the list of things the user needs to worry about.

search is a page that displays multiple search criteria fields and allows users to run ad-hoc searches. 

Technically speaking, a "queue" is just a "search" page with a default filter that does something meaningful.