Pega Infinity™ includes an industry-standard 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-C29160 SR-C97889 |
419494 437541 |
Performance improvements made on bulk actions | Latency was observed when performing transfer Bulk Action on cases. Investigation showed that the "Select Action" button in pzBulkProcessingActionSection contained a refresh other section action for the pzBulkProcessingCheckbox section that executed on each row of the grid rendered. This refresh is not needed as the "Post value" action will take care of posting the selected checkbox data to clipboard, so it has been removed to resolve the performance issue. | |
SR-C39293 | 384291 | Optimization added for Oracle queries | Certain versions of Oracle may suffer from sporadic poor performance with all_constraints queries. To alleviate this, Pega has been updated to provide some processing optimization where possible in the TableInformationMapImpl function. Additional timing alert and debugging logic has also been added in this class for all platforms, especially for lookupForeignKey. | |
SR-C47100 SR-C65841 SR-C82453 SR-D2530 SR-D16884 SR-D19281 |
423998 425805 426075 445609 489355 490124 |
Added handling for cases where Microsoft Internet Explorer causes a SAXParseException | Numerous SAXParseException messages were seen in the log file, and the queryString showed the pyDeleteDocumentPg being referenced. This was traced to the method used by Internet Explorer to construct an HTTP request: Microsoft Internet Explorer sends the header and body of the request in separate TCP packets, but for an unknown reason in this case the body packet goes missing. To resolve this, a toggle has been introduced which will send the pyDeleteDocumentPg request as GET if pega.u.d.GET_REQUEST_DELETEDOCUMENT is set to true in userworkform. In a normal flow without this variable, the request will pass through the normal flow. | |
SR-C59014 SR-C93292 |
429039 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-C59769 SR-C92826 |
399683 436919 |
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-C61562 SR-C61656 SR-C87665 |
419880 422434 424610 |
CPU time will be fetched from MBeanServer instead of the JRE application to provide consistency | The value of CPU time in the Enterprise health metrics was being given in nanoseconds instead of seconds after the IBM JRE version was upgraded by applying Websphere Application Server patches. The CPUTimer is a platform class which has logic specific to different JRE vendors; in order to provide consistent results regardless of which JRE is used, the system has been updated to always fetch the values from the MBeanServer. | |
SR-C63789 | 419236 | Corrected double call to defer load activity on composite | When specifying a pre-activity in defer load, the pre-activity was getting called twice when that dynamic layout was in a Layout group. This has been corrected. | |
SR-C64192 | 415846 | Activity Run allows autocomplete control for data transform | An enhancement has been added to allow changing the control from Dropdown to Autocomplete when an activity is Run and the "apply data transform" checkbox is checked. | |
SR-C65381 | 415187 | Added check for pyType when refreshing the Declare_pyDisplay Page | The standard behavior of clicking a link in the left navigation of the Pega Diagnostic Cloud manager portal is to open a new thread which automatically adds/updates the Declare_pyDisplay Page. However, in some circumstances opening the work items and clicking the navigation link followed by a refresh/F5 from the Google Chrome browser caused the Declare_pyDisplayDatapage to become corrupted and either froze the screen or caused a new popup window to open. This was traced to a situation where the parameter "pyType" was not present in one of the cases, causing the system to rely on "harnessName" instead. To resolve this, a check has been added that will retrieve pyType from the docObj parameter page of the pzpega_ui_dynamiccontainer.js file if needed. | |
SR-C66675 | 419142 | Cross-site scripting security added to Multiselect controls | Multiselect controls have been updated for greater cross-site scripting security. | |
SR-C67397 | 421637 | Added check for missing rule data when using abstract class in CSS | Including CSS optimization with abstract class in the Advanced tab of the 'Add Optimization' Screen resulted in a Null pointer exception error. This has been resolved by adding a check for missing data from a rule to make the system more resilient in its handling of a corrupt flow-action clipboard page. | |
SR-C68069 | 416697 | Page group use added to referenced properties context for RDL | After upgrade, a stack mismatch error was generated by a previously-working configuration that used a nested RDL with a section under Work- class that itself contained an RDL with Data- property that then included a section from Data -- class which contained another RDL that referred to the Work- Page Group. This error was caused by the use case of page group being missed during implementation of referenced properties in ContextProcessor processListNode, which has now been resolved. | |
SR-C68993 | 416162 | Expression exngine correctly evaluates boolean type property with expression | Expression exngine correctly evaluates boolean type property with expression When using a dynamic layout with a visibility condition expression and 'Run Visibility Condition on client' checked, a condition such as .VehicleDetails != '' && .VehicleDetails = true was not being evaluated as expected after upgrade. This issue was related to changes made to the expression engine to get the initial evaluation result at the server side, and was caused by a missed use case for a boolean type property with expression. This has been corrected. | |
SR-C71043 | 416761 | pzSendEmail returned to revious behavior of sending separate emails to work parties | After upgrade, a change in behavior was seen when using the pzSendEmail activity. When pzSendEmail was called to send emails to work parties, a single email is sent to all recipients instead of separate emails to each recipient as it did in earlier versions. The SendSimpleEmail activity accepts a SendDiscreteMails parameter, but the pzSendEmail activity had 'Pass current parameter page' checked so the default value for the SendDiscreteMails parameter was not used. This was a backwards compatibility error, and has been corrected by setting the SendDiscreteMails parameter to true by default in the pzSendEmail activity. | |
SR-C71520 | 415398 | Robot Manager portal re-launch correctly renders the last active screen | Two problems were seen with Robot Manager: 1) Opening Robot Manager and then navigating to Workgroup drill-in screen worked as expected, but when the portal was closed and re-launched from Designer Studio, the last active screen (workgroup drill-in) was rendered but with no valid data in it. 2) Opening Robot Manager from email notification worked the first time, but when the same button from the same mail was clicked, the last active screen was rendered with blank or no valid data. This was caused by preActivity and preActivityParams not being sent in the doUIAction call during re-launch of the portal, and has been fixed. |
|
SR-C72337 SR-C82530 SR-C82268 |
414084 420610 423574 |
Atmosphere cross-site scripting Vulnerability fixed | Atmosphere has been updated to close a potential cross-site scripting vunerability. | |
SR-C73440 | 420679 | Batch Execution report performance improved, and counts calculation checkbox control added | Running the Batch Execution report in PegaMarketing was causing poor performance and heap dumps along with node crashes. If paging was enabled and the report had very large result sets, getting the total result count was a very expensive database operation. In order to improve performance, the system has been modified to utilize a new paging mode, A checkbox has also been added that allows turning on or off calculating the total result count and pagination count. | |
SR-C74054 SR-D18256 |
422024 490790 |
Handling added for summary columns in Export to Excel | When a field has an aggregate function in Report Definition, the column alias changes and is not the same as the property name. The consequence is a mismatch between the result set column name and the property name from the property list created beforehand. This results in blank fields when using the "pxDownloadDataRecordsAsCSV" activity for Export to Excel. In order to support the export of summarized columns in Report Definition, an enhancement has been added that uses the column label as an alias for aggregate fields in the native SQL builder of the exportData API to form a map between the property name and the alias name and use it while iterating over the result set. | |
SR-C74642 | 424004 | Data page reference properties will not be resolved if hidden | In order to improve code efficiency, in conditions where a text input field configured with a 'When' visibility condition references a property which is present in a data page, the system will skip the process of resolving the property name if the 'When' rule is evaluated as false. | |
SR-C74648 | 422904 | Autocomplete arrow placement corrected in Right to left local mode | When using the Autocomplete control, the blue arrow was seen to have an incorrect placement/orientation in RTL mode. This was traced to the autocomplete background-image in RTL mode being the same as that for LTR, and has been resolved by adding specific background-image for RTL. |
|
SR-C74652 SR-C74650 |
422901 422907 |
Grid alignment and headers corrected for Opportunities screen in RTL locale | When using the RTL locale, the Opportunity detail screen and search screen had grid alignment and header issues. This has been resolved by updating the py-portal-stages CSS attached to the enduser skin. | |
SR-C74677 | 418338 | ADM pulse timing changed to inprove performance on very large clusters | ADM uses a pulse that checks if any models need to be updated. This uses a Cassandra query which has no "where" clause, causing poor performance for very large clusters. For immediate relief of this issue, the pulse configuration has been updated to increase the timing from 30 to 300 seconds so it fires less often. Model updates typically happen every x hours and often the pulse will not detect any models that would need to be updated. Further improvements in this process will be available in a future release. | |
SR-C74784 | 428819 | Added file truncation to HCClient.txt to ensure data integrity | When a work object model contained more than two embedded lists, simple save corrupted the JSON in the local storage work object browser. Investigation traced the issue to using the same file without truncating its content. Because the HCClient.txt file in Rule: webwb - pzpega_mobile_settings - js was reused while displaying items in DocumentViewer, writing a smaller amount of data into it than the previous write left orphaned content in the file that corrupted the new data. To resolve this, the file content will be truncated before writing new data into it. | |
SR-C75205 | 418808 | Invalid text entry in Date control field now returns current timestamp | Inconsistent behavior was seen between entering an invalid date in numeric vs text format. Entering an invalid date in number format resulted in the system replacing the entered value with the text “Invalid date”. Entering an invalid date in text format caused the system to retain the value and not show a validation error. This has been corrected by modifying the date/time formatting for both text and numerical input to return the timestamp in case the entered value is incorrect. | |
SR-C75205 | 424475 | moment js "Invalid Date" string error fixed | Inconsistent behavior was seen between entering an invalid date in numeric vs text format. Entering an invalid date in number format resulted in the system replacing the entered value with the text “Invalid date”. Entering an invalid date in text format caused the system to retain the value and not show a validation error. This has been corrected by modifying the date/time formatting for both text and numerical input to return the timestamp in case the entered value is incorrect. | |
SR-C75397 SR-D5079 |
417291 438379 |
Handling added for empty UILabel in grid fields | When using a Datetime property with a default format, opening the filter popup and clicking on the 'select all' check box caused the format of the values to break. This was traced to ".pyUILabel" being passed as empty, and handling has been added for that in "pzUniqueValuesGridFields". | |
SR-C75497 | 427437 | Resolved "no items for filters applied" error in column filtering | When trying to filter a column, the options did not appear on the filter and the error "No items for the filters applied" was displayed. This was due to the Declarative index join being removed on save and on run even though it was referenced in the class join filters. To resolve this, logic has been added to the pzCopyPySource activity to loop through all class joins and their filters so both sides of the filter are checked for references to a declarative index join. | |
SR-C75536 SR-D3144 |
425013 438160 |
Corrected agent scheduling issue for different server time zone | When a server timezone and the agent schedule used different time zones, a server restart with cleared extract marker resulted in BIX agents no longer running automatically due to the next run showing as scheduled in the past. This was traced to the method used to compare start date time, and has been resolved. | |
SR-C75566 | 420775 | Added null check to avoid DisplayCardAccountHeader rendering issue | When the out of the box section DisplayCardAccountHeader was created by View editor and then converted to full section editor, the embedded sections were empty or not seen. This was traced to the design view javascript hitting an error which caused the design view rendering to fail. To correct this, pzpega_ud_gridlayout_model has been updated to wrap the line in question with a null check and set the value to empty string if it doesn't already exist in the model. | |
SR-C75723 | 421825 | Rollback filter query updated to handle very large classes mapped to the same history table | When rolling back the imported product file using deployment manager, the error "DatabaseException caused by prior exception: org.postgresql.util.PSQLException: ERROR: column "pzinskey" does not exist" was seen. This was traced to the rollback process picking the already processed items from the history table due to an incomplete filter query that occurred when there were more than 1000 classes mapped to same history table. This has been resolved. | |
SR-C75823 | 419474 | DSS added to handle Amazon S3 socket timeout exception | In Amazon S3, a timeout exception occurs when the socket is idle more than the default timeout value (50 seconds). In order to compensate for this, an enhancement has been added which provides a DSS “repository/s3sockettimeout” where the s3 socket timeout can be specified in milliseconds. When a value is provided to this DSS, it will override the default value of 50 seconds. | |
SR-C76412 | 425188 | Content type header removed from default inclusion in JWT token to support MS integration | In order to integrate Pega with Office365 to use the Outlook API to Send and Get messages, an access token is required as a part of Authentication process. For obtaining an access token from the Azure directory, the process is to follow the OAuth 2.0 client credentials flow which requires the generation of a JSON Web Token (JWT) with the required Header, Payload and Signature. However, because Pega adds the tag "cty": "application/json" by default, using the out-of-the-box 'Token Profile' rule to generate the JWT and pass the same in a REST call to Microsoft was resulting in a error response indicating that there was an unsupported token header. This has been resolved by removing the content type header in the JWT token. | |
SR-C76417 | 430545 | Check added for reference function in DB2 join | In DB2, when a sub-report column contained a function that was used for a join condition in the main report, an invalid filter property error was generated while saving. This was traced to the edit validate rule checking for the data type of both of the properties used in the join, and has been resolved by adding a check to see if the join operand is of function 'reference'; if so, the system will resolve the function, check for data type property, and set it. | |
SR-C76995 SR-C86126 |
418701 423259 |
CSV import for delete date values will be formatted before row processing | In order to support using CSV import for delete purposes, date/time class keys will be formatted before processing the row. | |
SR-C77121 | 423112 | Support added for CyberArk | In order to enable enterprise customers who wish to use a populate password vault, support has been added for CyberArk. The CyberArk password vault can be used with the Pega database in the common configuration patterns, and the deployment, configuration, and platform support guides have been updated with information on how to configure Pega with CyberArk. | |
SR-C77730 | 435797 | Resolved case lock release improved | Cases created through the create work object were unnecessarily holding onto locks for up to two hours. This was traced to a defer-write scenario for mobile devices which did not return the correct status needed for "no further assignments". In order to resolve this issue, a new parameter "returnNextActionInfo" of type boolean has been added to svcPerformFlowAction. This parameter will be always set as false when calling this activity from sync up so all locks will be closed and released. | |
SR-C78006 SR-D520 SR-D14573 |
425510 435485 485986 |
Wait corrected for sub case after reopening | A re-opened parent case was not waiting for the sub case when a sub case was reopened, but it did wait if there was no sub case on the reopened parent case. This has been resolved by enhancing the system to better handle the reopen of activator and dependent work objects by checking the reopen time: - pzGetAllStatusforDepClass activity: added step 2 to consider activator reopen time - pzGetMessageKeysForFlowDependencies list view: added criteria to filter on reopen time |
|
SR-C78674 | 427065 | Pages removed from pagelist while offline sync properly | After removing pages from a pagelist in the mobile app while offline, the removed pages were restored and sometimes duplicated following an online sync. This was traced to deep copy parameter not deleting entries in the canAdvance API, and has been corrected. | |
SR-C78956 SR-C96743 |
424433 433616 |
cross-site scripting improvements for modal dialog | Cross-site scripting protections have been added to pzDisplayModalDialog. | |
SR-C79482 SR-C97656 |
424535 436039 |
DSS added to allow custom timeout for BIX query | The BIX query to retrieve the blob column was taking up to 60 seconds for large volume, causing timeouts. Previously, the extract defaulted to using repost pzSample which is internal/final and has a default timeout of 30 seconds. In order to avoid timeouts, the new DSS "BIX/selectQueryTimeout" has been added to allow setting a custom value. | |
SR-C79523 | 421039 | Updated the documentation for enabling debug logging during upgrades | The documentation regarding enabling debug logging during upgrades has been updated to reflect the following information: To enable debug logging during installs, upgrades or prpcUtils invocations: The template logging configuration for installs, upgrades and prpcUtils is located within the scripts/config directory of the Pega Platform distribution. To change what gets logged, modify the prlog4j2.xml file (refer to https://logging.apache.org/log4j/2.x/manual/configuration.html#XML). Some of the utilities involved in the install and upgrade processes use java logging. To impact what is logged by these tools, modify the deploylogging.properties file in the same directory. |
|
SR-C79540 | 435150 | Corrected report harness popup display 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. | |
SR-C79851 | 430383 | Filter logic updated for Warning Summary guardrail report | After scheduling a Guardrail report for Warning Summary, the warning summary reports received in email were blank irrespective of the filter criteria. The logic filters have been modified to resolve this issue. | |
SR-C80050 | 417605 | Schema name made consistent for DDL generation | A platform upgrade failed if there were application schemas configured with a table configuration that specified a schema other than the rules schema. This was an issue caused by the generated DDL having the incorrect schema name for the table due to the name being hard-coded in the Data-Admin-DB-Table entry definition. The system was using this schema name to find the table and generate the correct changes, but the SQL statement used the table from the database connection instead of the override. When the XML that represents the difference between the "source" and "target" state is generated, the system is supposed to replace the schema name with the target schema name. However, if the source schema name is blank that step was skipped in order to defer to the connection for shipped tables. In order to ensure that the system can generate the correct DDL and complete the upgrade, the system will now always replace the schema name regardless of the source or target value. | |
SR-C80076 | 419093 | Added check before deleting pxObjClass to avoid agent runtime exceptions | When the rule was not assembled, agents were failing with exceptions. During label control assembly execution, standard attributes for label assembly including pxObjClass are removed from the cell page. There is a catch for the exception during cell trimming for browser requests, but the customer agent was failing because UnmodifiablePropertyException is a runtime exception that sets the step status to fail. This has been fixed by adding a check when attempting to delete a property from Clipboard page: if the property is pxObjClass, it will not be deleted. | |
SR-C80129 | 421415 | Data type search adjusted to handle text query | After creating a data type and adding a class join and then delegating the data type to a user, the data type search bar in the configuration tab was not working. This was traced to the decision search filter using "=", which did not handle a text query. This has now been changed to use "Contains" to resolve this issue. | |
SR-C80129 | 425385 | Enhancement added to hide class join warning from end user | An enhancement has been added to hide the joined class warning message at the end user portal if the section pzManageRecords is delegated to the user. This is done by by checking pxLimitedAccess on the pxThread clipboard page. | |
SR-C80215 | 421848 | Migrated Data Flows open correctly from the data flow landing page | After upgrade, Data Flows made in an earlier version could not be opened from the data flow landing page. Instead, a generic error screen was displayed and an NPE on activity pxMigrate was logged. This was caused by a missing null pointer check, and has been corrected. | |
SR-C80388 | 423760 | 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-C80948 | 421764 | ProfileLink control updated to resolve opening issue | The profile was not opening when the Operator Profile link was clicked. This was traced to certain functions having been moved to javascript files that were not included by default in the ProfileLink control. To correct this, the control has been modified to include the needed javascript files and the appropriate references have been updated to match. | |
SR-C80958 | 419199 | Added check for appname to avoid HarnessFail execution error on Mashup reload | A HarnessFail execution error was occurring on Mashup reload. This was caused by the appname being appended twice during the reload, and has been resolved by adding a check to the _finalizeNavURL method in the PegaCompositeGadgetMgr.js file to remove appName if it is present in the URL to prevent duplication. | |
SR-C81077 | 428868 | Support added for using OpenMobile app as a Navigation action | After adding a menu item to the pyCaseWorkerNavigation navigation rule that was configured to use the open mobile app action with a mobile app ID of opensignal, the menu item was displayed in the mobile app but clicking on it did nothing for the user and the JavaScript console logged the error "Cannot open mobile app without scheme". The same action worked as expected when called from a button. This was traced to the "OpenMobileApp" action not containing support for being used as Navigation action, and the necessary code for that use has now been added. | |
SR-C81185 SR-D653 |
427994 437120 |
Accessibility enabled Layout group tabs browsing corrected | When using Layout group (Tab) or a Tabbed Layout for viewing client information in Tabs with Accessibility enabled, the system was reading each tab and its content but then focus was returning to the browser and tracing through all elements before moving on to the next tab. This was traced to an incorrect tabindex setting in the pzpega_ui_template_layout_header file, and has been fixed. | |
SR-C81403 | 423680 | Async loading added for section includes to resolve content type exceptions | The pxGuardrailsGadget on the Designer Studio Home tab was generating POST requests to the server with the Content-Type header set to indicate application/x-www-form-urlencoded as the body type when the actual body was JSON text. This generated a policy exception during F5 ASM packet inspection. To resolve this, the system will instead request to defer-load the sections using asynchronous data pages. To configure this: -> Create a readonly data page with requestor scope (This will be considered as an async data page). -> Include a section in a parent section and set the above data page as using page. -> Enable defer load option for the included section. With this configuration, the system will load the parent section and then issue a request for any defer-loaded section(s) which use async data page(s) and bundle them if necessary. After receiving the response for one or more defer-loaded sections back, the system will continue to ask for any remaining sections in the bundle using a long-polling AJAX request until all defer-loaded sections have received a response. |
|
SR-C81410 | 422136 | Radiobutton aria-label enhanced to retrieve localized field value | Localization code has been added to the pzpega_ui_template_radiogroup file to support using RadioButton aria-labels for Field value. | |
SR-C81653 SR-C89040 |
428450 438827 |
Calling flow correctly resumed after sub-process completes | If a case was processed via Operator1 and passed as an assignment to a workbasket where Operator2 picked it up and performed a Reject case on it, the process in Flow1 correctly called Flow2, but once Flow2 was processed Flow1 was not resumed. If Operator2 only performed the Reject processing, Flow1 was resumed. To to ensure the correct flow resumption, the location of the pyFirstRun setting in flowMethodBody FUA has been updated. | |
SR-C81829 | 425617 | pxCoveredCountOpen value decrease corrected | When a flow reached the resolved stage (Resolved-Withdrawn), pxCoveredCountOpen was reducing the count by 2 instead of 1, eventually causing the value to go negative and prevent any further work objects from being marked as Withdrawn. Investigation showed the "Update status" activity was being called twice due to the Temporary WorkPage used to delete assignments persisting and appearing as a duplicate pyWorkPage. This caused an issue when using findPage by pzInsKey. To correct this, the "pxDeleteAssignmentsForWork" activity for Step-15 has been modified to explicitly remove the temporary WorkPage after the assignment is deleted. | |
SR-C81855 SR-C96547 |
421402 436157 |
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-C81857 | 420241 | Enhancement added to support dropdown with page list property | To enable the use of a dropdown control with a property of type page list, an enhancement has been added to support a clipboard page for drop down and autocomplete. | |
SR-C82059 SR-C68134 SR-C68134 |
423070 423616 423618 |
Support added for configuring key stores using prconfig or system properties | Previously, stream service only supported key store and trust store configuration using Data-Admin-Keystore instances. Unlike cluster encryption, it did not allow the configuration of key stores using prconfig or system properties. In order to align Stream service SSL configuration with the rest of the platform, support has now been added for the following system and prconfig properties: -Dpega.cluster.keyStore -Dpega.cluster.keyStorePassword -Dpega.cluster.trustStore -Dpega.cluster.trustStorePassword |
|
SR-C82244 | 421172 | Enhancement made to allow passing of URL in actionset via the DX API | When using the action "Open URL in Window" and the option "Use Alternate Domain" to pass a URL that is in saved in a property, the name of the property was passed when using the DX API instead of the URL. To allow this use, an enhancement has been added to support storing a last submitted value and a reference so that an action set with a property reference can return a reference object with lastSavedValue and the reference name attached. | |
SR-C82254 | 421055 | Support added for saving draft survey flows in production level 5 | With production level set to 5, creation of a survey was generating two errors: in UI, "Default survey flow creation failed", and in trace, "Update record failed: .pyDraftModeON". Because in most cases Survey authoring would be done in a system with a lower production level where users would not see any issues, the code did not include support for saving draft mode flows when the system was set to production level 5. This ability has now been added to support this use. | |
SR-C82408 | 422326 | Repaired instance insertion for REST connection invoked via Queue | After upgrade, the REST connection invoked in an activity which in turn called out-of-the-box ProcessQueue was not getting the response into the SYSTEM-QUEUE-EXECUTIONREQUEST-CONNECT-CREATEBOOKING instance. The right response was observed coming from other source systems in the logs, and the work object status also changing as expected. This has been resolved by exposing a DSS to revert to the old behavior of Response being present in the queueItem when a connector is queued for execution. | |
SR-C82480 | 421486 | Column Headers properly aligned after expand/collapse of Tree Grids | When using a hierarchical table - tree grid with a configuration that included Width of content-Pixels(Fit Content), a Fixed (pixel) size grid, and Freeze Header, expanding and collapsing back the contents resulted in a misalignment of the column headers. The fixed header implementation makes use of multiple table layouts which have to kept in sync via javascript; this issue has been resolved by rewriting the fixed header implementation to call setHeadersWidth on expand/collapse of a treegrid row. | |
SR-C82549 | 422846 | Check added to getRuleNameFromInsKey to clip version name from rulseset name in the dataflow | After changes were pushed to the datasets, dataflows were failing on a DT2 environment with an error related to rule resolution and a failure to find a specific property. The dataflows did not fail on a DT1 environment. Investigation showed that if the ruleset name was empty and the ins key was used to get the rulesetname, a mismatch occurred with the returned value due to the version information being included in the name. To resolve this, when a rule name is retrieved by getRuleNameFromInsKey, the system will check if aObjClass is Rule-RuleSet-Version. If so, the version part will be trimmed. | |
SR-C82619 | 421023 | JavaILCompiler updated to skip a type convert when generating code for a ternary operation | A compilation error was generated when attempting to save a Data Transform with a java expression giving the ternary as boolean. In this case, the pyWorkPage.Channel was set to @java("tools.findPage(\"TempInputAccelPage\").getProperty(\"Channel\").getMessageCount()>0") ? "" : pyWorkPage.Channel. The system previously used EL code generation, which had a gap which allowed such expression to work. Since the system now uses IL code generation, this expression failed. In order to ensure backwards compatibility, logic has been added to JavaILCompiler to skip a type convert when generating code for a ternary operation where the source is ILProgramText (java expression). |
|
SR-C83058 | 424153 | Assertion parse rule XML regenerated to resolve data mapping issue | The parse-xml rule(NS-366601360 • Assertion) has been regenerated to resolve an assembler issue with mapping data to properties. | |
SR-C83615 | 424945 | Support added for hiding unwanted category reports | After upgrade, a customization used to hide unwanted out-of-the-box category reports was not working. This was due to the pyServiceLevelPerformance and pxSimulations category rules not being included as part of the pyOOTBVisibleInBrowser 'when' rule that is specified for Display in the report browser 'when' setting. These two category rules - pxSimulations and pyServiceLevelPerformance - have now been modified to reference the 'when' rule pyOOTBVisibleInBrowser so categories may be hidden as desired. | |
SR-C83739 SR-D18217 |
427242 489810 |
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-C83808 | 421297 | FIRST aggregate in bucketed window fixed | FIRST aggregates were not giving the correct results if used in a Sliding Time window together with an average aggregate. This was traced to an incorrect implementation of FirstAggregatorHolder.substractAggregate which used propertyIndex to get aggregate value (which was not correct in this context), and has been fixed by using the correct index in FirstAggregatorHolder class. | |
SR-C83899 | 421067 | Alternate RD added for sub class union that will skip blob open | The screen load was taking 4 seconds or more to load when a parent case had 500+ child cases, leading to timeouts and issues with case processing. This was caused by the system performing a database open of all the child work items for building the tree: because different child items are mapped to different work tables, a single RD would not suffice for fetching all child items. This meant a work record was opened and child inskeys grouped into different groups based on table mappings, then the RD was called multiple times to fetch the details. To resolve this and avoid blob open, a report definition that performs a union on all sub classes has now been put in place. Execution is based on a parameter to avoid any backward compatibility issues. This is used by overriding the 'pyPopulateCaseContentsWrapperExtension' data transform and setting param.useOptimizedQuery to 'true' to override the database open. | |
SR-C83915 | 421167 | Enhancement added to support property reference name for section include | When requesting the view of a section from a repeating dynamic layout where the name of the section is taken from a property, the DX API returned an error on the tracer indicating "Invalid value for aReference passed to com.pega.pegarules.data.internal.clipboard.ClipboardPageImpl.getString(String)". This has been resolved by adding an enhancement to support using a property reference for section include. | |
SR-C84021 SR-C89316 |
425049 426076 |
Lower major ruleset versions will not be considered during design time validation | After circumstancing a rule by property and withdrawing the rule in higher version, the same rule was circumstanced by template. Later after major skimming, attempting to perform a save-as of the circumstanced template rule resulted in an error stating that the circumstanced property already existed. During design time, the system validated the rule with rules from all other ruleset versions. In this corner case where a property-based circumstanced rule was withdrawn and then skimming was performed, the error occurred because it was being saved in a different major ruleset instead of into the same major ruleset. In order to better handle this condition, the system will not consider rules from lower major versions during design time validation. | |
SR-C84033 | 422744 | Added handling for legacy page adaptors to get all messages | If a validation message was present on the Clipboard, the front-end screen was turning blue and displaying the error "There has been an issue, please consult with administrator". This happened when getMessagesAll was called for pyWorkPage and an auto-populate property was present in the embedded pages/properties. To resolve this, cast has been removed when getting all messages and a new API has been added for legacy page adapters to get all messages. | |
SR-C84116 | 423755 | Added container handling to make optimized grid table visible in action top | After upgrade, if the Optimize code checkbox was checked on a table and visibility was applied over grid header, the table was not visible in the UI. This scenario only happened when a grid was upgraded from non-optimized to optimized with some visibility condition added, and was caused by the system not yet supporting the visibility features in action top for an optimized grid. To resolve this at this time, the system has been updated to not honor the visibility at container for an optimized grid so the table will be visible. | |
SR-C84135 SR-C79017 |
424530 431816 |
Metadatatree updated to be function-scoped in UI to resolve custom tab control display issue | When switching rapidly between two custom tabs, especially clicking in and then clicking away before the busy icon could be displayed, the section containing the tab controls was intermittently refusing to display. Refreshing the browser or clicking on the Pega button made the section visible again. This was traced to the template "metadatatree" getting overlapped with subsequent template processing due to a timing issue as "metadatatree" was being maintained in the global window object. To resolve this, "metadatatree" has been updated to be function-scoped in renderUI to avoid timing issues. | |
SR-C84167 SR-C84167 SR-C84167 SR-C84167 |
422476 426093 439880 490082 |
Corrected issue with Field Level Auditing re-adding deleted page list items | Pressing a Save button that invoked the pyTrackSecurityChanges data transform caused deleted items to be added back to a page list. This was caused by pyPropertyIndex being set on the removed page in RUF-pzAddHistoryMemosForPageList, and has been corrected by removing that unneeded action. | |
SR-C84231 | 422665 | Merge multiple branches tool updated to resolve selection error | When an application was configured to not allow branches to be merged without being reviewed, the "Merge multiple branches" tool did not allow any branches to be selected even if they had been reviewed. This was traced to the pzLoadBranches activity using local.reviewStatus even though the local variable was not required in this case. To resolve this, the activity has been modified to use Param.reviewStatus to pass the parameter page to pzSetBranchReviewStatus activity. If the 'when' rule pyAllowMergeWhenNotReviewed is set to false, the checkbox will be enabled for branches which are reviewed. For branches which are not reviewed, the checkbox will be disabled and the message "Please review the branch before merge" will appear. | |
SR-C84294 | 422375 | Pagination repaired for RD using alternate database | On selecting "Use alternate DB" option available in Report defenition and fetching the results of the RD to a grid, the results were not being fetched from the alternate DB but were fetched from the Pega DB only. This was traced to the property pyUseAlternateDB being overridden in step30 of pxRetrieveReportData activity. This step is skipped if it's report viewer, so if the same report is invoked from report viewer iit worked properly. To resolve this issue, the system has been modified to skip the step30 not only for report viewer but also if Param.pyUseAlternateDB is empty. | |
SR-C84361 | 437599 | Added handling for better recovery and reset when using 'When' conditional row deletion | Given a 'When' condition configured so that a specific row could be deleted, trying to delete another row resulted in the expected error indicating it was not possible to delete that particular row. However, attempting to then delete the row with the 'When' condition caused the same failure error to appear which could not be cleared through clicking on the Refresh button for the section. In order to resolve this, handling has been added for a scenario where Obj-Delete fails and the record is marked for deferred commit. In this situation, the system will revert Obj-Delete by way of Obj-Save-Cancel in @baseclass.pzDeleteRecord so that a subsequent Obj-Delete does not pick up the previous record and fail again. | |
SR-C84384 | 430962 | Logoff control for Sales Automation case worker portal updated to clear states | After logging in to the Sales Automation case worker portal and clicking a menu item other than dashboard, the link was properly highlighted in the navigation menu and the appropriate data was loaded in the harness. However, after logging out of the application and logging again as the same user, the portal opened to the dashboard page and the previously clicked link was highlighted instead of the dashboard link in the left navigation menu. While it was possible to reset the menu state by closing the browser and starting a new session, the issue has been resolved by updating the logoff control for this portal to use the general system control_logoff which clears states on exit. | |
SR-C84609 | 424883 | CustomFilter clipboard page now retained after section submit | When a Report Definition was configured to display filters using a custom section, selecting the filter property value and submitting the section resulted in the CustomFilter clipboard page being deleted automatically. In order to prevent the clipboard page from being immediately cleaned up by the doUIAction activity, a step has been added to the pzCreateCustomFilterPage activity that will set the pyRetainPage property to "true". | |
SR-C84643 | 423854 | Logs now support RandomAccessFileAppender | Support has been added to the LogFileDownload and LogViewer HTML final rules for using RandomAccessFileAppender. This is in addition to the existing support for RollingRandomAccessFileAppender and RollingFileAppender. | |
SR-C84649 | 422543 | Consecutive PreJS properly triggered after Save & Refresh Harness | Consecutive PreJS were not being triggered after using Save and Refresh Harness on Android HC. For example, creating a survey case would trigger PreJS for Name, but after using Save and Refresh Harness the PreJS for Gender was not triggered. This has been corrected by modifying the catch and callback for handling failures on the display harness save. | |
SR-C84788 | 422936 | Handling added to maintain custom modal template name after errors | When using a grid where each grid row had an Edit button which launched a modal dialog with a custom modal template, the post action activity of the flow action introduced error messages on a top level page (not on primary or pyWorkPage). Clicking the submit button again caused the modal dialog size to shrink and not work after that. This was traced to the second submit using the system's pyGridModalTemplate instead of the custom modal template due to the modal submit button being replaced with new markup. To resolve this, the modal launch will now use the "pega.u.d.submitModalDlgParam.modalSection" variable which will have the modal template name. In addition, a check has been added to ensure this is not passed as null. | |
SR-C84921 | 424316 | Connection Manager uses keyring for null prconfig password | After upgrade, credentials from BIX keyring were failing when using BIX via commandline rather than prconfig. This was traced to a behavior change in the Connection Manager, and has been resolved by modifying the Connection Manager to look up the password from the keyring when given a URL configuration where the password is null in prconfig (URL connection only). | |
SR-C84939 | 428565 | setTenantName API exposed in the rules alyer | In order to support more efficient message ingestion in a multi-tenant environment, the setTenantName API has been exposed in the rules layer. | |
SR-C85035 | 421946 | Added getIfPresent check for Field Value parameters with pzAPICreateJsonForView | Calling pzAPICreateJsonForView was altering case values if localized field value parameters were added. This has been corrected by performing a getIfPresent and getIfString on the property pyFieldValueParams so field value parameters will not be added to the main page if they're not present. | |
SR-C85096 | 423235 | cross-site scripting check logic updated for pyPosition | Additional logic has been added to prevent the injection of javascript into script tags while rendering Smart Tips. | |
SR-C85312 SR-D2240 |
424036 438452 |
Check added for custom section use in Summary report exported to Excel | Criteria were missing when Export to PDF was used for Summary reports filtered by a custom section. This was caused by the needed pyQueryTokenList not being repopulated for the export in the case of custom section use, and has been resolved by adding a summary report check in the pzIncludeCustomFilterSection section before invoking pzClearRDTempFilters function. | |
SR-C85315 | 422728 | New Activity added to ease cleaning up Thread-level data pages | It is an expected behavior that the system will not automatically remove read-only data pages, as the decision of which pages need to be removed is system-specific. However, it was noted that an accumulation of Thread-level Data Pages may eventually cause performance degradation. In order to make it easier to clean these up, the new extension Activity "pyRemoveThreadLevelPages" has been introduced that is called from the DoUIAction activity. | |
SR-C85752 | 425072 | New MaxFileSize extension point added for pyMaxFileSizeViolation | A severe guardrail warning was raised when saving the activity pyMaxFileSizeViolation into a ruleset. This was traced to the CheckForWarnings Activity of Rule-Obj-Activity which checks if any activity referenced is an internal activity. Activity pyMaxFileSizeViolation was calling the internal pzGetCMMaxFileSize activity, and the warning appeared because the py activity was overridden in the application ruleset. To resolve this and add an extension point, pzGetCMMaxFileSize has been modified to a new data transform called pxGetCMMaxFileSize, which is called in pyMaxFileSizeViolation. | |
SR-C85853 | 425287 | Currency codes updated | The list of Currency Codes has been updated with the latest ISO changes, including Venezuela and Sao Tome & Principe. | |
SR-C86133 | 426387 | Logic updated to resolve Strategy Parser error using dateTimeToBigDecimal | After upgrade, a Strategy run was failing with a SemanticAnalysisException error indicating "Type Mismatch in node 'ILTernaryOperation': False branch does not equal return type (DECIMAL ==> DATETIME)". Upon investigation, the issue was traced to a property set component with an expression using the "DateTime•dateTimeToBigDecimal Pega-RULES:08-01-01" function. To resolve this, the logic has been modified to set the return type of ternary node from the Java type, and to check that True and False branches match this return type as well. | |
SR-C86138 | 431775 | Security updates for avatar upload function | Updates have been made to enhance security around the avatar upload function. | |
SR-C86213 | 424583 | Corrected PRAuth URL handling for sessions on restarted nodes | If a user session was in progress and the node restarted, attempting to refresh the session when the node came back up was not working. Launching a new browser session cleared the problem. A trace showed that the Authentication Selector screen was not loading because the PRAuth URL redirection was going into an infinite loop, and this has been corrected. | |
SR-C86260 | 424927 | RecordsEditor Section- Parameters for HideDelete and HideAdd held on clipboard for use | On initial load of a RecordsEditor section, the delete and add options were properly hidden from the user. After using any sort option on any column, the parameters were not persisted and the delete and add icons became visible. To resolve this, the implementation has been updated so that the pyHideDelete and pyHideAdd parameters will be read from myParamPage on the initial load and saved on a clipboard page for use. | |
SR-C86457 | 482105 | Handling added for identifying and passivating disconnected Requestors | An issue was seen with restarted nodes where disconnected Requestors were not being properly passivated due to Passivation Blocker permissions persisting with a non-zero value. Requestors are passivated only if permissions are zero. To correct this, code has been added to identify and correctly reset permissions for Requestors that have not been properly decremented to zero. | |
SR-C86589 | 436265 | Added explicit thread cleanup to resolve case worker portal UI rendering problem | Creating a case in the case worker portal was resulting in the respective screen being rendered with a distorted UI. This was traced to an issue in topnavigation where the thread was being changed to a base thread and skipping the FlowModalProcess thread removal when the new DC action was triggered. To resolve this, the system has been modified to append "$FlowModalProcess" in harnessOnBeforeUnload if it is missing to make sure the FlowModalProcess thread is removed. | |
SR-C86607 | 436440 | getProperty API updated to use the pega.ctx.dom API for get element by name | When multiple tasks (S- Cases) were added from an interaction (I- Case) and the Service Cases had three auto complete controls which were sourced by parameterized data pages, it was expected that upon selection of the first auto complete, the second and third auto complete values would be populated. However, parameters passed to the Data Pages from the second and third S- Cases, had the same value as the first S- Case even though the clipboard was correct. Investigation showed that with MDC, the pega.util.dom API was failing to get the correct dom element and the needed data pages were not called. This has been corrected by updating the getProperty API to use the pega.ctx.dom API instead of the ega.util.dom API to get element byname. | |
SR-C86770 SR-C89656 |
426050 426424 |
Case urgency value will not be reset when processing wait shapes | When a Wait shape was configured with the ‘Users can choose to continue process’ option unchecked, the overall work object SLA urgency was overwritten to 0 when the SLA processed the Wait shape. This was due to the Wait shape using pzWaitTImer, which has all urgency values as 0. The SLA being set to 0 did not occur if ‘Users can choose to continue process’ was checked on the Wait shape because pxSystemFlow was not set to true in that case. To prevent the SLA override, a check has been added that will skip setting the urgency setting if there is a wait shape. | |
SR-C86952 | 428816 | Viewing screen capture attchments no longer requires Microsoft Internet Explorer/Silverlight | Previous versions of the Pega Platform required the use of the Microsoft Internet Explorer browser with Silverlight to access old attachments added using the screen capture feature. In order to support multibrowser compatibility, the system has been updated to use javascript functions to display these images so IE/Silverlight are not required. | |
SR-C86972 | 429208 | Resolved error in editing flow rule assignment shapes | The submit of an assignment properties modal window was not closing the modal, and instead opened a new window with an error page indicating a NullPointerException. This happened whether or not there were changes made to the assignment properties, and occurred for the assignment shapes on any flow. This was traced to a UI limitation in the backward compatibility of the "parent.parent.pyWorkClass" property which caused the property reference to not be resolved for hidden controls in client side template. To correct this, updates have been made to "pzAssignmentTab" (in Data-MO-Activity-Assignment class ) and "pzPropertyPanel" (in Data-MO-Activity-Assignment-WorkAction class). | |
SR-C87309 | 430089 | Shortened cleanup time for unauthenticated requestors | Any type of probing done to the system with a public URL was generating many unauthenticated requestors that had a one hour lifetime if the user hit /PRAuth and left before reaching the postAuthenticationActivity. In order to speed cleanup in such cases, the system has been updated to ensure the postAuthActivity that sets setShortTimeout(true) is called even if the authentication isn't completed. | |
SR-C87363 | 427063 | Post-merge message expanded for locked application | When the Application rule required a password to update, merging a branch caused the system to display the error "Fail to complete merge - see errors below". However, no errors were displayed and the branch was merged successfully. The error was intended to indicate that when the application was locked, the branch would not be deleted after the merge. In order to clarify, this, the error message has been expanded with the following: "The application that contains this branch or branches is currently locked. Unlock the application if you would like the branch or branches to be automatically removed from your application after merge." | |
SR-C87399 | 426184 | pzEditSkills activity updated for better skill matching | In the pzEditSkills activity, a select skill is added to the operator. A check is made using a comparison of pyRuleName equal to pySkillLabel to see whether this skill exists in the system; if it exists it is directly added to the operator profile, and if it does not it is created and added to the operator profile. However, pyRuleName uses a short skill identifier string, for example ‘XML’ whereas pySkillLabel is the longer human readable string, for example ‘XML programming skill’. Therefore, it was possible for Pega to determine the skill did not exist and proceed to creating a new skill with pyRuleName equal to the pySkillLabel of the existing skill in the first available unlocked ruleset. In order to ensure the proper matches are made, the pzEditSkills activity step 4.1 has been modified to get the rule name instead of skill name. | |
SR-C87463 | 432613 | Required image replacing Mandatory Asterisk displays correctly | After creating a mandatory text input field in a section and uploading the required image in place of the default image, the previous default image was still displayed in the portal even after clearing the browser cache and /temp folder on the app server. This was caused by the CSS rule 'pzbase-div-layouts' using specific selectors that had a hard-coded content hash for the image, which has been corrected. | |
SR-C87757 | 431643 | Country Code for Austria saved correctly | When trying to save an address with CountryCode=AT, the code was saved as "at" instead. This was caused by a temporary field value not being correctly cleared, and has been resolved. | |
SR-C87809 | 426461 | Checkbox control formatting handling improved | Changing the Control format of a pxCheckbox was not properly reflected in the optimized CSS during Preflight optimization. Investigation showed that the Preflight crawler for pxCheckbox was picking up the checkbox's label format and not the control format (shown in the property panel dropdown as Standard, charts, lists, and summaries). To resolve this, the crawler's handling of pxCheckbox has been updated to ensure the proper checkbox control format and associated label formats are reported out. | |
SR-C87873 | 435585 | Race condition handling added to resolve stuck class loader threads | A JVM became unresponsive after new JVM traffic was brought in. In reviewing the threaddump, there were hundreds of threads that originated from PRClassLoaderDB.getDefinitionForName or PRClassLoaderDB.getorCreateDefinitionForName found in a "stuck" state waiting on a condition. Investigation showed there was a thread deadlock caused by the system loading class definitions while an external resource was asking for a snapshot of the resources being loaded. This has been resolved by adding handling for the race condition. | |
SR-C87881 | 427101 | Additional dropdown options exposed for RD column definitions | When using Column formatting in Report Definition ruleform, the "Negative format" option was losing its custom style after opening and submitting the "Format" popup using the magnifying glass. This was caused by the submitted popup overwriting the inherited style reference. Previously, the style ref options were hidden from the dropdown because the same UI is shown in the ruleform and the end user portals and the desire was to avoid end user confusion. In order to support developer use, pzPopulateNegativeFormat has been updated to expose the missing options in the dropdown. | |
SR-C87986 | 428572 | Resize handle correctly changed for RTL locale | When the locale was set to RTL, dragging sections to the left caused a resize and dragging sections to the right moved them to the left. This has been resolved by ensuring the resizable handle for workarea is correctly changed when the locale is RTL. | |
SR-C88015 | 427060 | 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-C88178 | 414108 | docx4j jar updated for compatibility with Office365 | After generating a docx file with Office365, an error appeared indicating the document had invalid XML data and couldn't be opened. Once the error message was dismissed, the file could be opened normally. This was caused by an incompatibility between Office365 and the Plutext docx4j jar, and the Plutext jar has now been updated to version 6.1.1 to resolve this issue. | |
SR-C88236 | 428787 | Debug logging added to HTTP API for improved diagnostics | Debug loggers have been added to the HTTP API to provide more complete diagnostics for an error where users are redirected to login screen after providing valid credentials. As a workaround, restarting the node server will resolve the login issue. | |
SR-C88309 | 426997 | Tooltip added for data table refresh icon | An enhancement has been added to provide a tooltip for the refresh icon during data table edits. | |
SR-C88711 | 439595 | Handling added for exception caused by empty page list | Attempting to map an auto-populated pageList property in a data transform was throwing a java IndexoutofBoundException. Investigation showed that the system was trying to access the second element of an empty Page List. To resolve this, the system has been updated to use a flat list DataProvider which will return null if the list does not exist rather than return a list that is not associated with the parent page. | |
SR-C88776 | 428379 | Added check for blank Value List Property referenced in Dropdown Control | When a value list property was referred in the Dropdown control, the dropdown was shown as empty. This was traced to a property of type value list / value group, ClipboardProperty.getName() api returning as empty. To resolve this, a check has been added to ensure the value is populated with the correct property name if it is blank. | |
SR-C88882 | 431067 | External mapping definitions will be used for exported property names | Under the "External Mapping" tab on the class definition, if the property names specified were not the exact format as the column names defined in the database table, an exception was generated when using the "Export" feature. For this functionality, the system was generating an SQL which used the property names instead of column names. This resulted in an invalid column exception and the export did not work. To correct this, updates have been made to NativeSqlApiResolver in the function resolver to check for the property name and replace it with mapping defined in external mapping. | |
SR-C88948 | 426226 | Command-line BIX extract properly exits with failure status if the rule is not found | Running a BIX extract from the command line was returning 0 for both success and failure. This was caused by the error message in this scenario not properly setting the flag if an extract rule did not exist, and has been corrected to ensure the command exits with status code 1 if it is not able to get the list of extract rules. | |
SR-C89135 | 434746 | Formatting tag updated to ensure skin rule styles are correctly applied | After a style was configured in the skin rule for TABS laouts -> Repeating Formats, the configured style was not being correctly applied to the skin. This was related to the anchor tag not picking up the changes, and has been resolved by replacing that with a span tag. | |
SR-C89156 | 429485 | Blank paramter passed as inshandle invokes NoWorkID harness instead of exception | In releases prior to 8.1, the Obj-Open-By-Handle method was used to set an ActivityStepStatus error if a blank parameter was passed as inshandle. The activity step 8 would show as failed and invoke the NoWorkID harness. As of Pega 8.1, the code was refactored and modified to throw an InvalidArgumentException and quit the activity. In order to ensure better backwards compatibility, the error handling has been reset to show the NoWorkID harness when instanceHandle is empty. | |
SR-C89250 | 429741 | Guardrail score ignores test rulesets | Test rulesets for a branch were unexpectedly being considered when calculating the Guardrail score. This has been corrected. | |
SR-C89463 | 433820 | Corrected tab name handling in Report Browser | When using the report browser, refreshing the page after subscribing and unsubscribing to a report changed the tab name to the task id (eg. "PX-ST-123") and an extra tab appeared. This has been corrected. | |
SR-C89504 | 435565 | Multi-Select values visible in read-only | The Selected Multi-Select values were not seen on the read-only review screen. This has been corrected. | |
SR-C89541 | 430728 | Case Manager email correspondence opens when encryption and obfuscation are used | If the urlEncryption (true) and submitURLObfuscation(required) settings were enabled, it was not possible to open correspondence emails sent in Case Manager portal. No issue was seen when submitURLObfuscation was set to "optional" (which allows the server to accept URLS with either clear-text or obfuscated strings). Investigation showed the obfuscated values for pyActivity were not part of the HTTP request generated when the Data-Corr-Email attachment is clicked, leading to the system blocking the pop-up window request. Because bEncryptURLs, which is being set in the fragment DesktopWrapper_Variables, is not available in the harness context, the SafeURL method toURL therefore was not encrypting the URL. This has been resolved by setting both bEncryptURLs and pega.ctx.bEncryptURLs to true in the HTML fragment. | |
SR-C89576 | 435837 | Enhancement added to track list based report definitions for statistics | In order to expand the use of pyDefaultReport for Log-ReportStatistics, an enhancement has been added to pzPopulateListReport to call the pzPopulateStatisticsInfo activity with the required parameters to enable tracking of list based report definitions so they can be included in the report statistics table. | |
SR-C89619 | 429573 | Custom section filters retained during refresh | Filtered values were not retained on refresh when filtered using a custom section. This has been resolved. | |
SR-C89628 | 430884 | Correct values are selected in auto-complete in list configuration after scrolling | When a value from the second page of the source list in the auto-complete was selected, the prior value was getting selected and posted. As an example, if the (n)th value was selected by scrolling down the results in the list, the (n-1) value was getting selected and posted to clipboard. Investigation showed this occurred if autocomplete was configured with allow free form input ' no', and that results were not getting selected properly after first scroll when using list configuration. This has been corrected. | |
SR-C89675 | 428597 | Case name caption security inserted | In order to protect against the possibility of executing malicious JavaScript code by entering an appropriately modified name while adding new case type, pyCaption in menu items has been made HTMLSafe by converting JSON through the GSON library. Additional handling for Firefox has also been added to normalize tabName to properly display Recents. | |
SR-C89677 | 432537 | Optimation added for Oracle queries | Certain versions of Oracle may suffer from sporadic poor performance with all_constraints queries. To alleviate this, Pega has been updated to provide some processing optimization where possible in the TableInformationMapImpl function. Additional timing alert and debugging logic has also been added in this class for all platforms, especially for lookupForeignKey. | |
SR-C89954 SR-C89716 |
431930 431990 |
Rule-Connect-SOAP error fixed for WAS/JBOSS environments | After upgrade, SOAP webservice was failing with the error “Couldn't create OMElement from string value for the activity InvokeAxis2 in class Rule-Connect-SOAP". This occurred on sites using a WebSphere/JBoss environment, and was traced to an issue where the WAS classloader was loading its default jar at the same time the Pega classloader was loading the same jar into JVM. This has been resolved. | |
SR-C89969 | 431206 | Webchat error fixed for Operator Template with User access role | While running Webchat in an external application where the interface had any operator selected as an "Operator Template" with a User access role, the error "The chatbot is experiencing problems; If the issue is related to your current case, you can withdraw it by typing cancel" appeared. This was traced to an issue with creating/modifying instances of the class Data-NLP-Report-Summary, which is done in the Interaction API via pxSaveNLPSummary. To resolve this, the class has been added to the PegaRULES:User4 role so that any user access group can have write access to this class. | |
SR-C89985 | 435723 | pzEmailActions button colors correctly reflect styling | The default Styling for the buttons defined in pzEmailActions was not taking effect as expected to show an "APPROVE" button as green and a "REJECT" button as red in an email body with attachments. This was traced to the 'if' condition not being satisfied for the color change due to the UIkit handling the evaluation via the pyApproveInternal flow action instead of pzApproveInternal. This has been corrected. | |
SR-C90261 SR-D13160 |
428123 485449 |
Hotfix installer updated to adhere to installorder file included in the package | In order to ensure hotfixes are always installed in the proper order, the installer has been updated to iterate over a set that is ordered according to the INSTALLORDER.PEGA file included in the DL file at packaging time. | |
SR-C90358 | 433295 | Updated Attach Content Control for use in repeat grid | When using Attach Content Control in a repeat grid, selecting a file via attachcontent control and submitting the page resulted in the message "The operation completed successfully, but returned no content". This was traced to the newassignPage being removed after closing the modal, causing finishassignment to fail. To resolve this, the Attach Content Control function has been modified to set the needed grid attributes for desktop implementation to ensure newAssignPage will be available to the attach content modal action. | |
SR-C90418 | 436016 | Exception handling improved for pxAdjustSLA, pxAdjustSLATimes, and pzAdjustSLATimesInBulk functions | If the SLA Deadline days were updated from 0 to 1, the SLA agent did not trigger the deadline escalation activity and the error "com.pega.pegarules.pub.context.PRQueueException: Instance of class Queue not found: SYSTEM-QUEUE-SERVICELEVEL.SYSTEM-QUEUE-SERVICELEVEL" was generated. This has been resolved with the addition of better failure handling to the pxAdjustSLA, pxAdjustSLATimes, and pzAdjustSLATimesInBulk functions for cases where an exception is generated. | |
SR-C90457 | 436282 | Handling added for deleting a temp file when pyTranslationFileName is blank | The Localization wizard was generating a file delete error when attempting to delete a temporary folder. To resolve this, an "if" condition has been added to PegaAccel-Task-Localize.pzResetExportDetails to handle file deletion scenarios where the pyTranslationFileName is blank. | |
SR-C90467 | 429607 | Validations are correctly run on rescheduled reports | When using the out-of-the-box schedule report functionality, UI validations were bypassed if the existing schedule was deleted and the report was rescheduled. This has been corrected by updating the Review harness to display the Perform harness when clicking Update. | |
SR-C91121 | 430388 | Data Page seatch results have expanded data available to view | It was not possible to expand a search result and see Ruleset, Updated by, etc, for Data Pages. This was traced to the Layout Properties of section pzSearchDrilldown having a visibility condition of .pzCategoryActionKeys != 'Rule-Declare-Pages' after being reconfigured during prediction studio implementation for rule transition. To resolve this, the necessary related table for data pages has been added to the pzSearchDrilldown section. | |
SR-C91156 | 429628 | Autocomplete Menu Selection for privileges tab Role updated | When a few characters were typed in the autocomplete for "Role" in the privileges tab and the desired value was selected, the selection did not stick. The second time the value was selected it was retained. Investigation showed that the post value source element had a stale reference after section reload, and this has been resolved by adding code to re-initialise the reference with the latest element. | |
SR-C91220 | 430362 | Modified pzpega_ui_dynamiccontainer to resolve issue with editing the Operator rule form when using IE | The Operator rule form was not opening a second time after being updated in IE. The form worked as expected with other browsers. This has been resolved by modifying the openRuleByKeys function in pzpega_ui_dynamiccontainer to pass a new cloned object to the JSON.stringify function instead of the embedded object. | |
SR-C91264 | 433438 | Localization fixed for dropdown sourced with pystate | When pystate was used to source a dropdown, the options were all uppercase but in the review harness used lower case for IN and OR. This difference caused a failure in localization. This was caused by the Field value instance being defined in lowercase in PyCaption while the UI was treating the active value as an instance of pyCaption, leading to instances of both "in" and "IN" being present. This has been resolved by consolidating the field value to use a single case in the pega-eventprocessing ruleset. | |
SR-C91274 | 481706 | Corrected Base64Decode calculations | Testing indicated that a file encoded using Base64Encode generated the error "The Operation completed successfully, but returned no content" when decoding with Base64Decode. Validating the content of the text file via a JSON validator using text formatted as JSON worked as expected. Investigation showed that extra padding characters were being appended due to calculations around CRLF characters, and this has been corrected. | |
SR-C91370 SR-C92663 |
429578 430399 |
System updated to jackson-databind-2.9.8.jar | The jackson-databind jar has been upgraded to v2.9.8. | |
SR-C91492 | 430456 | Focus issue corrected for multiselect lists navigation | Keyboard navigation (arrow keys UP and DOWN) were not working in Microsoft Internet Explorer and Google Chrome after selecting the value by using a mouse click in a multiselect control. After selecting the value using ENTER, keyboard navigation began working again. This was an issue where clicking an element from multiselect list caused the focus to shift to the body, and has been resolved by shifting the focus to the input element when the multiselect lists are clicked. | |
SR-C91501 | 428972 | Support added for base64Binary type in the SOAP envelope | In order to support the sending of files more than 10 MB in size as a SOAP attachment, a condition has been added to populate base64Binary type as a multipart message in the SOAP envelope. This allows a text node with binary content to be optimized for xop/MTOM. | |
SR-C91521 | 428628 | DX API updated for improved security | Modifications have been made to the DX API to improve system security. | |
SR-C91750 | 429615 | Summarized report after editing shows Count as expected | When creating a report with a number of fields and summarizing it in the report browser, the summary gave proper counts. However, after clicking on "edit report" and then running summarize on the same column, the generated report gave the Sum of the number column instead of the Count. To resolve this, the implementation used to update a hidden value for the dropdown has been set to initialize to the Count option. | |
SR-C91898 | 435421 | Resolved Rich Text Editor display in popup windows | The Rich text editor was not displaying in popup windows although it did display otherwise. Investigation traced this to the harness context APIs used in "pega.contro.IRTE.init" (pzpega_control_richtexteditor.js rule) returning rteTextArea as null, leading to the RTE scripts failing to bind the ckeditor dom. This has been fixed by replacing the harness context APIs with ones better suited to this use. | |
SR-C91907 | 433770 | Thread context preserved when processing a case in interaction | Thread context was not being preserved correctly when a case was opened from an interaction. This has been corrected. | |
SR-C91927 | 431508 | ValidateSurveyStream updated to ensure validation runs on a named page | After creating new survey rules, trying to re-validate and save in survey-specific rules was failing to re-validate in standard/personal edition. This was an issue with the ValidateSurveyStream activity running on an unnamed page: in this activity, the stepPage name is set to a parameter and passed to datatransform for the processing of the rule. Since the steppage was unnamed, an exception was thrown. To resolve this, steps have been added in the ValidateSurveyStream activities for question, question group, and survey that will copy the primary page into the named page and pass it as a parameter. | |
SR-C91979 | 431154 | Null check added for Grid content in a read-only RTE | The ui_grid.js was trying to initialize a grid from the markup of mail content. Since there were some missing attributes, script errors were thrown that resulted in an endless busy indicator. This is now fixed by adding the necessary null checks in Grid code. | |
SR-C92020 | 429568 | Export of report definition does not open a new tab | When a report definition was exported to PDF or Excel, a new tab was generated in Safari which was not closed even after download. This has been corrected. | |
SR-C92060 SR-D18866 |
432775 490756 |
Null check added to resolve issue with manipulating operator access group list | When using an operator access group list where there were multiple access groups already listed, picking any one of them except the last and clicking '+' (Add item) to create new line item or clicking on the delete icon to delete the row was generating a Pega busy indicator which never resolved. This was traced to the value label.prop("tagName") being returned as undefined, and has been resolved by adding a null check. | |
SR-C92082 | 429438 | Corrected ADP sections rendering twice | ADP sections were being rendered twice due to the inclusion of lazyloadinfo in pzModalAction which loaded multiple divs during the initial expand onload configuration of expand pane. This has been corrected. | |
SR-C92171 | 444299 | Updated unique ID hashing to account for extended class names | Multiple history classes were pointing to one database table because the historical hash method only used the the first 32 characters of a class name to create a unique identifier. This created duplicates if the class extended past this limit. To correct this, the unique ID hashing has updated in SQLGenerator to account for long identifier names: if the supplied name is greater than 32 chars, the system will hash the entire name to create a unique identifier. | |
SR-C92195 | 431139 | Corrected harness for webchat console in mobile and incognito StartCase | After configuring a webchat and using the mashup code to load the chat interface, refreshing and starting a new chatbot session caused the wrong harness to be rendered. This was also seen in an incognito window. To correct this,the New and Perform harnesses in Work-Channel-Chat.pyStartCase have been updated. | |
SR-C92202 | 430394 | Improved error handling and logging added for null partitions encountered in VBD aggregation | A NPE was thrown during VBD aggregation when a partition was found with no data, a condition likely created by a failed insert or failed replication. To better handle this scenario, code has been added for better error handling and more informative logging. | |
SR-C92363 | 435674 | Removed duplicated cross-site scripting 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 cross-site scripting filters have been removed. | |
SR-C93070 SR-C93070 SR-C94190 SR-C94190 SR-C97772 SR-D2380 SR-D2887 SR-D20533 |
431191 431218 434654 435433 435629 439108 483082 490195 |
Fixed Export to PDF page formatting | A formatting issue was seen when using export to PDF; the first page contained only the title of the report as well as the filter, the generated date, and the number of records, and the exported data was included only from the 2nd page onwards. This has been corrected, and some performance improvements for the generation time were added. | |
SR-C93079 | 430560 | Action queue explicitly cleared in closeAllDocuments method | After logging in to the app studio and performing some changes in the case designer, attempting to switch to data explorer or other tabs generated an alert indicating "Remaining tabs have unsaved work". After the alert was generated and closed, a "Maximum limit of opens tabs is reached" popup was then displayed even when there were no open tabs. This was traced to a change in the event handler for "DesktopAction" which caused the system to immediately move from the alert to triggering createNewWork, which then used the same dynamic document as the original alert. To resolve this, the system will clear the action queue pega.c.actionSequencer.clearQueue() in the closeAllDocuments method. | |
SR-C93264 | 437309 | Inference engine enabled to resolve JourneyManager data flow exception | Customer environments were intermittently seeing an exception with the error "Could not get ultimate primary destination for data flow .DF_JourneyManager" when trying to compile an activity that ran a dataflow that ultimately called the DF_JourneyManager data flow. This error was traced to the Inference engine being in a disabled state so the system was not able to get the dataflow output class via declare expressions. The Inference engine has now been enabled to resolve this issue. | |
SR-C93341 | 433629 | Hash handling security updates | Several updates have been made to improve hash handling security. | |
SR-C93344 | 431347 | Bcrypt password hash increased to 2^12 | Bcrypt password hashes have been increased to 2^12 iterations for new passwords. | |
SR-C93506 SR-C93506 SR-D5183 |
431515 435816 438440 |
Prconfig enhancements for Cassandra diver connection pool | An enhancement has been added to to support the following prconfig setting options for the Cassandra driver's connection pool: dnode/cassandra_max_requests_per_connection/local dnode/cassandra_max_requests_per_connection/remote dnode/cassandra_max_connections_per_host/local dnode/cassandra_max_connections_per_host/remote In addition, error handling in the CassandraBrowseByKeysOperation has been improved. To avoid NPEs caused by a record in Cassandra (DDS data set) that has data_ column set to null, CassandraDataEmitter will skip records with a null data_ column. |
|
SR-C93555 | 431598 | BulkMover updated to not treat Numerics as strings | When attempting to update Pega platform 8.1.1 to 8.1.3 with Oracle on a Windows machine with German locale using the out-of-place upgrade of the rules schema, the migration failed at the migration step with the error message "ORA-01722: Ungültige Zahl". This was traced to BulkMover failing when trying to convert a string to a Numeric due to the locale using commas as the decimal separator, and has been resolved by updating BulkMover to not treat Numerics as strings. | |
SR-C93572 SR-D16762 SR-D19944 SR-D19945 SR-D19944 |
440078 486032 488359 488360 491156 |
Search initialization logic updated to ensure consistent node member information | The search function was intermittently failing across nodes after restart. Investigation showed that this was due to inconsistent results from search initialization cluster logic using Hazelcast APIs to tell whether or not a given node was part of a Pega cluster. To resolve this, the logic has been updated to rely on ES APIs instead of Hazelcast cluster membership to determine offline nodes. | |
SR-C93685 | 431134 | Error will show when attempting case save on locked application | Previously, an error was not being displayed when a save was triggered on a Casetype for a locked application. This has been changed so that whenever the general settings like 'description' or 'show in new menu' are updated when the application is locked, the error message "Error occurred while saving the Application" will appear. | |
SR-C93726 | 435285 | Work status icons work correctly when using localization | The pyWorkAssignmentStatus control was not displaying the status flags/icons for localized work status values due to a match failure caused by the system using the localized text for the pyAssignmentStatus to perform a string comparison against the hard-coded English values. To correct this, the control pyWorkAssignmentStatus has been modified to run the comparisons with the new string "assignmentStatus" instead of with the localized text. | |
SR-C93802 | 436136 | Rounding added to avoid exception for ADM number too small to save to Oracle | An exception was thrown when trying to save ADMSnapshot agent predictor bin data that was too small (below 1 x 10-130) for the Oracle Number column it was written into. This blocked up-to-date reporting on adaptive models. To resolve this issue, the code has been modified to round the double type numbers to an acceptable scale before writing to the database. | |
SR-C93873 | 436423 | BigDecimal division API updated | A difference in strategy output was seen after upgrade due to a particular HFix regarding decimal values in strategy calculations not being previously installed on the system. To resolve this, updates have been made to the BigDecimal division API that specifically addresses Group By shape. | |
SR-C94042 | 444586 | Resolved JSON exception with refreshrow used for navigation | After upgrade, a custom implementation of a grid that had a menu configured on right click of the row for the category/description in the uploaded case attachments was not working. This was traced to the RefreshRow(non-list) action generating quotes that made the JSON invalid for a navigation rule, and has been fixed by modifying pzProcessRefreshRowItem to remove quotes from navigation refreshrow action generation. | |
SR-C94047 | 432967 | Updated Static Progress Bar Control to resolve parse error | When configured in a section with no parameters, the Static Progress Bar control was refreshing every second. After 5-10 seconds, a parse error appeared. This has been resolved by updating the value of bUseProcess to check for both string and boolean. | |
SR-C94549 | 438432 | Secure RESTful implementation for Websphere Liberty added | Mbean server connection errors were seen when trying to configure remote SMA in Websphere Liberty 18.0. The local mode worked as expected. Investigation showed that some needed IBM classes and jars were not present because Websphere Liberty does not ship with the same Java Libraries as traditional Websphere, causing a ClassNotFoundException when attempting to use the admin client Java APIs needed to connect to remote nodes. To resolve this, a secure RESTful implementation for Websphere Liberty has been added. Additional configuration is required on the target nodes, prweb in order to use this RESTful API: see the following IBM documenation: https://www.ibm.com/support/knowledgecenter/en/SS7K4U_liberty/com.ibm.w… The above configuration will only work with the new prsystmgmt WAR provided as part of this fix. |
|
SR-C94644 | 485242 | 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-C94914 | 436300 | Cursor position retained after password field refresh | If a section was created which contained a Password control with an "Any Key" event that included "Post value" and "Refresh-Other section" actions, the cursor always stayed at the beginning of the line. This has been resolved by adding code to ensure the caret position is retained after a refresh for the password field. | |
SR-C94950 | 433174 | Rule lock is released after alternate approved operator rejects it | When using the rule check-in approval process, if a rule check-in candidate was rejected by an approved operator other than the one who checked it in, the lock on the original rule was not released. This has been corrected so the lock is released after the rule is rejected in the case worker portal. | |
SR-C95187 | 433823 | IO exception logging enhanced | In order to improve diagnosing problems such as DDS nodes not joining a cluster despite Cassandra nodes being run successfully, logging enhancements have been added that include details about IO exceptions. | |
SR-C95250 | 487995 | 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-C95253 SR-D10309 |
435786 482476 |
Custom datetime controls correctly appended to Excel export | The timezone was not being appended to datetime when exporting to Excel if a custom control was used. This has been corrected. | |
SR-C95532 | 435979 | Improved handling for deleting dedicated index instances | If the dedicated index instance was deleted from the ‘Custom search properties’ tab rather than from the dedicated tab of the search tab, then that instance was unexpectedly deleted from the instances of custom search properties and resulted in a blank row with the re-index button disabled and delete button enabled. This was a missed usecase related to handling the deletion of a dedicated index created from D-CP-S on a class whose immediate parent class is an abstract class or class that doesn't have a dedicated index, and has been resolved by setting the pySaveFromUI Flag when delete is invoked from the Data-CustomProperties-Search instance. | |
SR-C95667 | 438853 | Corrected UI distortion for the errors container format | After upgrade, using pydisplay to case stages in a harness resulted in misalignment issues in the UI. Investigation showed that this issue was due to an incorrect margin value for the errors container format following recent redesign work in the UI Kit, and has been resolved by correcting the value. | |
SR-C95727 | 435551 | Enhancement added to automatically manage runtime context for background processing | After creating a dedicated queue processor in a branch ruleset, the processor was not showing up in the queue processor list in Admin Studio. Attempting to queue something to this queue processor with a correct access group pointing to an application with access to the branch ruleset resulted in the error "Unable to find queue processor instance in memory". Moving the queue processor to a ruleset other than the branch worked as expected. This was traced to an issue with context management. In order to improve this process, an enhancement has been added for automatic management of the runtime context for the Background Processing mechanism. This will use system runtime context to discover queue processors and job schedulers that need to be run, and the context will automatically maintained by the platform when Applications are created, deleted, saved or imported. The system administrator is able to use a portal (studio) to manually modify the system runtime context by adding, reordering, removing Applications and changing the application version. To use this automatic management, check the "Include in background processing" checkbox on the application rule form (Advanced section): when checked, the application is placed on the list of System Runtime Context during application rule save (which happens e.g. during application import, migration, etc). If the background processing checkbox is not set, the runtime context of the background processing will continue to require manual management, but that management will now be in System Runtime Context instead in the previously used ASYNCPROCESSOR requestor type, which has been deprecated. | |
SR-C95733 | 445477 | 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-C95755 | 444556 | Expanded Grid locking updated | When using pyDashboadMyWorkList to show the cases of an operator with Master Detail in Read Only mode, the system was acquiring a lock on the expanded work object. To resolve this, the following changes have been made: - In activity Assign-pyAcquireObject, If the parameter bRODetails is true, do not call acquireWorkObject and do obj-open-by-Handle to get assignment and work page in pyAcquireObject activity. - In activity acquireWorkObject, the parameter skipWorkLock has been removed as acquireWorkObject should always acquire the lock. |
|
SR-C95840 SR-C96001 |
434789 436367 |
Independent query logic inserted for non-resolved rules to avoid non-applicable columns | Nothing was displayed under "Revalidate and save" for Rule-Ruleset-Name and Rule-Ruleset-Version. In Tracer there was an error message saying that "There was a problem getting a list: code: 207 SQLState: S0001 Message: Invalid column name 'pyRuleAvailable'. " Investigation showed that because the system was using the same logic for resolved and non-resolved rules, Rule-Ruleset-Name and Rule-Ruleset-Version were looking for the column pyRuleAvailable which was not applicable because non-resolved rules don't have this column. To resolve this issue, a separate query executor has been added for non-resolved rules as there are a few columns related to resolved rules that are not applicable for those that are not resolved. | |
SR-C95857 | 483547 | 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-C96035 | 434730 | Write and Delete restrictions added to the RoboticAdministrator role | The security configuration for the PegaRULES:RoboticAdministrator role has been updated with the 'when' rule condition pzModifyAllowed for Write and Delete access. | |
SR-C96153 SR-D2229 |
433373 437545 |
Repository Delete API updated for better use with cloud storage | Previously, the Repository Delete API immediately checked if a file existed after attempting to delete it. When deleting files in S3, the file may not be immediately removed: due to S3's eventual consistency policy, the file could still exist at the time Pega was attempting to verify the deletion but be "deleted" according to Amazon. This caused a false alert that the file deletion was unsuccessful, leading to alert emails being sent and the Manifest file not being created, and in some cases generating an exception. To resolve this issue, the logic in Repository Delete that checked if file existed after attempting to delete it has been removed. | |
SR-C96230 | 434677 | 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-C96291 | 445258 | ADM initialization modified to eliminate unnecessary keyspace creation triggers | On startup, ADM issues a Cassandra query to create one of its keyspaces if it doesn't already exist. To do this, it was set to require creation level permissions whether it created the keyspace or not, but those permissions may be considered a potential security violation if the Cassandra instance is shared with other teams. If permissions were restricted to only below key spaces used by Pega, then the ADM node would not start up. To resolve this, the way ADM initializes its keyspaces and tables has been modified so that queries requiring 'create keyspace' permissions are not triggered if the keyspace already exists. These changes also include code that ensures that keyspace and table creation can only happen on one node in the cluster at a time. | |
SR-C96297 | 433775 | Enhancements added in support of AES/PDC integration | The following enhancements have been added in support of AES/PDC integration: - QueueStatistics for Oracle and multi-tenant environments -Postgres statistics are reset after every push (this can be disabled by changing the DSS ResetTableStats) -Enabled Debug statements before all connect-rest/connect-soap calls -Handling for Listener Information issues -Elastic search updates -The connect timeout has been enhanced from 30 sec to 60 sec for all REST connectors. -Data pages can be used for picking the End point URL -Elastic Search Count details can be pushed to PDC |
|
SR-C96362 | 433331 | cross-site scripting filter added to API form handling | A cross-site scripting filter has been added for properties that can be changed via API. | |
SR-C96394 | 438670 | Report data query updated to better handle exceptionally large queues | If the database queue was exceptionally large (more than 3.5 million items), the report data query aggregating the results was timing out and showing 0 items queued on the management landing page. To resolve this, the summary view has been changed to rely on the data pages of the detailed view instead of aggregating the results by firing another query with RD. | |
SR-C96406 | 434635 | Corrected default parameter passing to fetch childcases audit details | After upgrade, Child case audit details in a Parent Case were not visible even after checking the Show Subcases option. This was traced to refactoring work done in an earlier version; in earlier releases, the parameter ShowSubCases defaulted to true if it was not already present. Later during refactoring, a call to pzFetchCaseStatusUpdate was added but did not include support for passing the parameter page if the parameter had been set by default instead of explicitly being included. Since the parameter was missed, the subcase audit details would not be fetched. This has been corrected so the parameter needed will be passed and fetch the subcases. | |
SR-C96456 | 436306 | Autocomplete grid scroll bar fixed for large DataPage results | When autocomplete (default setting) was present inside a grid and the result popup had < 20 results, the scrollbar was not coming up in Google Chrome. This has been resolved by modifying the fixGridWidthIfRequired API to set set vertical scroll to auto. | |
SR-C96552 | 488912 | 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-C96571 | 435174 | Added check for visible SmartInfo so focus is maintained | After setting up a harness that displayed page-level messages at the top and bottom with "info" icons in a grid that displayed SmartInfo, hovering on one of the "info" icons when a page-level message was displayed caused the page to scroll up to the page-level message at the top of the harness instead of displaying the SmartInfo popup. This has been resolved with the addition of a check for visible SmartInfo in pzpega_ui_doc_errors.js so the focus is properly set. | |
SR-C96680 | 483763 | 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-C96703 SR-D1441 |
435741 438905 |
CMIS Timestamp function updated to support more timezones | When trying to edit any attachment , a null pointer exception was generated from the out of the box activity pygetobjectfromAPPCMISConnector by the pzFormatCMISTimestamp function in the class PRDateFormat.java. This was traced to CMIS using a library that did not support all the possible timezones for a timestamp. To resolve this, the RUF pzFormatCMISTimestamp has been updated to use java.text.SimpleDateFormat as it currently supports the highest number of timezones and permutations in the CMIS timestamp format. A check has also been added so that if a timezone cannot be found, the date is simply not converted and a warning is logged. | |
SR-C96786 | 445619 | Controls updated to handle hidden values in finishassignment submission | A SECU0001 alert was thrown from the out-of-the-box function finishassignment upon the submit of assignments. This was traced to an alert generated while attempting to post the feed even though there was no Pulse gadget used in the work object, and was due to the handling of hidden fields as read-only. Since the read-only values were not editable, they should not be submitted with the request body; this has been corrected by modifying the hidden control entry handle such that hidden property is considered as editable-filled. Controls have also been added to pxHidden to prevent potential misuse. | |
SR-C97046 | 485716 | 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-C97207 | 435771 | ModalCancelAction activity clipboard removal updated | Clicking on the jump/when button on the activity step and then trying to expand any step in the Rule-Obj-Activity.pyModalCancelAction activity was resulting in the error "The property RH_1.pyTempModalPage was of mode String while adoptDictionaryDefinition(ImmutablePropertyInfo, boolean, boolean) was expecting Page mode. Details: the mode has been reset to match the property's definition." This has been corrected by modifying the code to use property-remove instead of property-set to remove the clipboard page. | |
SR-C97399 | 439741 | Button type added to allow grid expand in Edge | When using an expand pane grid in a modal with the Edge browser, clicking on the expand icon using the enter key was throwing an error in new window. This was traced to an issue with a hidden non-auto-generated button in the pzModalHelp control not having a default type, and has been resolved by adding type="button" in the control so Edge will treat it as a submit button. | |
SR-C97479 | 439533 | Database indexes added for better performance | In order to improve performance, database indexes have been added to pegarules-master.xml. | |
SR-C97610 | 435222 | Enhanced backwards compatibility for Attachment Gadget | After upgrade, information was missing from Attachments. This included the case number being absent from between the parentheses on the Attachment name; the time stamp was missing on the attachment; and checking the 'Show Subcase Attachments' checkbox did not provide the expected information for the attachment. This was traced to a reworking of the attachment gadget in Pega 7.1.5, and logic modifications have now been added to enhance backwards compatibility with the 6.x versions of Pega. | |
SR-C97873 | 437280 | Added check to maintain key value when using collapseAllMenu in child navigation menu | After a navigation menu had a child added as reference navigation menu that used the function collapseAllMenus, the screen was freezing if a link was clicked in the added child navigation and a javascript error appeared on the console screen. This was traced to an improper key being set in sessionStorage object in setItem due to the nesting, and has been corrected by adding a check in sessionstorage setitem to maintain the proper key value. | |
SR-C98177 | 437223 | Explicit modal close added to MSOFileTransferButtons control | When using a MSOFileTransferButtons control that included buttons for Download Template and Import, clicking Import caused a popup for File Upload to appear with two options - Upload and Cancel. On clicking 'cancel', an Invalid Static Content error was thrown. This was traced to legacy code interaction issues with newer features, and has been resolved with the addition of a custom script to close the modal on click of the cancel button. | |
SR-C98214 | 435683 | Decision Table keeps proper values when a column is deleted | When the first column in a Decision Table was deleted and the rule saved, the value that was in the second column was replaced in the first row. This has been corrected. | |
SR-D10100 | 464283 | Bulk actions filter works properly when additional filters are added | The Bulk Actions filter was not working if other filters were used in conjunction with it. Investigation showed that when 'assigned to operator' was given a value, the values were fetched properly. When an additional condition was added, the section 'pyBulkProcessingSearchSection' activity called 'pzDefaultOperators' which then set the 'pyUserIdentifier' value to null, and no results were returned. As the activity already had a step to check if the .pyUsage!="Operator" and only then property-set, pyUserIdentifier = "", the subsequent step to set the pyUserIdentifier = "" and override the previous step has been removed. | |
SR-D10171 | 482470 | Updated UtilsEmailListener to handle additional special characters in the email ID | When the Email Listener tried to map the properties from the email body and message header to the Pega Default out-of-the-box properties or user provided text properties, the mapping worked for simple alphanumeric email IDs, but mapped only the trailing part of the address if the Email ID contained an apostrophe or single quotes. For example, "toast.'[email protected]" was mapped as "[email protected]". This was due to a missed special character in the regex pattern, and UtilsEmailListener.java has been updated to correctly handle special characters in the email address as specified in RFC 5322. | |
SR-D10178 | 487425 | Tika library upgraded to v1.20 | The tika-parsers and tika-core version have been upgraded to version 1.20 . | |
SR-D10281 | 482812 | Configuration settings introduced for VBD read/write consistency | Exports of VBD data at different consistency levels showed data inconsistency between Cassandra nodes. VBD uses the default DSM consistency level of ONE for its reads and writes, which will not automatically repair data when inconsistency exists. Data inconsistencies can lead to VBD timeouts trying to load partition data. To support VBD read/write integrity, an enhancement has been added to allow configuration of VBD read/write consistency levels by way of the following DSS properties (Owning Ruleset: Pega-DecisionEngine): vbd/readConsistencyLevel and vbd/writeConsistencyLevel. R + W > N where R is the consistency level of read operations, W is the consistency level of write operations, and N is the number of replicas. These will override the default DSM read/write consistency levels (ONE). | |
SR-D10545 | 483627 | 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 Microsoft Internet Explorer and Google 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 | 490866 | 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 | 490171 | 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-D10820 | 482682 | RDL checkboxes appear properly in minimized window | Checkboxes in RDL were not appearing properly in Microsoft Internet Explorer when the window was minimized if a dynamic layout of type inline quadruple was used. This was traced to the responsive breakpoints of a format overriding the styles for custom checkboxes, and has been resolved by updating the checkbox controls for responsive breakpoints to use a min-width and min-height instead of auto. | |
SR-D10889 | 482666 | 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-D10966 | 476280 | IH summary behavior change reverted | Changes introduced to Interaction History aggregations in 8.1 intended to better align them with the existing behavior of the Interaction History shape in Strategy produced the unexpected side effect of lots of empty records. Based on feedback, the decision has been made to revert the IH aggregation behavior change. | |
SR-D10969 | 475335 | Logic for the Materialized/Not Materialized feature updated | The Materialized/Not Materialized feature was not working properly. When there was an aggregate dataset entry in the Advance page set to use "No" for materialized, doing "Materialized" in IH Summaries LP on that dataset materialized the dataset and created a duplicate entry in the aggregation config page where one was "No" and one was "Yes'. This has been corrected. It was also observed that after an application changed its name while the access groups remained the same, changing a dataset from "Not Materialized" to "Materialized" worked, but changing from "Materialized" to "Not Materialized" did not. Instead, a warning message was posted at the top of the page indicating the problem. Investigation showed that the pzChangeStatus activity failed because the current application name did not match the application name of the access group set for the aggregation configuration record. To resolve this issue, the logic has been updated to remove the reliance on the application name. | |
SR-D10970 | 475336 | Datasets created from the IH summary component correctly listed as aggregate | Attempting to create an aggregate data set from the IH Summary shape did not properly list it as aggregate due to a source dataset error. This has been corrected. | |
SR-D11289 | 484053 | 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 Google 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-D11296 | 484856 | Microsoft Internet Explorer Flex layouts updated to mode 7.0 | Given a grid with 8 columns in the Agents Landing page, the columns on each end were distorted when viewing the grid in IE. This was an issue with the class flex-grid-table-wrapper not correctly handling scenarios where grid cells containing section includes were not visible, and has been corrected by updating pzagentscheckbox and pzagentsstatus to layout mode 7.0 so zoom is supported. | |
SR-D11312 | 484681 | 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-D11382 SR-D10930 |
482277 482499 |
QP DF issues resolved for timeouts and search re-indexing | The re-index option was not available to manually trigger Search re-indexing. Investigation showed that this was related to a recent change used to hide the reindex button if the batch index queue processor was in progress. At the root of the issue, delayed items were not properly pushed to Kafka when they were eligible for processing if they were already queued when the QP DF was in a failed state or when the QP DF was not yet created. When restarted, the QP DF was only processing the messages on the Kafka topic from the end of the offset and missing the queued messages. To resolve this, the QP DFs have been modified to start processing the messages from the beginning of the topic. In addition, the DelayedQueueProcessorSchedule Job scheduler, which pushes items to Kafka, was not being executed due to a Hazelcast timeout exception caused by an inability to access the distributed map. Investigation showed this exception was related to a cluster split brain. To correct this, in cases where a distributed map is not accessible, the run will be rescheduled. As a result, there is now more robust handling for any timeout exceptions, all messages will be processed as expected, and the re-index button will be available when needed to manually trigger the process. | |
SR-D114 | 435312 | Grid menu dropdown properly hidden while editing filter | After opening the filter options as if to change the filter, summarizing any of the available columns without closing the filter resulted in a screen showing a broken filter. This was traced to the implementation of the navigation menu for auto-generated grids, which was not allowing other functions while any of the "inline modals" are being used, such as editing a filter. To correct this, the grid menu dropdown will not be shown while editing a filter. This is consistent with the rest of the UI actions which are hidden while editing a filter. | |
SR-D11605 | 485662 | 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 | 488671 | 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-D11911 | 485465 | Mobile JS performance improved | Some out-of-the-box javascript bundles contained un-compacted scripts, creating a performance issue issue on mobile. This has been corrected. | |
SR-D11988 | 483012 | 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-D12530 SR-D15875 |
482721 486380 |
Spinner wheel dom correctly cleared after incomplete case closure | Incorrect behavior of the spinner wheel during a case search following the browser being closed while a case was open has been resolved by updating pzpega_ui_doc_actionRouter to ensure the wheel dom is correctly cleared. | |
SR-D1270 | 488261 | database 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-D12733 | 488667 | Code fragment removed to eliminate Fortify false positive | A code remnant related to Boolean.getBoolean(..) in Rule-Declare testConsistency was causing a false positive in a Fortify scan. This piece of code is obselete and is not used anywhere, and has been removed. | |
SR-D13 SR-C90853 |
434981 488536 |
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. | |
SR-D13388 | 485167 | 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 | 488138 | 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-D1386 | 446261 | Warning message visibility conditions updated for Records Editor | The Report Definition Result screen was showing the message "Warning : We were unable to create columns to match the new properties added. This will cause performance problems when using this data type. Please click here to fix this." Along with the RD results screen, this particular warning message was also shown in the Records tab of the respective Datatype. Initially, the Records Editor was developed for Designer Studio and Express usage. When the delegation functionality was later given to portals, the 'when' condition for the warning message was not updated to restrict displaying it to portal users. This has been fixed by updating the pzManageRecords section to properly manage the visibility condition of the warning message. | |
SR-D13880 | 483330 | 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 | 487791 | 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 | 490218 | 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 | 493081 | 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 | 490595 | cross-site scripting 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 | 486282 | 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-D14521 | 486529 | 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-D1458 | 437893 | Property name mapping moved to DSM side to ensure consistent results | If a Data Set rule was used to retrieve the records of the Data Class, the property names appeared to be changing randomly in the OperationResult Clipboard Page when the name exceeded 30 characters. This was traced to NativeSQL trimming and hashing any aliases that were longer than 30 characters, and has been resolved by moving the mapping back of property names to the DSM side. | |
SR-D14591 | 485930 | 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 | 488290 | 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 | 491165 | 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 | 485330 | 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 | 488068 | 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 | 487679 | 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 | 486125 | 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 | 487510 | Added ability to edit or SaveAs out-of-the-box '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 out-of-the-box 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 | 486888 | 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 | 490024 | 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 so the name of the report is properly displayed when prompting for filter changes. | |
SR-D15391 | 484920 | 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 | 487886 | 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-D15469 SR-D19491 |
487523 489902 |
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 | 489736 | 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 | 484531 | 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-D15747 | 486019 | CSP policy added to login page | CSP policy was not being added to the login page as expected. This was due to the application context not yet being established for the session because the login had not occurred yet. To resolve this, the functionality has been enhanced to set the CSP headers for the login page by getting the application list information from pxSecuritySnapshot. | |
SR-D1575 | 483120 | 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 | 485162 | 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-D15895 | 486593 | Strict checking inserted to better handle database 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-D16051 SR-D22528 SR-D23066 SR-D24262 |
486753 490527 491095 492552 |
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 | 485881 | 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-D16221 | 485527 | 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 | 487448 | 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-D32441 SR-D22113 |
497220 502572 498312 |
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 Rule-Utility-Functions went unresolved during the initial assembly. Investigation showed that after introducing a new Rule-Utility-Library or Rule-Utility-Function 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-D16970 SR-D16983 SR-D16971 |
485762 490647 491324 |
New API introduced to handle DSM service startup fail or delay | A Stream node was shown with JOINING_FAILED status in the landing page, but executing a JMX call to get the status on the landing page resulted in a message that it was not a registered bean. This was caused by JMX being registered before service initialization and allowing for decommissioning a node other than itself. Investigation showed that this feature was developed prior to its use for cloud monitoring, and subsequent development led to the same feature being used via LP. In order to prevent conflicts, a new REST API has been introduced to allow cloud monitoring to manage nodes in which DSM services failed to startup or are still in the process of getting to "NORMAL" state. | |
SR-D17037 | 487531 | 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-D17046 | 486913 | DisplayHarness API updated to maintain callback context | Advancing forward through a flow to the middle and then clicking on the Previous button quickly and repeatedly and then clicking on the Next button caused the system to hang. Investigation showed that when asynchronous calls to the displayHarness API happen, the callback was getting overridden. To resolve this, updates have been made to the serverProxy DisplayHarness API to maintain context for the callback API. | |
SR-D17056 | 488085 | 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 | 487599 | 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-D1716 | 438107 | Fixed expand when issue on dymanic layout with custom header | After upgrade, a Dynamic layout with collapsible type Container setting which included a custom section to show the text and image in place of text had an 'expand when' condition applied that caused the entire dynamic layout to be malformed and show the raw HTML code if there was an error. This was traced to the system rendering the dynamic layout in non-template form if the header has a JSP section include, leading to the expandable layout header div HTML elements getting mixed up with the custom header sections HTML code due to the aria-label attributes. This has been resolved by removing the section stream from aria-label in RUF - GridHeaderElements. | |
SR-D17249 | 490109 | Handling added to resolve Fusion chart tooltips issue in Google 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 Google 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-D17318 | 489605 | Enhancements added to Proposition Filter | Previously, when propositions were filtered based on only specific criteria, then propositions based on both the specific and default criteria were shown. An enhancement has been added to address this, as well as to create a better user experience for the proposition filter with a simpler UI and some additional features. In this revision, there is one data model that supports the platform proposition filter as well as Pega marketing's eligibilities. The condition builder is used in the Proposition filter rule to align user experience with marketing, and the new proposition filter supports parameters for when rules. DMSample contains an example proposition filter rule that uses and showcases the new UI, including available values. | |
SR-D17660 | 486701 | 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 | 487182 | 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-D17706 | 489885 | Corrected error with accessing Request Data link in service trace | After creating a Rest Service and enabling Trace, calling the Rest Service and selecting "Inbound Map Begin" resulted in the "Option Properties" --> "Request Data" link being disabled and generating a syntax error message in the Browser Console. This has been corrected. | |
SR-D17822 | 487429 | 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-D17907 | 489173 | 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 | 491579 | 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 | 489739 | 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 | 490221 | 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-D18209 | 489547 | 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-D18286 | 488801 | Information on operator disablement clarified | The Security Policy settings referred to in http://doc-build02.rpega.com/docs-oxygen/index.htm#security/security-po… have been updated to clarify the information on operator disablement. | |
SR-D18332 | 490989 | Enhancements added for scrolling when an overlay is present on the screen | When scrolling the screen with the autocomplete window open, the autocomplete window became disjointed with its field. This has been addressed with an enhancement to improve the visual experience. With these changes, the overlay will be launched at the place where the mouse pointer is located. Earlier, the overlay was launched at the starting of the element on which the launch overlay was configured. Previously, if the parent element was scrolled the overlay used to remain at the same position. With the new changes, the overlay will be attached to the parent element when it is scrolled. In the third use case, when the content was launched dynamically, there used to be a scrollbar in the parent viewport as the viewport expanded. With the new changes, the viewport will remain the same and the dynamic content in the overlay will now have a scrollbar. | |
SR-D18690 | 487616 | 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-D18741 | 490420 | 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 | 490873 | Localization added to SetCMISMessageWarning | Localization has been added to pzSetCMISManageWarning for the warning message "This attachment is locked for editing by you". | |
SR-D18814 | 488259 | 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-D18907 | 488899 | 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-D190 | 436866 | Job Scheduler History correctly displays pyPerformer | After upgrade, the pxcreate operator value for work objects was blank when the objects were created via job schedulers, leading to the History not displaying the pyPerformer. Investigation showed that the user details in the requestor page were not being set correctly by the agent used to populate the details due to a lack of agent parity. This has been resolved by ensuring the userName and userIdentitfier properties are populated in the requestor page. | |
SR-D19081 | 490370 | 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-D19356 | 487860 | 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 | 489989 | 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 | 489967 | 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-D19821 | 490066 | 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 | 493561 | 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 | 491082 | 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-D20791 | 489023 | 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-D211 | 481391 | Case Assignment issue lock corrected | After upgrade, an intermittent error was seen when browsing the screen flows of a child case type application, indicating "Users have lost the ability to make this change because a change elsewhere has taken precedence over the change you made here. Please click on the assignment again to continue". This was traced to a change made to address an issue with the Opener not properly honoring the aUnlockOnCommit flag that was passed in via the openIfStale() API: in a very specific use case following that change, the system would unlock work objects during openIfStale when it should not. This has been corrected. | |
SR-D21266 | 489798 | 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-D21493 | 490305 | 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-D21808 | 490281 | 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-D22170 | 428402 | 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-D22215 | 490267 | 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-D22594 | 437875 | 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-D22734 | 421883 | 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-D2286 | 439250 | UIKit 12 updated to ensure data pages are cleared when switching applications | When using UIKit 12, switching applications without logging off resulted in the 'Recent reports' list and Public Category containing reports and folders that belonged to the previous application. Investigation showed that the pyCMReportBrowserHeader function in UIKit 12 did not include the custom control "pzRBIncludes7", which clears the data pages. This has now been added to ensure that report browser data pages are now automatically cleared on app switch. | |
SR-D2296 | 436876 | Enhancement added to support multiple security certificates | When importing IDP metadata, the only the last verification certificate was imported if there were multiple certificates. This caused SAML SSO signing failures in some cases. Support has now been added for importing multiple certificates to enhance encryption security. | |
SR-D23417 | 493542 | 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-D2400 | 438739 | Security for ExporttoPDF tool process improved | In order to increase system security, the tool process around iframe HTML tags used in generating a PDF with chart image data has been improved. | |
SR-D26101 | 494891 | 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-D2615 | 439225 | 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-D26505 | 484426 | 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-D26641 | 439205 | 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 | 483436 | 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-D2788 | 438260 | Stale transaction error resolved for Robot Manager deletions | The UI was hanging and displaying a stale transaction error after multiple entities were deleted from the Robot Manager UI. This has been resolved by adding clientFrame handling for SPA cases separately in the pega_ui_modaldialog js file. | |
SR-D2796 | 438392 | Corrected Recents list resize issue in IE | When using IE, opening the Pega Developer Studio to the landing page correctly resized the Recents list unless another tab was open. If there is another tab, the the resizing did not work and the scroll bar only allowed movement to the left. This has been corrected by setting the position to absolute for iframe(designer studio tabs) for IE. | |
SR-D28905 | 421583 | 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-D3034 | 439706 | 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-D3036 | 438137 | Password change error message clarified for invalid characters | When an operator updated their password and and included special characters other than those specified in the security policies, an error appeared that was not easy to understand. This message has been updated to clearly indicate that the password attempt includes invalid characters and needs correction. | |
SR-D3257 | 457250 | Database connection retry logic to class loader | In order to create a more robust environment in case of connectivity issues, an enhancement has been made to add retry logic to database connections in the class loader. | |
SR-D337 | 445603 | Rule Security Analyzer documentation updated regarding scan results examination | The documentation for the Rule Security Analyzer (RSA) has been updated to indicate that the scan/search results must be exported to Excel In order to examine the details and identify the rules with vulnerabilities so the necessary actions may be taken. | |
SR-D3371 | 439505 | Association Resolver updated to handle filters created on secured properties | After creating a Report Definition in a class (Example Class A) that had an Association in that report with Class B, no results were generated from the report when an Access Control Policy and Access Control Policy Condition were created for Class A and Class B where the Class B had an ACPC with a Value field that referred to a Data Page or clipboard page property. Investigation showed the system was not able to resolve the actual value of the datapage property in the generated SQL query due to Association Resolver resetting the filter value (the Page reference in this case) of a filter that is created on a secured property. This has been corrected by updating Association Resolver to not reset the right operand for a filter that is created on a secured property. | |
SR-D3405 | 439258 | URL construction logic updated for Tracer | When trying to trace a requestor from the requestor management landing page, a 400 bad request error was generated. Investigation showed that when forming the tracer URL, the pxRequestor.pxRequestorPathInfoInReal property was being appended to it. Because the property contained unencoded characters([), the request was not being processed. To resolve this, the URL construction logic has been changed to use pxThread.pxReqBaseURI. | |
SR-D3494 | 439415 | Enhanced REST acceleration wizard handling of existing properties during rule generation | A resolution provided in an earlier release addressed the REST accelerator wizard failing when there was a property present in the @baseclass and that property was also present in the JSON input for data model generation. The error generated was "Cancelling rule generation. Definition required to conform to @baseclass.Name instance". This update further enhances that Rest wizard resolution to address case sensitivity issues in the naming, and adds additional support for scenarios where the property does not exist in the integration class or parent class by checking if the property exists in pyIntContextClass. | |
SR-D35291 | 421883 | 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-D3556 | 445684 | Requestor.OperatorID page updated to stay in sync with current OperatorID to enable post-Auth activity mapping | The systems pages were not getting updated to the right operator's context when a post-Auth activity was used for mapping. To support this use, the UpdateOperatorID trigger has been updated to keep the pxRequestor.OperatorID page in sync with the current operatorID page during SAML. The operator will also be saved during provisioning. | |
SR-D3598 | 439124 | CSS updated to correct Microsoft Internet Explorer issues with Flexbox | After launching a user portal from Dev Studio in IE11, the screen appeared blank. Each table column was stretched out, and a horizontal scroll bar appeared at the bottom of the screen that scrolled infinitely. Investigation revealed that this issue was caused by Internet Explorer not completely supporting FLEX containers. To resolve this, the CSS code for the screen layout region content has been updated to compensate and properly display in IE. | |
SR-D3604 | 439095 | Parameter support added for openAssignment | An enhancement has been added that will allow leveraging the Associate Requestor for Chat interactions through parameter support for the openAssignment action. This will allow an activity to be called to create the interaction and pass back the assignment and open it using the openAssignment API. | |
SR-D3655 | 438566 | Resolved UI issues with TextArea control | Two issues were seen with TextArea after upgrade: 1) The UI flickered when using a section where a checkbox click caused a TextArea to appear; and 2) When 'size to content' was specified for height in the TextArea, the area became unresponsive when the content was reduced. These issues have been corrected by setting height to auto instead of 0px while updating the text area height. | |
SR-D3788 | 437778 | Corrected temp page reference for save-as in CreateAndManage WorkFromEmail | Attempting to save-as pyCreateAndManageWorkFromEmail was failing due to a missing reference to TempCurrentPage in Pages and Classes. This has been corrected. | |
SR-D392 | 438871 | Behavior reset for using getLocalizedValue with an input string containing parentheses | After upgrade, the getLocalizedValue function was not returning any value if the input string contained parentheses. This was a difference in behavior caused by a missed use case when correcting another issue, and has been resolved by resetting the system to the previous behavior of getLocalizedValue returning a localized string in cases where a Field value/Rule message is present, or otherwise returning the exact input string. | |
SR-D3929 | 444530 | Auditing for automatic stage transitions improved | The logic for pzCheckForAndDoAutomaticStageTransition has been updated to provide better audits for the movements related to automatic stage transitions. | |
SR-D3947 | 456344 | cross-site scripting security added to GET Request Work-DeleteAttachment activity | Security has been improved against a potential cross-site scripting vulnerablity on GET Request Work-DeleteAttachment Activity. | |
SR-D4025 | 439628 | Check added to ensure interactions show ID | After creating many interactions, navigating to the interactions not visible on the screen using the "Currently open" menu displayed the interactions as New instead of the interaction ID. This has been resolved with the addition of a check for customer headers. | |
SR-D4027 | 439897 | Explicit property evaluation added to correct visibility in Proposition Management sorting | After navigating to the Decisioning: Proposition Management landing page (Configure->Decisioning->Decisions-> Proposition management -> Hierarchy), opening any Decision data and then switching to the Form tab to perform any sorting on the Form fields grid caused the UI to become unresponsive and generate the error "Uncaught SyntaxError: Unexpected end of input at pega.ui.Doc.evaluateVisibleWhens". This issue was traced to a 'when' condition which demanded explicit mention of whether the property value had been evaluated as true or false, and that result has now been added. | |
SR-D4171 | 439537 | Preview of Activity shows the parameters correctly | If Activity A1 called another activity A2 which had some parameters, clicking the preview of activity A1 did not show all of the parameters of A2. Investigation showed that RuleScribe_Call was getting the property value as a String, but in pyStepsCallParams some of the properties are not strings (for example, pyStepsParamUI(...) is a Page List). To resolve this issue, code has been added to handle this use case so all of the expected parameters are displayed. | |
SR-D4304 | 446373 | Locale object handling added to SimpleDateFormat | Configuring an Authentication Service with signing certificates failed at runtime with a invalid date exception in non-English locales. This has been fixed by passing the locale object as parameter to SimpleDateFormat. | |
SR-D4464 | 456291 | Deprecated RowRepeat control replaced with table/grid | After upgrade, opening the parameters popup for a Data Page's source did not display the parameter input fields and instead showed what appeared to be encoded values for the properties those fields referenced. This was traced to row repeat not being properly rendered due to the stream generation being interrupted. Row repeat is a deprecated control, and even though an old section with that control may still be used in pages imported to more recent versions of Pega, issues may arise from time to time when trying to mesh deprecated controls with the newer technology. In order to ensure greater compatibility going forward, the row repeat control has been replaced with table/grid. | |
SR-D5126 | 487186 | 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-D5196 | 445416 | Hardcoded prweb reference removed from the REST connector to enhance flexibility | The DASS for pegarobotics/RobotManagerHostDomain allows specifying the instance where Robot Manager is hosted. Previously, connect-REST pzInvokeRoboticAutomation contained a reference to the resource path {RobotManagerHostDomain}/prweb/PRRestService/robotics/v1/automations which forced the use of prweb. In order to add flexibility, the hardcoded prweb reference has been removed from the REST connector resource path, and the pegarobotics/RobotManagerHostDomain) DASS's default value has been updated to include 'prweb' in it. Local sites should update DASS accordingly to point to an updated URL with prweb if needed. | |
SR-D5388 | 456426 | Corrected dropdown focus issue with dynamic layouts | The focus was not retained on the dropdown field whose property was used in the dynamic layout for the refresh condition. Investigation showed that in pzpega_ui_doc_focus.js, the function "focusNextElement" was setting pega.u.d.gFocusElement set to null after the first load. This has been corrected. | |
SR-D5404 | 445611 | Support added for nested grids with child categorization | Show Details and Expand All were not working as expected in a repeat grid with a nested grid scenario where the parent grid had Show Details enabled and the child grid had categorization enabled with one column selected for categorizing. Investigation showed that a null page was being passed (final @baseclass pzGridSortPaginate activity) due to a lack of support for considering page lists that are embedded in a page different than the step page. To add this support, the activity has been modified to use tools.getProperty(...) instead of myStepPage.getProperty(...) if the data source page list is not an embedded property in the parent row page. | |
SR-D5413 | 484328 | 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-D564 | 438145 | Removed job for column population when it is not needed | While optimizing the data type class properties, the column population job failed with the exception "ERROR - Exception in column population ... column pc1.pzinskey does not exist". Although there was no impact from this error, the SQL exceptions in logs could cause confusion. This has been resolved by updating the system so that if the table has no pzinskey or stream columns, no job will be queued for column population. | |
SR-D5878 | 444313 | Corrected logic for tab name generation in portal dropdown menu | When the number of number of tabs in a portal required a dropdown icon to see the tab names via a menu, the tab names were missing. This was traced to an error in the Tab Name generation logic, and has been corrected by updating proto.getTabLabelIconAndTooltip in the yui_tabview JS to get the correct labelElement. | |
SR-D6265 | 477258 | Cursor action corrected for pyRecents section refresh condition | If a “Layout Group” was used to add content in the left panel of the User Portals, the inclusion of the out-of-the-box pyRecents section with the standard refresh condition resulted in incorrect cursor behavior when selecting landing page options, displaying the content in a tab while the cursor in the left hand panel jumped up or down one position. Investigation showed that the index in the bar menu was wrongly set in sessionstorage when separators were present, and the issue has been resolved by updating the setstate and maintainstate methods to not consider the menu-separator in calculating the index. | |
SR-D6555 | 457242 | 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-D6695 | 482516 | Predictive model now handles database oeprations progress states | When attempting to create a predictive model, the page was hanging and would not process. Investigation indicated that this was a result of a missing use case from recent changes made to the progress bar logic for termination conditions, and has been resolved by adding handling for database operations progress states. | |
SR-D6721 | 485208 | 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-D6769 | 469284 | Corrected tab closing issue for multiple clicks of Get Next Work | While clicking multiple times very fast on a link configured with Get Next Work action, multiple tabs were getting opened with the same work object details and were not auto closing. This was traced to Issue with a stale conflictingHost in the handleGadgetLoad function, and updates have been made to the handleGadgetLoad function so it will get a new conflictingHost if the action is getNextWorkItem. | |
SR-D6947 | 446500 | Email AttachmentPage updated to support use of Data-WorkAttach | Attachments were not getting appended in the email sent by the Agent SendCorr. This was traced to a null Page that resulted if the attachment was of type custom Data-WorkAttach, and has been resolved by modifying the condition check on the objclass of AttachmentPage to change it from equalsIgnoreCase(Data-WorkAttach-File to startsWith(Data-Work-Attach-) . | |
SR-D7114 | 483623 | Corrected grid column header misalignment | After upgrade, a grid's first column heading was misaligned when using the Microsoft Internet Explorer browser. This was traced to Quirks mode related CSS not being removed after support for Quirks mode ended, and has been corrected. | |
SR-D7381 | 486565 | Purge/archive locking issue corrected | Updates have been made to resolve a locking release issue for the pzBatchPurgeArchive activity. | |
SR-D7427 | 445716 | Stack overflow error resolved for pxObjClass returned as declarative target | After installation, logging in for the first time as [email protected] with the temporary password was generating an exception. Investigation showed that the system was attempting to obtain the class name of page containing a declarative target and ended up in recursion due to pxObjClass, which was read while getting class name, being returned as a declarative target from the conclusion cache. To avoid this, the code has been modified to ensure that pxObjClass can never be a declarative target. | |
SR-D7696 | 482006 | Correct very large decimal number rounding error | Rounding errors were seen in a text input field for decimal property configured to round to 2 decimal places and format with comma group separators if more than 15 digits were entered. The first time the focus moved out of the field, the rounding was correct. After clicking save, which performed a reloadSection with activity SaveAndContinue (form save), the value was rounded incorrectly. This was an issue with the ability of javascript to handle large decimal numbers as type number, and has been resolved by changing the handling to be of type string. | |
SR-D7798 | 465259 | Grid reordering has correct row numbers in embedded panes | When using an expand pane grid with row numbering and row reordering enabled, normally reordering any rows handled the row numbers as expected. After a new record was added in the Embedded Pane and the rows were interchanged/reordered, the row numbers were not reordered with respect to the numbers. Expanding a row and reordering it with the previous row resulted in the numbers being correct and swapped, but collapsing that expanded row then showed its old number. Attempting to expand the above collapsed row/wrong number row instead expanded the previous row. To resolve this, the performModalAction function in ui_grid JS has been updated so the row page and primary page will be recalculated even for single expand reordering case. | |
SR-D7966 | 465416 | Documentation updated to clarify accessing Data Pages from another application | The documentation has been updated to clarify that when the operator is pointing to one AccessGroup in the runtime environment, access for Data Pages created in applications other than the default one is not allowed in the API. | |
SR-D800 | 487307 | 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 IE, and has been resolved by adding a try catch block for a window.framelement exception thrown by IE. | |
SR-D8279 | 481598 | 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-D8319 | 446427 | Case name caption security inserted with cross-site scripting filtering | In order to protect against the possibility of executing malicious JavaScript code by entering an appropriately modified name while adding new case type, pyCaption in menu items has been made HTMLSafe by converting JSON through the GSON library. An additional fix has been made to use cross-site scripting filtering to ensure the script does not execute while page is loaded. Additional handling for Firefox has also been added to normalize tabName to properly display Recents. | |
SR-D8390 | 488002 | 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-D8467 | 461268 | Resolved false alarm exception for Cloud BIX extraction | BIX Extraction on Cloud was intermittently throwing an exception even though the BIX Extraction was successful. This false alarm was triggered by inconsistencies in an API within the BIX extraction module used to determine if files existed on a Cloud S3 location post-extraction, and has been resolved by removing the file check. | |
SR-D8650 | 475298 | Handling added for null sort order in file import metadata | A NullPointerException was seen while fetching the sort order of indexes during a file import. This was caused by a null being returned for an index that did not have the sort order in the metadata, and has been resolved by adding a null check; if the metadata of the index returns "null" as sort order, then the order will be set to "A". | |
SR-D8790 | 487286 | 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-D8794 | 483814 | Import ordering shifted to prioritize Functions and Libraries | A runtime error was seen when running DataTransform getbranchandcbsadetails. Investigation showed that when getbranchandcbsadetails was imported, the RUF it referenced was not imported beforehand. To resolve this, the import ordering has been reworked to prioritize Function and Libraries by shifting Rule-Utility-Library and Rule-Utility-Function to be after Rule-Obj-Property* in the import order. | |
SR-D898 | 435996 | Pega0069 alert accuracy resolved for UHC FinishAssignment | Pega0069 alerts were not raised for the CS commit and confirm harnesses, and the reported total duration was not always accurate. This has been resolved by capturing document busy/idle for CS harnesses. | |
SR-D9119 | 481695 | Handlng improved for rollback of Hfix with dependent HFixes | Attempting to rollback an HFix with dependent HFixes resulted in a Hazelcast jar exception. Investigation showed the DL included the same jar multiple times in the dependent hotfixes, which was a result of how the DL was created via the hotfix process. In order to better handle this scenario, when there are multiples of the same entries to delete the message will be logged and the process will continue if the entry is not found in the database. | |
SR-D9132 | 461282 | Performance improvements for EventStoreWriter class | The cache protocol has been modified In order to improve performance for the EventStoreWriter class. | |
SR-D9142 | 482313 | 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-D9157 | 445709 | Pega-RULES session decryption issue resolved | When the Pega-RULES session encryption key was updated (rotated) after 90 days by the pyValidateKMSMetadata agent, the in-memory version of the key was then corrupted leading to a failure to decrypt the session header. This had the result of preventing any users from logging into the system. Users could connect to the login page and enter their credentials, but after clicking the Login button they were redirected back to the starting login page and their credential information was cleared. This was traced to the pulse change of SystemCDK moving the encryption and decryption process to inconsistent state where the CurrentSystemEncryptKeyIDHash still contained the old CDK ID.To resolve this, the system has been updated to use only ActiveKeyID instead of the previous behavior of using both ActiveKeyID and CurrentSystemEncryptKeyIDHash. | |
SR-D9242 SR-D10867 |
483171 483199 |
Security improved for DownloadFromServiceExport | In order to improve security, the activity “DownloadFromServiceExport” now requires authentication and explicitly blocks attempts to traverse up directories. | |
SR-D9482 | 484738 | 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. | |
SR-D9511 | 469238 | pyPreTriage and pyPostTriage flows now default to Draft Mode Off | The out-of-the-box pyPreTriage and pyPostTriage flows had draft mode turned on. Due to this, Email Triage cases in production systems were sent into the problem flow. This has been corrected by turning off draft mode for pyPreTriage and pyPostTriage flows. | |
SR-D9610 | 475238 | Check added for null values in boolean filter of column properties | Null values in the filter were showing as "NO" when 'Filter by Format' was enabled for filtering a boolean property (Checkbox) in the Column Properties of the table. This has been resolved by adding a check for empty values. | |
SR-D9683 | 482755 | 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-D9922 | 481416 | Case Notes view has proper line wrapping in Google Chrome | When case notes were opened in the Google Chrome browser, the view did not wrap. This was traced to a style attribute for white space which caused the line breaks to be collapsed in Google Chrome, and has been resolved by modifying the DisplayNote HTML to handle the wrap use case. |