Question

15
Replies
9634
Views
Elliott.Davis Member since 2013 27 posts
Crestone Technology
Posted: 4 years ago
Last activity: 4 years 1 month ago
Closed
Solved

Full text search of work objects: how to add columns of data to search results?

I am upgrading from 6.1 to 7.1.8. I have the following requirements implemented in 6.1

Show these columns in the search results from the Work Object search gadget:

  • Case Type (class of work object)
  • Work ID (pyID)
  • Work object status (.pyStatus )
  • Originator (OperatorID who created the work object)
  • Creation Date (when object was created)
  • Updated By (operator who last updated the work object)

The Problem

I cannot seem to implement this requirement, for two reasons:

- I can retrieve the Originator but I cannot display it

- I cannot retrieve data for Creation Date or Updated By

Details

In 6.1, work search results are returned in instances of Data-Work-Summary. This table maps the columns in my requirements to the corresponding properties in Data-Work-Summary and Work-

      

Column

Data-Work-Summary

CaseType

pyClass

WorkID

pyID

WorkObjectStatus

pyStatus

Originator

pyOriginator

CreationDate

pyCreatedOn

UpdatedBy

pyUpdateOperator

In 7.1, work search results are returned on a page, of Code-Pega-List, called pySearchResultsWork

They are displayed in section Work-.pyShowResultsInNewWindow, with the following columns:

search results header.png

At runtime, the results list, pySearchResultsWork.pxResults, appears to be of Work- on the clipboard. However, it is actually of either Pega-Search-Work-Results or Data-Find-ResultsWork

The mapping of columns to properties is as follows:

Column

Property

CaseType

pyCategory

Description

pyLabel

ID

pyID

Status

pyStatusWork

Updated

pxUpdateDateTime

To match my requirements, I remove Description and Updated/pxUpdateDateTime. No problem.

The Problem Starts Here

Next I choose fitting properties for the columns I need to add. I had to try a few. We get this mapping (including several alternatives that I tried):

Column

Property

Problem

CaseType

pyCategory

ok

ID

pyID

ok

Status

pyStatusWork

ok

Originator

pyOriginator

pyOriginator.jpg

pxCreateOperator

Null data (see below)

pxOrigUserID

Null data (see below)

Creation Date

pzWorkCreatedOn

cannot use pzWorkCreatedOn.jpg

pxCreateOperator

Null data (see below)

Updated By

pxUpdateOperator

Null data (see below)

The reason for the invalid property references is the class of the List .pyWorkResults - which is Work-:

list of Work-.png

Those properties don't exist in Work- because they are from Pega-Search-Work-Results.

I tried changing declaring pyWorkResults as Pega-Search-Work-Results without success. That fails because pyWorkResults is actually of $ANY. And I can't override pyWorkResults in my own ruleset because it starts with "py".

As for the alternate properties I tried above, they return no data:

columns of null data.jpg

I checked the work objects in the results to ensure that those properties do, indeed, have values. It would take some strange coding choices to prevent a work object from being created with those properties populated, but it's best to be sure. The following screenshot is excerpted from the clipboard with work object G-4 open:

     

   props with data.jpg

  

I have looked for a way to add these columns to the results that are returned, but I run into a wall of Final rules and, ultimately, a call to the search service, which is a SOAP service and opaque to me.

These are the properties returned by search results.

all properties retrieved.jpg

At the risk of sounding flippant, I'll observe that I can retrieve the class and ID five different ways each, but I cannot retrieve the properties I am looking for.

Summary

- I can retrieve the Originator as pzWorkCreatedOn, but I cannot display it because I can't add pzWorkCreatedOn to a rule

- I cannot retrieve the creation date or update operator

I originally submitted a less-detailed version of this request to GCS. I was directed to post my question here.

I am hoping that someone can tell me how to configure search to

- populate the missing data

- populate a value for Originator into a property that I can use

If not, then I think these issues are odd design/feature choices at best. I didn't dive into it, but I believe some of the other values returned by the search are also invalid for Work- and would therefore run into the same catch-22 if one tried to display them.

  

  

     

     

Low-Code App Development
Moderation Team has archived post
Share this page LinkedIn