Use linked properties to display data from related objects
A special form of property — known as a linked property — that holds the value of a key to an Operator ID, Organization, Access Group, or other data objects can be used to present data from that object in a harness, section, or flow action form.
Using linked properties eliminates the need for an activity, and in certain situations improves performance through caching.
The example presented here shows how a property in the Data-Party class can "link" to an Operator ID data instance. This allows values from the Operator ID record to appear (read-only) in a pop-up display.
On the clipboard display, pages corresponding to linked property objects appear in a special read-only grouping.
In the standard Perform harness rule, the parties display lists only a few facts about each work party - the name (Marshall Carter, in this example), an email address, and the party role (Owner, in this example.)
You can click the name to see a pop-up modal dialog containing one additional value, the phone number, if available::
In the Lorano Corporation's application, all parties in all cases correspond to Operator IDs, and the value of their email address (property Data-Admin-Operator-ID.pyEmailAddress(1)) always matches their Operator ID. (property pyUserIdentifier). This means:
- Users of the Lorano application never type into an email address field; it always appears read-only.
- The value of any party's email address is also a valid key to a single Data-Admin-Operator-ID data instance.
Under these conditions, the value of an email address can be used to look up information from an Operator ID record.
How to create and use a linked property
The Lorano development team would like to modify the Party Details pop-up to include additional information from the Operator ID record.
One approach to fetching the Operator ID record so that it is available on the clipboard is to add to the flow a Utility shape that uses an activity to fetch the Operator ID record for each work party and add it to the clipboard. Then the section rule that presents Party Details can be modified to access the Operator ID page.
However, using a linked property no activity is needed.
A linked property is a Single Value property of mode Text, which has values (when not blank) that exactly match the key of an object in your system or application. When such a property is available in the Applies To class of a harness, section, or flow action rules, values of the other object can be displayed - read-only - using the special notation:
Note the initial period. A reference with no initial period AAAAA.BBBB is assumed to reference property BBBBB on page AAAAA, where AAAAA appears on the Pages and Classes tab of the rule. A reference with an initial period .AAAAA.BBBB is a reference to property BBBBB that is on the page retrieved by the linked property AAAAA.
1. Create the linked property
To identify the property displayed as the E-Mail address, select > Rules Inspector > HTML Rules to turn on the Rules Inspector. Redisplay the pop-up.
Click the (H) above the Name field to learn that the standard section rule Data-Party-Operator.pyPartyDisplaySummaryDetails contains the property .pyEmail1:
Open the property rule Data-Party.pyEmail1. Choose Save As to make a copy into an application RuleSet. A warning about "duplicate property names" is valid, but in this situation a property with a different name would complicate the configuration. Click Save As.
On the General tab, click the Linked Property checkbox. The form changes to allow you to enter the Linked Class field, in this case Data-Admin-Operator-ID.
The Property form now shows that the value of pyEmail1 is also a value of pyUserIdentifier, a key to the Operator ID instance.
2. Update the section to include linked property references
Open the section rule Data-Party-Operator.pyPartyDisplaySummaryDetails and use Save As to make a copy in your application RuleSet.
Add two rows to the layout. Add the labels Division and Time Zone.
In the Field column, open the Cell Properties and enter a linked property reference such as .pyEmail1.pyOrgDivision. Note the leading period. This instructs Process Commander to use the value of pyEmail1 to retrieve a Data-Admin-Operator ID data instance and display the Organization Division property value.
Select Read Only as the Edit Options value.
Similarly, enter .pyEmail1.pyDefaultTimeZone as the property referenced in the Time Zone field.
Save the Section rule form.
Open the Parties tab of a work item and click a name. The updated section appears as a pop-up:
View the clipboard to confirm that the linked property has created a page, in a special grouping:
- The Linked Property Page pages stay on your clipboard until the next Commit operation by your requestor.This can a performance benefit, but can result in the display of stale data. Accordingly, use linked properties to link to properties of data objects that change rarely or moderately , such as the user's time zone or organizational division.
- Version 6.2SP2 contains over 30 standard properties that are linked properties, including these:
Linked Property Target Class Notes Work-.pxCreateOperator Data-Admin-Operator-ID Operator ID details Work-.pxUpdateOperator Data-Admin-Operator-ID Operator ID details Work-.pyOrigDivision Data-Admin-OrgDivision Division details Work-.pyOrigDivision Data-Admin-OrgDivision Division details Work-.pyOwnerOrg Data-Admin-Organization Organization details Work-.pyOrigOrg Data-Admin-Organization Organization details Data-Admin-Operator-ID.pyAccessGroup Data-Admin-Operator-AccessGroup Access group details Assign-.pxAssignedOperatorID Data-Admin-Operator-ID Operator ID details Assign-.pxAssignedOrg Data-Admin-Organization Organization details Assign-.pxAssignedOrgDiv Data-Admin-OrgDivision Division details Assign-.pxAssignedOrgUnit Data-Admin-OrgUnit Unit details