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-C14525 | 356304 | Added WebSphere Liberty Profile to BaseEnvironment.guessServerEnvironment | While trying to add a node to Decision data store nodes via Designer Studio > Decisioning > Infrastructure > Service, the error "Service DDS:** java.lang.NullPointerException" was seen, and it was not possible to add a node or save any configuration. This was caused by an incomplete profile for Websphere Liberty, causing the com.pega.pegarules.priv.context.BaseEnvironment.guessServerEnvironment() API to return 'unknown' as the answer when WLP was used. This has been fixed, and the API will return "Websphere" for Websphere liberty profile as well. | |
SR-C19073 | 376686 | Context and page data removed together from all nodes | Context data was not deleted with the page data in prprivate-session/DatabaseStorage when SystemCleanerCanProcessDatabaseObjectsFromAllNodes = true. When false, both context and page data were deleted for the particular nodes. This has been corrected to ensure expired context and pages data is appropriately removed from all nodes. | |
SR-C23766 | 376488 | Modal submit corrected for grid buttons with multiple tags | When a modal submit button had three tags generated, clicking on the center one submitted as expected but clicking the first or last did not call a submit and the modal would not close. This has been corrected by modifying the "attachClickForGridButtons" method in "pega_ui_modaldialog.js" file to set onclick event. | |
SR-C25514 | 392195 | Special character handling improved to ensure MTOM binary contains all data | The presence of special characters was causing the data to be truncated when moving XOP elements in the SOAP envelope and encoding them into multi-part binary elements (MTOM). This was traced to Connect SOAP With MTOM Option missing some content in the Response data particularly in conjunction with Websphere using a specific JDK version, and has been resolved by modifying the setOptimizeOnChildren method in PRServiceUtilsPriv class to to get all the content. | |
SR-C32383 | 404383 | Pegacall Longpoll now supports rerty after network drop | Previously, Pegacall Longpoll would not auto-connect after a network drop, although polling could be restarted by refreshing the browser. Retry support has now been added to Longpoll. | |
SR-C33657 | 401228 | Connector and Metadata wizard skip of renaming classes works for very large metadata in Chrome | When using the Connector & Metadata wizard to generate Data mapping rules for Java Bean metadata with an imported jar containing a large number of metadata (over 5000 classes and properties), clicking on the option to skip renaming of classes and properties caused the browser to hang. This was traced to legacy code which was not efficient enough to handle this volume, and modifications have been made to avoid unnecessarily overloading the DOM and triggering onclick addEventListener events multiple times. This reworked skip function works smoothly with Chrome, but as yet does not work with the IE browser due to legacy coding and browser incompatibility issues. | |
SR-C34235 | 392563 | Clarifications added for PDF rendering when using default values | A visibility condition has been added in pzGeneralTab_ControlProps to hide the default value when .pyEditOptions value is "Read-only-always". In addition, the documentation has been updated to reflect that when default value is configured, it will be applicable only if the control renders in editable mode. If the control is editable and the property value is empty on the clipboard, the default value will be set on clipboard. | |
SR-C34802 | 388490 | DomainId Column size increased in Pegadata.Address table | Previously, domainId (in table pegadata.p_Address ) had a column length maximum of 16 characters. This has been increased to 256. | |
SR-C35967 SR-C57879 |
404321 406004 |
Updated parameter handling for SECU0001 alert for accuracy | In the SECU0001 alert, some fields contained incorrect values pertaining to a previous HTTP request, not the one that caused the alert, causing misleading information to be logged and sent to PDC. This was found to be an issue where when unexpected properties were found, the alert was being thrown from an early stage of processing, i.e, during inputProcessing where the current activity had not yet been set to the requestor state and therefore the current activity was not there in the stack frame. This has been addressed by getting the activity name from the HTTP request parameters and updating the diagnostic information with it so the alerts will be accurate. | |
SR-C40145 | 392708 | Restarting the SVM training analysis checks for existing model request to continue | When creating a predictive model there was an issue with completing the SVM training analysis either due to error or browser crash. In previous versions of Designer Studio the session would stay alive and continue to execute, however more recent versions of the decision analysis's portal expected the user to keep the session active in order for the model to complete even though for long-running model training it is not viable to keep a session open for many hours. This was caused by the model generation process being kicked off again when the wizard was relaunched, and has been resolved by adding a check to the relaunch that will look for an existing model generation request and continue with the same request if one is found. | |
SR-C40740 | 408513 | Improved error handling added for sync issue with malformed JSON action | A sync issue with a timesheet record was preventing mileage submission. This appears to be caused by a malformed JSON action being inserted into the actions queue sent to the server, and enhanced error handling has been inserted to avoid this issue. | |
SR-C41102 | 410423 | 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-C44259 | 408852 | Lock handling for DB during platform start/restart updated to only delete expired locks | After quiese of the node serving the user and server, instance restart locks assigned to the user were deleted in the database. This led to the error 'You 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.' appearing when attempting to submit a previously opened case. To correct this, the lock handling for the database during Platform start or restart has been updated; a filter for comparing sLockExpireTime with SYSDATE or CURRENT_TIMESTAMP in mDeleteStatementForSystem SQL query in DBLockProviderImpl Java class has been added so that only expired locks will be deleted. | |
SR-C44297 SR-C65032 |
397534 407952 |
XSS filtering added to RTE control | The system has been updated to close a vulnerability with RTE where an authenticated application user could potentially inject an XSS payload into the Case Notes section for later execution. | |
SR-C44836 | 410367 | Drag and drop fixed for report editor | An issue where it was not possible to drag properties to the report columns or filters in the report editor was traced to the HTML fragment RRBodyDiv outputting values from the paging settings in an unsafe manner, causing synactically invalid JavaScript to be generated when the "Previous and next only" paging option was used. To correct this, RRBodyDiv has been updated to generate valid JavaScript even if some paging settings are blank. | |
SR-C46537 | 395372 | Code added to format location header for redirect response in IE | When using Internet Explorer, authentication was working but the portal did not load. This was traced to IE mandating the presence of a location header in the response: an HTTP 303 "See Other Response" was being returned along with the initial portal HTML payload, but recent modifications to SAML 2.0 to use the PRAuth Servlet were missing this specific redirect case. To resolve this, generic code has been inserted that adds the location header in all redirect cases. | |
SR-C48056 | 391569 | RRChartDiv tries resize three times before exiting to prevent high CPU usage | Very high CPU usage was reported when two or more tabs were open, even when there was not actual work being performed in the app. This was traced to a chart in Team Dashboard that was displayed with "No data to display"; because the toolbar height was always 0, the resize callback was going into an infinite loop. This has been fixed by modifying the logic in pzRRChartDiv to only try the resize three times to get the height of toolbar or slider before exiting. | |
SR-C48318 | 388212 | Template circumstancing works for report definition | If a report definition was circumstanced using the template option, the base report definition was always shown shown instead of the circumstanced one. This was caused by a missed use case , and has been corrected. |
|
SR-C49844 | 394996 | Added check for external Cassandra cluster to avoid unnecessary DDS pulse error logging | After upgrade, DDS pulse errors were filling up the jvm.out logs. This was caused by a check in system_auth keyspace that was redundant for sites running their own Cassandra cluster (external). To fix this, DDS pulse operation will check If the Cassandra cluster is external; if it is, it will not check system_auth keyspace and will Omit DDS pulse operation actions except update logging. | |
SR-C49920 | 392248 | Presaveas activity for Proposition Filter fixed | An error appeared when attempting to add a proposition filter to a Revision Management overlay. This was inadvertently caused by a logic change for 'save as' done to address another issue, and has been corrected in the presaveas activity of Proposition Filter. | |
SR-C50221 | 399712 | Authentication tools now synchronized to handle multiple simultaneous calls | When testing an application that relies on SAMLAuth to create operators and map their data to specific fields it was seen that some users had errant information mapped to their various fields, mostly related to the .pyUserIdentifier and .pyLabel fields. The issue surfaced when multiple user sessions were simultaneously accessing the state of the parameter page, and was traced to an issue where the tools were not synchronized . during the authentication process. To correct this, the tools will be synchronized by storing their state in the parameter page. Context obj will remain constant while the parameter page will be passed in the authentication process. | |
SR-C50284 | 390659 | Top level activity steps are numbered correctly when child steps exist | Top level activity steps were showing as being numbered incorrectly when child steps existed, but saving the rule or refreshing the rule corrected the numbering. This was caused by CSS that was added to the rule form harness to increment the step number; while expanding a top level node the reset happened and then the counter initialized the value. To address this, the code has been changed from CSS counter to CSS attr which will use the index attribute of the current row. Additional CSS cleanups were also done to remove IE9 and other browser-specific styling that is no longer needed. | |
SR-C50324 | 393499 | Synchronized block method added to load keystore set with RUF | A recent enhancement allows for the SAML auth service to use a reference to an external file for the signing certificate keystore. When the keystore had the password set using a Rule-Utility-Function, rather than being static, there were intermittent login fails with the error "unable to process SAML WebSSO request1" on the screen, and the RULES logs contained thousands of entries of an error indicating "Password is wrong". It was sometimes possible to log in by starting a new browser sessions and trying again. This was an issue with the PasswordHash property being changed from a static to a non-static field: it was not thread safe, though each object got its own copy of the instance, because if two or more threads call the setPasswordHash() method on the same object, all of these threads tried to simultaneously update the passwordHash instance variable and incorrect results were seen. To correct this, the system will use a synchronized block when loading the entries into cache in the getKey() method - Caller function of KeystoreCacheImpl.java. |
|
SR-C50355 | 407421 | Corrected applies-to class in Test case rule | On test case rule form with assertion type Result count Filter class MIDAS-SR and filter condition @endswith(.cid,".html"), opening the function builder using the gear icon and trying to use the Test feature of the Function builder resulted in an incorrect applies-to class. The result was for the Test case instead of showing correct Applies to class of MIDAS-SR. This was traced to the Filter class of the context page not being passed to the function builder in Test case rule, and has been fixed. | |
SR-C50381 | 391849 | Save Parameters checkbox in Marketing AssociationCategory now disabled by default to resolve exception during campaign | An exception was thrown in the logs if an access group had any categories added or deleted while running a campaign in the marketing framework. This was traced to the checkbox "Save parameters with this property for access on reopen" being enabled by default, which ended up adding empty category tags to the Access Group Rule while running. This checkbox in pyAssociationCategory property has now been unchecked by default. | |
SR-C50899 | 397991 | Improvements to Services Tracer | When clicking on tracer to get details of a page, a pop-up window opened up with a highlighted link (in blue color) to open the parameter page or the primary page, but clicking on either of these page names opened a blank window without any properties mapping. This was due to the underlying object missing required data because the Services related tracer events did not always have PRThread objects associated with them. The Tracer infrastructure expected the proper PRThread to be in the "ThreadContainer" but offered no option for providing the thread, and the ThreadContainer was not always populated when Services ran. To resolve this, the Tracer Event infrastructure has been refactored to allow specifying a PRThread in RULE-HTML-FRAGMENT TRACERTRACEEVENTSSCRIPTS. The constructor logic in TraceEventBaseImpl has also been modified so child classes can pass a thread instead of relying on ThreadContainer. The Node ID for tracer events will be set based on PREngineProvider instead of ThreadContainer, and the ServiceEvent Interface's methods have been updated to take pointers to PRThreads so that the tracer knows who/what is being traced. In addition, NPE protection has been added to RemoteTracerStub so Tracing Services will not crash the Tracer UI when running from eclipse / prwebpacked. | |
SR-C51744 SR-C70146 |
406708 407966 |
Corrected SAML SSO logout error | When performing a SAML SSO Logout, an error appeared indicating some artifacts were missing. This was traced to an incorrect NameQualifier being generated with IDP in the logoff request, and has been fixed by modifying the code to include an SPNameQualifier attribute for the NameID element in the logout request. Namespace has been added for logout requests at the parent level instead adding it at each node element. | |
SR-C51798 | 403641 | Modified pzPopulateTrainingandTestDetails to resolve input error in test model | After creating a text model, trying to update it resulted in errors. This was caused by the input bean for pzPopulateTrainingandTestDetails getting reset and causing a nullpointerexception while trying to load the spell checker because the taxonomy data was empty. This has been fixed by ensuring the input param object is created after setting the taxonomy data. A null check has also been added in the creation process of the input param object in pzPopulateTrainingandTestDetails. | |
SR-C51848 | 404318 | Additional validation added for administrator role name in current application | When running an extract rule from designer studio, the when rule "hasadminrole" was getting called to check if the user has the "pegarules:sysadmin4" role. After upgrade, this when rule was returning false if "pegarules:sysadmin4" was defined in 'manage dependent roles', requiring the role to then be entered manually. This was traced to a condition where the BIX extract was being run from a CS application that did not have any access role with the current application name :Administrator, but instead used the access role name :SysAdm4, . To resolve this, an additional condition has been added to validate whether the current application has an access role with name "current application name:SysAdm4" in their access group to run BIX extract. | |
SR-C52077 SR-C76041 |
402334 415954 |
Corrected currency format for it_IT locale | For few locales, the formatting API was returning the number with leading white space. This caused the localeNumFormat to not be properly set. To correct this, the leading space will be trimmed before creating the 'localeNumFormat' parameter. | |
SR-C53056 | 398514 | Bulk delete updated and NPE handling improved to resolve deadlock when loading data flow landing page | A large number of data flow objects on the data flow landing page were making the system unresponsive, and bulk delete activity would sometimes fail on a null pointer exception when progress could not be retrieved. To resolve this, the bulk delete activity provided in [Data-Decision-Service] pyDeleteByStatusAndTime has been modified to be more flexible by allowing deletions based only a date or a status, and the documentation for the activity itself has been improved. Additional handling was added for a potential null pointer exception, and the activity will continue trying to delete other runs if a null pointer exception does occur. The system will not load a data flow run object anymore (which can cause issues when rules do not exist), and will instead load the run progress directly from the database. | |
SR-C53650 | 407317 | Pega_validators JS updated to resolve popup issue with IE11 | A browser popup was not displaying as expected in IE11. This was caused by IE11 not supporting the "startsWith" method, and has been resolved by replacing if (errorElementClass.startsWith("Radio")) with if (errorElementClass.indexOf("Radio") == 0) in the pega_validators.js file. | |
SR-C53659 | 414799 | Location paramter passing corrected to resolve portal switch/refresh error | Switching the portal and refreshing the browser was generating a system administrator error due to the location parameter not being passed correctly. This has been fixed by passing location parameter from pxCaseMgrHeader.js instead of forming it in the activity. | |
SR-C53719 | 402222 | DateTime date format inherited from locale to present in expected format | Section pxStatusQueueItems from System Operations > Queue Management landing page were defaulting to the USA month-day-year order instead of using the format for the assigned locale (or windows locale if empty) of day-month-year. This was caused by the DateTime controls on the Admin Studio using the specific format to display the DateTime properties: this has now been modified to use 'control inherited from property' to display as per locale. | |
SR-C53759 | 404973 | Corrected revalidate and save of Service REST rule after upgrade | After upgrade, opening an existing Service REST rule and trying to save it in a higher ruleset using the revalidate and save tool resulted in the error "pyResourcePathParams.pyParameterName : This field should not be blank". This was caused by the Service REST xml not getting updated and has been corrected by adding UpgradeOnOpen to the process. | |
SR-C53788 | 402410 | Cassandra enhancement added to allows enabling or disabling table truncation | Truncations of Cassandra tables sometimes failed if the compactions were interrupted or if all nodes in the cluster were not available. In order to support more customization, operations have been added to allow compaction of Cassandra tables to be disabled and enabled. The system will also log if a truncate is not possible due to the consistency of the cluster. In order to disable compactions for a DDS Dataset's Cassandra table the following code can be included in an Activity: com.pega.dsm.dnode.impl.dataset.cassandra.CassandraDataSet dataset = (com.pega.dsm.dnode.impl.dataset.cassandra.CassandraDataSet)com.pega.dsm.dnode.api.dataset.DataSets.instance(tools, "<Application Name>", "<DDS DataSet Name>"); com.pega.dsm.dnode.api.dataset.operation.Operation<?> operation = dataset.getOperationByName("Disable Auto compaction"); operation.execute(tools, myStepPage, null); To re-enable compactions for a table the following code can be run as an Activity: com.pega.dsm.dnode.impl.dataset.cassandra.CassandraDataSet dataset = (com.pega.dsm.dnode.impl.dataset.cassandra.CassandraDataSet)com.pega.dsm.dnode.api.dataset.DataSets.instance(tools, "<Application Name>", "<DDS DataSet Name>"); com.pega.dsm.dnode.api.dataset.operation.Operation<?> operation = dataset.getOperationByName("Enable Autocompaction"); operation.execute(tools, myStepPage, null); It is recommended that the disabling of staging tables be performed after the completion of a successful upload and the reading of the staging table is complete. It is recommended that the compactions be re-enabled after the truncation of the table is complete and before the loading of the staging table. |
|
SR-C53820 | 401241 | DateTime control updated to handle invalid date entry when validation is turned off | After turning off client side validation, trying to update a date in a date time control using the wrong format resulted in that day's date being used. If the client side validation is turned on, entering the date in the wrong format results in a validation message. This was caused by a missed use case for an invalid date entry not being validated, and has been corrected. | |
SR-C53866 | 392827 | Added handling for custom skin using the $ symbol for value | After upgrade, using a custom style sheet to display the $ symbol prior to values being shown or entered caused the application skin to not log and throw an error. This was caused by a missed use case for adding $ in css :before or :after content due to a dependency on this "$" notation for fetching right mixin color from skin color. The array index out of bounds exception was generated by the statemachine parser while handling special characters because it considered the quotes of csscontent to be corrupted. To resolve this, an extra check has been added for handling """ and "'" cases in cssCustomParser.java and junits have been updated. | |
SR-C53967 | 392506 | New wrapper API created to handle external Cassandra nodes for ADM models | When the Decision Data Store Service was configured to use an external Cassandra instance, the Adaptive Models Management landing page did not list the number of models when a strategy referencing an ADP Model was run, and the message "Error loading adaptive decision management server data. Ensure adaptive decision manager and decision data store service nodes are available." was displayed. This issue was traced to the ADM service relying on a FunctionalNodes API provided by DSM service infrastructure that was not able to recognize external Cassandra nodes. To correct this, a new wrapper API pyADMHasFunctionalNode has been created. | |
SR-C53999 | 393425 | Added missing validation trigger for survey question page | Validate rule or preaction was not firing as expected for the Question page in Pega Survey. This was due to a missing step which has now been added to pzDisplayQuestionPagePostAct. | |
SR-C54001 | 393883 | Extension to control flow action behavior added to pzDisplayQuestionPage | Flow Action pzDisplayQuestionPage Pega-Survey:07-10-33 had a final post activity that did not have extention point to control flow action behaviour. In order to support using configurations such as "Back-to-back processing" and "If an assignment is not being performed", the new activity "pyDisplayQuestionPagePostExt" has been added as an extension activity for pzDisplayQuestionPagePostAct. | |
SR-C54436 | 394199 | Resolved Data Type not showing records if Access When rule is mentioned in ARO of the class | Selecting the Records tab in Data Type rule resulted in an error when an "Access when" was defined in an ARO for the same class. This was traced to an issue in the Records tab where the system checks if the user has access to read/write the data records and shows/hides the "Import" link accordingly. The access permissions are checked with the pzHaveAccess API, which internally expects to be executed on a step page which is of type Data-. Here, the conditions were directly used to show the import link on the section "pzRecordsEditorWrapper" of type "PegaAccel-Task-DataTableEditor". The "WHEN" conditions in ARO are defined on Data- class but they are being executed on "PegaAccel-Task-DataTableEditor" during runtime: this works fine when an integer value is provided in ARO instead of Access when rules. To fix the issue, the pzHaveAccess check on the "Import" link has been removed so that it appears irrespective of the user privileges. | |
SR-C54754 | 395508 | Work by Work Queue modified to use RD in place of deprecated list view | When the "Find" button was selected in Designer Studio >> Case Management >> Tools >> MyWork >> Work by Work Queue, a series of dotted lines that exceeded the section limitation appeared. This was traced to the use of the deprecated function List-view in workbasketlistPopup. In order to support the needed display, the Pega-Landing.pzProcessAndCaseRulesMainMenu Navigation rule has been modified to call a report definition Assign-WorkBasket.pyASSIGNMENTSFORWORKBASKET instead of the deprecated list view. While there is a small difference in user experience and behavior, all the columns being fetched and filters being added will be similar to that of the ones previously seen in the list view. | |
SR-C55017 | 397186 | Mapping corrected for Constraints rule properties | The Constraints rule was not working for page list due to Page context and Page Context class both referring to the same property of pyPageContextClass. This was an error introduced during a UI Ruleform upgrade, and has been resolved by correcting the mapping of the "Page Context" field to pyPageContext. | |
SR-C55082 | 392684 | Cassandra upgrade | Cassandra has been upgraded from 2.1.14 to 2.1.20. | |
SR-C55269 SR-C59762 |
395845 402287 |
Custom filter values correctly pass to custom drilldown filters | Reports with summarize column, drilldown, and custom inline sections were not forwarding values from the custom filter to the drilldowns custom filter. This was a missed use case in earlier work done to ensure custom filter values are populated during runtime, and has been added. | |
SR-C55337 | 402516 | Removed duplicated parameter encoding from Create Work action string generation | Multibyte characters such as Japanese or Chinese passed as parameters to the Create Work action of a button were being encoded/decoded twice. This resulted in parameters being incorrectly interpreted in the newly created Work. To correct this, the parameters will not be encoded during the action string generation for Create New Work, and the necessary encoding will be handled only by SafeURL. | |
SR-C55452 SR-C62425 |
399480 401586 |
oLog.infoForced has been replaced with oLog.debug in GetAssignmentDetailsInternal to reduce excessive logging | The Rest API used by Robotics was generating excessive logging on the application server due to PzGetAssignmentDetailsInternal generating several lines of logs with each REST call. In a high volume system, this can make the logs difficult to utilize. To resolve this, oLog.infoForced has been replaced with oLog.debug. |
|
SR-C55574 | 407191 | Mashups reload properly after authentication timeout | When using a Mashup and a Pega AuthService that uses Pega Timeouts, the mashup did not reload properly if there was a Pega Timeout. This was traced to the system not honoring auth timeout for activities that don't need authentication, and has been fixed. | |
SR-C55675 SR-C59391 SR-C59388 |
396851 398282 398325 |
Handling added for work cases being synchronized after missing flow rule changes while offline | Mobile application work items submitted offline did not always appear when online again. After coming back online, new work items that were created online were synchronized, but the work items that were created offline were not synchronized. This occurred when changes were made to the flow rule after cases had already been created offline. To resolve this, any failure in finishAssignment/ previousAssignment/ doSave actions which does PRocessAssignment will persist the incoming data from device in following way: 1. Create a Pega-Work-OfflineSync case. 2. Merge all the actions related to the failure work object and copy the merged page in pySyncErrorCase page. 3. If a work basket is configured, the newly created case is moved to the work basket else it is moved to the default work basket. To check the data please check the work basket or instances of Pega-Work-OfflineSync. |
|
SR-C55724 | 399508 | SetTracerOptions modified to correctly pass needed parameter for displaying changes on the UI | When opening trace from any rule form's Action > Trace option and modifying the settings, the changed settings were not reflected on the UI until the tracer window was closed and opened again. This was caused by the data page used to store Tracer Settings not getting its parameters properly and hence was getting duplicated. This has been fixed by modifying the activity SetTracerOptions to pass the missing parameter. | |
SR-C56534 SR-C22990 SR-C56484 |
399504 364504 394360 |
Struts updated to v 2.5.16 | To address the latest Struts vulnerability, Universal SMA has been updated to Struts version 2.5.16. | |
SR-C56648 | 405426 | Updated logic for imagepicker to resolve icon changes in containers | When attempting to change the expand or collapse icon, the error "pega.openUrilInModal.showModalDialog - error when calling callbackfunction : 'C.getElementById is not a function' in pega" was generated. Investigation showed that the browser-level JS file 'pega_ui_harness_deferred' was missing parameters needed to return the value from the showModalDialog method due to a hardcoded loop for the imagepicker only iterating through a set number of levels. This has been resolved by updating the logic to recursively find the document. | |
SR-C56652 | 394383 | Apache Struts updated | Apache Struts has been upgraded to version 2.5.17. | |
SR-C56744 | 402693 | Activation function of RadialBasis now supported in the PMML engine | An enhancement has been added to extend the scope of the neural network evaluator to support RadialBasis Activation function. | |
SR-C56980 SR-C42849 |
399535 395987 |
Validation corrected to honor Read-Only designations | Validation was happening on Read-Only fields due to pyReadonlyValidation not being honored in all editable cases. This has been corrected. | |
SR-C57025 SR-C53680 SR-C74954 |
395184 395439 413139 |
Filter value Autocomplete uses localized text for the 'Case Type' string | The Filter value autocomplete field of the Case Manager portal bulk action landing page was not working as expected while using the Japanese locale setting. If the locale setting was English or empty, the filter value was displayed correctly in the autocomplete. This was an issue with comparisons being hard-coded to use the literal text string 'Case Type', which was failing in localization. To fix this, a 'when' rule has been added to compare localized text against pyFilterName and use it in the appropriate rules. | |
SR-C57130 | 401477 | TokenRangePartitioner modified to avoid Cassandra timeouts | The previous DSS settings caused the DDS dataset on Browse to create thousands of partitions. This caused thousands of files to be created for a file dataset which uses a DDS dataset as input. In order to reduce the number of partitions while still being able to take advantage of the changes to ensure Cassandra always reads from the local node and thus avoid the timeout, the TokenRangePartitioner will now create composite partitions with multiple token ranges (up to 60) per partition. This will reduce the number of files created by a factor of 60 reducing the number of files created from 60 - 100. Additionally, timestamp accuracy issue and batching for single case data flows have been fixed. | |
SR-C57259 | 396052 | Reference Rules gadget shows results for GET >> Service Activity | Even if a Rule had activities in the GET >> Service Activity portion of the rule, the References panel did not show them. This was a missed use case and has been addressed by using Start-Validate and End-Validate in Rule-Service-REST.Validate activity. | |
SR-C57445 | 402110 | Test Cases tab visible to delegated rules | When the Revision Manager assigned rules in the CR, the TestCase tab was not available to the rules. This has been fixed by adding the test cases tab to "RevisionRuleFormLayout" and "pyRMRuleFormLayoutDE". | |
SR-C57545 | 396123 | Corrected retrieval of externally-stored PDF attachment | After generating a PDF using the out of the box activities GenerateEForm and AttachEForm, the message "Failed to load PDF document" was displayed with a Reload button when trying to open the attachment. This was traced to an implementation error when CMIS/WebStorage/Repositories was updated that neglected to modify AttachEForm to match extra properties that were added to AttachFile. This caused issues when storing an attachment in an external storage system that was skipped in AttachEForm. To correct this, the Link-Attach file has been modified to properly to indicate where the attachment is being stored when it is stored externally. | |
SR-C57557 | 402534 | Work Object lock released correctly when modal dialogue is canceled | The Work Object lock was not being released when the modal dialogue cancel button was clicked. This was due to the primary page not being switched to the pyWorkPage during the cancel, and has been fixed. | |
SR-C57881 SR-C63155 |
398819 402475 |
Localization support added for page level properties | When trying to change the out-of-the-box pyMessageLabel "This field may not be blank.", the changes were applied at the property level but were not applied at the page level. This was due to Localizations not being handled properly at page level, and the HarnessErrorList rule has been updated to correct this. | |
SR-C58201 | 399199 | Hazelcast thread locking improved | The system was hanging after attempting Hazelcast locking. Tracing showed threads that seemed to be waiting for the system lock to become available so that they could acquire a database lock. This was caused by an implementation issue in LockUtils that did not wait to ensure that the distributed map's lock was released if it wasn't yet available. To correct this, debug logging has been added to the "LockUtils" class which will print when the lock is acquired or released along with the associated stacktrace. In addition, a wait function has been added to the Distributed Map lock to improve the timing between release and grab. | |
SR-C58241 | 402735 | Agent Access Group corruption resolved | The Access Group used by agents was intermittently becoming corrupted. This was caused by a timing issue where sometimes the conclusion was built before the rulesets to the requestor were set up, resulting in the role being added to the RoleNotFound cache. To resolve this, the RoleNotFound cache has been removed so that every time a role lookup happens the system will check the database. | |
SR-C58279 | 401713 | Fixed retrieval of attached emails on cases with Japanese characters | When using the "Send Email" shape on a case life cycle where the case type had Japanese characters, the mail was created and attached into the work object as expected, but an error was generated while trying to open the attached mail from the work object indicating "not found in database or insufficient privilege". This was due to the InsHandle being double-encoded, and has been resolved by avoiding encoding during assembly. | |
SR-C58890 | 398423 | Merge Wizard errors fixed, and created rules will use the highest ruleset version available | Code errors in the Merge Wizard that were causing Null Pointer Exception errors have been fixed, In addition, branch rule sets created through this wizard did not have the 'Application validation' option and rule set pre-requisite filled automatically; the system has been updated so the version prerequisite will be the highest existing ruleset version in the ruleset. | |
SR-C59062 SR-C63394 |
401213 402617 |
Human and robot assignments workflow access differentiated and separated | Previously, the "Access When" rule did not differentiate between human or robotic operator and each was able to work on assignments intended for the other. When a case was routed to a robotic work queue (and also when the robot VM had already picked up the work and was processing it), the assignment could still be picked up from the Review Harness and moved downstream by a human operator. To resolve this, the property pxAssigneeType has been created in AddAssign (Workbasket and Work List) to hold information about whether it is a human or robotic assignment, and canPerform(Work List & WorkBasket) has been modified to account for the operator type and assignment type. The error "You are not authorized to perform this assignment." will appear when an assignment routed to a robotic queue is accessed by a human. However, if the access group is administrator, the human operator can still progress the robotic assignment without any error. | |
SR-C59790 | 398643 | Enhancement added to get archive details as response on getStatus API call with external repository | Previously, getStatus service did not return the repository location of the exported zip file if export to repository was passed true with repository name. An enhancement has been added to also get repositoryLocation with a getStatus service call if exportToRepository was true in the export operation and the archive has been successfully exported to the repository. | |
SR-C60087 | 406619 | Failure status set correctly for WL to WL bulk WO transfer | When a work object that was part of a bulk transfer was being moved from one operator's work list to that of another operator, a blank status was appearing if the work object was resolved by the originating operator before it was submitted. This was caused by a missed use case for setting error messages and has been corrected by updating pzBulkProcessItemsInHarness. | |
SR-C60129 | 401825 | Removed default height from pzTimeline_PresentationTab | When using Timeline Control, the Default Height in the presentation tab was not being removed when it was changed to be blank and saved. When the control was opened the next time, it defaulted to show Height 300px and remained at that value despite repeated attempts to blank it. This was traced to a default height in the "pzTimeline_PresentationTab" section, and this default has now been removed. | |
SR-C60191 SR-C54443 SR-C53711 |
400126 396520 391792 |
Acecss Group encoding updated for compatibility with the latest versiosn of Tomcat | After upgrading to Tomcat 7.0.88, there were intermittent login issues. This was due to the access group hashcode having "[[" appended in the URL, which the latest version of Tomcat does not accept. To resolve this, updates have been made to URLComponentProcessor where the encoding of the access group is done. | |
SR-C60247 | 413679 | pzRuleFormToolbarPopulateActions works when @ is present in the operator ID | Using pzRuleFormToolbarPopulateActions to get all the versions of the rule was not working as expected if the '@' symbol was present in the user ID. This was caused by the Rule-.pzRuleFormToolbarPopulateActions activity not forming the private rules correctly in this use case, and has been fixed. | |
SR-C60591 | 402457 | Spring Framework updated to latest version | In order to provide improved security, Spring framework has been updated to v.4.3.19. | |
SR-C60612 | 402376 | Modified "What's New" widget to remove use of webGL and improve browser performance | The "What's New" widget on the Designer Studio home page was using WebGL to render its background animation. If the browser was running on a virtual machine without hardware acceleration, this widget could cause the browser to become unresponsive. While there was a workaround of using the 'Click the Hide this until next release' button to remove the widget for subsequent logins, the "What's New" function has now been modified to not use webGL. | |
SR-C61154 | 411073 | Improved DB stability and retry for issues with RetryContext$ExceptionForDatabase | The agent was crashing when there was a report using a pr_read_from_stream for the 'where' clause combined with a postgres version with 'on pr_read_from_stream'. This has been addressed by improving the stability of the database and adding code to better handle reconnect and retry when there is a database problem. | |
SR-C61277 | 402763 | GRS values supported for pxTestEmailConnectivity activity | After upgrade, the global parameter reference did not work in email accounts. This was an unintended consequence of recent email refactoring: although GRS values were being resolved in the activity and shown in the components tested section of the test connectivity gadget, they were not being passed to the pxTestEmailConnectivity activity. This caused the test connectivity to fail if the inputs configured in email accounts were in GRS syntax. To fix this, the SMTPConnectivity and POPorIMAPConnectivity activities of Data-EmailAccount class have been modified to add the GRS resolved values to an emailAccountPage which is passed as a parameter to pxTestEmailConnectivity activity. | |
SR-C61477 SR-C79142 |
418265 417678 |
HTML conversion added to email IVA | When sending through emails that are in HTML format, HTML tags were visible within the Analysis of the email under Entities. These tags also potentially had an impact on topic detection, as the same email sent through in HTML would be classified under a different topic from one sent through as Plain Text. This issue originated because Email IVA received text as HTML while it expected plain text without HTML tags, and was traced to the use of an IMAP setting which sends only HTML to the listener. This has now been fixed such that If any HTML is received by email IVA, it will be converted to plain text via JSoup APIs in the service method as the first step. |
|
SR-C61479 | 403398 | Bix extract performance improved by only checking cipher type for encrypted properties | Previously, if no cipher was configured in extract Rules the cipher type defaulted to null and wasn't cached. This caused performance issues when running against the database. In order to improve performance, the code has been modified to only check for cipher type if the property is encrypted. | |
SR-C61596 | 401751 | Fixed escaping of double quotes in UI control Tooltips | Adding a tooltip to a UI control (such as a button) where the tooltip had both text in "double quotes" and out Ex: foo "bar" baz caused a compile time error due to the double quotes not being escaped correctly. This has been resolved by using StringUtils.crossScriptingFilter at design time in pzGenerateLinkOrButton for non template and {{{}}} (triple braces) for template. |
|
SR-C62241 | 405941 | Error handling corrected for Actions/Refresh menu actions | When using the ACTIONS / REFRESH menu action on a case that had a required property, the busy indicator appeared and remained on screen, blocking interaction with the portal until the browser was refreshed. The error "pzpega_ui_harness_deferred_ts_1342430166!!.js:1969 Uncaught TypeError: Cannot read property 'stopPropagation' of undefined at Object.stopPropagation" appeared. This was traced to a fault in the error handling and has been corrected by modifying "pzpega_control_actions_refresh.js" so the event will be passed as parameter in the "pega.u.d.submitWhenFail()" call and the "SubmitInProgress" value will be set in context in pzpega_ui_doc_submit.js. |
|
SR-C62405 | 402761 | Check added to resolve privilege error on RAP import | Importing a RAP file containing a circumstances rule to alter the table "pr_index_circumstance_def table" was giving an "insufficient privileges" error if the user did not have the privilege to alter the table. Each time a circumstanced rule is created, it attempts to not only insert an instance into the index table but also tries to expose a new column matching the circumstanced property. Given this, creating a circumstanced rule ultimately required access to modify database schema. To resolve this, a check for DASS AutodatabaseSchemaChanges has been added, and the system will bypass making schema changes in saveCircumstanceIndex activity if same is set to false. | |
SR-C62412 | 402624 | VBD enhancements added to assist in cleanup | Running VBD for a long period of time will lead to accumulating partition summaries without a safe means to clean up. Enhancements have now been added to support the following: 1) An API has been added to VBDService to support deletion of partitions from cache AND persistence prior to a date. This can be used as a building block for "keep last X days" functionality on a VBD dataset. 2) The Start Date will be used when loading Partition summary data when the service initially loads. Eviction logic has been implemented to remove partitions along with summary data (e.g. counts and dictionaries) for partition keys earlier than Start Date. Eviction occurs when Start Date moves ahead of partition's timestamp. If Start Date is updated backward by user and there exists data in Cassandra on these dates, then the partition summaries should be loaded into the cache. This requires a full cache reload which will be automatically triggered. |
|
SR-C62475 | 402811 | Improved security on attachments added in Case and Pulse | Data-Content-Image instances were getting created for attachments added in Case and Pulse. Since Data-Content-Image doesn't correspond to security once they are cached, they could be accessed by any authenticated user. To correct this, extensions have been added to stop generating Data-Content-Image while creating a pulse attachment post or case attachment. | |
SR-C62573 SR-C70724 |
405925 408367 |
Test case data purge made configurable to improve rule opening performance | Slowness when opening rules like Decision tree, flows, and decision tables was traced to some rule form test cases data being automatically loaded during opening. This has been addressed by modifying the "pzPergeTestResultsData" activity to read the value from "pegaunit/purgeAgeInDaysForTestResults" DSS to delete the test results records from the database based on the purge age. The default is 180 days. | |
SR-C62607 | 404667 | Corrected cache error with multiselects sourced from report definitions | Certain multiselects sourced from a clipboard page or report definition would work correctly the first time they were displayed in the dropdown, but if no value was selected the dropdown disappeared on subsequent clicks. Multiselects sourced from a data page worked as expected. This was caused by an error in the cache process which was not correctly updating the data, and has been fixed. | |
SR-C62820 | 404256 | Fixed dropdown value reset on Microsoft Edge 41 browser | When using the Microso9ft Edge 41 browser, any value selected in a dropdown was getting reset to the placeholder. Also, if there was a dropdown with required validation, then after the selection was made a reset happened and fired a validation message. This was traced to the selectedIndex of dropdown not getting updated properly in Edge if the option was added dynamically with selected attribute, and has been fixed by setting selectedIndex to dropdown in constructOptions function of pzpega_ui_dropdown.js. | |
SR-C62835 | 408359 | pzReindex defaults to true during branch merge and initial save | When using Declare Indexes intended to be fired when a KYC rule type was saved, merging a KYC rule type from a branch to a ruleset which contained the rule resulted in the declare indexes not firing from Rule-pyMergeInstance. If the branch was merged into a ruleset which did not contain the KYC rule, the Rule-pyMergeInstance fired the declare index rules as expected. This was an issue with using Declare Indexes in an unexpected way: Declare Index works only when a property that is tracked is changed, and merging a branch rule to base ruleset does not change any tracked property. However, there was a Force Reindex happening when the saved instance had a different pzInskey than one that already existed in the db. This occurred when the rule was merged to new ruleset where the pzInskey in the DB would be null, and was expected behavior. In order to ensure Declare Indexes fire during a merge, pzReindex will be set to true in the Merge Wizard before saving the rule while doing branch merge. It will be reset/set to false after the rule has been merged and saved to avoid the additional overhead of triggering re-indexing every time the rule is saved afterwards. Future enhancements will address parameter handling in templatised UIs. | |
SR-C64243 | 403381 | Data flow region switching method added to prevent truncating event strategy data | An enhancement has been added to allow customers to switch data flow execution from one region to another without clearing event strategy data. This process looks like (1) Dataflow is started on one region. (2) Dataflow is paused in same region. (3) Dataflow is started in second region. Previously, step 3 would delete the existing event strategy data. To prevent that, a new run option has been added named 'pyDataFlowStorageTruncateOnStart'. By default, this is set to true and truncation will occur. If set to false, the event strategy data will not be deleted. | |
SR-C64292 | 405248 | Corrected multiselect dropdown event handling for IE11 | When using IE, multiselect dropdowns would work correctly the first time they were displayed, but disappeared on subsequent clicks. This has been fixed by correcting the event handling for IE11. | |
SR-C64783 | 407087 | Corrected handling for SAML logoff | On SAML logoff, the error "There has been an issue; please consult your system administrator; Status:fail ... No certificate found in truststore" appeared. Investigation showed this was an issue with the aliasing of certificates and signing that led to the requestor not being terminated for that logoff response. To correct this, when Pega receives a logout request which is invalid, it will terminate the session instead of throwing a PRRunTimeException. | |
SR-C65239 | 411325 | Check added to resolve nested grid component mismatch | When using a nested repeating grid with expand pane option and expand multiple row options, running a screen flow resulted in a component mismatch error when moving from one assignment to another. This was traced to a limitation in the implementation that sometimes caused the parameter of the outer and inner grid to become corrupted or affect the wrong grid. In this case, the paramters startIndex and recordsInCurrentPage were resulting in a numberformatexception which in turn caused the component stack mismatch error. To fix the issue, an empty check has been added for startIndex and recordsInCurrentPage in the grid generation code. | |
SR-C65417 | 406207 | Autocomplete control corrected for dynamic index section | When section was defined on the static index of pagelist (i.e. pagelist(1) ), the value selected in autocomplete was being set properly but when section was defined on dynamic index of pagelist (i.e. pagelist() ), the value selected in autocomplete was not being set. This was traced to LAST and FIRST predicates not being correctly resolved in templating. To correct this, while rendering auto complete with pzpega_ui_template_autocomplete.js file, the system will resolve predicates using the currentContext.resolvePredicates API. | |
SR-C65438 | 406709 | Added SAML parameter page generation for local use to bypass null auth object | After defining any step which used parameters in the Post authentication activity of a SAML authentication service, the authentication failed with a java.lang.NullPointerException at com.pega.pegarules.session.internal.mgmt.Executable.putParamValue(Executable.java:3030). This was traced to local logic inserted to iterate through the SAML attributes that used a null parameter page. To resolve this, code has been inserted that will generate a new parameter page for the iteration rather than getting it from the authentication object. |
|
SR-C65576 | 405496 | Data-WorkAttach-File made available for use of custom pxCreateSystemID | An enhancement has been added to allow storing the pxCreateSystemID from pyWorkPage to Data-WorkAttach-File and Link-Attachment instances which were created on attaching a file. Previously, the Data-WorkAttach-.Default Data transform and Work-.AttachFile both set the pxCreateSystemID property to pxProcess.pxSystemName for Data-WorkAttach-File and Link-Attachment instances respectively. While Data-WorkAttach-.Default is ‘available’ and can be overwritten to set pxCreateSystemID as desired, the Work-.AttachFile was ‘Final’ and it was not possible to overwrite that to set a pxCreateSystemID manually. In order to support this use, extension points have been provided for the pyDefault data transform in the activities Work-.AttachFile and Work-.WorkURL which can be overridden. | |
SR-C65633 | 408042 | Improved handling for parsing multiple formats of DateTime | In order to further correct an issue with DateTime formats, the system will now use the parseAsDateTime and parseAsDate functions to properly handle the parsing of the date and date time values. The Pega format will be tried first, and if that doesn't work then the UTF formats will be used. If there is still an issue, the system will call back on the original parseAsXSDDateTime/Date which should catch all cases. An exception will no longer be thrown until after all parsing methods are tried. | |
SR-C65690 | 405920 | Currency Code updated for new Venezuela VES designation | The currencycodes.xml file has been updated to reflect the recent decision by the Central Bank of Venezuela to change the Venezuela Currency code from 937(VEF) to 928(VES). | |
SR-C65757 | 406951 | Support added for POST binding in SAML logout | Enhancements have been added in code and rule changes to support POST binding for SAML logout. In addition, handling has been added to resolve an ArrayOutOfIndexException error that was appearing if IDP sent parameters without any value. | |
SR-C65791 | 404436 | database connection leak resolved | A database connection leak was traced to the resultset package not being closed if an exception occurred while executing the query. A try/catch has been added to the database.list method so that in the case of an exception, the ResultSetPackager (which was created in the line above the database.list call) will be properly closed. Additional error logging has also been added. | |
SR-C66114 | 408081 | Resolved pg empty error after db.open and improved error message | When opening the data page D_RepositorySettings, the error "pg empty after db.open" appeared in the logs. This was due to the data page referring to the files webwb/zchecked.gif and webwb/zchecked.gif in many sections of the data page rule form despite these files having been removed as part of a recent cleanup meant to reduce storage requirements. In order to resolve this error, the zunchecked.gif and zchecked.gif images have been added back and the error message generated in the RUF pzGetbase64encodedImagehas been improved to add the target filename: "error occurred while opening the image:webwb/zunchecked.gif". | |
SR-C66283 | 411633 | Report Usage updated to always fully populate statistics regardless of page source | After creating a report under the Log-ReportStatistics class, it was seen that reports under report usage were not reflecting the exact data. The inconsistency observed with embedded reports was due to grids being sourced by virtual RD, for which the report page had already been loaded elsewhere. In this case it was assumed that the statistics were already populated because the report page was already loaded. To ensure that reports are consistently accurate, pxRetrieveReportData has been updated to always call pzPopulateStatisticsInfo. | |
SR-C66624 | 400504 | Case type validation localized | Localization has been added to the Case type validation description. | |
SR-C66627 | 406212 | Placeholder text localized for approval rejection | Localization has been added to the placeholder text of the approval reject step. | |
SR-C66633 | 408773 | Corrected DADT mapping for PegaDATA tables during upgrade | After upgrading, old data tables being upgraded to new data tables (local storage) had the DADT table mapping changed from PegaDATA to CustomerDATA schema even though the tables themselves remained in PegaDATA format. This was traced to a missed use case in an enhancement that allowed creating a data type only in a CustomerData data base. To resolve this issue, the validation for restriction of PegaDATA has been removed and the param.nonPegatable will be set to false in cases where the database type is PegaDATA in pzCreateLocalDataStorage. | |
SR-C66639 | 406175 | Localization added to "Text" in Themes page | The header "Text" in the Themes page was not localized properly due to the field value created in the wrong applies-to class . There is a field value in @baseclass but is in Pega- DecisionArchitect ruleset might not have been considered while exporting rules for translation . Will create another one in @baseclass /Pega-EndUserUI | |
SR-C66654 | 398760 | Pulse App Studio localization added | Localization has been added to the Developer collaboration text in Pulse App Studio. | |
SR-C66998 SR-C66679 |
409280 405940 |
Thread name implementation fixed for FCM use with micro DC | When attempting to invoke a remote case in the Interaction Manager portal via FCM with the Customer Service for Insurance application which uses micro DC, the case was not invoked and an empty screen was displayed. Invoking the case from the interaction portal resulted in a JavaScript error. Invoking the case from a WSS or directly from the Create button in Designer Studio worked correctly. This was traced to a recent change to the implementation for generating the thread name. Because of this, CRM apps could not load the Federated cases via micro DC. This has been fixed through changes in "pzFCMMashupGadget" to replace the slash with underscore for the FCM thread. | |
SR-C67029 SR-C69302 |
406090 407177 |
Support added for local datacenter only keyspaces for Cassandra | In order to support multi-datacenter system (one Pega system) that spans two data centers but avoids the latency of attempting to connect from a node in data center 1 to a Cassandra node in data center 2, an enhancement has been added by way of the system setting dnode/cassandra_local_datacenter_keyspaces which allows specifying only local datacenter keyspaces as comma separated string. The default behavior is not changed. | |
SR-C67164 | 406357 | Operator security bypass now available to multitenancy environments | In Pega 8.1, whenever operator records are imported via a RAP file they are disabled by default for the purpose of increased security. When performing this operation there is an option to bypass this feature so that operators are not disabled upon import, but that bypass was not available in multitenancy environments. To allow for that use, this release includes an enhancement to expose a parameter on PegaRULESMove_Zip_To_DB to support bypassing operator security. | |
SR-C67376 | 406717 | SOAP Connector Wizard 'Create' button conditionally accessible | Previously, the 'create' button in the SOAP Connector Wizard was disabled if the application was password protected. As an enhancement, the create button is now accessible if the existing ruleset and version is selected. | |
SR-C67397 | 416251 | 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-C67870 | 407162 | Added evaluation client thread name check to Change Tracker | The Change Tracker was intermittently not working as expected between main DC and micro DC div when trying to use a change in microdc context (specifically an update to D_Interaction.InteractionHeaderRefreshDateTime) to refresh the document in the main DC. In order to ensure consistent updating, a check has been added for the current thread name while executing evaluate client conditions. | |
SR-C68219 | 406591 | Customizable extension points added to Work-.CorrAttach | In order to support the use of custom properties on Link-Attachment instances when correspondence is sent and attached to the case, extension points have been provided for pyDefault data transform in the activities Work-.CorrAttach. | |
SR-C68443 SR-C62635 |
410236 405290 |
Changed French locale to use getshortmonths to descriminate between June and July in datepicker | When using the French locale, there was a problem selecting the month of July from the date picker because the three-letter abbreviations of June and July are the same in French. To resolve this, the system will now use the Java API getShortMonths in the French locale which gives 4 characters for the months. | |
SR-C68682 | 409608 | Layout Groups Accordion Styles modified to use refresh on change | After updating Layout Groups Accordion styles in a skin rule and saving and checking in the rule, re-opening the skin rule showed that the changes had not been saved. Investigation revealed that in accordion format, the font section is being rendered for the "header" and "tabs" of the of layout group but the third tab was not visible to accordion format. To resolve this, pyComponentDetails of Embed-skin-component-layoutGroup has been modified to use on onchange refresh section instead of "Run visibility condition on client". | |
SR-C68713 SR-C71432 |
407255 410184 |
Moment udated to latest version | Moment.js has been updated to version 2.22.2 . | |
SR-C68750 | 402364 | PEGA0066 alert sends data needed for MyAlerts use | In order to facilitate the use of products like the MyAlerts application, the following data will be provided to PDC from PEGA0066 alerts to generate proper diagnostics information and propose solutions for issues with mobile client connections: pxClientErrorCode pxDeviceManufacturer pxDeviceModel pxOSName pxOSVersion pxHybridClientVersion pxInstallationId pxSynchronizationId pxSynchronizationTimestamp pxEnd The allow list parameters can be seen on the Alert Summary page in PDC. |
|
SR-C68901 SR-C65748 |
411286 411169 |
Multiple fixes made to handleXThreadChanges to resolve IE11 latency for opening cases/assignments | After upgrade there was a performance issue with IE11 when opening a case from the search box or opening the assignments, and alerts were triggered from PDC indicating "ClientPageLoad has exceeded the elapsed time". This was caused by IE stopping the triggering of requests until a client processes was done, causing increased latency when compared to using Chrome. To resolve this, multiple fixes have been made to the handling for handleXThreadChanges in setTimeout. | |
SR-C69441 | 415966 | Copy/Merge Wizard ProcessRequest will create new rule instead of modifying the old | When using the Copy/Merge wizard to move the rules from one ruleset to another with the "Delete Source RuleSet(s) upon completion of merge" option set to YES, the SECTION rules were still being referred even though the target ruleset was not part of the application stack. In the Tracer, it could be seen that the rule appears in the source ruleset version even though the ruleset did not exist, and attempting to open the rule from tracer or from Live UI caused it to open in the Target ruleset version (which was not part of application). This was traced to the system not updating the cache, leading to RULE-OBJ-ACTIVITY PEGAACCEL-MANAGEMENT-REFACTOR-RULESET PROCESSREQUEST applying an incorrect strategy when updating the rule and rulesets. Because the original rule was never invalidated, its shortcut and entry remained and any references to it weren't updated. To correct this issue in a comprehensive way, the ProcessRequest has been modified to create a new rule instead of modifying the old rule, and pxCreateDateTime will be added to the rulepage before saving. | |
SR-C69567 | 407730 | ICMP ping flag enabled and Hazelcast alerts/info messages added | Hazelcast Professional Services recommends enabling ICMP ping as a method to detect network failures more quickly. This can also help to determine whether a failure is due to a network outage: if the ICMP ping is successful but the heartbeat timed out, that may be an indication of a unresponsive (GC pause, long running process, etc) node. To facilitate this use, the ICMP ping flag can now be used in conjunction with enabling ICMP ping on EC2 through the security group and enabling ICMP in the Hazelcast configuration. In order to facilitate determining root causes for Hazelcast errors in the logs, the following alerts and info messages have been added: Actionable Events (Alerts): Each of these events is worth noting an alert for. An action may be necessary. - [Partition] Lost - A partition was lost. Possible data loss has occurred - [Lifecycle] Merge Failed - A member’s attempt to merge with the cluster has failed - [Migration] Migration Failed - A partition migration has failed Non-Actionable Events (Info): These events are of interest but don’t require any actions. - [Membership] Added - A new member was added to the cluster - [Membership] Removed - An existing member has left the cluster - [Lifecycle] Merging - A member is merging with the cluster - [Migration] Started - A partition migration has started - [Migration] Completed - A partition migration has completed - [Lifecycle] Shutting Down - A member is shutting down |
|
SR-C69948 SR-C75056 SR-C79941 |
414251 414109 416721 |
Corrected JSON for eventType DisableOperators in the security event log | An event entry in PegaRULES-SecurityEvent.log was generating invalid JSON. This was traced to eventType DisableOperators (not disable operators) containing a message attribute with unescaped double quote characters surrounding the operator names. This has been fixed. | |
SR-C70539 | 412234 | Open API passes 'true' for aUnlockOnCommit parameter to minimize pr_sys_locks table filesize | The Archive/Purge Wizard was not removing the locks acquired during the execution from the pr_sys_locks table, resulting in locks remaining in the table for up to three days. This could potentially cause an enormous filesize and lead to other processes failing to acquire locks due to contention on the table. To resolve this, the system will pass 'true' for aUnlockOnCommit parameter on the open API so that the lock is released on commit of the deferredDelete on purged instances. | |
SR-C70602 | 415502 | Changed async loading when attaching Files with PegaCloudFileStorage to address 3rd party PEGA0046 error | When using PegaCloudFileStorage, a PEGA046 alert was observed when attaching a file to a work object. This was a cosmetic issue that did not affect functionality, and was traced to the use of an external logging system that is not part of the standard system development for Pega. In order to remove this alert, Step-5 (Load-DataPage) of Data-WorkAttach-File.pzSaveToRepository activity has been removed as asynchronous loading of D_pxNewFile data page is not required. | |
SR-C70639 SR-C68500 |
409664 411293 |
Node ID correctly transmitted for PEGA0066 Alerts | The PEGA0066 alert containing information about synchronization errors or connection lost did not contain the correct value in the Node ID field, causing PDC to not be able to handle the alerts on mobile. This has been corrected. | |
SR-C70757 | 411813 | Added null check to resolve error when using datapage as dropdown source | The user application was hanging with the browser console error "Uncaught SyntaxError: Unexpected end of JSON input" when using Dropdown controls with Datapage as a source in conjunction with parameterized datapages to create a cascading second dropdown. This did not happen when using any other data sources for the same control dropdown. This has been resolved by adding a null check at the reloadcell response. | |
SR-C70867 | 414702 | Resolved focus for new IE windows in Citrix environment | When opening a new IE window in the Citrix environoment, the window would open in the foreground and then immediately shift to the background. Investigation showed that when a menubar item was clicked, there was a call to show submenus in a settimeout of ZERO which implicitly did a focus on the menu item. Though the focus on the menu item happens after the window.open (action) is called, for in-house cases the focus occurs before the window is completely opened. However in this case, this focus was delayed and the new window was sent to the background. To correct this, the system has been updated so it will not perform focus on the menu item if the document itself is not in focus. | |
SR-C70943 | 409363 | Dropdown sourced from data pages or clipboard pages working for all browsers | After working to resolve a dropdown issue with Edge browsers, some other dropdowns sourced from a data page or clipboard page were failing to load. This was caused by the dpparams parameter being encoded so that the proper JSON was not retrieved, and has been fixed by modifying the system to decode it before passing the postdata. | |
SR-C71037 | 413293 | LegacyToReduxConverter modified to resolve readonly error for hybrid data pages | When a clipboard page or page list was added to data page backed by RD, the data page was becoming read only and not allowing pyRowsSelected to be modified. The issue was in redux design. If a datapage source was configured as a report definition, the resultant page was a flat data provider in redux design. Therefore the pyRowSelected setting was allowed even if the data page was readonly. But when in post load activity a normal page or page list was added to the data page, the structure of the data page did not remain as a flat data provider, it became a hybrid structure and the entire property became readonly and thereafter did not allow setting pyRowSelected to the data page. To resolve this, the class LegacyToReduxConverter has been modified to handle the case when a page or page list is added to flat data providers. | |
SR-C71043 | 411254 | 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, the pzSendEmail activity has '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-C71053 | 413208 | Added handling for defer-loaded dynamic layout inside a flowaction grid | When using a grid configured to show the details in expandable rows and the inner grid was a work bound grid, trying to expand the rows only showed the "Loading ..." message and never completed. This was traced to a missing use case for having a defer-loaded Dynamic layout which wraps the grid inside a flowaction embeddedpane grid, and has been corrected. | |
SR-C71070 | 417206 | UI-Toolkit updated to resolve issue with fields overlap in dynamic layout collapse header | The UI-Toolkit has been updated to resolve an issue with Dynamic layout where using a Collapsible Header that has multiple fields to be displayed resulted in the fields overlapping or being mis-aligned. | |
SR-C71253 | 409091 | Resolved issue with PRAuth handoff to SAMLAuth | When attempting to access a Portal with PRAuth, a null pointer exception was being generated instead of the system redirecting to SAMLAuth. This was traced to httpAPI.getAccessGroup() returning null when a DSS authentication/redirectguests/default was set to true, and has been resolved by fetching the access group from the thread instead of the HttpAPI. | |
SR-C71290 | 410122 | Removed automated cleanup of old DSS entries to resolve memory issue | VBD was issuing an expensive query while attempting to clean up old DSS entries. The old entries were dynamically created with node ID as part of the setting key (vbd/pulse/{nodeid}, and vbd/cluster/{nodeid}). The cleanup logic attempts to get the list of all matching keys to delete by iterating the list of system settings and grabbing the ones that match these patterns. On some systems, there are enough system settings in the DB that it resulted in a memory issue. To avoid this issue, the automated cleanup process has been removed. | |
SR-C71527 | 413129 | Added ignorecase to correct authorization issue for username in all capitals | It was not possible to delete a case note or attachment while logged in with a user ID containing all capital letters. This has been corrected by changing the equals comparison of .pxCreateOperator and pxRequestor.pyUserIdentifier to equalsIgnoreCase in CanDeleteAttachments access whens, HaveAttachmentDeletePrivileges when rule, pxHaveAttachmentSpecificAccess RUF, and HaveAttachmentSpecificAccess RUF. | |
SR-C71877 SR-C55309 |
411406 393858 |
OperatorSkillCountint calculation corrected | The pxOperatorSkillCountInt in the operator profile was increasing each time GetNextWork was run. This was caused by a calculation error, and has been corrected by resetting .pxOperatorSkillsCount value every time SetWorkInfo is invoked. | |
SR-C72252 | 415223 | isAncestorOf function now checks whether a child class is defined in the tenant layer | After upgrade, the isAncestorOf function was not returning the correct result. Checking the inheritance path for the tenant work class showed the shared layer work class, but after upgrade of the tenant layer, the IsAncestorOf function returned false and the functionality that uses isAncestorOf function failed if the parent class was in the shared layer and the child was in the tenant layer. To correct this, the logic has been updated so that rather than always checking in the shared layer, the system will check whether the Descendant class is defined in the tenant first. | |
SR-C72385 SR-C77994 |
414867 419283 |
Resolved ClassCast email exception caused by duplicate javamail class loading | A ClassCastException was occurring when attempting to configure an email account in conjunction with JBOSS , WebLogic, or WebSphere Liberty. Analysis traced the issue to Class Loading: the WAS application server was providing a default com.ibm.ws.prereq.javamail.jar which conflicted with Pega's out of the box mail-1.5.5.jar, and at run time the JAR provided by WAS was getting picked due to JBoss, Weblogic, and WAS loading architectures from Tomcat. To resolve this, the delegation in PRAppLoader has been expanded to include the "javax.mail." package. This will ensure that Pega delegates to the web-app classloader unconditionally for the email classes. This prevents the ClassCastException caused by the interface javax.mail.Transport and com.sun.smtp.(Implementation Class) being loaded by two different class loaders. | |
SR-C72568 | 410837 | Corrected underscores removed from attached filenames | As an inadvertent side effect of work done to handle thumbnail image generation for file attachments with special characters, underscores were being removed from the names of all files attached to work objects. To correct this, the code has been refined to remove special characters from the parameter passed to generate thumbnail activity. Special characters will not be removed from the filename. | |
SR-C73425 | 413722 | Fixed error when trying to discard a circumstanced Report Definition rule | Attempting to discard and delete a circumstanced Report Definition rule resulted in an error on screen, in the tracer, and in the log file. This was caused by the system being unable to identify a reserved property when circumstanced on an embedded page or primary page. To correct this, the saveCircumstanceIndex rule of Rule- activity's first step has been modified to get the circumstanced property for this use. | |
SR-C73608 SR-C72114 SR-C74858 SR-C77088 |
415510 413597 413603 415532 |
Updates to controls and labels | Issue 413604: When configuring a button with a disable condition, the condition was not returned in the readonly field. The PegaAPI has now been updated to support "disable". Issue 413597 / 413598: While calling the API to get the view of the screen as a JSON format, button type controls were not returning the label of the field using the OOB pxButton control. This has been fixed. Issue 413625: The PegaAPI section was missing when using clipboard page or data page with the rest method. To correct this, support for Embedded page has been added in the pyWorkPage for PegaAPI. |
|
SR-C74047 | 416352 | Automatic Cloud Terminations updated with retry logic and exception handling for nodes being disconnected while in use | Agents were being disabled when a node was about to be shut down and the lock operation timed out. This was traced to an issue where the Hazelcast operation timed out trying to communicate with a node that had not yet dropped out of the cluster but did shortly after, and was due to the refactored code around delegating to a cluster component missing a lock method. In order to ensure the cluster component handles such exceptions gracefully, the lock operation now contains retry logic along with exception handling that will return 'false' instead of raising an exception. | |
SR-C74176 | 419496 | AdminUser login corrected for WebLogic | After a successful deployment of Pega on WebLogic 12c Application Server, the server started up without problem and the login page appeared as expected. When attempting to login to the application using the administrator account, the login failed and displayed the error "java.lang.IllegalArgumentException: Header:Location Cannot contain CRLF Charcter" in the browser. This as traced to the URL not being generated correctly due to the padding in the encoding rejecting any CRLF character in the URL, and has been corrected. | |
SR-C74201 | 412425 | Fixed pyMemo overwriting set values with null | The titles for correspondence and URL attachments were empty due to pyDefault setting pyMemo to "", overwriting the value that was previously set. This was caused by the Link-Object java generation code first setting the properties and later applying the DT. To fix this, the pyDefault DT will be applied for the Link-Attachment instance in activities Work-.AttachURL amd Work-.CorrAttach. | |
SR-C74967 | 419159 | Delete and change comparisons updated to support multi-tenant environments with shared classes | When creating tenants in paex49, many of the rules did not actually complete importing into the tenant, and when creating new cases, some pages were getting instantiated as classless. This issue was seen only in multi-tenant environments when the same class was present in multiple tenants. Given a Pega class present in multiple tenants, making changes to that class for one tenant triggered invalidation of the dictionary cache that maintains a map with class name + tenant id as key and ClassInfo object as value because of the comparison method used. As a result, dictionary invalidation from one tenant could clear the entry of other tenant and cause the current tenant cache entry to become stale. To address this issue, the system has been updated to remove an entry for a class in tenant context based on key. | |
SR-C75099 SR-C77625 SR-C75099 |
413432 414765 413375 |
Improvements made for the stability and reliability of the stream tier | Improvements for the stability and reliability of the stream tier with a focus on rolling restart: Issue 410567: Shutting down a stream node can take up to a minute for all client nodes to recognize the event and failover due to large default timeouts. Timeouts have now been reduced. Issue 413375: When a stream node shuts down, other stream nodes are notified and attempt to discover the new cluster topology. This operation may take a long time and block all producers until a new topology is determined. This procedure has been changed to be less heavy and make the discovery only if required. Issue 401326: Kafka was not using log rotation with a maximum amount of log files, causing files to fill up the disk and experience failures of the service. The system will now limit number of generated log files to prevent high disk usage by using the parameters of file size = 2 MB and a max nr of size = 10. Issue 410280: A large number of "Processing override for entityPath" entries were seen in the Kafka logs. This has been addressed by ensuring message.timestamp.difference.max.ms is set to equal to retention.ms, and the system will properly compare the Kafka Configuration for the entire topic and the configuration for Partitions so the configuration is not unnecessarily updated. Issue 414765: During stream node restart, decision hub nodes may block for 15-30 seconds when writing to a stream data. This has been addressed by updating stream dataset logic to handle stream tier restarts properly and not cause response time degradation. Issue 401093: HttpMessageDecoder was throwing an exception regarding “TooLongFrameException” causing a 502 on HTTP stream tier requests going over 8192. The default max header size used by stream data set REST service was 8KB even though the HTTP header contains a lot of cookies and other meta-info and often exceeds 8KB. The default max header size has been increased to 16KB. A new prconfig setting to control max header size has also been introduced. |
|
SR-C75278 | 415735 | Extension added to wrapper activity to allow skipping completed assignments | The withdrawal of the pyPopulateCaseContentsWrapper activity rule from the PegaCardSd ruleset caused the wrapper activity in Pega-EndUserUI to be utilized instead, but that activity included a different behavior which resulted in the Completed Assignments checkbox being set as 'true' during processing instead of staying 'false' unless checked by user. This resulted in additional assignments showing when previously only open assignments would show as default. In order to correct this, a new extension "DT(pyPopulateCaseContentsWrapperExtension)" has been provided to set the required fields in order to skip fetching the completed assignments. To utilize this, set the pyShowCompletedAssignments property to true in the extension DT to hide the assignments. | |
SR-C75496 | 413924 | 50 count limitation removed from application list export | Previously, using Designer Studio -> Application -> Distribution -> Export to export the list of applications limited the results to 50. This number was hardcoded in the page size count setting for the Report Definition. In order to better support complex installations, this limit has been lifted. | |
SR-C75689 | 413135 | Image files restored to correct "pg empty after db.open" errors | When opening the data page D_RepositorySettings, the error "pg empty after db.open" appeared in the logs. This was due to the data page referring to the files webwb/zchecked.gif and webwb/zchecked.gif in many sections of the data page rule form despite these files having been removed as part of a recent cleanup meant to reduce storage requirements. In order to resolve this error, the zunchecked.gif and zchecked.gif images have been added back and the error message generated in the RUF pzGetbase64encodedImagehas been improved to add the target filename: "error occurred while opening the image:webwb/zunchecked.gif". | |
SR-C75930 | 416830 | Security Event log enhanced to use 24-hour format for timestamps | Previously, the Security Event log used timestamps in the 12-hour format. An enhancement has now been added to use the 24-hour format to clarify the timing of events. | |
SR-C76155 | 415814 | Class structure tree correctly repaints when scrolling in Chrome | When expanding the Class Tree Structure and then selecting a class relatively low down in the list, the screen was not repainted after scrolling back up when using the Chrome browser. It was possible to force a repaint of the tree structure by clicking on an item in it. This was traced to the app explorer tree-grid (cell) having section includes which used deprecated free-form layouts (which are table based). To resolve this issue, the app explorer leaf node has been converted to display in dynamic layout and app explorer child nodes will repaint even after expanding to a child level. | |
SR-C76202 | 417763 | Updated CSS selector to ensure all buttons are visible during data flow | The restart/refresh buttons were not visible when running the data flow, and if some records were processed, they were not displayed in the result window. This was traced to the test selector not being accessible for all the access groups, preventing the progress page from being refreshed. The system has been updated to use a normal CSS selector to resolve this issues. | |
SR-C76394 | 417568 | Support added for parameterized localized strings for headers | Support has been added for parameterized localized strings in headers by way of getLocalizedTextForParameterizedString. This can be used for the field values of LABEL and header text. | |
SR-C76861 | 415854 | Handling added for undefined pxReqURI to ensure UI loading | The Declarative Expression Network Viewer did not provide a text input box to enter in the property values and then update the network with these new values. This was traced to a failure in the UI loading caused by pxReqURI being undefined, and has been corrected by modifying the DeclarativeNetworkWithValues section to handle this condition. | |
SR-C77062 | 416406 | Improved security for Cassandra/Kafka process | In order to improve system security for Cassandra and Kafka processes, the binding for the Kafka JMX port will only be applied to 127.0.0.1, and the JMX addresses have been made configurable. | |
SR-C77072 | 415541 | Title of Repeating Layout is passed correctly with ViewAPI | When using a section with a repeating dynamic layout and a header (title) set with a property that had value, using the view API displayed a title which showed the property name instead of the value. To correct this, RDL has been updated to use a title and include support for text/property/fv and localization. | |
SR-C77100 | 417036 | Flow actions with validation errors are correctly populated to embedded page | After upgrade, a pyFlowData page was not populating an embedded pyFlowActionsInError page with the list of flow actions with validation errors. This led to the AddRuntimeInfo activity (called from step 8 of GetFlowData activity) to fail in setting the correct step status (pyStatus) as “error”(under pySteps embeded pages of pyFlowData page). Any additional logic based on this status value then failed because of the incorrect status. This was traced to a missing call to the researchPropertyReference API in pzGetActiveValue RUF.changes, and has been corrected. | |
SR-C77106 | 416869 | API modified to prevent potenial security issue with JSON objects | A potential security issue was found where the Pega API allowed a different JSON object to be posted back than had been retrieved. This has been corrected. | |
SR-C77107 | 417088 | Added check for sending email attachments with XML data | When using SendEmailNotification to send an email with an attachment, the attachment was added but had no content when the email was received. In this case, if the property pyRemoveXML was true and if the email attachment content had XML data and did not contain a <pagedata tag, then the removeXML() method was returning "" as the email attachment content. This has been fixed by adding a check so if the property pyRemoveXML is true and if the email attachment content has XML data and doesn't contain the <pagedata tag, then it will return the original content itself. | |
SR-C77145 | 418196 | REST endoint check added to correct Bulk check-in error | After integrating Agile Studio into a development instance application, trying to perform a Bulk check-in of the rules without selecting a task ID in the "Work item to associate" drop down list failed and generated an error in the logs. This was caused by an incorrect condition validation before making the REST call, and has been addressed by checking whether the REST endpoint is blank or not. | |
SR-C77459 | 416897 | Report tab names are correctly maintained after refresh | When multiple reports are opened and the browser is refreshed, the tab names/labels failed to show up on reload. This was caused by an error in the method used to set the tab label, and has been corrected. | |
SR-C77533 | 416617 | Added null check for ApprovalFlowName in pre-processing activity of "pzApprovalPreProcessing" | When a "pyApproval" flow action was configured in one of the assignments of a case Type for Approval action by the manager, the error message "The Flow Action pre-processing activity pzApprovalPreProcessing failed: The reference .pxFlow().pyFlowParameters.pyApprovalSectionName is not valid. Reason: Empty subscripts are not valid for the element : pxFlow" appeared when the Approval section was displayed. To correct this, a null check has been added for an empty ApprovalFlowName in step 1's second property set and transition step. | |
SR-C77625 | 415579 | Cassandra retry policy enanhancement | When configuring the datastax client for Cassandra, it is possible to specify a retry policy. By default the DefaultRetryPolicy is used. While a retry was always attempted on client timeout with this retry policy, a retry on server timeout was only attempted in a limited set of circumstances. This code indicates that for a retry: - The number of received responses is at least the same as the number of required responses - The retry will be done to the same node, not a new node This use makes sense if consistency is set to QUORUM or higher, but it does not make sense for consistency ONE. To resolve this, a new retry policy has been added which will retry in this scenario a configurable number of times. The retry policy and the retry count will be controlled by prconfig settings: prconfig/dnode/cassandra_custom_retry_policy/default - True/False (default: False) prconfig/dnode/cassandra_custom_retry_policy/retryCount/default - >= 0 (default:1) |
|
SR-C77633 | 415454 | Report definition rules correctly revalidate and save in Bulk wizard | Report definition rules were failing on re-validate and save from the Bulk Actions wizard. This was caused by pzCopyPySource attempting to set a blank value, and has been corrected. | |
SR-C78045 SR-C49342 |
415131 400585 |
Check added to resolve teradata empty batch error | ExecuteBatch in Teradata was failing if there were no calls to addBatch prior to it, a different behavior than is seen in other databases. This has been corrected by adding a condition to check if there are any statements added to the batch before executing the batch. | |
SR-C78179 | 417562 | Helper text/tooltip field returned to the view API | Previously, the helper text, format type and Read/Write classes were not passed to the view API. Because these fields are needed to understand correctly what type of field to render and execute basic input validations at the front end side, the helper text value will now be provided as a tooltip. | |
SR-C78227 | 418102 | pxCheckbox label returned from the User Experience API | While calling the API to get the view of the screen as a JSON format, pxchecbox type of controls were not returning the label of the field. This has been fixed with the addition of a checkbox to the list of labels from modes. | |
SR-C78352 | 417617 | Transform on an onclick event refresh added to DT | When calling the refresh method, the transform on a onclick event refresh was not invoked. Support for this refreshSection action has been added for running data transform and activity. | |
SR-C78362 | 415981 | Preprocessing added to GET assignments and cases | When the /assignments/{ID}/actions/{actionID} API was called, the result of the flow action did not include either the data transform nor the activity from the preprocessing section. The system has now been updated to run preprocessing for GET /assignments/{ID}/actions/{ID} and GET /cases/{ID}/actions/{ID}. | |
SR-C78402 | 417490 | Added Page clear messages for Record Editor to clear stale errors | An error message appeared correctly if the validation failed after editing a record, but refreshing the row caused the error message to be removed. The same error message appeared again if any filter was applied on any column. This has been fixed by adding Page clear messages in post and pre activities of pzRecordEditor. | |
SR-C78664 | 417564 | Container format for dynamic layout configuration passed to the view API | The layout format field for the dynamic layout configuration was passed to the view API as "groupdFormat", but the container format remained unchanged. This has been corrected. | |
SR-C78857 | 416253 | Hover text no longer blocks agent selection | Show smartinfo was rendering the information on top of the target dynamic layout, hiding the entire content of the layout. To fix this issue, Show SmartInfo has been reconfigured as on hover of node label instead of dynamic layout. | |
SR-C79032 | 417172 | Pulse outgoing email character limit removed | Previously, only the first 2000 characters of a Pulse entry would be displayed in the email notification. An enhancement has now been added to remove that limit and display the entire Pulse text in the related email. | |
SR-C79205 SR-C73994 |
416399 415479 |
OnChange event only triggered on date field when value changes | After configuring the onchange event for a date control field with some action, clicking on the Date picker option and selecting the same date triggered the onchange even when the value had not changed. This has been resolved by updating the code to store the previous value and check for a value change before firing the change event. | |
SR-C79302 | 416824 | Added backwards compatibility for ValidateDelete in Records Editor | Due to a missed use case, ValidateDelete was not being called from the new records editor. This has been corrected by adding the step to call ValidateDelete in pzDeleteRecord activity. | |
SR-C79306 | 417259 | Visibility consition added for checkbox used to skip validation for rules import | An enhancement has been added to show or hide the the validation checkbox in Import Wizard by way of the new property 'pyDisableSkipValidate'. This adds a visibility condition for the checkbox used to skip running rule validation in pzImportRecords. | |
SR-C79560 | 417566 | Editable format configuration passed through DX API | The editable format configuration of the OOB controls was not being passed through the DX API. In order to present the information in the right format as well as reduce the amount of roundtrips to the server to validate inputs, support has been added for modes(1) and modes(2) in editable and readonly formats. | |
SR-C79731 | 417957 | TestID remains unique in grids | To support automated testing, testID will maintain unique IDs for grid rows and RDL rows. | |
SR-C79762 | 419157 | Decision table decision shape produces correct connector | After adding a decision shape and making its type "Decision Table", the connector that was automatically built showed the condition type as "Result", but incorrectly labeled it as a When rule. This was traced to a missed use case in the decision related connectors, and has been corrected. | |
SR-C80050 | 417603 | 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-C80084 | 417238 | Target connectivity preference updated in Revision Manager to address deployment error | Using the deployment page to deploy a revision or migrate it to a target environment was failing. This has been resolved by correcting the target connectivity preference in the connector rules. | |
SR-C80753 | 419246 | Native calendar control works for Firefox on Android | When using Firefox with 'Use native control on mobile' checked, attempting to enter a date into the DateTime field highlighted the mm field but the date selector did not open and keyboard entry was not recognized. This was traced to the native calendar for date time control not opening in Firefox on Android. To correct this, type checks for date, time and datetime-local have been added to the isTextBox function in pzpega_ui_events_infra js. | |
SR-C81111 | 417908 | Performance improvements made for IG summary use | Enabling IH summaries in an adaptive model or using them in a strategy was impacting performance by as much as 300 milliseconds. Improvements have now been made to streamline Cassandra node health checks, to eliminate unnecessary duplicate calls to the DB, and to stop the DSS from being read on each single case dataflow execution. | |
SR-C81262 | 418056 | Failed delete instances now correctly logged | After configuring rule-access-when on delete instances for a data class, the failed instances were not shown in the error log file. This has been resolved by correcting the path of the error CSV file in the pzDeleteRecords activity. | |
SR-C81419 SR-C81115 SR-C81112 SR-C72572 SR-C72571 SR-C71673 SR-C72570 |
418006 417684 417682 414584 413004 410561 413020 |
XXE security improvements | Several updates have been made to improve security against External Entity Injection, including to the following areas: ProcessXSLT, performXSLT, DCOdocumentToBytes, DCOgetStringFromDocument, getTaskStatusXML, pzPMMLTransform, getTaskStatusXML, and validateAgainstXSD. | |
SR-C81857 | 420239 | 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-C81946 | 418710 | Maintenance function operator ID will not persist in the system | After a hotfix maintenance activity, an audit revealed that an extra operator created for the purpose called CloudMaintenanceUser persisted in the system. The code has now been updated to bypass saving operator records marked with pzPersistOperator="false" on user initialization; the CloudMaintenanceUser will be created with this property set to false, and updating this operator will be skipped during unauthentication. | |
SR-C82749 SR-C69729 |
419557 414920 |
Improved security for XXE | Several updates have been made to improve security against External Entity Injection. | |
SR-C86213 | 411187 | 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. |