SR-C50221 · Issue 399712
Authentication tools now synchronized to handle multiple simultaneous calls
Resolved in Pega Version 8.2
When testing an application that relies on SAMLAuth to create operators and map their data to specific fields it was seen that some users had errant information mapped to their various fields, mostly related to the .pyUserIdentifier and .pyLabel fields. The issue surfaced when multiple user sessions were simultaneously accessing the state of the parameter page, and was traced to an issue where the tools were not synchronized . during the authentication process. To correct this, the tools will be synchronized by storing their state in the parameter page. Context obj will remain constant while the parameter page will be passed in the authentication process.
SR-C59062 · Issue 401213
Human and robot assignments workflow access differentiated and separated
Resolved in Pega Version 8.2
Previously, the "Access When" rule did not differentiate between human or robotic operator and each was able to work on assignments intended for the other. When a case was routed to a robotic work queue (and also when the robot VM had already picked up the work and was processing it), the assignment could still be picked up from the Review Harness and moved downstream by a human operator. To resolve this, the property pxAssigneeType has been created in AddAssign (Workbasket and Work List) to hold information about whether it is a human or robotic assignment, and canPerform(Work List & WorkBasket) has been modified to account for the operator type and assignment type. The error "You are not authorized to perform this assignment." will appear when an assignment routed to a robotic queue is accessed by a human. However, if the access group is administrator, the human operator can still progress the robotic assignment without any error.
SR-C58279 · Issue 401713
Fixed retrieval of attached emails on cases with Japanese characters
Resolved in Pega Version 8.2
When using the "Send Email" shape on a case life cycle where the case type had Japanese characters, the mail was created and attached into the work object as expected, but an error was generated while trying to open the attached mail from the work object indicating "not found in database or insufficient privilege". This was due to the InsHandle being double-encoded, and has been resolved by avoiding encoding during assembly.
SR-C61596 · Issue 401751
Fixed escaping of double quotes in UI control Tooltips
Resolved in Pega Version 8.2
Adding a tooltip to a UI control (such as a button) where the tooltip had both text in "double quotes" and outEx: foo "bar" baz caused a compile time error due to the double quotes not being escaped correctly. This has been resolved by using StringUtils.crossScriptingFilter at design time in pzGenerateLinkOrButton for non template and {{{}}} (triple braces) for template.
SR-C57445 · Issue 402110
Test Cases tab visible to delegated rules
Resolved in Pega Version 8.2
When the Revision Manager assigned rules in the CR, the TestCase tab was not available to the rules. This has been fixed by adding the test cases tab to "RevisionRuleFormLayout" and "pyRMRuleFormLayoutDE".
SR-C53788 · Issue 402410
Cassandra enhancement added to allows enabling or disabling table truncation
Resolved in Pega Version 8.2
Truncations of Cassandra tables sometimes failed if the compactions were interrupted or if all nodes in the cluster were not available. In order to support more customization, operations have been added to allow compaction of Cassandra tables to be disabled and enabled. The system will also log if a truncate is not possible due to the consistency of the cluster. In order to disable compactions for a DDS Dataset's Cassandra table the following code can be included in an Activity: com.pega.dsm.dnode.impl.dataset.cassandra.CassandraDataSet dataset = (com.pega.dsm.dnode.impl.dataset.cassandra.CassandraDataSet)com.pega.dsm.dnode.api.dataset.DataSets.instance(tools, "<Application Name>", "<DDS DataSet Name>"); com.pega.dsm.dnode.api.dataset.operation.Operation<?> operation = dataset.getOperationByName("Disable Auto compaction"); operation.execute(tools, myStepPage, null); To re-enable compactions for a table the following code can be run as an Activity: com.pega.dsm.dnode.impl.dataset.cassandra.CassandraDataSet dataset = (com.pega.dsm.dnode.impl.dataset.cassandra.CassandraDataSet)com.pega.dsm.dnode.api.dataset.DataSets.instance(tools, "<Application Name>", "<DDS DataSet Name>"); com.pega.dsm.dnode.api.dataset.operation.Operation<?> operation = dataset.getOperationByName("Enable Autocompaction"); operation.execute(tools, myStepPage, null); It is recommended that the disabling of staging tables be performed after the completion of a successful upload and the reading of the staging table is complete. It is recommended that the compactions be re-enabled after the truncation of the table is complete and before the loading of the staging table.
SR-C57557 · Issue 402534
Work Object lock released correctly when modal dialogue is canceled
Resolved in Pega Version 8.2
The Work Object lock was not being released when the modal dialogue cancel button was clicked. This was due to the primary page not being switched to the pyWorkPage during the cancel, and has been fixed.
SR-C62405 · Issue 402761
Check added to resolve privilege error on RAP import
Resolved in Pega Version 8.2
Importing a RAP file containing a circumstances rule to alter the table "pr_index_circumstance_def table" was giving an "insufficient privileges" error if the user did not have the privilege to alter the table. Each time a circumstanced rule is created, it attempts to not only insert an instance into the index table but also tries to expose a new column matching the circumstanced property. Given this, creating a circumstanced rule ultimately required access to modify database schema. To resolve this, a check for DASS AutodatabaseSchemaChanges has been added, and the system will bypass making schema changes in saveCircumstanceIndex activity if same is set to false.
SR-C62607 · Issue 404667
Corrected cache error with multiselects sourced from report definitions
Resolved in Pega Version 8.2
Certain multiselects sourced from a clipboard page or report definition would work correctly the first time they were displayed in the dropdown, but if no value was selected the dropdown disappeared on subsequent clicks. Multiselects sourced from a data page worked as expected. This was caused by an error in the cache process which was not correctly updating the data, and has been fixed.
SR-C65417 · Issue 406207
Autocomplete control corrected for dynamic index section
Resolved in Pega Version 8.2
When section was defined on the static index of pagelist (i.e. pagelist(1) ), the value selected in autocomplete was being set properly but when section was defined on dynamic index of pagelist (i.e. pagelist() ), the value selected in autocomplete was not being set. This was traced to LAST and FIRST predicates not being correctly resolved in templating. To correct this, while rendering auto complete with pzpega_ui_template_autocomplete.js file, the system will resolve predicates using the currentContext.resolvePredicates API.