How to add full-text search of work objects and text attachments to a composite user portal
Process Commander incorporates a full-text search facility, in addition to structured search tools that allow searching work objects by their owner, party, or status. If full-text search is included in the user composite portals of your application, portal users can search for words or phrases appearing in work objects and, optionally, their attachments. Users can refine their searches in several ways, for instance by requesting only non-resolved work objects that match the search phrase
Providing full-text search:
- can increase operator productivity by providing faster access to the work object or information that is sought.
- searches for matches in all properties of the object, not just in exposed database columns.
- can return a very long list of matches if the search term is a word or phrase that appears in many work objects or their attachments.
- may disclose sensitive work object details to users who otherwise would not have access to them (but see step 2 in the suggested approach, on excluding specific work classes from full-text search).
- may have an impact on system performance because of the resources needed for indexing (performed in the background by the Pega-Rules agent) and each search request.
Full-text search is part of one of the four display options available for the search gadget as of V6.1. You can incorporate the search gadget, with or without full-text search, in any or all of the user portals in your application.
In V6.1 full-text search of attachments is limited to attached text files.
Enabling full-text search for user portals has three steps:
- Make sure the user portals include a section that supports full-text search, and that the section's FindWorkDisplay parameter calls for the correct section.
- Optionally, exclude the work objects of specific work types from full-text search.
- Set search indexing to include work objects, and, optionally, their attachments.
1. Include a section that supports full-text search in one or more portals
The standard sections @baseclass.FindWork and @baseclass.SearchField support full-text search, so you can include one of these in any or all of your user portals. The Worker and Manager sample composite portals make use of the FindWorksection, but its default setting does not make full-text search available. Whether you start from one of these example portals when creating your portal, start from scratch, or want to modify an existing portal in your application, you need to both include the search gadget in the portal. and specify the correct display for it.
Consider the Manager portal:
- A portal rule lists one or more spaces on its Spaces tab. The Manager portal has one space, named Work.
- Each space requires a harness rule. The Manager portal uses a harness rule named Manager.
- The harness rule can contain multiple section rules, organized according to the Panel Set the developer has chosen. For the Manager portal, the Panel Set has a top area that is populated by the MgrTopPanel section:
- The MgrTopPanel section, in turn, includes the FindWork section.
- And, finally, here is the FindWork section itself:
The gadget has four sections, numbered in the image above; at runtime, only one section is visible. The sections are:
- Basic —allows search by work object ID only.
- Classic — matches the gadget in the 'fixed' or traditional WorkUser portal.
- Advanced (default) — includes a search bar and supports searching for work "Entered by me", "Resolved by me"; among all work objects or only those not yet resolved, and so on.
- V6Search — Permits full-text search of work objects and/or attachments, and allows users to filter search results in various ways (for instance, to show only the work objects updated today).
The Advanced display is the default. To switch to the V6Search display and make full-text search available:
- In the section that contains FindWork (MgrTopPanel in the example Manager portal), select the cell that holds the search gadget, then click its magnifying glass to display the cell's properties panel.
- Click the magnifying glass beside the Use Section field to display the Section Parameters panel:
- Select V6Search for the value for the value in the FindWorkDisplay field
- The default caption for the text entry field is "Search for Work". You can change this by providing a different text in the FindWorkCaption field.
- Save your changes.
2. Optionally exclude selected work objects from full-text search
Here is the procedure to exclude a type of work object from full-text search:
- Using Application Explorer, locate the class that contains the process that generates the work object you want to exclude.
- Right-click the class name and select Definition from the menu that appears.
- On the Advanced tab of the class definition, locate the Full Text Search section and check the Exclude this class from search? checkbox:
- Save your work.
If at some time you want to include the affected work object in full-text search, uncheck the checkbox and save your work.
3. Set indexing to include work objects (and their attachments)
Full-text search makes use of index files, which are updated at regular intervals, to improve search performance. When Process Commander is installed, indexing is only enabled for rules; developers access the search facility for rules in the header bar of Designer Studio.
To enable indexing for work object and their attachments:
- Select > System > Settings > Search.
- In the System - Settings gadget, in the Search tab, locate the Index Administration section:
- Check the Work checkbox.
- If you want to index work object text attachments as well, check the Index Attachments checkbox.
- To index existing work objects immediately, click Re-Index . Re-indexing of work objects will take place along with other re-indexing, typically once a minute.
- Click the Submit button at the bottom of the gadget to save your work.