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 formatted 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.)
Ticket # | Issue # | Title | Description | |
---|---|---|---|---|
SR-C80200 | 494447 | Resolved Sporadic ControlBuild error in sections | After upgrade, a sporadic error was seen with sections of a VTable after a server restart where a portion would not load and the error "com.pegarules.generated.html_property.ra_stream_pxtextinput_1786000787_default incompatible with com.pega.pegarules.pub.runtime.ControlBuilder" was seen. This issue was traced to invalid generation of an assembly parameter map for random sections the first time the table was called after restart. To resolve this, the system will now allow assembly parameter generation for a second time when they are empty, and the assembly parameters preparation will be handled as a synchronous process. | |
SR-C87086 | 425608 | Added explicit cleanup of non-serializable objects in the Connect-SOAP ParameterPage | An error stating "One or more properties could not be serialized during passivation and have therefore been lost" was traced to a Serialization issue with Connect-SOAP leaving non-serializable objects in the ParameterPage. Code has been added to remove the pxHTTPServletResponse property after use to resolve this. | |
SR-C88015 | 427059 | Null check tuned for hotfix bulk import | If a hotfix contained any changes to rules, the import failed with a null pointer exception.This was traced to a null bulk object. Investigation showed that if debug logging was enabled on ESBulkIndexerEmbedded, the system was attempting to get a value off of customBulkRequestBuilder, an object that could potentially be null but that was not subjected to a null check until after the debug statement. This has been resolved by adding a conditional within the debug statement to output a different message if the builder is null, preventing this issue from occurring. | |
SR-C93292 | 432662 | Inline error messages linked to input for accessibility | In order to support accessibility for server side inline messages, the controls have been mapped to the error message div and an aria-describedby attribute has been added for the same. This allows JAWS to read the error message specific to the control where the error occurs. | |
SR-C94644 | 485244 | Date Filter corrected for Optimized table layout | The Date Filter was showing incorrect results when 'next month/current month' range filter was applied on the 31st of the month and the Allow Optimize code check box was enabled in the table layout properties. This was traced to the pySymbolicStartDate and pySymbolicEndDate properties values not being properly populated with time, and has been corrected. | |
SR-C95733 | 444477 | SendSimpleEmail modified to show complete attachment subject line | The complete subject of the correspondence attached in a work object was not displayed in the UI. The clipboard page pyWorkPage -> Attachment (Link-Attachment) also showed an incomplete value in the pyMemo property, displaying only 64 characters. Investigation showed that pyCorrPage.pyLabel was being set to 64 characters in the Work-.SendSimpleEmail activity, and then used LinkMemo to show the value in the UI. To resolve this, the system will take HistMemo as the LinkMemo as well if it is available and then truncate it to the Link-Attachment.pyMemo size to store the entire value as exposed. | |
SR-C95857 | 483549 | JSON parsing added for identifier data type | After upgrade, Service-REST was no longer mapping data as expected when the property was of type "identifier". Handling has now been added for mapping where property type is identifier and the incoming type is any valid value for identifier. | |
SR-C96230 | 434678 | Opening WO from another workpool maintains the original access group and pool | Opening work objects from another workpool permanently switched the pool of the requestor to the other access and work group if the requestor had permissions for it. This has been corrected. | |
SR-C96547 | 436158 | Check added to format simplified Chinese date generation to match system expectations | When the browser language was set to Chinese (simplified) and a template was used for an application, an invalid date exception was generated. This was caused by a difference in handling between the moment.js function used to format the datetime, and Pega. The moment javascript formats dates with the below 6 meridiem for Chinese locales (zh-cn, zh-hk, zh-tw): 凌晨 - Early morning 早上 - morning 上午 - morning (AM) 中午 - noon 下午 - in the afternoon (PM) 晚上 - at night But the Pega server only accepts two standard meridiem i.e. 上午 - morning (AM) and 下午 - in the afternoon (PM). Due to this, using an unsupported setting resulted in an error. To resolve this, a check has been added for the Chinese locales (zh-cn, zh-hk, zh-tw) that will adjust the non-supported formats to be either 上午 - morning (AM) or 下午 - in the afternoon (PM). Additional support has also been added to handle this function for iPad. |
|
SR-C96552 | 488911 | WordMacroManager updated to support both 32-bit and 64-bit | After upgrade, the FlowAction=> CreateMergedWordDoc was not working. This was traced to Word Merge failures due to 64-Bit incompatibility with the WordMacroManagerDot template file, and has been resolved by updating WordMacroManagerdot.dot so it supports both 32-Bit and 64-Bit. | |
SR-C96680 | 483765 | Reject changes in approvalRuleChanges flow will clear cache and reassemble rules | When a paragraph rule with "need approval" checked in the ruleset version was delegated, previewing the data in the paragraph rule via a button and making changes worked as expected. However, after the changes were made and sent to the approver to accept or reject the changes and the private copy was deleted, it was observed that rejected changes still showed in the paragraph rule and the cache was not cleared. The Rule Approval process allows checkouts to be approved or rejected: when not using rule approval process, a Checkin from the personal ruleset results in a Delete operation (from WBCheckIn & RuleCheckIn) that will remove the rule from the personal ruleset. However, with Rule Approval process setup, the rule in the personal ruleset is not deleted. Instead it is simply moved to the CheckInCandidates ruleset. The pyRuleset on the rule page changes, but the Inskey remains the same. Because there was no delete operation, there was no noteChange event and the cache was not cleared. To resolve this, the system has been updated to now enable NoteChangeInternal to invalidate rules that are part of the personal ruleset only if they have the correct setting in their prconfig.xml. This fix also forces re-assembly of rules after check-in and approve/reject so that pressing preview will ensure the correct rule gets displayed. |
|
SR-C97046 | 485715 | Added restriction to limit environment sending multiple OTP emails | Multiple One Time Password (OTP) Emails were being sent for a single requestor on a change password screen when the password was expired. This was caused by the environmental settings refreshing the changepassword harness, and has been resolved by adding a restriction against sending multiple OTPs for a requestor to whom an OTP has been successfully sent once. | |
SR-D10178 | 483010 | Tika library upgraded to v1.20 | The tika-parsers and tika-core version have been upgraded to version 1.20 . | |
SR-D10545 | 483635 | Minimum width set for stage names to ensure all are properly displayed | The chevron displaying stage names was not showing the complete stage name in IE and Chrome when there were more stages due to each stage not having its own width set. This has been resolved by adding a minimum width for the stages. | |
SR-D10666 | 490865 | InitializeRequestor utilized to prevent Inconsistent authentication requestor state | A 'resource not found' issue was causing an inconsistent Robot status. This was traced to an improperly configured application where the service authentication requestor was left in a wrong state but was being returned to the pool. To prevent the issue of requestors being in an odd state if they try to authenticate and an error occurs, the system has been updated to now always call initializeRequestor, not just for Authenticated cases. | |
SR-D10775 | 490170 | Finalluy block added to Data-COS-.COS-Print streams | A security scan detected a potential issue with the activity Data-COS-.COS-Print not closing the stream in a finally block. Although this activity is not in current use, a finally block has been added that will close all of the conditionally initialized streams if they are still initialized. | |
SR-D10889 | 482668 | Intervals for DateTime control inside table grid corrected | The "allow time to be displayed in the interval of minutes" feature did not work as expected for a DateTime control configured inside a table grid. If a value for minutes was chosen, say 30 minutes, it displayed all the minutes from 00 to 59 instead of displaying 00 and 30. The same control used inside a simply dynamic layout worked correctly, displaying 00 and 30. This has been resolved by adding logic to support having only time with drop downs. | |
SR-D11289 | 484055 | Mobile support added for Report Definition chart slider | Because the report definition ruleform chart slider was historically not supported on mobile devices, enabling the touch API in Chrome resulted in confusing behavior where the slider worked in mobile mode on a laptop but not on a mobile device. This was due to the chart slider being a jQuery UI slider component (ui-slider) that was built without support for mobile devices. An enhancement has now been added to utilize the jQuery UI Touch Punch library, which makes jQuery UI components mobile-friendly, by loading it at the start of pzRRChart. | |
SR-D11312 | 484683 | CKEditor table-related plugins updated | In order to successfully put a copy of previous correspondence below the auto email template, gaps had to be explicitly left below the auto email template before pasting the previous email correspondence. Otherwise the auto template disappeared and left only the previous email correspondence on the auto template. This was traced to issues with the CKEditor plugins, and has been resolved by updating to the latest table plugins from CKEditor (table,tabletools,showborders,tableresize,tableselection). | |
SR-D11605 | 485661 | :JAWS correctly reads heading for Report browser/viewer | JAWS 18 was not reading the titles in the report browser and report viewer as "heading level 1" as it should. For the Report Browser, JAWS was reading the title as "<title> - heading level 2", and for the Report Viewer, JAWS read the report title as "<title> - frame". This has been corrected by adding the appropriate aria tags to pzGetStyledLocalizedText. | |
SR-D11909 | 488670 | Secure and httponly attributes added to Pega-Perf cookie | A vulnerability test identified the Pega-Perf cookie as not having any attributes for secure and httponly. This has been resolved. | |
SR-D11980 | 484186 | Resolved missing feedback entry update | An issue with the Feedback entry not being updated in the manual triage process was traced to a local configuration which loaded the D_pxEmailPosts data page on 'send feedback' instead of upon opening the email triage case (or Interaction case). This difference caused the required ChannelConfig page to be removed from the 'pyCheckIfHtmlOrPlainText' activity so ModelName was not populated for use by pzSendFeedbackToNLP. ModelName is a required property to send feedback. To resolve this, an update has been made to ensure Work-Channel-Triage.pyCheckIfHtmlOrPlainText will not remove the ChannelConfig page. | |
SR-D1270 | 488260 | DB table mapping will check for existing properties before creating them | Using the Database table class mapping tool to map an external database table to a class and create properties according to columns in the table was resulting in the property being created as 'not available' and not case sensitive if the property to be created while mapping was already present in the inheritance hierarchy. This led to an error caused by the property validation failing in the validateReportDesignTab activity. Previously the database table mapping tool did not check to see whether the properties to be created existed already in the parent class hierarchy. With this update, the system will check before allowing the mapping, and if the properties exist in the hierarchy already they will not be populated. | |
SR-D13388 | 485169 | Handling added for minor case creation errors | When creating a case, if any step status failed due to a non-critical reason which did not impact case creation (for example, a mandatory parameter was missing from the data page), that failure state was propagated to SaveNew and ultimately to the case creation API. As a result of this failure report, no case ID information would be reported back to the requestor even though the case was created, and the API responded with status 500 - internal service error. This has been resolved by removing the StepStatusFail check from pzCreateCaseInternal so that non-breaking errors will not result in a 500 error, and a check has been added for page messages in svcAddWorkObject and svcPerformFlowAction so that validation messages are returned. | |
SR-D13450 | 488137 | Corrected Query logging level for Populate_UsepxRequiredSkillsCount | A Query was being logged with Logging level of Error in pzPopulate_UsepxRequiredSkillsCount. This has been corrected. | |
SR-D13514 | 489432 | Data-test-id handling updated to resolve testing issue with custom controls | After configuring a custom control, the control did not render as expected when trying to capture the scenario testing. Investigation showed that in readonly mode, two spans were wrapped with same data-test-id when formatType is number. This caused a ‘no unique selector’ issue with scenario tests. To resolve this, pzpega_ui_template_displayText.js has been updated to not include data-test-id on outer span when formatType is number. | |
SR-D13569 | 491715 | Additional parameter format added for multiselect controls | Attempting to pass a parameter like "Value1", "Value2" to a data page used for the MultiSelect Control was not working even though the same format worked for autocomplete control. This was an issue where the flow of fetching the data differed between the two controls, and support for this parameter format has now been added for multiselect controls. | |
SR-D13880 | 483332 | Support added for using WorkPage class for FieldValue evaluation | The Instructions provided under the Assignment details section of an assignment shape were not evaluating the FieldValue for the work object's audit history entries unless the field value was defined only at @baseclass. This was due to WorkPage class not being considered while evaluating a FieldValue, and has been resolved by modifying the InstructionsLookup control to use work class instead of the hard coded @baseclass. | |
SR-D14005 | 487790 | Bteer filtering added for Duplicate schema names in schema tools | The database list drop down was showing duplicate database names. This was traced to Connection Manager managing Data Base configuration differently for corresponding Read Only, Admin and Standard, and not providing the unique database names. This has been resolved by adding support for filtering duplicate names from getDatabaseNames. | |
SR-D14064 | 490217 | Support added for Tumbling Window size defined by field | When using a Data Flow that called an Event Strategy that contained a Tumbling Window, all records were processed when given a user-defined option. However, trying to use a calculated "Defined by Field" option designed to time the windows out at the same time each hour resulted in only a small percentage of records being successfully written to the destination dataset. This was traced to the logic used by the out of order timers not supporting this use, and handling has now been added to resolve this issue. | |
SR-D14159 | 493082 | Toggle added for displaying exception stack trace | When text like "%25" was added to the login URL, the full exception stack was displayed on the screen. To resolve this, when the prconfig 'initialization/displayexceptiontraceback' is set to false (default value), the system will render the status.jsp instead of error.jsp and will not populate any sensitive data in the request object. If its set to true, the system will fall back to the old approach which renders error.jsp and emits the stacktrace. | |
SR-D14161 | 490594 | XSS protection added to decryptURLString | In order to secure against Cross-Site Scripting attacks, decryptURLString will return a blank string instead of plain text if it is not given valid encrypted text. | |
SR-D14189 | 486281 | Recent Content updated to accept more than one URL attachment | An error was seen when opening Recent Content and attempting to attach more than one URL. Investigation showed that Assign Page was getting cleared after adding the first URL attachment so it did not have a page value available for the second use. The logic has now been modified so the value will not be cleared in the Recent Content gadget preprocessing activity. | |
SR-D14201 | 485963 | MY system pulse receiver will parse originating tenant name to facilitate data page removal | When using a node level data page on a cloud multi-tenant system to get the data from a data table, attempting to flush the data page by explicitly calling pzFlushDataPage was not flushing the page in all nodes of a tenant. This was traced to the system pulse used to communicate between MT nodes: the receiver node was not removing the data even after receiving the system pulse because the cache contained the page with a different key. The key formed contained the tenant name, and the receiver was not parsing the tenant name from the pulse message received. To resolve this, the system has been updated to parse the tenant name from the pulse message and set it on requestor. This allows the correct key to be formed, allowing the receiver node to remove the data page as expected. | |
SR-D14521 | 486528 | Added support for sorting by field value instead of localized value | In a datapage-sourced dropdown with 'group by functionality' enabled in ascending order, the values were being sorted according to their localized value and not their field value. This was a difference between templatized and non-templatized handling, and has been resolved by adding the ability to sort the group label by field value in the templatized UI. | |
SR-D14591 | 485929 | Check added to resolve intermittent console errors | An intermittent issue where an autocomplete control was hanging after repeated use has been addressed by adding an additional check (dispElem && dispElem.parentNode) to avoid console errors. | |
SR-D14601 | 488289 | Unique ID generation added for simultaneous multiple text area boxes | In the Interaction portal, adding a task for a interaction using a form with a character-count enabled text area worked as expected when the interaction first opened a task with the character counter text area. However, if a second version of the same task was opened before the first task was completed, the second text area was not responsive or working as expected. This was traced to the system generating the same ID attribute for both instances of the text area character counter span, and has been resolved. | |
SR-D14630 | 491164 | Thread label clipboard issue resolved for work objects using skipDCDataModelUpdation | In some cases, when a case ID was opened in Designer studio, its corresponding thread name in clipboard was pxThreadName instead of caseID or workID. Tab labels are handled through the Declare_pyDisplay data page. Investigation showed the child page pyDisplay(Developer) of the parent page Declare_pyDisplay, which was expected to contain pyUIElements for each tab, was missing an element for the tab whose label was shown as threadName. As this error was only reproducible for work objects with the 'skipDCDataModelUpdation' property set as true in the 'pyWorkPage', this issue has been corrected by updating the show-harness activity step-2 so the 'skipDCDataModelUpdation' property value is explicitly copied from primarypage ('pyWorkPage' in this use case) to 'parameterPage'. In addition, an issue with filtering records based on Operator Preferences has been resolved by updating ActivityStatusContentHandler to use a simple Show-HTML of the same "ActivityStatusSuccess" content instead of going through an unnecessary harness execution during activity when there is no session established. | |
SR-D15089 | 485329 | Handling added for single quotes in custom DateTime controls when using Export to Excel | A previously resolved issue with the timezone not being appended to datetime when exporting to Excel if a custom control was used has been further updated to better handle single-quote strings in custom DateTime controls. | |
SR-D15154 | 488067 | CaseType picks up stage name correctly | When adding a new stage in the Stages tab of a case type (pyDefault rule), the stages were shown as rule name instead label after saving and at runtime. Directly adding the Stages in the 'Workflow' tab of the case type showed the stage label as expected. This was traced to an issue with the current row of the table not being properly refreshed, leading to old data being submitted while saving. This has been resolved by adding an explicit "refresh current row" configuration on pyStageName under primary and alternate stage table layouts. | |
SR-D15216 | 487678 | Email parameter handling updated for greater backwards compatibility | After a major migration, email failures were seen with the message "Error sending email: To Address not available". This was traced to a difference in handling between the old and new system versions for fetching the details of workparty for the ToParty parameter, and has been resolved by modifying the newer Work-.pzGetEmailFromParty and Work-.pzSendEmail activities to handle party role as well for greater backwards compatibility. | |
SR-D15242 | 486124 | Removed unneeded TrackSecurityChanges warning for Field Level Auditing | When creating a TrackSecurityChanges data transform for Field level Auditing and providing the text in the source, the system produced warnings such as "The source 'Number of covered objects' is ambiguous and is being treated as text. If it is a page, add it to the Pages and Classes tab." These warnings were generated by pzIsAmbiguousSource when a rule modified to check for Top.pyModelName did not equal pyTrackSecurityChanges. Because the way the system processes the data transform for field level auditing is not the same as that used for the usual data transform, this warning is not necessary. To avoid confusion, the system has been updated with a check so warnings of the source being ambiguous will be ignored when the DT name is pyTrackSecurityChanges. | |
SR-D15261 | 487509 | Added ability to edit or SaveAs OOTB 'Case Volume' report | It was not possible to perform Edit or Save As to a Private category for the Pega out-of-the-box report 'Case Volume', which is under the Public category 'Case Metrics'. This was traced to certain OOTB report definitions being saved with a pz prefix which does not support the "Save As" functionality, and has been resolved by adding a Property-Set step above "Call pxCreateRecord" to set .pyRuleAvailable to "Yes". | |
SR-D15262 | 486887 | GetNextWork properly switches applications for 'most urgent' | Post upgrade, the "Get most urgent" button was unable to open a service request from another application to which the operator had access. In this case, the Operator had access to the Canada and USA applications by default, but when a service request from the Canada application context was available in the list, the Get most urgent functionality failed to switch the application context from USA to Canada in order to open the work item. Investigation showed that the GetNextWork activity was being overridden in the Pega-DecisionManager ruleset in rule resolution and that the the Pega-ProcessEngine and Pega-DecisionManager had different versions of the activity. This has been resolved by upgrading GetNextWork in the Pega-DecisionManager ruleset. | |
SR-D15275 | 490023 | Report title displayed properly when prompting for filter changes | Launching a report from the report browser showed a blank for "Report tab title" if the option "Prompt for filter changes before displaying report" was checked. This has been corrected by adding pzRDWinTitle to the harness Code-Pega-List.pzRRDisplaySection so it will display the name of the report when prompting for filter changes. | |
SR-D15391 | 484922 | Add row works as expected when using Embedded Elsewhere with a modal grid | When using Embedded Elsewhere, add row was not working on the first attempt for a grid launched inside a modal dialog. Changing the focus then resulted in the added row appearing. This has been resolved by updating the timing for the performInsertAction in the ui_grid JS. | |
SR-D15425 | 487885 | Removed extra space from feld value in Audit History | A space was seen for a Field value that was referenced in the instructions Audit History. This was traced to the control adding an extra space if any gaps were present in the code, and has been resolved. | |
SR-D15428 | 491566 | Null check added to resolve non-impacting InvalidParameter exception | Creating a child case from the SLA goal activity using the 'AddCovered' activity generated the message "Exception in queue item: cannot be null or blank". The error "com.pega.pegarules.pub.clipboard.InvalidParameterException: cannot be null or blank" was also seen. However, no functionality impact was observed. This has been resolved by adding a null check to the getPortalName method, and modifying the HarnessUIBuilder.java file to add safe checks for whether 'portalName' is empty or not. | |
SR-D15469 SR-D19491 |
487522 489901 |
Export to Excel formats the DateTime filter for localized values | When exporting to Excel, filter criteria were given in GMT rather than the localized timezone. This was caused by the implementation of localizeDateTimeString method not formatting the output string for the locale/timezone during export to Excel, and has been corrected to display the localized filter values when the filter values include DateTimes. | |
SR-D15495 | 489735 | Function in aggregate filter condition properly displayed | After constructing a report definition with Filter conditions to apply after the aggregation filters with max as function, the function was not visible in the dropdown when the rule was opened. The Function was visible if the rule was checked out and remained visible if the checkout was discarded, but if the rule was opened and closed again the max function was not visible. This was traced to the Primary page not being considered properly while populating the data page D_pzGethavingFilterFunctions which loads the options for the filter dropdown. To resolve this, the activity pzHavingFilterFunctions has been modified to check for pzPrimaryHarnessPageName first before pzPrimaryPageName. | |
SR-D15520 | 497155 | Exported formatting corrected to display security scan line found detail | Running a Rule-Security-Analyzer scan using a pyUnsafeURL regular expression and RSA provided items found, but the exported results did not contain line found detail. Investigation showed this was caused by the results being converted to an HTML table when the result itself contained HTML tags, resulting in broken HTML generation. To resolve this, the results will be sanitized for display as HTML. | |
SR-D1575 | 483122 | Added check for null work page in Pulse task | After upgrade, the message "Error in Pega Log file:Unkown Error: Error during while executing pulse task: SingleCaseMetricsManagerFlush java.lang.NullPointerException: null" appeared while executing Pulse task. This was traced to a null workObjectPage, and has been resolved by adding a check for a successfully created work page. | |
SR-D15822 | 485164 | PageList under PageGroup Repeating Layout corrected | An issue with the PageList under PageGroup Repeating Layout not working has been resolved by modifying the system so the initial "." will not be removed when using a page from a property. In addition, the newRow functionality has been updated to support the use of an embedded pagelist in a page list. | |
SR-D15844 | 496776 | Flag set for using defer load context switching with IE | Defer load section was not working as expected due to IE11 not maintaining the context of the section during busyIndicator hide. To avoid this, a flag 'pega.ctxmgr.skipContextSwitching' will be set during the hide of busy indicator if IE is used, and the harness switching context will then be decided based on this flag. | |
SR-D15895 | 486592 | Strict checking inserted to better handle DB keywords in string constant | After upgrade, a report was failing with the message "Rule Alias Function cannot reference a SQL function that performs a subquery." This was traced to the report having a function alias used in the columns which compared two strings and returned another string (constant - static value) if the condition was met. However, in two of the returned string constants there was the word "select", which is a keyword in all database languages. Even though the word "select" was a referred part of a string constant, the system treated it as a keyword and tried to perform a subquery within the Function Alias because ABAC was enabled. The report only exhibited this behavior post-upgrade because while ABAC defaulted to disabled in previous versions, it was changed to default to being enabled beginning with v8.1. To resolve this and create more robust backwards compatibility, a more strict check for subquery validation will be performed when ABAC is enabled which will parse and check whether the RAF has the standard 'select from' clause syntax of SQL. | |
SR-D15910 | 491006 | AM/PM time setting corrected for Riyadh timezone | When logged into the Pega mobile application with operator locale as ar_AR and timezone as Asia/Riyadh, selecting time as PM resulted in it being set to AM with Native control. If the native control was unchecked, a blank screen resulted. This has been corrected. | |
SR-D16051 SR-D22528 SR-D23066 SR-D24262 SR-D24260 SR-D24193 SR-D24214 SR-D24198 SR-D24261 |
486752 490526 491094 492553 492561 492565 492569 492697 492557 |
Updated retry for context registraton | The system was intermittently hanging after importing zipped files. Investigation showed that Batch threads were becoming stuck in AuthorizationContextManagerImpl.setSpecializations() due to a 'while' loop in setSpecializations that was seeking to register the new context. To resolve this, logic has been added which will try to register up to 10 times. If for any reason it can't register, the system will just return the unregister LAC. The check before deregister has also been enhanced and now will only deregister if the new context and the current context are different. It will not call register if the current context and the new context are the same. | |
SR-D16074 | 485880 | Additional language options added to Language Wizard dropdown | An enhancement has been added to the “select a language” dropdown in the Language Wizard that extends the available options to include Latin American Spanish (es_XL), Brazilian Portuguese (pt_BR), and Korean (ko_KR). | |
SR-D16200 | 494583 | Support added for decimal values in RichTextDisplay HTML | After upgrade, correspondence in Outlook was displayed with an incorrect left alignment and footer images were stuck together. This was caused by a difference in the Richtextdisplay mode, which was previously set to 'literal' and is now richtextdisplay.Issue. To resolve this, an enhancement has been added which supports decimal values for the HTML attributes. | |
SR-D16221 | 485531 | Email replies fixed for cases addressed to CC or BCC address | Using Customer Service, if a Customer included 3 email accounts in single email (one email in To, one in CC, and one in BCC) and all three accounts had the listener configured and running, the system created 3 cases accordingly (I-1, I-2 and I-3). However, when the CSR picked up the case and replied back on each Interaction case, the customer could receive emails only from the first case (the I-1 case which was created based on To address) and replies from the other cases created from the CC and BCC email addresses were not received. Investigation showed that the function populating the “From” email address for replies was only considering email addresses in the “To” recipient list of the original email and not the email addresses which were in the “CC” or “BCC” list. This has been corrected. | |
SR-D16327 | 487447 | Updated logic for Bulk Upload count when background processing is used | When multiple items were queued as part of "Bulk Upload" and the "Transfer To" operation was used with "BULK PROCESS in BACKGROUND", discrepancies were seen in the email received. For example, if two items were selected for transfer, email notifications stated that 1 item was selected and 1 item was processed instead of 2. This was traced to using 'process in background': when selected during bulk processing, the first record is processed in the foreground and remaining records are processed in the background. When the system sent the email notification once the background process was done, the total records computation was not considering the foreground-processed record, and the count was off. The timing logic has been updated to account for the foreground record to resolve this. | |
SR-D16427 SR-D16427 SR-D22113 |
495817 497221 498313 |
Multi-nodes rebuild LibraryMetadata to ensure all RUFs are present on change | When performing a complete Application import into a clean installation, references to certain RUFs went unresolved during the initial assembly. Investigation showed that after introducing a new RUL or RUF on one node in a cluster and then generating that, the other nodes in the cluster did not have the correct LibraryMetaDataCache for that RUL. Therefore assemblies on those other nodes could be bad and throw a runtime UnresolvedAssemblyError. This has been resolved by modifying the way the Library subsystem processes the node changes events for Library Generation to ensure that each node completely rebuilds the LibraryMetadata for that RUL so it contains all the RUFs. | |
SR-D16433 | 499295 | Exception handling added for upgraded custom decision tables | After upgrade, the status fail message "There has been an issue; please consult your system administrator" appeared with a blue screen in the Run window when attempting to run a Decision table from Actions-> Run option. This impacted the ability to create unit test cases. Analysis showed the issue occurred for any decision table where "Evaluate All rows" was enabled and list properties were used in Actions if there was no value for the list property after the execution of decision table. This was traced to a NullPointerException in a RunRuleFromPage activity in a customized in PUnit ruleset, and was caused by having list properties in the actions of a decision table that had not been populated during rule execution. Exception handling has been added to resolve this. | |
SR-D16624 | 490927 | Table layout filter popover position corrected for Pega mashup | When using an exposed harness with table layout using Pega web mash up, the mash up worked but the apply and cancel buttons were not visible when any column was clicked to filter the result. This was traced to the filter popup having a hardcoded position offset set in its div element, and has been resolved by delegating the responsibility of the filter popover height calculation to the popover. | |
SR-D16829 SR-D17741 SR-D17743 SR-D17770 SR-D17774 SR-D17775 |
486655 486919 486915 486923 486926 486929 |
Nodes start as new if replacement start fails | Cloud upgrade was failing if there was any attempt to scale up the number of instances. Every node starts up with a flag, and in cases of scale-up scenarios, a new instance with this flag was handled as a replacement instance instead of a new instance. That led the new node to fail because it has nothing to replace. To resolve this, the system has been updated so that if an instance failed to start as a replacement, the process will allow the instance to join the cluster as a new node. | |
SR-D16934 | 493703 | External Cassandra nodes listed in DDS cluster | Nodes of an external Cassandra cluster were not listed in the DDS cluster except for the first one in the host list, and when the “only” listed Cassandra node was restarted, the status on the DDS cluster LP did not become “NORMAL” afterwards. In addition, even though other C* nodes were up and running, the external Cassandra cluster was reported as unreachable. This was an unintended side effect of work done on the landing page to reflect the real state of the nodes after some were killed and restarted, and has been corrected by refining the equals() and hashCode() methods for DDS member info in order to better differentiate the external Cassandra nodes. | |
SR-D17037 | 487530 | Check added for backwards compatibility with Case Type when rules | After upgrade, the When rules present on case type rules (used for skipping stages or showing/hiding stage-wide or case-wide actions) were not executing at run time. This was traced to the introduction of the pySkipOrAllowType property in recent versions, and was only reproducible when the ApplicationRuleset was locked and after upgrade irrespective of whether the condition for when was true or false. To resolve this and enhance backwards capability, a check has been added for the SkipOrAllowType property being empty. | |
SR-D17056 | 488084 | Error messaging updated for using Float parameter in RUF | After upgrade, using an RUF that had a float as an input parameter as part of its signature resulted in any callers providing a double type as an input generating an exception. This has been resolved by forcing a NumberFormatException to be thrown within the IL model when encountering a float value ('1.2f' or '1.2F') as the Double.valueOf() API used in IL correctly parses these values to double. | |
SR-D17122 | 487598 | Updated code to resolve PMS variable errors when using the iframe container | After building the iOS application using “Reuse web portal” (under channels & interfaces > layout) and with the default settings application, the Dashboard, My Work, and Pulse sections were not rendered and the error "Can't find variable pms" appeared. This happened only when the iframe container was used, as the pms object (PIMC API) is always injected into top window and does not exists in child windows like iframe embedded in a page. In order to ensure that undefined variable pms does not break the rendering, the code has been updated to use top.pms for all pms occurrences to avoid errors when API is invoked from iframe. | |
SR-D17249 | 490108 | Handling added to resolve Fusion chart tooltips issue in Chrome | Tooltips for charts were not showing, and placing the mouse over the white area for the genaral tooltip in the charts made the white background blink. The error " Uncaught ReferenceError: FusionCharts is not defined at pyfusioncharts.theme.default_12208971721.js!!.js:1" was found in the Chrome console. Investigation showed that there was a recognition issue with Fusion charts when tooltips were enabled; this has been resolved by adding handling to check for an undefined value of the FusionCharts object within the declaration of the theme. | |
SR-D17306 | 490917 | RD pagination expanded to 1500 rows | The default pagination enabled on the Report Definition was limiting the results to 50. This has been enhanced to a row limit of 1500 in report definitions pzGetAllPropertiesOfGivenClass. | |
SR-D17418 | 498721 | Attached note header displays properly in Hebrew locale | With the locale set to Hebrew, the whole portal is presented correctly from right to left, but when opening a case note (attached email) the header was not displayed as right to left. This has been resolved by updating the 'DisplayNote' HTML of class 'Data-WorkAttach-Note' and 'Show' HTML of class 'Data-Corr-Email' to use locale information from the operator. | |
SR-D17568 | 498410 | Handling added for interaction portal refresh containing many data parameters | Attempting to refresh the browser when there were interactions opened in the Interaction portal and a huge amount of data on the parameter page caused the screen to blank and the interaction content was not displayed. Investigation showed that as part of the refresh, the displayOnPage GET request was sent with all of the parameters in the parameter page (data-model), resulting in a 400 Bad Request due to the browser URL length limitations. This has been resolved by removing the parameters which are not actually required for the displayOnPage GET call during the refresh case. | |
SR-D17575 | 489952 | Survey route to work queue optionrestored smartshape | After upgrade, routing to workqueue was no longer available for the new create survey smart shape. This has been restored. | |
SR-D17660 | 486700 | Resolved OOM error for system scan | In some installations, performing a system scan would cause an Out Of Memory Error. This was traced to the process used to de-serialize the catalog metadata, which caused the unzipped version of the catalog (containing data going back to v6 releases) to grow to 125 MB. To resolve this issue the system will make use of streams, but as that still requires the entire catalog object to be available, the system will also cull redundant objects from the hotfix catalog. Going forward, platform-specific catalog files will be created to minimize their size and improve efficiency. | |
SR-D17694 | 487181 | Include Rule in RTE parameters are properly saved | After creating a correspondence and including any rule, opening the parameters of the rule, and giving a Using page value before saving, reopening the parameters modal dialog showed the Using page value was null. No actions were performed on the Save button or the input value. Investigation showed that the rule parameters were not getting saved due to an incorrect element selector being used. This was traced to a recent change that modified the use of unique IDs for the selector, and has been resolved by setting the system to use a different selector independent of the ID. | |
SR-D17822 | 490244 | LastRecordedTime updated to ensure full audit history | When running a test flow where a flow action was configured with a pre-processing activity that used a loop to add some audit history entries, some of the audit entries were getting skipped. For example, if the loop should generate 5 entries, only 3 were seen in the history. This was traced to the pxGetCurrentTimeStampThreadUnique() function where the system checks whether the current time is greater than the LastRecordedTime. The comparison handling of LastRecordedTime and gTimeValue have now been updated so LastRecordedTime is set correctly. | |
SR-D17825 | 494701 | PreSaveAs updated to set the correct ruleset value when saved into a different ruleset | When using a BIX Extract rule already configured with properties and filter criteria, attempting to update the filter criteria system resulted in an "invalid property error" and inability to save the updated rule. This was traced to the extract rule being created from another extract rule with 'save as', resulting in the new extract existing in a different ruleset. Because the pxBixReportPage.pyRuleset had the value of the original ruleset instead of rule set in which it had been saved, the system was attempting to find the filter properties in the original ruleset. To resolve this, the Presaveas activity in rule-admin-extract has been modified to check and set the correct value when both the rulesets are not equal. | |
SR-D17907 | 489172 | Resubmit task now moves partitions to end state before restarting | Resubmitting a failed task did not put the partitions into an end state, resulting in queue processor failure that did not automatically restart as expected. This has been fixed by modifying the resubmit task to move partitions to end state. | |
SR-D17919 | 491580 | Corrected thread switching when moving between interactions tabs | When using Create New for a Phone Call-Consumer in one tab and Create New for an Outbound Phone Call on another tab, the thread was not changing when switching between the tabs of the interactions. Closing the Outbound call interaction resulted in null pages on the clipboard. This has been resolved by updating the pzpega_ui_doc_tabsupport file so it switches to root document context if called from onActivate function using a flag. | |
SR-D17973 | 489738 | Corected parameter mismatch to allow deletes to be added to history | Pega was not keeping track of a property if it was deleted from the data explorer tab, resulting in not being able to restore the deleted property. This was traced to a parameter mismatch: the Delete API adds the Memo parameter to the history, but while DeleteRecord accepted the Memo parameter, DeleteRecordInner accepted the HistoryMemo parameter. Because the parameters names were different, they were not propagated to the API. This has been corrected by setting the param.memo so that Rule-Delete API adds the history and the rule gets displayed correctly in recently deleted rules. | |
SR-D18008 | 490220 | Improved processing handling for duplicate email attachments | Errors were seen when saving attachments which were sent back and forth in an email conversation when Content Management is enabled. Handling has been added for a "file already exists" exception by appending the M- id to file name. In the attachment gadget, the system will evaluate if the file is a duplicate or not at the repository by using pxExists API. In Pulse, the system will append the pulse message ID to the filename before storing it to external storage. The unexpected behavior of the process for saving multiple files proceeding to attach a duplicate file even after it was removed from the modal has also been corrected. | |
SR-D18036 | 495397 | Holdability flag set on connection for using MS SQL in Designer Studio | Static assembler was not working from Designer Studio, displaying the error "com.microsoft.sqlserver.jdbc.SQLServerException: SQL Server supports holdability at the connection level only. Use the connection.setHoldability() method." Investigation showed that ApplicationAssembly.getResultSetForQuery explicitly sets the holdability flag on the prepared statement, and this issue has been resolved by updating the system to set the holdability flag on connection as well. | |
SR-D18038 | 489532 | Corrected grid column header misalignment | After upgrade, a grid's first column heading was misaligned when using the IE browser. This was traced to Quirks mode related CSS not being removed after support for Quirks mode ended, and has been corrected. | |
SR-D18200 | 492098 | Whitelist security added to getDataPage API | In order to secure data pages that may be exposed through using Global Resource Settings with the pega.api.ui.actions.getDataPage API, logic has been added to expose only mentioned data pages from the clipboard through pyPublicDataPageWhiteList. | |
SR-D18209 | 487380 | Check added to avoid unnecessary show-harness when offline | After upgrade, clicking on the Optional Process from the Action menu resulted in the error "The Operation completed successfully, but returned no content". This was traced to an unnecessary call to a show-harness step when offline, and has been resolved with the addition of a 'when' check. | |
SR-D18217 | 489809 | Corrected PDF generation when an image filename has special characters | When using Export to PDF with an uploaded image file that had special characters in its name, the images were missing from the generated document. This has been corrected by updating the decoding of the URL to not remove the checksum when using RTE. | |
SR-D18582 | 492869 | PMML evaluator updated | A null pointer exception was generated when running a predictive model after a PMML import. This was traced to an error in the Regression Evaluator which caused an incorrect calculation for the alternate outcome of a binary model. This has been corrected with an added null check so the "other" value in a binary (logistic) classification model will be correctly evaluated. | |
SR-D18589 | 495714 | Google Map API correctly loads pointer the first time | When using Address Map control with enabled markers whose source is a datapage, the location in the map was redirected as expected to the address populated by the datapage, but the marker overlay that appeared by default containing address details and a link to "Open in Google Maps" did not load. Clicking on random places on the map caused it to load correctly. This has been corrected with the creation of a custom activity to get section markup that will use reload section with proper context to fix the issue. | |
SR-D18690 | 487615 | Duplicate check repaired | A case created with one of the "must match" values as blank was not being treated as a duplicate case. This was traced to a check inserted in an earlier release as part of work done to handle a null FirstName value in the 'Case Match' decision rule, and has been resolved by reworking the original solution and including the 'is same' usecase. | |
SR-D18726 | 501389 | Application quality page retains info on reopen | When the application quality page was accessed for the first time the page displayed all the data properly, but if it was closed and then opened again all the counts were blank. This was traced to an issue with converting the date from the client to the database, and was seen when the Oracle database had date filed as key and type date. The issue did not occur if the type was varchar2. To resolve this, the system will use obj-open-by-handle instead of obj-open while fetching the details of AQD. | |
SR-D18741 | 490419 | GRS support added to Display name and Reply to for SendEmailNotification | After upgrade, it was not possible to send email notifications when using a Datapage property in the email account rule. Investigation showed that there was a custom activity being used to call the SendEmailNotification activity and set the pyNotifyAccountName value as email account name by enabling Pass current parameter page, and the custom call was not functioning due to the SendEmailNotification activity being completely refactored in recent versions of the platform where GRS support (which was not a documented feature) was removed. For better backwards compatibility, this issue has been resolved by adding GRS support to Display name (pyFromFullName) and Reply to (pyReplyTo). | |
SR-D18809 | 490872 | Localization added to SetCMISMessageWarning | Localization has been added to pzSetCMISManageWarning for the warning message "This attachment is locked for editing by you". | |
SR-D18814 | 488258 493324 |
Enhancement added to fetch HTML attachment from CMS | When email containing HTML was sent to the Listener, some of the characters were not getting decoded properly when viewing. In this case, HTML email content was saved as an attachment in CMS , and this error was traced to the system being unable to fetch the attachment. To resolve this, an enhancement has been added to fetch non-Pega database attachments using pxGetFileAttachmentContent. | |
SR-D18879 | 500641 | Logic update made to PrepareColors to resolve calculation ambiguity | When a Report Definition was summarized, the executed report showed a graph for multiple categories but generated the error "No data to display" if given a single category. This was traced to an ambiguity in the Java syntax of the RUF pzPrepareColors that led to a NegativeArraySizeException on a customer's environment. To resolve this, parentheses have been placed around a ternary operator to ensure the correct order of operations. | |
SR-D18907 | 488898 | Property references now supported for label and checkbox captions | An enhancement has been added to support the use of a property reference for labels and checkbox captions. | |
SR-D18960 | 499910 | Logic updated to resolve busy indicator delay | On click of submit in the main interaction flow, the busy indicator was not getting displayed or was displayed after a delay whenever there were a series of Ajax requests being made. The logic has been updated to resolve this issue. | |
SR-D19081 | 490369 | Logic updated to handle Report Definition with a join | When using a multi-select element on the UI with a report definition as a data source where the report used a join to another class where it was referenced by a prefix, setting that data source property as prefix.property resulted in the multi-select no longer showing any results when tested on the UI although the report definition returned results when run manually. This was traced to platform differences revealed by an upgrade, and the idGenerator function has been updated to handle a report definition with a join to resolve this. | |
SR-D19083 | 490401 | Autocomplete list resets to top of scroll if selected data is deleted from the control | If an autocomplete on Screen did not initially have any input, pressing the down arrow showed the popover data with the scrollbar on the top. Scrolling down and selecting an item from the autocomplete suggestions and then tabbing out closed the popover. If the data was then deleted from the control and the down arrow was pressed again, the popover suggestion showed the data in the last scrolled position instead of restarting from the top as expected. Investigation showed that when autocomplete used a list configuration, the popover div was not being updated if the data was deleted from the control. This has been corrected. | |
SR-D19111 | 496591 | Improved compatibility for mapping pyMessageId with out-of-the-box email index rule | After upgrade, the process used for retrieving a reply for an email sent automatically by the system and comparing it with the incoming email to determine if it was a reply or not was failing to trigger an index or find instances of the class Data-Corr-Email that was supposed to save the property pyMessageId. This was related to recent refactoring of the handling for email headers in the Send activity, which moved them from a created AttachmentPage to the Primary page. The code in SendEmailNotification was still checking for the headers to be in the old location when going and adding the messageID, and was not taking it from the parameters. To resolve this, the pyMessageID will be set on the Primary page and messageID will be set on the parameter page based on the messageID in emailHeaders on the PrimaryPage. | |
SR-D19177 | 492339 | Mashup refined to not trigger resize from popup | The parent window was being refreshed when an action was performed on the child window or the child window was resized from the mashup script. This has been resolved by altering the logic to avoid triggering resize from popups in a mashup scenario. | |
SR-D19356 | 487859 | Resolved issue for email attachments with '%' in the filename | Send email notification was not able to send mail with uploaded attachments that contained the '%' character in the file name. Without the character '%' the image was uploaded and included without issues. This was traced to the '%' character being encoded twice in the handling, and has been resolved. | |
SR-D19602 | 489988 | GetDirections API enhanced to send exact current location to Google Maps | The GetDirections API was not fetching the exact current location for Google Maps. In order to enhance precision, selecting the current location will use the navigation.geolocation.getCurrentPosition API to get the latitude and longitude position and send it as a saddr parameter to Google Maps. | |
SR-D19639 | 489966 | Rule Security Analyzer failure corrected | Running the rule security analyzer was generating the error "Remove the duplicate Regex". This was caused by RSA validation failing, which was traced to the activity using pyReGex property in invalid-case when the actual property name is pyRegex. This has been corrected. | |
SR-D19801 | 495839 | Corrected embedded section inside dynamic layout group becoming readonly | When using a nested sections structure in a Dynamic Layout Group (tab), the fields inside the layout group were becoming readonly. This has been resolved by ensuring the controls present in second-level nesting onwards obey section read-only value in a dynamic layout group, and resolving the 'when' rule that governs the disabledwhen of link for all sections in a section include. | |
SR-D19821 | 490065 | Resolved UI styling for layout group with 'run visibility on client' | UI styling for Layout Group(Tab) was not working, resulting in the border/background color not being saved for layout groups. This was traced to a scenario where the same property was present in both the "Header" and "Tabs" settings of the layout group and "run visibility on client" was checked for the header, enabling the property at runtime. This has been resolved by modifying pyHeader in "Embed-Skin-Component-LayoutGroup" to uncheck "Run visibility condition on client". | |
SR-D20144 | 492520 | Function LengthOfPageList resolves correctly for Insure framework | When using the Insure framework, it was not possible to expand any steps in the activity. Investigation showed that the rule 'LengthOfPageList' was present in the library Utilities in two different rulesets – Pega Rules and Pega Insure CSB. When the rule was cached with an application stack containing Pega Insure CSB, it generated a "Failed to find instance" error for applications that did not use Pega Insure CSB in the stack. During the run-time call to the correct LengthOfPageList() RUF was not resolved because of ambiguity in the resolution. To correct this, the call to the RUF will now contain a fully qualified name. | |
SR-D20150 | 491081 | Added when check for Strategy and Event Strategy to preserve pagelist property | When editing a test case that has been built from a strategy, clicking on the 'add properties' link in the side panel was not working. This was traced to the strategy rule being loaded each time while the data page is only loaded once per session, and has been resolved by adding a 'when' condition to the Strategy and Event Strategy rule that will check for the existence of an embedded page before the pagelist property which displays results is removed. | |
SR-D20763 | 500406 | DASS added to allow toggle of indexpurpose filter in declare index join | A performance issue was seen when using a declare index join to add a pxIndexPurpose filter to a very large index_workparty table, either taking a long time to process a search request or intermittently timing out. This was traced to recent modifications in the DeclareIndex Join filter conditions to better handle multiple declare index rules pointing to the same index table, As a result, doing a declare index join on one of the declare indexes returned results that included those that corresponded to other declare index rules. To resolve this, a DASS has been provided to toggle the inclusion of the indexpurpose filter in a declare index join to allow for better customization. | |
SR-D20791 | 489022 | Support added for section completion of nested page list/groups in DX API | When using DX API and submitting a screen from the front end which was in an embedded section, "Pega_API_001" errors appeared. An enhancement has now been added to support completing the fields in an embedded section by updating the system to handle nested page lists/groups and updates to "newRow" for nested page lists/groups. | |
SR-D20817 | 499920 | Async cache checking updated for interaction reload use | A thread level data page using connect REST to get data from an external system with the "Reload once per interaction" checkbox ticked was being loaded asynchronously from the activity when by default the data page it was supplying needed to be loaded synchronously. Due to this, changes to the data in the external database were not reflected in the data page. This was caused when an async cache was referred and the freshness check for the data page instance did not consider the 'reload once per interaction' flag because it would cause the data page to load twice. The cache checking has been updated to resolve this. | |
SR-D20950 | 489654 | Removed unnecessary commit from case creation with exception | If a case had an exception when it was being created using the case creation API, it was sent to the problem flow functionality which performed a commit (All defer items) in the same interaction after it it performed a commit with error handling. This resulted in an Exception 3273 message. To resolve this, the unnecessary commit has been removed. | |
SR-D21266 | 489797 | Corrected mathematical operations in mobile offline data transforms | Mathematical operations such as *, /, or % were not working in mobile offline data transforms. This has been corrected by updating pzpega_ui_datatransform_generator.js to support all mathematical operations and actions. | |
SR-D21332 | 494516 | Handling added for exceptions related to IE11 grid cleanup | Numerous exceptions generated from IE11 related to pzPega_ui_grid were traced to a browser difference in timing logic related to grid cleanup. This has been resolved by adding a check to determine whether the grid is inside a defer-loaded section. | |
SR-D21493 | 490304 | Corrected revision management with decision data rules | When a new version of a decision data rule was created in dev studio and new propositions were imported or existing ones modified, the typical behavior was for the system to also automatically create a new version of the "pyEditElement" section even if the form was not changed. If this is done from revision management, the revision automatically creates a branch in the overlay application. If the revision contains a decision data rule, the branch contains an instance of the decision data rule and also an instance of the pyeditelement section, but when the revision was submitted, the generated package only contained the decision data rule and skipped the pyeditelement rule. This was traced to the pyEditElement section of the decision data rule not getting packaged because the package flag was not set to the section, and has been resolved by fixing the withdraw and reject scenarios by modifying the package flag in pyRemoveDDRules activity. | |
SR-D21527 | 491737 | Hidden filters will not be shown on the resulting report | After setting up a Report Definition to be visible in report browser with all filters hidden, editing and saving the report resulted in the filter values being visible on the report. This has been resolved by modifying pzResolveCopyFilters activity so that If the filter view option is "Read only, allow no changes" and "Filter not visible in Viewer", it will skip copying the filter values on to the report definition page. | |
SR-D21569 | 491703 | PUT and WHEN support added for REST | Data layer rules in Pega were not getting generated through the Wizard- ‘Create Rest Integration’ when invoking the Rest service though the PUT method. This has been resolved by adding support for PUT and DELETE in pypresentdatapageoptions. | |
SR-D21618 | 492937 | Stories Word doc includes uploaded images | When trying to generate a Word document for the user stories by going to the Options menu and using the 'Document' option, there were images within the user story description that were not rendered in the Word document. Investigation showed that images would show up in the Word document if the images were dragged and dropped or copied and pasted into the description field instead of using the image uploader button. This was because the image was stored in a separate folder when the upload button was used and only a link to the attachment location was added to the description vs using copy/paste or drag and drop directly stored the attachment content in the description. An enhancement has been added to handle the upload use case so the images will appear in the Word document. | |
SR-D21776 | 493778 | Corrected freshness check for async cache | A node level data page with time based refresh strategy was getting refreshed before the time out and many Pega0045 alerts were observed. Investigation showed the Load-DataPage activity step was causing the data page to be requeued and reloaded even if the earlier asynchronously loaded data page was fresh. This was due to a timing issue with the multiple asynchronous load of a data page where the freshness check for the already loaded instance was done before queuing the data page load, causing the check to fail. To resolve this, the freshness check will be performed on the instance which is present in the asynchronous cache if the instance in synchronous cache is stale. | |
SR-D21808 | 490280 | Filter values retained when editing a report with custom filters | After running a report, if some filter values were selected and then the Edit Report button was clicked and simulated data and actual data fields were toggled, the filter values were lost when exiting the report editor. In the Edit Report Page, trying to drag a new filter condition was not working and the Change logic buttons were not visible. These functions worked as expected when a custom Filter section was not used. This was traced to the custom filter page being cleared in the pzCreateCustomFilterPage activity where the step for creating new page should be skipped if it already exists. To resolve this, a parameter will be set to show if the report was rerun in "reRunReport", and a check has been added in pzCreateCustomFilterPage to see if the report was rerun before running the other 'when' conditions. | |
SR-D22075 | 501344 | Wild card character escape added for filtering data records | It was not possible to export data type records which were filtered with either _ or % in the value. This was due to the characters being wild card characters in the SQL-like operator, and has been resolved by modifying the NativeSQLAPIResolver to add escapecharacter to the runtime value of the filter. | |
SR-D22170 | 495575 | Whitelisted RunTime_ControlPanel streams in Designer Studio development | Using developer access in Designer Studio was generating SECU0016 errors in PDC: "Unauthorized access to the stream rule : Unauthorized access to the stream rule Data-Portal-DesignerStudio.pzRunTime_ControlPanel Rule-HTML-Section". This has been resolved by whitelisting stream names starting with pzRunTime_ControlPanel. | |
SR-D22175 | 493193 | Null check added to control_multiselect | After upgrade, Multiselect control was not working in some classes. The values were getting loaded into the clipboard, but on clicking the down arrow none of the values were getting populated. This has been resolved with the addition of a null check in the control_multiselect file. | |
SR-D22215 | 490266 | Hotfix Manager modified to enable cataloging double-digit patch releases | In order to reflect the updated release process, the regex format used by the Hotfix Manager for the TargetRelease in the catalog has been modified to allow double digit patch versions. This updates the format to use the Catalog Version from the Product Source in place of the previous ML format. | |
SR-D22415 | 493440 | Enhancement added to expose BrowserAttachmentTypeTable | By default, the inline view of PDF files appears with the thread name visible. An enhancement has been made to expose pzBrowserAttachmentTypeTable as a py rule: when the DT is overridden such that return is false for PDF, the inline view is not displayed but instead the PDF is downloaded when clicked. | |
SR-D22437 | 492856 | Handling added for Pagelist Reference Property in LegacyPageAdapter getMode API | Post upgrade, a "Component Stack Mismatch" error appeared while opening a work item containing an embedded section that used a Data Page D_WorkApprovalCase input parameter as the Page Context. This was traced to an exception thrown by the getMode() API invoked on an auto-populate property because the property was in a read-only data page. By default, read-only data pages are light weight clipboard pages, but auto-populating properties on light weight clipboard pages was not handled via the failsafe page in the getMode() API. This has been fixed by adding handling to the getMode API of LegacyPageAdapter for properties not supported by redux ( eg: reference, autopopulate properties etc). | |
SR-D22468 | 502036 | Bix extract performance improved by only checking cipher type for encrypted properties | Previously, if no cipher was configured in extract Rules the cipher type defaulted to null and wasn't cached. This caused performance issues when running against the database. In order to improve performance, the code has been modified to only check for cipher type if the property is encrypted. | |
SR-D22594 | 490653 | Fallback handling added for Cryptographic exceptions | Cryptographic Exceptions were being generated while decrypting query parameters. This occurred when a node restart happened before passivation time out: the existing encryption keys are lost and new encryption keys are generated on node restart, resulting in any requests encrypted with previous keys (before node restart) to fail decryption. This issue did not occur when a requestor was passivated or nodes were quiesced, only when a node was abruptly shutdown. To resolved this, handling has been added which will fallback and decrypt with an older key if an exception is encountered when decrypting with the current key. | |
SR-D22601 | 499897 | Fixed PEGA0069 alerts with Weblogic | When Pega platform was deployed in a Weblogic application server, Alert PEGA0069 was not generated due to the cookie parser failing to parse what was found to be an incorrect Pega-Perf cookie value. The Pega-Perf cookie value has been corrected by removing quote characters surrounding it. | |
SR-D22686 | 493517 | IH summaries working with external Cassandra | Summaries were not working for external Cassandra. This was an issue with the IH summary component using the aggregated dataset as a reference, and this fix contains several components to improve this function. An issue where the IH aggregates dataset does not materialize when DDS is external Cassandra has been resolved by modifying the code that checks the DDS availability. A filter that was used to match “” did not work when pre-aggregation is off : this was due to the IH Browse operation being done outside of a DF context, and has been fixed. The IH Summary shape not working properly in a strategy if it referenced an aggregate dataset with pxInteractionID as part of the group-by properties was traced to an issue with it generating a pxInteractionID value when executing the strategy, and has been resolved by excluding pxInteractionID from the group keys in the IH Summary shape. | |
SR-D22734 | 492777 | Added check to pxDateTime for incomplete date | An out-of-the-box pxDateTime control configured with "Display mode" = "Dropdown list" was generating the error "Error in the launched portal TypeError: mom.date is not a function at line 714 Column 31" if an incomplete date was selected (such as year only) before saving the case. This occurred because the mom object tried to call date() which was undefined because the date was incomplete, and has been resolved by adding a check to see if the mom holds a valid date before calling the function. | |
SR-D22858 | 493329 | Checks added for case resolution based on dependencies | Post upgrade, using a design with a wait shape configured to resolve the Parent case when all the child cases were Resolved-Completed was not working. This was traced to the handling of the page dependencies in TopCaseWork, and checks have been added to ensure correct case resolution. | |
SR-D22885 | 494163 | Added check for empty class properties to report scheduler | A report that was looking for events in the most recent X hours by using the "Difference In Hours" filter function ran in the foreground but failed with an exception when running under the scheduler. The same report ran as expected in background without the filter. This was traced to a classname property not being set on the clipboard, and has been resolved by adding a check for empty classes on the clipboard when scheduling a report. | |
SR-D23164 | 493796 | Edit icon removed from deprecated custom skin styling | Using custom styles as skin component is a deprecated feature as of Pega Platform v8.2. While existing styles will still be added to the CSS file when upgrading to or beyond this version, adding or updating custom skin styles is now handled through manual CSS files included in the skin. As part of this change, the edit icon for changing custom styles has been removed. | |
SR-D23239 | 496707 | Support added for multi-operator SAML logins | When a SAML user logged in by Single Sign-On (SAML), the system processed the login to portal as a different operator if there was a function on the Attribute field under Operator identification in the SAML authentication service. In this scenario, using an expression for operator provisioning did not work because all SAML login sessions resolved to same first operator due to parseAndEvaluateExpression() in ExpressionHelper.java ignoring new expression arguments if the expression page already existed. To support the use of multiple operator logins in this format, the system has been updated to clone a new expression page for every session and update it with the correct expression arguments. | |
SR-D23340 | 497606 | Calendar begins with Saturday in the Arabic locale | When using the Arabic locale, the week was not starting on Saturday as expected, but was showing Thursday as the first day. This has been corrected. | |
SR-D23360 | 493464 | Email reply with same attachment name correctly processed | When an email reply was received with an attachment using the same name as one received earlier, the new attachment was not getting processed and the message 'The Specified file/folder already exists in the target repository. Please specify a different file/folder' appeared. This was traced to an incomplete check for the object class that did not qualify the attachment name for a reply, and as been corrected. | |
SR-D23417 | 493543 | Image Attachment File Type error localized | Localization has been added to the error message generated when an unsupported image is uploaded while in live-chat. | |
SR-D23490 | 496575 | Interface changes made to avoid unexpected workitem deletions when removing stale locks | Attempting to delete lock instances of work objects by directly opening the lock item found through navigating to (Dev Studio) App > Classes > System-Locks actually resulted in deleting the work item instead of just the lock. This was due to System-Locks being uniquely identified by the WorkItem that they belong to rather than having their own specific key. This meant that clicking on one of the instances caused the system to respond by presenting a "default RuleFormLayout section" which included a delete button keyed to the actual workitem, but this was not made explicitly clear in the interface. In order to prevent unexpected item deletions, the table has been replaced with a link to the proper System-Lock interface, specifically the "My Locks" window. | |
SR-D23611 | 493422 | Autocomplete dropdown scrolls with screen rather than remaining fixed | On selecting dropdowns(autocomplete), if the dropdown list was left open and the screen was scrolled, the dropdown list did not move with the scroll but rather remained fixed to the screen. This has been resolved with the addition of scroll handlers which will attach the popover results to its parent while scrolling. | |
SR-D23906 | 499988 | Case status correctly updated when using RDA | When a Assignment was routed to a work queue and Flow Action post processing was set to trigger an RDA Automation to update some case property, an error appeared saying there was no data available on the Page and the case status was not updated when it moved to the next stage. This was an issue with case status not being correctly updated when using robotic automation, and has been resolved. | |
SR-D23992 | 494758 | Null check added to handle portal refresh when first launched | After configuring a button / dropdown in caseworker portal header with 'Refresh current action' onclick or onchange action, an exception appeared if the refresh harness was triggered and the Refresh did not happen. This was traced to the refresh harness happening after portal launch and before any DC action occurred. The portal 'history.state' is null at launch, meaning there was nothing to refresh. To handle this corner case, a null check has been added for the history state to avoid console errors. | |
SR-D24083 | 498487 | Guardrail warning removed for setting filter by format on RD sourced grid | After upgrade, use of the 'filter by format' (Configuration on table layout column) for grids sourced with report definition caused confusion in that the option now exists to either to see the value or the formatted value in the filter panel. Previously, a grid layout would show a date format in both the column of a grid and the filter of that column, but the filter changes produced a date format on the column within the grid but the date time format applied on filter of the column. This behavior change will be reflected in updated documentation. In addition, there is a workaround to recreate the old behavior by changing the column 'Date assigned' from a filter by value to format, but a moderate guardrail warning was created when filter by format was set on any column of a grid sourced to a report definition. This has been removed: when filter by format is selected, no guardrail warning will be displayed in design time. | |
SR-D24318 | 494057 | Dom API updated to resolve IE11 not loading async data with refresh when | The browser was continuously showing "loading" if IE11 was used for a section which was sourced from a data page and configured to load the data asynchronously from a external service while calling an activity and using a 'refresh when' rule to refresh the section if a property changed. Investigation showed that the initial data load was successful and the section with the data was visible, but if the property changed and the section loaded once again due to the 'refresh when' condition, the browser was unable to render the defer loaded section case because the dom returned had the wrong value. To resolve this, the API used to check for the dom element has been updated. | |
SR-D24497 | 496467 | Removed duplicated XSS filtering | Some specific special characters ( "(" , ")", "%" , "&" ) in Delegated View of Data Type rules are not displayed properly in Edit view. Investigation showed the parameter value was subject to multiple passes of cross-site filtering, and the unneeded XSS filters have been removed. | |
SR-D24682 | 501079 | Added check for undefined targetTD in repeating tab layout | Given a repeating tab layout and a validation on the flow action which used edit validate, clicking on the next button set an error on the page. Putting in the correct data and clicking the next/submit button a second time resulted in a console error indicating the targetTD was undefined for the markSectionTabErrors function in pzpega_ui_doc_tabsupport. This has been resolved by adding a check for the undefined targetTD. | |
SR-D24750 | 501746 | 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". | |
SR-D24880 | 494172 | CEP bucket size increased to 1 minute | Frequent DSM Data Flow Errors were observed in production nodes with very high event rates. This was traced to the default bucket size for CEP being 1 second for a 31 day window, which was not sufficient to handle high volume use which may create an event strategy window large enough to hit the Cassandra column size limit. In order to resolve this, the default bucket size has been increased from 1 second to 1 minute. | |
SR-D24900 | 497772 | Security update for RequestMap error logging | In HttpAPI, the RequestMap contains Cookie information. In error conditions, this map gets logged. An update has been made to ensure that the Cookie value is not logged if there is an error. | |
SR-D24950 | 494564 | Added explicit step page to resolve NPE with custom error message | A null pointer exception was generated during case run time harness refresh after a custom error message was inserted. This was traced to a blank step page related to the custom message, and has been resolved by adding a primary step page at step 10 of the New(Work-) activity to prevent the NPE on harness reload. | |
SR-D25012 | 499852 | Column filtering updated to better handle merged columns | When filters were applied to a grid containing merged columns, the columns next to the merged columns did not have the filter class applied. This was traced to a calculation of the index in getFilteredColumnIndex function which did not consider the merge columns use case, and the uigrid js file has been updated to correct this issue. | |
SR-D25184 | 494690 | Support added for referencing Page Group property inside of strategy | Referencing a page property under Page Group property inside a strategy resulted in a runtime error of ClassCasting: "java.lang.ClassCastException: java.util.ArrayList cannot be cast to com.pega.decision.strategy.ssa.runtime.ClipboardPage". The issue was traced to the SSA optimized code for the GetPage SSA assuming that the GetPage SSA would only have another page as a parent. In order to handle the above scenario where GetPage would have a GetPageCollection as a parent and return a List of ClipboardPages, a GetPage function has been applied over each entry in the results of the GetPageCollection SSA using a MapAction SSA. Some optimizations will be applied in cases where the GetPageCollection has only one entry, which will replace the MapAction with a simple GetPage action. | |
SR-D25251 | 493987 | Added support for non-auto DisplayYesNo control | A Change event on post value and refresh was not firing as expected in a section configured with a TrueFalse type property associated with a DisplayYesNo control. The same configuration worked correctly when used with a pxRadioButtons control. This was traced to non-auto control action JSON not generating on the second radio button(No) , and support has been added for this. | |
SR-D25278 | 499447 | Enhanced logging for Clipboard JSON Deserializer | An enhancement has been made to introduce a number of logger events to the Clipboard JSON Deserializer in order to have sufficient data to diagnose any issues encountered. | |
SR-D25306 | 499528 | Corrected multiplying errors on dirty flag | The error message "Value cannot be blank" was appended on the screen every time the browser gave a dirty flag and OK was clicked. This was due to the context for the error message not being set correctly after toggleErrorMessage, and has been corrected. | |
SR-D25560 | 494556 | Added DSS to handle BIX extracts under parse delimiter rules | When parse delimiter rules were applied, the File Listener was not parsing the CSV manifest file generated from a BIX extract until the file was resaved. This was traced to a space after a comma in the extracted files, and has been resolved with the addition of a DSS which enables the use-specified delimiter to remove the space after the comma in the manifest files. | |
SR-D25607 | 495622 | Added NPE handling to PegaInstaller | When upgrading, the error "Error: java.lang.NullPointerException [java] at com.pega.pegarules.deploy.internal.exposecols.jobs.ExposeWrapper.runExposer" appeared and the installation would not proceed. Investigation showed that the NPE occurred because of class name validation not being performed at the right place. As the NPE occurred in the main class, it initiated thread pool executor shutdown. However, the consumer pool did not shutdown because it did not receive the correct specific producer message fto do so. This has been resolved by ensuring isValidClass is executed at the right place in ExposeWrapper.java to handle the NPE, and adding handling for the interrupt exception in consumer thread so that in case of any run time exceptions in the main thread, the consumer thread will not be stuck. | |
SR-D25711 | 502135 | Updated dependent role validation during rule deletion | After checking out and attempting to private-edit the "PegaRULES:WorkMgr4" AR, the rule was still shown as checked out after the edit was discarded. This was a missed use case, as Private checkouts are generally not enabled for most of the customer rulesets. To resolve this, roles in private checkout and branch rulesets will be excluded from going through dependent role validation during rule deletion. | |
SR-D26010 | 500164 | Modified VBD insertion logic to improve handling | An issue with not being able to launch an additional VDB node was traced to two processes inserting into VBD with different field signatures and triggering unnecessary object creation. This was amplified when adding a second node as the objects were serialized. To resolve this, the insertion logic has been modified to avoid creating new data container/field descriptors after a new field is included, as well as a measurement with smaller data type than previous container. | |
SR-D26101 | 495206 | Improved DX API page reference handling | When using a property that was being referred through a secondary page that could be referred directly by the case (such as .AccountClosureDetails.ClosingAccountApplicant), the page was not initialized and the local list values were not returned by the DX API. This has been resolved by improving the handling for embedded page references via section include where the property reference is a full path. | |
SR-D2615 | 439226 | Added function to auto-validate Chinese date | If a datetime property with custom format was created in the zh_CNadtimezoe (Asia/Shangai) locale, the property was not updating if a date was selected with any time unless an onchange refresh action was included. This has been resolved by adding a function that will automatically validate the date for the Chinese locale. | |
SR-D26244 | 501192 | Label control XSS protection added | XSS protection has been added to label control. | |
SR-D26334 | 495320 | Restore delegated rules short description header | For delegated rules like SLA/Correspondence, the short description was not getting displayed in the header. This was an unintended side effect of work done on automation rule capabilities, and has been resolved by restoring the layout visibility condition pzDelegateHeader in pzRuleFormKeysAndDescription. | |
SR-D26505 | 499664 | Check added to isConnectorProblemFlow for empty newAssignPage | When the isConnectorProblemFlow 'when' rule had a "newAssignPage.pyErrorStep = .pxFlow(newAssignPage.pyFlowInError).pyLastFlowStep" condition and was triggered on click of an actions button in the review harness, an error appeared. This was traced to newAssignPage being an empty page group property reference, and the issue has been resolved by adding a check to isConnectorProblemFlow for the existence of newAssignPage before referring to a property in it. | |
SR-D26589 | 496720 | Logic updated to populate pagelist data on uploaded multi-sheet Excel files | When trying to use the activity pxParseExcelFile on an Excel file containing three sheets where each sheet had a different pagelist, the properties mentioned in sheet 1 were populated on upload but the remaining sheets only showed the error message "Could not get clipboard property for reference Work Queues.". This was caused by an error in Row index handling for the additional sheets, and has been resolved by updating the logic to populate the data in the clipboard. | |
SR-D26641 | 501020 | Truncate now considers empty Cassandra cluster as proper DDS state | After setting up two external Cassandra DDS nodes with data sets, decommissioning one node and running truncate resulted in the exception "Truncate cannot be performed due to an inconsistency in the Cassandra cluster status". This was traced to the empty cluster being considered an improper state of DDS that then failed a consistency check, and this has been resolved by modifying the consistency check behavior to consider an empty cluster as a proper state of DDS. | |
SR-D26642 | 499144 | Layout Refresh on Value Change works with Property Empty | Layout refresh on value change was working when changed from "Yes" -> "No" or "No" -> "Yes", but was not triggering the refresh when the first change was from Empty to "Yes" or "No". To resolve this, the pre-replacement event validationType attribute on this function has been removed so an empty value will be processed. | |
SR-D26815 | 500190 | Updated support for numeric values in text columns during Excel export | After creating a report definition that included currency and percentage as a columns, the currency, percentage, and number format were not shown as expected for the locale when the report was exported to Excel. This was an inadvertent side effect of work performed to resolve issues for text columns formatted by non-numeric controls, and has been resolved by moving the support for numeric values in Text columns from ReportUIField to NumericReportUIField. | |
SR-D27041 | 499046 | Manual value group addition support available | In a test case created for a data transform containing a value group property, that value group property could be added by clicking the + sign in the left pane of the test case, but a value group property could not be added manually by clicking the add row button. This has been resolved by adding support for manually adding value list/value groups. The activity steps which were using @java function have also now been replaced with a getproperty function. | |
SR-D27528 | 501370 | Return from drilldown in frameless portal corrected | Drill up after drilling down on a dashboard chart in a frameless portal (such as Case Worker or Case Default) was throwing an exception. This was caused by the top-level page generated during drilldown not having pyRetainPage set to true, causing it to be removed from the clipboard by doUIAction. This has been resolved by updating runReport to set pyRetainPage if it needs to create the top-level page. | |
SR-D27644 | 497612 | Uploaded attachments will receive a unique name to prevent overwriting | An issue with an incorrect file being attached to a work object was traced to overlapping processes. When files are uploaded, they are first saved to common HDD directory and then read into memory and deleted from the HDD area. Files will overwrite other file carrying the same name, which is a problem if the first file is not completely uploaded and is waiting in the common directory and some other file with the same name is uploaded on top of it. To resolve this, an update has been made to ensure file names are appended with a unique identifier to distinguish between files carrying the same names and keep them from overwriting each other. | |
SR-D27687 | 500052 | Mashup Export to Excel works on first use | If a report was opened from Mashup and exported to Excel, only one record was given regardless of the actual size of the report. If the mashup main page was refreshed, the open and export process worked correctly. This has been corrected by adding a call to pzSetQueryDefaults in pzRDExportWrapper when the requestor is initialized for Mashup. | |
SR-D27695 | 500838 | 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. | |
SR-D27994 | 498436 | Chart fixes for localization and filtering | A problem was seen with a chart where the column was a date and its labels were not localized even though the values were displayed in the data grid correctly. This was resolved by updating the pzMultiSeriesData XML Stream to generate the series name attribute with the localized value. An issue with a drill down report pulling the data for entire criteria on click of specific set even though the summary view or clicking on the report data worked correctly has been fixed by adding an enhancement for using the aggregate column as a filter on drilldown with "Is not null". Additional work was also done to resolve an issue of a broken case causing the chart not to render when the aggregates were in an unexpected order. | |
SR-D28034 | 497838 | Asynchprocessor generation code deprecated from distribution | During a Pega Rules Upgrade of the environment, the error "duplicate key value violates unique constraint "pr_data_admin_pk" was observed. This exception originated from the "Upgrade Context" target while executing a query to fetch the missing ASYNCPROCESSOR requestors for all available system names, and was caused by the system attempting to insert a single ASYNCPROCESSOR requestor more that once in the shared layer. The need to generate missing requestors only applied for installations where a custom system name was provided to the deployment properties (setupDatabase), so by default the asyncprocessor generation code has been removed from the distribution as it is no longer required for upgrades. Default system behavior now is to use system-runtime-context in place of async requestors. | |
SR-D28060 | 498750 | XSS filtering added to App Studio | The pzDisplaySpaceFeedTitle control which is used to display the audit feed in Pega App Studio has been updated with XSS filtering. | |
SR-D28184 | 497166 | Verbose debug logging removed from LockUtils | Verbose debug logging that had been added to the "LockUtils" class to print when the lock was acquired or released and include the associated stacktrace has now been removed as it interfered with diagnosing locking issues when threads were getting blocked. | |
SR-D28293 | 498234 | Pega Survey answer values support special characters | When using a Complex radio control (RadioButtonComplexQuestionSurvey), a selected option that used answer values containing special characters was cleared on refresh. This was traced to a mismatch between strAnswer and strValue in the control logic, and has been corrected. | |
SR-D28297 SR-D26342 SR-D8754 |
498141 495415 497377 |
Tracer issues resolved for Chrome broswer | Tracer was running in the background even after the tracer window was closed. Attempting to run a Tracer in this condition resulted in an error indicating the Tracer was being run by another operator and should be restarted, and in the Dev environment, attempting to start a Tracer once it was closed resulted in the message "Cannot launch multiple Tracer sessions for a requestor." Investigation found that the Tracer session was not being closed when the tracer window was closed because the browser specific method intended to do so was not being called. This was found to be an issue caused by the Chrome browser changing the signature of the method, and has been resolved by updating the method name in the TraceMain HTML rule. | |
SR-D28496 SR-D28476 SR-D28480 SR-D28469 |
499080 500887 499084 499088 |
Corrected exceptions report appearing on user screen | When "Break on all exceptions" was enabled, the exceptions report was visible on the end user screen when using IE11. This has been resolved with updates to the 'pzpega_ui_dynamiccontainer' and 'pzpega_ui_doc_tabsupport.js' files. | |
SR-D28502 | 499412 | Checkbox visibility after upgrade resolved | After upgrade, checkboxes were not visible in the dashboard and widgets could not be selected. This was traced to a difference in the generated Java used for the markup for the checkboxes, leading to a call for the pzHeaderCell function to be missing an 'if' condition needed by the UI. This has been resolved. | |
SR-D28538 | 502057 | Corrected requestor status flag for direct map | Numerous "Unable to create requestor" alerts were logged. This was traced to an error in HttpAPI where after retrieving the requestor from the internal requestor map directly, the requestor creation status flag was not set properly. This caused last action to post that alert instead of the correct notice of "existing requestor retrieved". This has been resolved so the flag reflects the correct status. | |
SR-D28657 | 500584 | Corrected Reference value's description in Table | When a user was given 'property for value' as an ID and 'property for display text' like a name, launching the portal showed the display text correctly until 'refresh' was clicked, at which time the current section showed the property value instead of the property text. Investigation showed that the parameter string split inside the parameterised data page used as a dropdown source failed in the readonly case. This has been corrected. | |
SR-D28659 | 498355 | Added denominator counter to avoid PMML average results error | While running a PMML file with test data, the results were always infinity. This was caused by the denominator not being incremented when using the 'average' method, and has been corrected by adding a counter to the evaluator to avoid a divide-by-zero condition. | |
SR-D28869 | 499316 | Resolved Tooltip not relaunching after hide when using autocomplete controls | When a tooltip was configured with SmartInfo and 'Auto-dismiss on hover away' was not checked, the tooltip disappeared when an autocomplete control was clicked and could not be reopened afterwards. The tooltip behaved as expected when it used input text control. This behavior was traced to autocomplete controls being set to hide all other active popovers because autocomplete results are displayed in a popover and only one active popover can exist on the DOM. However, it was seen that the tooltip's Smartinfo popover status was still active even though it was hidden, which is why it could not be launched again. To resolve this, when an autocomplete control is clicked, any active popovers being hidden will also be marked as inactive. | |
SR-D28905 | 500673 | Compensation added for Cassandra v2.2 not honoring count limits | Running CassandraEstimateNumberOfRecordsOperation on a large data set was causing a ReadTimeoutException. Investigation showed that contrary to its documentation, Cassandra v2.2 ignores limits intended to stop all records from being counted. In order to compensate for this, the system has been modified to skip the first of two attempts to estimate the number of records (first cql count() query with limit 1000) and the estimated number of records will only be retrieved through JMX. | |
SR-D28985 | 498015 | Improvements made to Excel data import handling for decision tables | On importing an Excel file into a decision table, the values modified in Excel were getting updated even though the rule was checked in after the import. Investigation showed that the API which handled converting the imported Excel file for use on the clipboard was defaulting to save actions if the rule was not checked out or in private edit before the import. In order to prevent future issues, the following changes have been made in this area: The "Import" button will be enabled only after clicking on checkout button, and discarding the checkout will also discard any imported values. When checkout for the rule set is disabled, only the save option will be displayed on the decision table. When the import button is visible and enabled, imported values will not be preserved if Actions -> Refresh is used before saving. When rulesets are disabled, the decision table can only be private edited and at that time the save and import buttons will be visible. When private edit is visible, the import button will be in a disabled state. | |
SR-D29114 | 499931 | Added handling for bulleted text insert triggering audit | When a bulleted text (copied from an email or rich text ) was used in the text area property, the audit considered it as a change even when there was no change. This was tracked to the field value 'pyHistoryMemo • ChangeTrack_Add' in @baseclass which is being used to get the localized value for audit memo: the field value accepts only 2 parameters, but the inserted text area input contained the '\t' that is used for parameter translation. To resolve this, the system will call the addMemoForSecurityChangeTracking utility method to replace all \t's present in both the Current Value and Previous value with 'empty' such that no '\t' characters are available in either of the string parameters. | |
SR-D29314 | 499648 | Support added for Authentication service rule attributes in embedded pages | SSO login was not working, giving the error "Unable to process the SAML WebSSO request : No value specified for Attribute in SAML assertion". Investigation showed the Authentication service rule could only map attributes that are on the top level page and did not consider embedded page values. To resolve this, tools.getProperty will be used to fetch the property reference value instead of find Page and getString. | |
SR-D29416 | 500133 | Email template content editors visible when using Smart Investigate | When specialized email correspondence templates were used with the Smart Investigate Framework, the correspondence rules did not have all the default values used in visibility conditions. This caused the 'when' rules pzShowSourceOnlyEmailEditor and pzShowBasicEmailEditor to evaluate to false and not display the source stream. To resolve this, UpgradeOnOpen has been added for correspondence rules to set the value for the visibility of rich text editor for source code viewer in order to support the use of custom templates with Smart Investigate Framework. | |
SR-D29926 | 501407 | FormatType reset added to ensure accurate DateTimes | Read-only Date Time fields in the Case Information screen were displaying just the Date in Review Harness mode but displaying Date and Time properly in perform mode of the case. This was traced to a scenario where if any section which had only a date property was rendered in non-template, then 'pyFormatType' was being set as 'date' in tools and not reset afterwards. That meant any datetime type property rendered after this date property was rendered without a timestamp. This has been corrected. | |
SR-D30272 | 499439 | Primary page paramter explictly set to resolve fix/edit Scheduled Tasks issue | After upgrade, the top section of report details was getting blanked out when using the Reporting | Components | Scheduled Task to open a report and "update" it to fix issues. This was an unintended side effect of updating the Review harness to display the Perform harness when clicking Update, which was done to correct an earlier issue with UI validations when using the out of the box schedule report functionality. To resolve this, pxScheduleTaskWrapper has been updated to explicitly set the parameter page according to the primary page's values when not in the report browser. | |
SR-D3034 | 439707 | Corrected reference to Hierarchical table in tree grid modal section | Given a table on which row editing opened a modal dialog containing a section with a Hierarchial table, after the modal dialog window was opened and closed without changes, attempting to open it again produced a blank screen. The error "The reference PackagesPage.Packages(2)(1) is not valid. Reason: unexpected character '(' at position 24, expected dot" was logged. This was an edge case where a grid was opened in a modal dialogue from a tree grid. In this case, the parameters passed from the parent grid corrupted the logic to calculate the Automation ID and caused the reference page to be constructed incorrectly. To resolve this, a try catch block has been added to read the reference from 'tools.getActiveName()'. | |
SR-D30505 | 501895 | Revalidate and save works for Service Packages using OAuth2.0 | Revalidate and Save was failing for service packages of type Data-Admin-ServicePackage which used authentication type as OAuth2.0 . If this was modified to basic authentication / unchecking authentication, revalidate and save was successful. Historically, the implementation of pzOnlyRestServiceType always assumed the primary page was the Service Package rule itself. To support this alternate use, the logic has been updated and a check of the Service Type has been added for the pxResults of the data page. | |
SR-D30955 | 499872 | Security updated for access roles | Updates have been made in order to prevent a potential security issue related to browsing access for the Organization and Security: Groups and Roles view in Dev Studio. | |
SR-D31066 | 502253 | Improved performance for "Show-HTML" in a grid with numerous controls | ‘Show-HTML’ was taking an excessive amount of time to render a UI for grid with a large number of controls. This was traced to the handling for generating and clearing markup creating an exponential growth situation, and has been resolved by modifying the system to remove redundant copies of a string in the markup string buffer. | |
SR-D31336 | 501286 | Dropdowncontrol shows correct value in read-only mode | The dropdown control was not showing the correct value in read-only mode when the standard value of one option was the same as the prompt value of another. Investigation showed that in read-only mode, the loop to fetch the selected value from the datapage results was not stopping when it found an exact match. This has been resolved with the addition of a break statement. | |
SR-D31683 | 501498 | Corrected report harness popup display and drilldown return in frameless portal | After configuring the pyCMReportBrowser7 Harness in the Application Menu and executing the report, clicking on the Drill down report displayed the report on the Main work area and Application Header,Footer, Menu. This happened only when a report with custom filters was loaded on a no-frame portal like caseworker, and was traced to portal chrome(header/sidepanel/footer) being added to every harness in no-frame portals to handle top navigation for every desktop action. In this case, when a report filter was opened in popup, the target parameter that held the "popup" value was lost by the time the submit button was clicked on filter window. To resolve this, a new property pyReportTarget has been added will use the target parameter value in the pzValidateCustomFilterSection activity. In addition, Drill up after drilling down on a dashboard chart in a frameless portal (such as Case Worker or Case Default) was throwing an exception. This was caused by the top-level page generated during drilldown not having pyRetainPage set to true, causing it to be removed from the clipboard by doUIAction. This has been resolved by updating runReport to set pyRetainPage if it needs to create the top-level page. | |
SR-D32086 | 500894 | Memory leak repaired | A server side memory leak was traced to heap utilization increasing due to a Stream control assembly problem where the CleanForReuse() function was not cleaning up pzAuto. The cleanForReuse method in generated HTML properties is used to either initialize local fields, in which case aContext will be non-null, or to clear the object for pooling, in which case aContext will be null. Because the pzAuto variable was not being properly nullified, pooled controls were retaining stale references to StreamTools, LayoutRuntime, PRThread, and others. This has been resolved by adding code to ensure the pzAuto variable is correctly nullified, and additional work has been done to improve memory management. | |
SR-D32222 | 500899 | Auto-generated controls with images supported in export to Excel | When attempting to display a column as an image, changing the column format to "pxCheckbox" showed an image while running the report if the value was true, but blank values were displayed when the report was exported to Excel. Investigation showed that the value was being returned as null when a boolean value was set on a column and the option for the auto control was set to show as an image due to the formatted value being returned as an HTML element instead of a boolean value. To correct this, AutoGenReportUIField has been modified so that auto-generated controls that are shown as images are converted to text upon export to Excel. | |
SR-D33052 | 502062 | Blank space removed in email reply | An issue with blank space being added between the CSR icon and the email content for the first customer mail has been resolved by setting the window width to 100%. | |
SR-D33096 | 502741 | pzGetURLHashes returns proper content-type | When using an environment set with X-Content-Type-Options:nosniff, the response from pzGetURLHashes was returned with text/html response type and the mashup would not load due to browser exception "MIME Type ('text/html')is not excutable, and strict MIME type checking is enabled." In order to support CORB mitigation in the browser, the javascript content type will be set in the response header for pzGetURLHashes call. | |
SR-D33133 | 501633 | TopCase key returned to support case dependency functions | Case dependency was not working if the activity pxCheckFlowDependencies called the pzLoadCaseHierarchywrapper activity which further called the function pzMapCases to populate the pyTopCaseMap page. The page was loaded as expected when the 'when' rule pyEnableTopCaseLinks was false but when Top Case links were enabled, the page was not loaded appropriately. To handle this scenario, the system will return parent case key and class itself if it does not have a parent in pxGetTopLevelCoverKeyAndClass function. | |
SR-D33421 | 501114 | DX API - Field values for placeholder text localized | While using DX API, it was observed that if a field value was used for displaying placeholder text, the field value rule was not resolved. Instead, the name of the field value rule was passed in JSON as text and not the actual value. This has been corrected by adding pyNoSelectionText to specifically localize the placeholder text for dropdown. | |
SR-D35291 | 502601 | Corrected minute spinner for datetime with time interval | If a datetime control was configured with a time interval set to use "Allow time to be displayed in the interval of minutes", the minutes spinner was undefined at runtime. This has been resolved with modifications to pzpega_ui_calendar.js to update the minuteSpinner value based on if time interval is set or not. | |
SR-D5076 | 456380 | Table layout overflow fixed for IE11 | An update made to address an IE11 display issue when a table layout had more than 10 column by adding a display:inline-block caused unforseen issues. The inline block has now been removed and a permanent solution to the display issue will be available in a future release. | |
SR-D5126 | 487185 | Corrected active state selector for IOS devices | When scrolling RDL, gray artifacts were observed which did not always disappear from the UI. This was traced to the background color being applied wrongly due to an incorrect selector for active state in the layout that resulted in the gray region being visible. To resolve this, the selector has been updated to target only non-IOS devices for active state. | |
SR-D5413 | 484330 | Enhanced returned value handling for using Expand when in collapsible dynamic layout | After configuring an 'expand when' condition with the intention that the dynamic layout expands when the user doesn't enter the required field(@hasMessages(Primary)), the dynamic layout was expanded by default even though the "Expanded on load" was not enabled. This was traced to 'expand when' not getting set on refresh due to a different returned value for the condition, and has been corrected. | |
SR-D6555 | 453265 | Access When check added for pyStartCase privilege | If a privilege was defined in the pyStartCase flow rule and the access role to object assigned a privilege based on 'Access When' (not production level), the user was not able to start a case. This was traced to the havePrivileges RUF passing an incorrect primary page to evaluate the privileges in combination with the 'access when'. To resolve this, the engine API will call tools.getAuthorizationHandle().havePrivilege for each privilege until it finds a match. | |
SR-D6721 | 485209 | Updated report widget drilldown logic for better non-ASCII character support | When a report in the report widget had a drilldown chart with a parameter containing certain non-ASCII characters, no entries for the drilldown filter were shown even when there was data that matched that filter. This was traced to the drilldown JavaScript for dashboard report widgets encoding the drilldown parameter twice, causing characters that were Unicode but not ASCII to be corrupted. This has been resolved by updating the logic for pzpega_chart_legacydrilldown.js and pzpega_control_actions_reportdefinition.js to ensure the parameter is not encoded twice. | |
SR-D6978 | 481778 | Mandatory field confirm popup text and focus corrected | When a mandatory field is tabbed out (with TAB key), using cancel to proceed to the next field instead retained the focus in the same field. This was traced to work previously done to prevent an infinite confirm dialog loop, and has been corrected. | |
SR-D7138 | 494664 | Updated taxonomy rule to correct obj-open | After using Taxonomy -> Create model -> Apply to Text Analyzer and then using the Training data to add additional messages to the model, an error that Mandatory parameters were missed appeared. This error was traced to a condition where changing the taxonomy rule caused the system to execute an incorrect obj-open. This has been corrected. | |
SR-D7323 | 493177 | Pin Case to Board updated to use unique IDs for different workpools | When using the Pin Case to Board functionality, it was only possible to find and pin cases in the default/current work pool of the working access group and not any other cases in any other work pools which allowed access to open/search/process. This was due to pyLabel being used to compare if a value entered was valid, which was not a unique key. To resolve this, the pyValidatePinDetails activity in Pega-Ext-Mentions-Documents, Pega-Ext-Mentions-Cases, and Pega-Ext-Mentions-Groups classes have been updated to compare pzInsKey instead of pyLabel to check for validate pin. | |
SR-D7381 | 486564 | Purge/archive locking issue corrected | Updates have been made to resolve a locking release issue for the pzBatchPurgeArchive activity. | |
SR-D800 | 487305 | Mashup error resolved with try/catch block for Microsoft Internet Explorer framelement exception | When a portal was launched using mash up, the intent tasks were not launched in Microsoft Internet Explorer when Add tasks button was clicked. This was found to be a site-specific use case only found with Internet Explorer, and has been resolved by adding a try catch block for a window.framelement exception thrown by IE. | |
SR-D8279 | 481606 | Error enhancements added to Cases API | Enhancements have been made to error handling for the Pega cases API: 1) Any error added to an activity called in case creation, for example "ValidateNew", was generating a 500 error and not being returned. This has been modified to return and display a 4XX error along with the error message. 2) 'Put' now has an extension point for validating input and adding errors, and the errors added will be returned. 3) Post for assignments now also has extension points that will fire the validation errors while calling from Rest. If set, the error will be returned by the REST service. |
|
SR-D8390 | 488001 | Handling added for runtime exception on upgrade due to inaccessible external schema mapping | If a system used external schema mapping, attempts to upgrade were failing with the error "Caused by: com.pega.pegarules.pub.database.ConfigurationException: Unable to obtain data source "java:comp/env/jdbc/PegaRULES", as it is undefined". This was traced to configuring external DADNs which were not accessible from the server where the upgrade was being run: an upgrade will fail if it cannot connect to an external datasource even if no changes need to be made to that datasource. However, because a PRRuntimeException was unexpectedly being thrown instead of a Database Exception, the exception was not properly caught and handled. This has been corrected. | |
SR-D8790 | 487285 | Corrected thread cleanup logic for doUIAction in WorkCover | When accessing a case from the worklist or opening the case from worklist and refreshing the case by pressing F5, clicking Approve resulted in a java.lang.NullPointerException error. Investigation showed that the "pyWorkCover" page that the section was running on was being removed in the top navigation portal / SDM portal as part of the thread cleanup logic in doUIAction. This has been corrected. | |
SR-D9142 | 482315 | Support added for custom JVC arguments for Cassandra | An enhancement has been added to support specifying custom JVM arguments for Cassandra. This allows uses such as enabling GC logging for cloud deployments, or to increase the native transport queue size for read-heavy deployments. | |
SR-D9482 | 484740 | Small delay added to autocomplete control | When using an autocomplete control with minimum character search set to 4, every keystroke after 4 characters triggered a REST request to populate the control. This had a negative impact on performance. In order to smooth the request process, the timing logic has been updated to allow for a very small delay on the immediate event handler. |