Operator ID page does not populate on all threads
The Operator ID system page has properties and values in the STANDARD thread. However, it is empty in all other threads created for a requestor. This causes issues while creating and updating work objects.
This occurs when accessing the system using custom authentication.
Steps to Reproduce
- Create an authentication service.
- In the authentication activity, perform an obj-open and open an operator.
- Add an obj-save in the activity.
- Open the URL: http://<hostname>:<portnumber>/prweb/PRWebLDAP1. Operator ID page is missing in the threads other than STANDARD thread.
Operator page must be created at the requestor level. Operator ID page creation is considered as part of engine code during authentication of the requestor. However, when the operator record is saved from custom authentication activity, operator record save triggers the UpdateOperatorID declare trigger defined on it. UpdateOperatorID trigger has the UpdateOperatorID activity which performs the page-copy of the primary page to the OperatorID page. Due to this reference to the OperatorID page, the OperatorID page is created at the thread level and authentication process skips the creation of the OperatorID page at the requestor level.
As a local-change, include a Java step with the below code before performing the operator save.