SR-C53866 · Issue 392827
Added handling for custom skin using the $ symbol for value
Resolved in Pega Version 8.2
After upgrade, using a custom style sheet to display the $ symbol prior to values being shown or entered caused the application skin to not log and throw an error. This was caused by a missed use case for adding $ in css :before or :after content due to a dependency on this "$" notation for fetching right mixin color from skin color. The array index out of bounds exception was generated by the statemachine parser while handling special characters because it considered the quotes of csscontent to be corrupted. To resolve this, an extra check has been added for handling """ and "'" cases in cssCustomParser.java and junits have been updated.
SR-C50324 · Issue 393499
Synchronized block method added to load keystore set with RUF
Resolved in Pega Version 8.2
A recent enhancement allows for the SAML auth service to use a reference to an external file for the signing certificate keystore. When the keystore had the password set using a Rule-Utility-Function, rather than being static, there were intermittent login fails with the error "unable to process SAML WebSSO request1" on the screen, and the RULES logs contained thousands of entries of an error indicating "Password is wrong". It was sometimes possible to log in by starting a new browser sessions and trying again. This was an issue with the PasswordHash property being changed from a static to a non-static field: it was not thread safe, though each object got its own copy of the instance, because if two or more threads call the setPasswordHash() method on the same object, all of these threads tried to simultaneously update the passwordHash instance variable and incorrect results were seen. To correct this, the system will use a synchronized block when loading the entries into cache in the getKey() method - Caller function of KeystoreCacheImpl.java.
SR-C50899 · Issue 397991
Improvements to Services Tracer
Resolved in Pega Version 8.2
When clicking on tracer to get details of a page, a pop-up window opened up with a highlighted link (in blue color) to open the parameter page or the primary page, but clicking on either of these page names opened a blank window without any properties mapping. This was due to the underlying object missing required data because the Services related tracer events did not always have PRThread objects associated with them. The Tracer infrastructure expected the proper PRThread to be in the "ThreadContainer" but offered no option for providing the thread, and the ThreadContainer was not always populated when Services ran. To resolve this, the Tracer Event infrastructure has been refactored to allow specifying a PRThread in RULE-HTML-FRAGMENT TRACERTRACEEVENTSSCRIPTS. The constructor logic in TraceEventBaseImpl has also been modified so child classes can pass a thread instead of relying on ThreadContainer. The Node ID for tracer events will be set based on PREngineProvider instead of ThreadContainer, and the ServiceEvent Interface's methods have been updated to take pointers to PRThreads so that the tracer knows who/what is being traced. In addition, NPE protection has been added to RemoteTracerStub so Tracing Services will not crash the Tracer UI when running from eclipse / prwebpacked.
SR-C66654 · Issue 398760
Pulse App Studio localization added
Resolved in Pega Version 8.2
Localization has been added to the Developer collaboration text in Pulse App Studio.
SR-C66624 · Issue 400504
Case type validation localized
Resolved in Pega Version 8.2
Localization has been added to the Case type validation description.
SR-C57130 · Issue 401477
TokenRangePartitioner modified to avoid Cassandra timeouts
Resolved in Pega Version 8.2
The previous DSS settings caused the DDS dataset on Browse to create thousands of partitions. This caused thousands of files to be created for a file dataset which uses a DDS dataset as input. In order to reduce the number of partitions while still being able to take advantage of the changes to ensure Cassandra always reads from the local node and thus avoid the timeout, the TokenRangePartitioner will now create composite partitions with multiple token ranges (up to 60) per partition. This will reduce the number of files created by a factor of 60 reducing the number of files created from 60 - 100. Additionally, timestamp accuracy issue and batching for single case data flows have been fixed.
SR-C62475 · Issue 402811
Improved security on attachments added in Case and Pulse
Resolved in Pega Version 8.2
Data-Content-Image instances were getting created for attachments added in Case and Pulse. Since Data-Content-Image doesn't correspond to security once they are cached, they could be accessed by any authenticated user. To correct this, extensions have been added to stop generating Data-Content-Image while creating a pulse attachment post or case attachment.
SR-C51798 · Issue 403641
Modified pzPopulateTrainingandTestDetails to resolve input error in test model
Resolved in Pega Version 8.2
After creating a text model, trying to update it resulted in errors. This was caused by the input bean for pzPopulateTrainingandTestDetails getting reset and causing a nullpointerexception while trying to load the spell checker because the taxonomy data was empty. This has been fixed by ensuring the input param object is created after setting the taxonomy data. A null check has also been added in the creation process of the input param object in pzPopulateTrainingandTestDetails.
SR-C56648 · Issue 405426
Updated logic for imagepicker to resolve icon changes in containers
Resolved in Pega Version 8.2
When attempting to change the expand or collapse icon, the error "pega.openUrilInModal.showModalDialog - error when calling callbackfunction : 'C.getElementById is not a function' in pega" was generated. Investigation showed that the browser-level JS file 'pega_ui_harness_deferred' was missing parameters needed to return the value from the showModalDialog method due to a hardcoded loop for the imagepicker only iterating through a set number of levels. This has been resolved by updating the logic to recursively find the document.
SR-C65576 · Issue 405496
Data-WorkAttach-File made available for use of custom pxCreateSystemID
Resolved in Pega Version 8.2
An enhancement has been added to allow storing the pxCreateSystemID from pyWorkPage to Data-WorkAttach-File and Link-Attachment instances which were created on attaching a file. Previously, the Data-WorkAttach-.Default Data transform and Work-.AttachFile both set the pxCreateSystemID property to pxProcess.pxSystemName for Data-WorkAttach-File and Link-Attachment instances respectively. While Data-WorkAttach-.Default is ‘available’ and can be overwritten to set pxCreateSystemID as desired, the Work-.AttachFile was ‘Final’ and it was not possible to overwrite that to set a pxCreateSystemID manually. In order to support this use, extension points have been provided for the pyDefault data transform in the activities Work-.AttachFile and Work-.WorkURL which can be overridden.