Pega Infinity™ includes an industry-standard patch release process to simplify and maintain high-quality releases. Several cumulative patches are released a year for each release stream. The Resolved Issues page contains information about client-reported issues that have been addressed for the specific release.
For a complete set of the Resolved Issues for this release, download the PDF attachment at the bottom of this page. (Note that you must be logged in to access the attachment.)
Low-code Application Development
Case Management
8.2.4 Patch Resolved Issues for Case Management
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
SR-D26785 | 495892 | Corrected error when persisting temporary work object | When persisting a temporary work object using the Persist case shape, the internal assignment handle was not updated to include the work object's ID. Subsequent attempts to access the internal assignment (such as the "Edit" button on the Review Harness) resulted in errors. Investigation showed that when a temporary case was persisted, pyInternalAssignmentHandle was not getting recalculated after pzInsKey was updated. To resolve this, the configuration on the edit button has been modified to use .pxFlow(pzInternalCaseFlow).pxAssignmentKey which is what pyInternalAssignmentHandle declare expression was also returning. | Case Management |
SR-D29832 | 503225 | Corrected image alignment for email case creation | An issue with missing image styling when an email was sent to create a case was traced to the Owasp library stripping align attributes from the img tag. This has been fixed. | Case Management |
SR-D32525 | 505467 | Dirty check added to offer save/discard changes when closing tab | With the OOTB section enabled, performing a change in the form (changing a text value, selecting a option in a dropdown, etc.) and closing the case generated an unexpected alert indicating that the case was changed and the modifications were lost. This differs from the previous behavior of showing the section pyDirtyCheckConfirm which offered the opportunity to save the work. This was a missed use case and has been resolved by updating the system to perform a check for the dirty state when closing the interaction and show a modal dialog asking the user to choose either save/discard if dirty. | Case Management |
SR-D33359 | 505773 | SelectAll properly applied to only the page selected | In repeating grid, applying SelectAll on one page resulted in it being applied to the next page as well even though all records in the other page were not selected. Investigation showed that on change, the 'when' condition added to refresh the list was always false. To resolve this, the condition in section pzBulkProcessingCheckbox which refreshes the list once the checkbox is changed has been removed. | Case Management |
SR-D33966 | 504607 | Corrected accessibility error after resize | From within a Case and on a screen displaying the Information and Audit tabs in a Layout group, it was possible to use a series of sequences that included resizing the browser and opening Audit to cause the information tab to no longer be accessible. This has been resolved by setting the transform value to 0 after completing the resize. | Case Management |
SR-D37444 | 507038 | WorkBasketGadget control updated for improved backwards compatibility | After upgrade, the WorkBasketGadget Control was not retrieving the work queues. This was traced to a backwards compatibility issue introduced when greater security was put in place. The control WorkBasketGadget contains a call to pzEncryptURLActionString that was introduced in 8.x versions of the platform to encrypt URLs to avoid hijacking. The content of the URL relies on the pxRequestor.pxWorkGroup property, which is resolved using pega:reference tags. This approach was working in versions below 8.x, but these tags were not resolved at runtime. To correct this, requestorWorkGroup will be resolved as string and passed as a parameter instead of using pega:reference tags. | Case Management |
Conversational Channels
8.2.4 Resolved Issues for Conversational Channels
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
SR-D32991 | 504130 | Email Discussion Thread retains Formatting | CSS styles were not being retained in the discussion thread when replying to InboundCorrespondence cases. This was traced to a missing value in Param.latestReply activity pzCreateExternalPostFromMail, and has been resolved by setting an initial plain text value to the param.latestReply before it is set with the HTML value. This prevents having a blank parameter value if the incoming HTML value is empty. | Conversational Channels |
Data Integration
8.2.4 Resolved Issues for Data Integration
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
SR-D20423 | 503444 | Improved upgrade handling for tables using classes with property references | After upgrade, some page property values were blank and exposed database columns did not contain the values. Investigation showed that the reference properties did not have context and hence column population was not able to determine their value. To resolve this, instead of doing column population for all the columns, the system will identify classes that have property references and that are being optimized as part of upgrade process and maintain a list of specific columns to update. | Data Integration |
SR-D20439 | 496404 | Hotfix hashmap cleanup improved | A DL installation failed with an out-of-memory error. It was observed that many CacheEntry(VersionedJdbcJarRwader.java) hashmaps were being created to store the details for each hotfix but that were then never cleared. This has been resolved by adding the finally block in CodeImportProcessImpl.java class to call the shutdown method for proper cleanup. In addition, the default command line utility (prpcUtils) has been updated to use JVM settings of Xmx 4GB and capture a heap dump if an out-of-memory error is encountered. The auto-generated prconfig.xml has also been updated to leverage its minimal startup setting which will avoid loading the conclusion cache into memory. | Data Integration |
SR-D23723 | 503088 | pxGenerateExcelFile updated for handling blank dates | When using a custom template for exporting to Excel, blank DateTime property column values defaulted to the current date. To resolve this, the pxGenerateExcelFile activity has been updated to ensure that an empty date will be exported as blank and that given dates will appear in the correct datetime format. | Data Integration |
SR-D25163 | 504611 | Improved query efficiency for bulk processing | Spikes were observed in Library Cache usage. These were traced to queries that originated from Agent 'AgentBulkProcessing' and the activity 'PzAgentBulProcessing' that used "like" and "as", which were not performance efficient in a large-scale installation. The queries in the CheckBulkProcessQueue activity have now been updated to improve performance. | Data Integration |
SR-D26160 | 504069 | Corrected duplicate records being inserted in to the index table | Rows in the index table were duplicated. This was traced to a logic error on the ClipboardPage relating to workObject2, and has been resolved. | Data Integration |
SR-D27161 | 503154 | Step staus fail logic updated to handle agent activity exception | Attempting to execute an advanced agent containing logic that set a step status to fail resulted in the error "Agent activity disabled due to execution errors; ErrorMsg: unable to execute agent: Cannot obtain a lock on instance as Requestor already has the lock ". This was traced to a backwards compatibility issue with previous work done to handle cases where agent activity requires authentication and agent has "bypass auth" flag set to false. Agent activity is not allowed to execute by the engine, and to show this scenario as exception case instead of showing it as running in admin studio, changes were made to rely on step status as the engine internally sets step status to false in this case. However, this inadvertently affected use cases where agent activity sets the status as fail in its logic. To resolve this, the system has been updated to handle the exception case and not consider StepStatus. | Data Integration |
SR-D27527 | 504283 | Corrected schema import permissions | When a product rule contained schema changes to add columns for properties that already existed, such as properties that were exposed since the previous ruleset, it incorrectly indicated that there were no changes to be applied. This was traced to the operator lacking the SchemaImport permission, and has been corrected. | Data Integration |
SR-D28719 | 505967 | Null archive check added to set import process status | After running a 'prpcServiceUtils.sh import' which failed due to a low-level null pointer error, the job "IMPORTREQUEST-2" then incorrectly showed the status as 'IN PROGRESS' instead of 'FAILED'. In this case, the null pointer exception occurred because two imports were unintentionally happening at the same time: the process copied up the same set of archives to the service export directory, but the first import processed an archive and deleted it so that the second process failed to find it. When it exited with the null pointer exception, the status was not set to 'failed'. To resolve this, a null archive check has been added which will set the status to 'failed' if the archive is unsupported, corrupt, or not there at all. | Data Integration |
SR-D32035 | 504705 | Save Button for Delegated rules is displayed correctly | The save button for delegated rules was displayed in a truncated shape. This has been corrected by removing the split-left style from all of the buttons that are intended to be standalone and not have a drop-down actions menu. | Data Integration |
SR-D32332 SR-D38588 |
502269 506368 |
Removed unneeded table name calculation | After giving short names (less than 30 characters) for "To Table", saving did not produce an error, but an error was thrown during Check In. Investigation showed that while checking in the extract rule, a block of code in the Rule-Utility-Function validateTreeProperties was being executed to recompute the pagelist's table name instead of using the name provided by the user. To resolve this, the RUF has been modified to not execute this block of code during check-in of the extract rule. The validation will be seen during save if the 'To field' has more than 30 characters. | Data Integration |
SR-D33934 | 503333 | Parent case lock properly released when child case is resolved | After creating Parent-Child casetypes with default locking where the child case had the “Allow access to parent” check box checked, the temporary lock acquired on the parent during resolution of the child case was not released afterwards. If “Allow access to parent” was not checked, then the locks were released on both the parent and the child. This was traced to a combination of parameters used by the openIfStale() API where aUnlockOnCommit could be set to false despite the provided locking strategy expecting it to be true, as well as honoring UnlockOnCommit when maintainLockingStrategy is false. To resolve this, the system has been updated to always check whether the lock is available in the map already and if it is, then set unlockonCommit to true. Otherwise, under all cases, honor the passed-in unlockOnCommit value. | Data Integration |
SR-D35734 | 504478 | Escalation updated to ensure assignee is notified of missed deadline | The Passed Deadline SLA Actions to send email to the owner were not triggered as configured in SLA rule form. To correct that, pzMapEasyEscalationParams steps 3.4.10 and 3.4.11 have been modified to support "NotifyAssignee" for the passed deadline. | Data Integration |
SR-D36293 | 509304 | Node level data page now specifies tenant name in MT environments | In order to address a requestor contention between different tenants during the load of node level data page in multi-tenant environments, an enhancement has been added that will specify the tenant name in the data page name. This will improve performance by allowing different tenants to have different locks, ensuring the process of data page loading on one tenant will not make another tenant wait for the loading of the same data page. Additional debug and trace logging has also been added to provide more information related to declarative rule cache management. | Data Integration |
SR-D36335 | 504333 | Post Value action properly displayed in upper case after validation | After upgrade, if a property with Edit Input toUppercase was created and placed it on a section where the text input has Post Value on Change, validating the uppercased property on the clipboard resulted in the non-uppercase value displaying on the screen. This was traced to the target element with the response value not being updated with the server response for the post value action. Only the attribute value was updated, which is not shown to the user. In order to properly display the value, logic has been added to update the target element value with the response value. | Data Integration |
SR-D36704 | 504808 | Repaired Pega validation report | The Pega Usage validation report was not working. This was traced to the UVO O/P file having a null value and not containing any data regarding the environment daily usage. This has been corrected by updating the java used in getElementsByTagName. | Data Integration |
SR-D38450 | 505656 | Added workaround to handle HiddenPropertiesToIgnore when a page is in Read Only mode | A 'WrongModeException' was generated while trying to use the Data Transform pxHiddenPropertiesToIgnore to remove system properties from page. When the Datapage was set to Editable/Savable mode, the Activity ran without an error and executed the Data transform. When the Datapage was in Read only mode, the error occurred. This was traced to a process that previously was allowed to set a page to an empty string, but which was removed during recent work. To resolve this, four instances of pxHiddenPropertiesToIgnore that included Single Page Value properties have been updated by moving them to the bottom of the Data Page and changing them to an "Update Page" from a "Set". | Data Integration |
SR-D38492 | 505489 | Batching now enabled when using IH Summary shape in substrategies | Batching was not being enabled when using IH Summary shape in substrategies. This was traced to the IH_SUMMARY_CACHE field not automatically being passed to sub-strategies, and has been corrected. | Data Integration |
SR-D39003 | 505997 | Threads will be updated to maintain assembly context when using Static Assembler | When running the Static Assembler utility from UI, the assembler process completed successfully but the PegaRULES.log was flooded with the FATAL exception "Usage error - next Executable not based on current". This error was generated from com.pega.pegarules.session.internal.mgmt.Executable constructor, and indicated an issue with the thread context being different from the assembly context. To resolve this, the system has been modified to update the context of thread to what is expected as assembly context. | Data Integration |
SR-D39491 | 506025 | Logic trimmed for better Listener performance | After multiple email listeners with Data indexing were enabled, the FTSIndexer queue was filling with Email Listener instances. Investigation showed that although Listener Management has logic for updating the last access time of all listeners by using APIs, the Email Listener was explicitly opening the email listener rule to update the last access time every time it was run. This has been corrected. | Data Integration |
SR-D40523 SR-D39473 |
505926 505720 |
Corrected Pega-Perf cookie adding double quotes | After upgrade, issues were seen with mashup not loading properly. In addition, a region in the environment was not able to access the developer portal. This was traced to an issue with pzPega_ui_statetracking.js, which handles adding the Pega-Perf cookie, adding a cookie with double quotes to HTTP requests. The double quotes have been removed to resolve this issue. | Data Integration |
SR-D41229 SR-D36715 |
507176 507456 |
Resolved slowness in retrieving case attachment from AWS | Attempting to open a case attachment caused the application to slow over time and eventually became unresponsive. Restarting the Tomcat nodes improved the response time. This was traced to a null Buffered Input Stream not being closed correctly when using AWS, and has been resolved by adding the needed logic to PegaGadget-Pulse.pzStorageAttachSelectedFile. In addition, enhanced logging has been added to Embed-Repository-S3.pyGetFile. Additional enhancements for this issue will be included in a future release. | Data Integration |
SR-D42670 SR-D36372 |
510183 504746 |
Force order added to inner join when running a Rules Resolution filter | After upgrade, D_getResolvedWorkStatuses was not loading properly due to a Report Definition that used a Filter by Rule Resolution option timing out on the SQL Server. When the Filter by Rule Resolution option is selected in Report Definition, it will generate a rule resolution query with an inner join which can cause a time out on the SQL Server while it tries to find out the join order for tables with multiple joins. To resolve this, the SQL server will provide a Force order, merge inner join hint option by way of an added DSS reporting/useForceOrderHint. Additionally, reporting/useMergeHintForRRquery should be set on Pega-Reporting to set things up for using the Merge Inner join hint in the query. | Data Integration |
SR-D4559 | 486555 | Normalized type attribute namespace for Weblogic compatibility | After upgrading from Weblogic 12.1.3.0 to Weblogic 12.2.1.3, the namespace in the generated Request XML for some elements was appearing as null/blank. This has been resolved by normalizing the type attribute namespaces' option in Connect-SOAP. | Data Integration |
Decision Management
8.2.4 Resolved Issues for Decision Management
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
SR-D12733 | 488666 | Code fragment removed to eliminate Fortify false positive | A code remnant related to Boolean.getBoolean(..) in Rule-Declare testConsistency was causing a false positive in a Fortify scan. This piece of code is obselete and is not used anywhere, and has been removed. | Decision Management |
SR-D26976 | 507217 | Filter added to ensure correct context for proposition strategy rules | Given two applications (ex App1 and App2) hosted on the same domain where App2 was built on App1, trying to create a strategy rule in App1 and do a test run strategy using the propositional data component which internally uses App2 propositions generated the error: Failed to find a 'RULE-DECISION-DECISIONPARAMETERS' with the name 'GROUP_2'. There were 1 rules with this name in the rulebase, but none matched this request." Investigation showed the strategy was using the PropositionNoCacheUtils and PropositionTools java classes to load the propositions during run time. In these classes, the group classes were browsed from the db irrespective of the application context, causing the strategy run to fail as it was not able to access the decision data rules in other applications which shared the same SR class as the current application. To resolve this, a filter has been added to the PropositionNoCacheUtils and PropositionTools java classes to filter out the groups that are not in the current application context. | Decision Management |
SR-D31103 | 502978 | VBD insert process updated for better retry handling | When restarting Data Flow and VBD nodes, the VBD client can encounter some exceptions indicating components in the stack are temporarily unavailable. In most cases the VBD client retries, but there are some cases where it did not and data flow failures occurred. To resolve this, the code has been updated to remove logging of the VBD cluster status during a retry, and the retry duration has been made configurable. | Decision Management |
SR-D32719 | 505261 | Compliation error resolved for editing complex offers | The following error was logged while trying to edit offers: "com.pega.pegarules.pub.generator.FirstUseAssemblerException: Failed to compile generated Java, com.pegarules.generated.html_section.ra_stream_pyeditelement." Research showed the code for the static initializer was exceeding the 65535 byte limit, causing the java compilation of the pyEditElement section to fail for a decision data rule. This was due to the pyEditElement section for a decision data rule being circumstanced: the assembler architecture of circumstanced section rules generated and added code for all the versions of a circumstanced section. Hence, if the section referenced a lot of properties and it existed in multiple ruleset(s)/ruleset versions, the java compilation for the section rule failed. To correct this, the integration of the pyEditElement section with decision data rules has been revised and enhanced, and a function and utility have been provided to call the function to clean up the old and redundant pyEditElement sections for a given decision data rule. | Decision Management |
SR-D36591 | 507537 | Kafka producer message size made configurable | Kafka producer was using a default max message size setting of 1.3Mb while the Kafka broker max message size was set to 5Mb. This caused large processing queues to eventually throw errors indicating a scheduler.JobExecutionException related to "There was a problem saving an instance of class System-Message-QueueProcessor-DelayedItem". To correct this, a producer message size configuration option has been added along with additional logging for the KafkaSaveOperation. | Decision Management |
SR-D37163 | 505477 | Corrected Decision Data import filter behavior | After upgrade, if a Decision data import referred another component to filter out the import, it did not work. This has been corrected. | Decision Management |
SR-D37945 | 506799 | Server node cache refresh will use remote execution timeout | A campaign was failing due to VBD remote ping timeout with a stacktrace that indicated a StageException. Investigation showed that when the cluster is heavily loaded, calls to the remote execution API could time out. If this occurred when the VBD client was refreshing its cache of VBD server nodes, then the insert failed and the error was propagated up the calling data flow. To resolve this, the system will use the remote execution timeout when refreshing node cache, extend the timeout to 60 seconds, and ensure timeouts are retried during inserts. | Decision Management |
SR-D38415 | 507995 | Resolved Transfer to Queue duplicate assignments | The Transfer to a Queue option was creating duplicate assignments after accepting the Chat. Once the chat was accepted, an instance was created\maintained in both Assign-Workbasket and Assign-Worklist tables. This happened after adding the "Transfers" queue to an Agent; if that queue was not added, the transfer to a queue option gave an error to the Agent receiving\accepting the chat. The Work-.ReassignDefaults activity is an extension that was customized in the Pega-DecisionManager ruleset for a certain use case in revision management. The customization is no longer required and has become redundant and has therefore been removed to resolve this issue. | Decision Management |
SR-D40833 | 506792 | Response Strategy works for predictive models | After implementing the response strategy for the predictive model and capturing the response, "Refresh Data" in the monitor tab of the predictive model still showed no response captured. As a result, it was not possible to analyze the performance of the model or use it for reporting. This was traced to recent work done so that Response processing now references the factory against a new table. However, the entries in this table were not created for predictive models, causing responses to not be processed. This has been resolved by adding predictive models to the event processor and ensure the functions are using the new factory initializer. | Decision Management |
SR-D41730 | 508143 | TTL value correctly passed for Adaptive Event store | The ADM table was growing due to the Time to Live (TTL) for entries in the Adaptive Event Store not being propagated to clean them out. This was traced to the TTL field on the data flow not being checked, causing the TTL value to be supplied as zero so there was no expiration. This has been corrected. | Decision Management |
Low-Code Application Development
8.2.4 Resolved Issues for Low-Code Application Development
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
SR-D24750 | 507118 | Resolved importing PublicFormat file using RuleFromFile Wizard | When attempting to create a flow from a Public Format XML file using the Rule From File Wizard, the following error was seen: "Problem invoking function: pega_procom_harvest.performXSLT--(String,String,boolean,HashStringMap)". This was caused by a mapping failure related to the pyComments property in baseclass pega social functionality, and has been resolved with the addition of a new page group property pyComments of type "Data-MO-Annotation-Comment" which applies to "Embed-Rule-Obj-Flow-ProcessModel". In addition, a system property set has been added: 'System.setProperty("javax.xml.transform.TransformerFactory","com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl");' to make the security flags work properly in java step of 'transformPublicFlow' activity |
Low-code app development |
SR-D37415 | 508967 | Parameter page update added to improve backwards compatibility for ShowTestLibraryTab | An error was observed on the first attempt to modify the 'when' rule "ShowTestLibraryTab" located in PegaProjectMgmt:08-01-01. Analysis showed the when rule (Always, Never) which was called from this rule was not found, which was an issue traced to the Rule-Obj-When function alias parameter name being changed from "strWhen" to "blockName" in the 8.1 release. Subsequent attempts to save the modified rule succeeded due to step#7 in the Embed-UserFunction.pzPopulateDropdownFBUIParameters activity upgrading the pyParameters page with the latest data. To resolve this backwards compatibility issue, the activity step#6 has been modified to upgrade the parameter name for the Rule-Obj-When function alias. | Low-code app development |
SR-D38053 | 508225 | Upcase case shape will fall back to pyWorkCover if multiple pages are present | In the Update a Case shape, selecting "A Single Case" and providing .pxCoveredInsKeys(1) for the With ID field worked as expected, but using the same data transform and selecting either "All child cases and descendants" or a specific child case resulted in no update on the children. This was traced to the findPageByHandle API not returning the most appropriate page, which created an issue whenever multiple pages were present in the clipboard. To correct this, the system has been updated to use pyWorkCover if present. | Low-code app development |
SR-D40685 | 508810 | Custom routing configured in early Pega versions will be mapped to custom on upgrade | After upgrade, a configured custom routing option under assignment properties was missing in all assignments. This has been resolved by updating pzUpdateRouting with a condition that will take assignments configured in Pega 6 versions and map them to 'custom'. | Low-code app development |
SR-D41636 | 509433 | Route to configuration in the approval flow accepts Specific User parameters | Route to configuration in the approval flow was not accepting a parameter value/property value when select Specific User option from drop down was chosen. This was traced to unique ID change work done in the 8.2 release: the pzSimpleApproval section has two controls (DropDown for Participant & AutoComplete for Operator) configured on same property pyOperatorToAssign with "run visibility on client configuration), and when the control value was being changed in the AutoComplete control, the empty value of DropDown control was being posted to the clipboard. To correct this, the section Work-.pzSimpleApproval has been modified to remove performing run-visibility conditions at client side. Instead, the system will use the ".pyApproverType Changes" condition to refresh the wrapper DL which contains the routeTo type Operator/WB/Participant property controls. | Low-code app development |
SR-D42402 | 508895 | Added differentiated handling for special symbols based on location in the label string | While importing an Excel file into a decision table that used custom functions like@string:notequal or equal, label names like 'AlphaPrefix !=AAA' resulted in the error "invalid expression or reference: line 1:28 extraneous input '"True"' expecting {<EOF>, '-', '+', '=', '*', '/'," " . Investigation found that the problem was with the label of the column not handling the the special characters like (‘!=’, ‘<’ , ‘<=’, ‘>’, ‘>=’ ) present in the middle of the label string: the label and default operator were being updated irrespective of the location of the symbols within the string. To resolve this, DecisionTableWorkBookConverter.java has been modified to set the operator only if the special strings (‘!=’, ‘<’ , ‘<=’, ‘>’, ‘>=’ ) are present at the end of the label. | Low-code app development |
Mobile
8.2.4 Resolved Issues for Mobile
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
SR-D18853 | 503275 | Visibility on client check removed to enable Pulse on click | When Pulse was configured on click of a icon, the comment section was not visible. Investigation showed that at the time of DOM load, pyMessage property was not available in the DOM because 'Run visibility condition on client' was checked by default. Visibility on client checks have been removed to resolve this issue. | Mobile |
SR-D33491 SR-D43811 |
511727 511921 |
Code fragment removed to resolve CookieDisabledException | After upgrade, a CookieDisabledException occurred after a post activity was invoked in the single sign-on (SSO) authentication service. This was traced to the site using the deprecated flag "redirectguests" as part of SSO-based login for mashup usecases. This flag was used to check if a cookiedisabled exception was thrown or not, and if there was no cookie, if a requestor was authenticated in first request. However, the flag has been removed as part of work done to omit the Cookie support check on Mobile App UAs. Code that supported the use of this flag remained after that work and led to the exception being generated, but has now been removed as well. | Mobile |
SR-D37757 | 507967 | Pulse delete icon repaired | After upgrade, it was no longer possible to delete one's own comment in Pulse. This was traced to the section pzDeleteMessage having two dynamic layouts with icon as image configured. During runtime, this section was present in the DOM yet the icons were not visible when the conditions configured were returned as true. This was caused by an error in the generated java for the layout, and has been corrected. | Mobile |
Project Delivery
8.2.4 Resolved Issues for Project Delivery
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
SR-D28965 | 501857 | Repository document deletion modified for better cleanup | When using documents functionality, creating and uploading a document properly stored it, but deleting the document did not remove the associated files from storage. Whenever a document is created that has a file, instances Of Link-Attachment and Data-WorkAttach-File are also created. Previously, when the document was deleted, the associated instances and actual file were not deleted from the repositories but rather marked as Resolved-Withdrawn and hidden at the UI level. The system has now been updated so that when a document is deleted, the document attachment will also be deleted from all places like list, Tile, and document View, and reference instances like Link-Attachment and Data-WorkAttach-File instance will also be removed along with the actual file from the repository. | Project Delivery |
Reporting
8.8.1 Resolved Issues for Reporting
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
SR-D33135 | 502274 | Handling added for newline in a cell exported to Excel | It was reported that new lines (br) were not displayed in exported Excel even after adding the control format with style tag <br style="mso-data-placement:same-cell;" />. This was due to a missed use case when Export to Excel was revised; as a necessity, the new Export to Excel does not support HTML as the old one did, and handling for line breaks in a cell was missed in this implementation. To correct this, wrapping has been enabled on AutoGenReportUIField and NonAutoGenReportUIField and ReportUIUtils.stripHtmlFromValue() has been updated to convert tags to line breaks. | Reporting |
SR-D33832 | 503957 | Configurability added to SLA Timeliness to allow either 0 or NULL for Unqualified records | When using a Report Definition where the count (aggregate function) was used for both the WithinSLA and Past Deadline columns, the correct value was not getting displayed. The correct value was displayed when the sum function was used instead of the count function, but clicking 'value' returned all values despite what value was displayed on the screen. This was a behavior change related to performing a drill down action on a report definition. As per the older behavior, drill down relies on a specific value (NULL) to determine whether a record is a candidate to be shown in the drill down report. From 7.2.1 forward, drilldown relies on value 0 instead of NULL to make the average summarize function work properly, which led to a change in behavior when used with other summarize functions like sum and count. To resolve this, SLA Timeliness related RAFs have been modified to conditionally return either 0 or NULL for Unqualified records based on a DASS config. | Reporting |
SR-D35981 | 506381 | Column formatting default added to Export to Excel to match Export to PDF | After running the pyGetWorkHistory report in Designer Studio, exporting the report to PDF showed the correct data format for the Message Key column while exporting to Excel did not. In the Report Definition UI and in Export to PDF (which use the same logic), when the backing property of a column has no control and the column does not have a format, the control falls back to a "Default" control. The "Default" control localized the string values in the Report Definition UI and Export to PDF, therefore changing the Message Key to be the correct value in those places. The similar logic to explicitly handle the "no control" scenario has now also been added to Export to Excel to resolve this issue. | Reporting |
SR-D36981 | 505697 | FusionCharts upgraded to resolve drill down issues | Drill down reports were not working when the results were displayed with huge data that came up with a scroll bar or if the report was scrolled down and a drill down was attempted when the scroll bar was in the bottom or middle of the scroll line. The hover icon was different i.e., the hand icon was replaced with arrow icon, or sometimes the hand icon displayed without showing the data. It was possible to drill down when the scroll bar was in the top or the focus was moved outside the chart and brought back in again. This was traced to bugs in the FusionChart libraries, and has been resolved by upgrading to FusionCharts 3.14.0-sr.1. | Reporting |
SR-D37943 | 505735 | Corrected Export to Excel after adding custom DateTime field | An issue with exporting report definition results to Excel after adding a custom date field column through the edit report option of the report in report viewer was traced to the processing of the controls backing a cell in a report when exporting to Excel. For controls like "Date Only" DateTime (non-autogenerated) control, the code was not returning a string the way it should. To resolve this, NonAutoReportUIField has been updated to always treat all Non-auto Controls as strings. | Reporting |
SR-D39236 SR-D26223 |
508454 502751 |
Corrected viewing of sorted drill-down spreadsheet-style summary reports | When using a report with a summarized column and the 'Do not display group headings' grouping option checked, drill down was not working when the report was primarily sorted by default on any column other than the first one. This manifested as either no results returned by the drill down report or an error message related to invalid filter values. This was traced to the unique column ordering logic for non-spreadsheet-style summary reports being applied to the drilldown of spreadsheet-style summary reports due to the logic for creating the drilldown filters using the != operator to compare the spreadsheet flag string to the string constant "true". This previously worked as expected because this string was interned in the engine, but these string internments have since been removed. To correct this, pzPopulateReport has been updated to appropriately recognize spreadhseet-style summary reports as they used to. | Reporting |
SR-D39291 | 508368 | Alphabetical sort function restored to Legacy Report Browser | When the new report browser was introduced in Pega Platform 8.1 the sorting functionality was changed to sort by update time instead of the previous behavior of sorting alphabetically. This change to the logic behind sorting reports ended up applying not only to the new report browser but to the legacy report browser as well, eliminating the ability to use an alphabetized sort for both. This fix re-adds the functionality to sort reports alphabetically by adding selectable sorting capability to the legacy report browser that enables switching between sorting reports by update time and sorting alphabetically. | Reporting |
SR-D39302 | 507981 | Report name in tab uses localization | After creating a field value with field name as pyCaption to localize the report definition name, the title in the report definition tab was not translated. This was traced to Step 1 of the activity displayReport using an old localization function, and has been resolved by changing the localization of document title to use pyCaption. | Reporting |
SR-D39601 | 509518 | RRDisplaySection made available to assist Edge compatibility | When the Pega Platform was being used with Microsoft Internet Explorer Compatibility Mode ON, it was not possible to use the select filter gadget due to a browser compatibility issue: enabling the filter condition for the report definition caused the SelectValues button to stick in loading mode when clicked. Changing the Microsoft Internet Explorer Document Mode for Harness pzRRDisplaySection to IE=Edge corrected the issue, but the rule was final. To resolve this, the pzRRDisplaySection has been made available to allow override for customers still using Microsoft Internet Explorer. | Reporting |
SR-D40599 | 508280 | Handlign added for Japanese half-space character during DB query | After creating a Report Definition based on the Unicode/Japanese text property with summary list, the list was visible from Report viewer but any full size space used by the summary filter was unintentionally trimmed to half size space. As a result, the database query could not find the item. This has been resolved by modifying the setGroupByInputs API in the pega_report_summary js file to use the unicode space char(\u0020) instead of \s in regex. The Japanese space character will be replaced in the pzDrillDownReport activity step 2 for the query use, and will be set back to the Japanese space character in pyFilterValue. | Reporting |
Security
8.2.4 Resolved Issues for Security
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
SR-D21803 | 502130 | Cross-site scripting protection added for embedded portal URI | The URI used in the top window of embedded portals has been encoded to prevent DOM based cross-site scripting. | Security |
SR-D23862 | 503896 | Corrected test connection for LDAP AuthService using keystore | When using a AuthService rule defined for LDAP using ldaps:// and a KeyStore rule that was defined to reference a local file in the server, the Test Connection button on the AuthService rule did not work and generated the following exception: "com.pega.apache.commons.httpclient.contrib.ssl.AuthSSLInitializationError: I/O error reading keystore/truststore file: null". Investigation showed that file reference keystore did not work with an LDAPS test connection because while run time used the LDAPVerifyCredentials activity, the design time validation used the activity “ValidateInfrastructure” which did not have the required code to support file reference keystore. This has been corrected. | Security |
SR-D25972 | 501482 | Handling added for custom error message in post-authentication activity | The error message in post authentication activity was always appearing as 'Login terminated because a post-authentication activity or policy failed' irrespective of the actual message being conditionally set in the activity based on post authentication logic. Investigation showed that the parameter page in the SSO post-authentication activity was not being passed to the 'pzShowAuthPolicyError' activity due to the post-authentication activity executing in authenticated context whereas the HTML fragment executed in the un-authenticated context. In order to support this use, post-authentication activity will set the error message on a predefined property and propagate that to the HTML fragment by appending the error message as a query parameter in the redirect exception URL post-authentication failure. | Security |
SR-D26244 | 504223 | Label control cross-site scripting protection added | Cross-site scripting protection has been added to label control. | Security |
SR-D28060 | 505637 | Cross-site scripting protection added to Pega App Studio Spaces | Ajax Request's callback success method has a mechanism to process the response object's HTML responseText, initiate and modify the changeTracker changes, and eventually call renderUI to render the DOM. However, the response object sometimes may return a different type (JSON) that may expose cross-site scripting vulnerabilities. To improve security for the Pega App Studio, the system will process the Ajax request's response text only if the response date type is not JSON by accepting a flag in the callback object passed by the caller. | Security |
SR-D29485 | 503511 | Enhancement added to modify URL encryption for load testing | An enhancement has been added which allows conditionally modifying URL encryption for load testing. This uses the flag crypto/useportablecipherforurlencryption: if true, a portable hardcoded key is used to encrypt the URLs and if false, a dynamically generated key per thread/requestor is used to encrypt the URL. | Security |
SR-D30215 | 503682 | cross-site scripting protection added to ClientDynamicData | Cross-site scripting protection has been added to the "DesignViewIframe" & "pzHarnessID" parameters in the pzClientDynamicData HTML rule. | Security |
SR-D38581 | 504775 | Removed unnecessary cross-site scripting filtering on paragraph rule | When a link was set in a paragraph rule, the target option was removed in the returned layout structure. This was traced to unnecessary XSS filtering which has now been removed. | Security |
System Administration
8.2.4 Resolved Issues for System Administration
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
SR-C98068 | 483991 | Installer files updated with class loader conflict resolution assistance | When sending emails with attachments, errors were observed relating to a loader constraint violation indicating that when resolving interface method, the class loader of the current class and the class loader for the method's defining class had different Class objects for the type used in the signature. The resolution for this requires user configuration of the app server, and the following files for the install guide have been updated with the appropriate information: Deployment-guides-dita/install.ditamap Deployment-guides-dita/Content/Topics/app-server-config/creating-jdbc-driver-module-jboss-tsk.dita Deployment-guides-dita/Content/Topics/app-server-config/delegating-javax-activation-to-JRE-loader-tsk.dita |
System Administration |
SR-D28460 | 509365 | Added timeout handling for non-PRAuth servlets | After logging in via external authentication service (SAML Single Sign On) and setting up a timeout in the access group RuleForm, when the user performed any action and the server identified the request to be timed-out, it was expected that a SAML request would be sent from the browser to the external Authentication Server (referred as IDP) and the flow would proceed from there. This worked as expected for a non-AJAX request. To resolve this, handling has been added for timeout when using non-PRAuth authentication services. | System Administration |
SR-D29127 | 506863 | SAML data pages restored after passivation | If login used SAML SSO, resuming the session after passivation resulted in missing or empty data pages when using an SAP integration with Pega Cloud. This was traced to a security change that modified the D_SAMLAssertionDataPage and D_SamlSsoLoginInfo data pages as readonly, causing them to not be passivated under these conditions. To resolve this, the data pages have been made editable so they will be restored as expected. This change also resolves any difficulty with SAML logoff activities in conjunction with SAP and Pega Cloud. | System Administration |
SR-D37872 | 507341 | prproductmigration build.gradle updated for new mime4j asset name | While running the getMigrationLog for ProductMigration script provided in the Pega 8.2.2 media files, errors appeared referencing "NoClassDefFoundErrors when running getLogs". This was caused by the referenced class not being found on the classpath: the version of the included jar did not include the class needed due to Praxiom's default version being updated to use a new version of mime4j that required an asset name change. To resolve this, the mime4j asset name in prproductmigration build.gradle has been updated to pick up the correct version of the dependency for Praxiom. | System Administration |
User Experience
8.2.4 Resolved Issues for User Experience
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
SR-D16543 | 487944 | Thread cleanup improved for application switching to resolve skin issue | After opening a Case from the HR application and then switching to another application to open another case, the Review Harness skin control was not loading correctly. This was traced to a thread cleanup issue relating to the Portal: on application switch, the system should clean up all threads created on the current application before switching to new application, but in this case thread cleanup was not happening as expected due to conflicts in the unload event handling. This has been corrected. | User Experience |
SR-D23174 | 499568 | Check logic added for change in datetime | After selecting a valid date in the calendar UI, clicking outside of the DateTime control caused the date to disappear when using the Microsoft Internet Explorer browser. Investigation showed that the order of events execution is different in Microsoft Internet Explorer and Google Chrome, so that by the time the getReadOnlyFormatting method was called, the data-changed attribute had already been updated to 'false'. This caused the read-only formatting to not be applied so the data-display-value was considered to be empty. To resolve this, a check has been added to better detect the change so that read-only formatting gets applied. | User Experience |
SR-D26784 | 507135 | Check added to ensure client side validation checkbox is honored in Case Worker portal | When the "Enable client side validation" checkbox on the Perform harness was unchecked, the validation was still firing when using a tab out on the Case Worker portal. The validation did not fire on tab out in the Case Manager portal, and both portals worked as expected on Submit. This was traced to the validation being fired without checking the value of the bClientValidation property. To resolve this, a check has been added to ensure the validation is fired only when it is set to true. | User Experience |
SR-D29809 | 505256 | Extra <p> tag removed when not needed in RTE generation | The RTE was generating an extra <p> tag in the Review harness or when the RTE was non-editable, causing alignment issues in the UI when RTE was displayed using inline dynamic layout with a textarea. This has been corrected. | User Experience |
SR-D30428 | 503423 | Added handling for deprecated UI Kit in Pulse OpenURLInWindow | After upgrade, clicking on a link in a Pulse comment opened a new window with an error message indicating no content was returned. Investigation showed that if an older deprecated version of the UI kit was used, 'Open URL in window' was configured as Run Script function. The more recent versions use an OpenURLInWindow action. To resolve this, the script has been updated to use an action and pass the correct parameters. | User Experience |
SR-D30944 | 503232 | Corrected pagination alignment in tabbed layout sourced from RD | Pagination numbers were not being presented inline with the next/back arrows when using a tabbed table layout with source:report definition. To resolve this, the pyGridPaginator function has been added to Pega-Gadgets in Work- . | User Experience |
SR-D31599 | 503198 | Table layout filter by format works for empty value | If a DateTime property with empty values in a table layout grid was filtered by format, no result was returned even though the grid had the Records for empty DateTime property. This was traced to null value filtering being done with empty values instead of a formatted null value, a difference that could produce different results depending on the control. To resolve this, the activity has been updated to support null values filtering. | User Experience |
SR-D31702 | 505056 | Added constraints to RTE resize | When using Microsoft Internet Explorer 11 with a column layout with main (using RTE) and a side bar (with a text input), dragging the RTE box towards the right side from the bottom right hand corner caused it to expand and overwrite the contents of the side bar. This occurred irrespective of whether the column layout was placed in a dynamic layout or standalone. Investigation found that this was caused by there not being any restriction on the resize of RTE, which allowed it to expand beyond limit. This has been corrected. | User Experience |
SR-D33445 | 505994 | Handling added for context switching with Ajax container in Timeline | When using Interaction Portal -> Overview -> Timeline and opening a case that uses an AjaxContainer, clicking on an icon in the Timeline without having first clicked anywhere in the document was generating an exception. If there was a click in the document body first, clicking on the icon worked as expected. This has been resolved by adding a parameter to registerContextSwitching method to handle customeDOMEvents along with a condition to check if pega.u.d.isAjaxContinerExists is a function, which will register the Context if 'true'. | User Experience |
SR-D34806 | 506558 | Horizontal scroll added to grids using Table Personalization | After configuring “optimize code” and “personalization” options on a table which had more than 15 columns, the Optimization option on the table removed the horizontal scroll option from the screen and made some columns unviewable. If “optimize code” was not configured on the table, the horizontal scroll option appeared as expected. This was traced to the grid container not having scroll defined on it, and has been resolved by adding code to make the overflow columns visible. | User Experience |
SR-D35266 | 509481 | Check added to postOpenAssignment to support Ajax Container use | After configuring an 'OpenAssignment' action on a begin button and giving the target as 'Dynamic Container', it worked as expected to open the assignment in a new tab on the Platform, but did not work from the Customer Service interaction portal. This was traced to the Customer Service portal using MicroDC to display the cases in the work area, which was not within the scope of the Ajax Container. Additional checks have now been added to the postOpenAssignment function to support this use. | User Experience |
SR-D35268 | 506685 | Max results limit increased for open-rule-advanced query | An issue with the results list of a class instance query being clipped in the autocomplete drop down was traced to an old limit that was put on to restrict the number of results shown in open-rule-advanced. This limit has now been increased in the open-rule-advanced control. | User Experience |
SR-D36091 | 505613 | Harness context will be stored to handle on click executed outside of the Ajax Container | An exception was generated in the interaction portal on execution of a post-value action for the on-change event on a text-box in the service case: "Failed to find instance Work-Interaction-Research.EmailBodyRTE of type Rule-HTML-Section". This was traced to a condition where clicking outside of the Ajax Container context to trigger the change caused the Events code to execute the event in the active context when the active context had already been changed by clicking outside of the AC. To avoid this, the system will store the harness context in the event object using pega.ctxmgr.getContextByTarget(target) API. | User Experience |
SR-D36120 SR-D40617 |
506242 507565 |
Escape added to Radio button field value to handle HTML tags | A radio button with a field label to display a help icon and to open the help URL when the icon was clicked did not display as intended. Changing the control to text area produced the desired results. This was traced to the radio button's label being assigned to a field value which returned a string that at some points contained HTML tags, and has been resolved by escaping the pyLabelFor value before assigning it to the aria-label attribute of the radio button's div tag. | User Experience |
SR-D36970 | 504985 | Calendar icon updated to properly display the set number of years | By default, the Calendar icon showed a date range of 10 years when -/+100 was expected. This issue was traced to the existing DSS setting (pyNumberofYears under Pega-UIEngine), which enables overriding the date year range, not being honored when the pyNoOfYears property was set to -1. To honor the pyNumberofYears setting, pyNoOfYears should be 21. This has been corrected so the value will be set properly. | User Experience |
SR-D37290 | 506284 | Null check added to ensure value "yyyyMMdd" displays correctly in DateTime Input | An issue where the input value "yyyyMMdd" was not displayed correctly in a DateTime input field was traced to moment.calendar returning invalid formatting when executed on a null property. To resolve this, a check has been added to assess whether the datetimeframe has any properties or not. | User Experience |
SR-D37326 | 504935 | Resolved clipboard formatting issue in Reply Thread and Send Correspondence | Issues were seen with the table formatting of client data after mail was sent. This has been resolved by ensuring all borders are retained in RTE when used in both "Send Correspondence Task" and "Reply Thread". | User Experience |
SR-D38729 | 507031 | Included section with defer load loads in modal flow | An included section in a dynamic layout with 'defer load content' enabled was not loading in a modal window when it included a table sourced from Data Page which in turn called a Connect Soap to load the data. When the modal window was launched, it indicated it was loading text but did not actually load any data. When 'defer load' was unchecked, the data loaded as expected. In addition, the tab groups in the modal screen flow were not displayed. The same tab group did show when opened through a separate flow. This was traced to the data-harness-id not getting added to the flow in the modal case, and has been resolved by adding data-harness-id to the preRenderer in modalOverlay to handle modal flows. | User Experience |
SR-D38946 | 507906 | Dragresize plugin removed from RTE for better Microsoft browser compatibility | When a messge was sent through Pega chat while using the Edge web browser, the text field where the message was entered before the send button was pressed did not get cleared. This was traced to the Edge browser throwing a Permission Denied error while attempting to access a detached DOM element. To resolve this, the 'dragresize' plugin has been removed from RTE as its implementation is not compatible with Microsoft Internet Explorer 11 and Edge. | User Experience |
SR-D39455 | 508605 | Shortened URLs (bit.ly) supported with custom image size | Marketing offers were very slow to load, often generating requestor lock exceptions due to the wait time. This was traced to one cell in one section that housed a company logo: the source to icon had a shortened "bit.ly" URL when the ImgaeIO API in Java expected the actual URL as its input. The API could not convert the shortened URL to the actual URL, resulting in the retries and connection failure. To resolve this, 'javax.imageio.ImageIO' invocation will happen only when the image size is auto. If custom height and width are used to display an image, Pega will not depend on the Java library and the system will be able to resolve the shortened URL. | User Experience |
SR-D40055 SR-D36176 |
507421 508406 |
Work List loads as expected in Microsoft Internet Explorer | After upgrade, the Work List was not loading in Microsoft Internet Explorer. This was an unintended side effect of work done to handle resizing the Recents list when another tab was open, and that change has been reverted to resolve this issue. | User Experience |
SR-D42143 | 509316 | Tab names maintained after Ajax container refresh | When using an Ajax container in Tabs mode, a browser refresh with multiple tabs opened caused the active tab name to be changed to the main tab name. This was caused by the work object name being lost during the refresh, and has been corrected. | User Experience |