INC-128880 · Issue 592817
Handling added for angle brackets in legacy Chart control
Resolved in Pega Version 8.3.5
When using Investigative Case Management, some report charts were not rendering correctly. This has been resolved by updating appendFormattedString in AbstractJsonDataGenerator.java to escape angled brackets (< and >) before appending the input.
INC-141322 · Issue 594513
Resolved drill up doubling the filter box
Resolved in Pega Version 8.3.5
When opening a report with a visual graph, clicking on one of the filtered options, leaving this box open (not submitting it) and then clicking on a bar in the visual graph of the report showed the contents of the graph, but then clicking on the report link to go back to the report overview caused a doubled filter box to be displayed. The report would then have to be reopened before being able to continue. The problem was that the value of .pyUI.pyConfigSecToShow was still set to "filter" after the drill down. When the drill back up happened, the report was trying to show the filter configuration section from before but the context was no longer available and it failed. This has been resolved by adding a call to pzCancelFilterLogicChanges in pzDrillUpReport to set the filters to the previous values and reset the value of pyConfigSecToShow.
INC-137317 · Issue 585404
Security improved for searches
Resolved in Pega Version 8.3.5
Authentication requirements have been added to activities associated with searching.
INC-139700 · Issue 591563
Shortcut works for copying reports into private rulesets
Resolved in Pega Version 8.3.5
Copying out of the box shortcuts to other categories in the Report Browser was failing with the error ".pyShortcutName: The rule name pyTimePerStage is a reserved name (starts with px, py, or pz) and is not created in a Pega- ruleset." This was caused by the system trying to create a new rule with a py prefix in a non pega- ruleset, which was a missed use case in the refactoring work of report actions to use the Record API. This has been corrected by moving the report ID generation logic from the activity pzValidateSaveAsInput to a new Rule-Utility-Function in the ReportingUtils library called pzGenerateUniqueRecordName so that it can also be used by pzCopyShortcutPostActivity7 when the shortcut's ID is prefixed with px, py, or pz.
INC-140701 · Issue 602862
The Report Resource Limit is applied on Job Scheduler
Resolved in Pega Version 8.3.5
The Job Scheduler was ignoring the application-wide limit for maximum number of rows to retrieve that was set on the Report > Settings landing page. If the limit was set on the Data Access tab of the report, it was honored. If it was set on the Application settings rule Pega-RulesEngine.pyMaxRecords it was not honored. This behavior was due to pzUpdateSystemSettings being called by pxRetrieveReportData. In pzUpdateSystemSettings, .pyContent.pyMaxRecords was updated to match the value in px.Requestor.pyReportSettings.pyMaxRecords. In some cases, that was not available and the max amount of records was not limited in that case. This has been resolved by updating pzUpdateSystemSettings to pull pyMaxRecords using @getRuleSystemSetting().
INC-151185 · Issue 618729
OptimizeForLargeResults flag set in BasicListSpecification to avoid OOM
Resolved in Pega Version 8.4.5
As soon as dedicated indexing started for a data type, the JVM heap occupation went beyond 99 and eventually caused a system crash due to an out of memory error. This was traced to the use of the BasicListSpecification API for retrieving results from the database always having the autocommit mode on, which loaded all instances for indexing into memory and interfered with PostgreSQL's cursors (query encapsulation). This has been resolved by adding an OptimizeForLargeResults flag that will be set to on in the BasicListSpecification activity before fetching the keys from the database.
INC-151293 · Issue 630345
Out of memory condition resolved for BIX extraction
Resolved in Pega Version 8.4.5
A node was going down automatically during execution of a BIX Extract rule when working with old objects. Investigation showed this was related to an out of memory error: the work object had nested page lists, and when one of the page lists contained a propertylist which contained more records, the system was trying to add entries to the LinkedList if any properties were missing the reference during extraction. Because LinkedList allowed duplicates, it filled with enough errors to cause the out of memory condition. To resolve this, LinkedList has been replaced with LinkedHasSet, which does not allow duplicates.
INC-152108 · Issue 622371
Logic updated for exporting customized multi-column report definition
Resolved in Pega Version 8.4.5
While attempting to perform an export to Excel for the results of a report definition which had two custom functions for two columns, the error "PRRuntimeException: Section 'pzRDExportWrapper' execution error on page '' of class 'Rule-Obj-Report-Definition'. : The Reference .pyTextValue(2) is not valid. " was logged. The export worked if either one of the columns was removed or if "Display values across columns" in the column settings was unchecked. This has been resolved by updating the logic in PivotTableDataGridGenerator for rowheaders to handle using DisplayValuesacrossColumns with FunctionAliases when not checked on in sequence.
INC-157974 · Issue 621963
Summary Report collapsible sections made accessible
Resolved in Pega Version 8.4.5
In order to improve accessibility, the rules 'RRDataSummaryGeneration' and 'pzDisplayGroupNodeVertical' have been updated so the clickable expand icons in summary reports will append the value of the current group when setting the text "Click to expand or collapse". This will allow JAWS to uniquely identify exactly what will be expanded or collapsed.
INC-158473 · Issue 626275
BLOB decryption API updated for greater flexibility
Resolved in Pega Version 8.4.5
A BIX extraction issue occurred after the class had enabled BLOB Encryption. The errors indicated the BLOB had been persisted in an incorrect stage, causing the extraction of the single item to never complete even though some CSV file was created. This was traced to the API used to read the encrypted BLOB, DatabaseUtilsCommonImpl.getStreamBytes, which had the limitation of decrypting only when a Site-specific cipher existed. To resolve this, the system has been modified to use a different API which works for all encryption modes, PageDatabaseMapperImpl.getStreamBytes().