19
8.4.1 Patch Resolved Issues SR Issue # Title Description Product Area D53176 541796 Error when adding function filter will persist When an exception occurred while adding a filter in the report viewer, the error was shown but cleared due to an immediate refresh of the parent section. Analysis found that step 2 of pzGetFiltersFromContent was failing, after which the error was shown, the section reload happened, and the error disappeared. To resolve the error being cleared prematurely, the pzOnLoadReloadReport control has been modified so that when there are messages on the top level page (pyReportContentPage), a parameter will be set on HarnessContextMgr to not to clear them during the next refresh call. Business Intelligence D64231 539235 Export to Excel cell style control added If a column was formatted with an auto generated numeric control, a new cell style was generated for every row during the export to Excel process. Since there is a limit on the amount of cell styles, once the number of rows in the file was greater than 64000 an error was generated. To resolve this, the system will disable the creation of a new cell style for every instance when an auto-generated numeric control is used. Business Intelligence D65327 534572 Backspace keydown handler updated for all textinput modes Attempting to use the Backspace key to remove input from a number cell (either Integer or Decimal) did not work. When the action was performed by a Manager, the Backspace key works as expected. Investigation showed the logic in the keydown handler for the backspace key in pega_report_events.js was only ignoring the e.preventDefault() call when the textinput node type was text, not number or other input types. To correct this, the keydown handler has been updated so the backspace key in pega_report_events.js maintains the default backspace functionality for all textinput modes, not just those of type 'text'. Business Intelligence D69098 534043 Export to Excel works for for report definition with duplicate columns After adding a date column to a report definition (2nd column in the report), the data displayed correctly in the UI but Export to Excel failed with the error "Section 'pzRDExportWrapper' execution error on page '' of class 'Rule-Obj-Report- Definition'. : The Reference .pyDateValue(2) is not valid." This was traced to an out of bounds exception thrown if there were two or more columns with the same calculation. When preparing for export, the column with the duplicate calculation would not get added to the map of report UI fields. To resolve this, the system has been updated to allow report definition columns with the same calculation to be properly mapped to a UI field. Business Intelligence D69108 543847 Handling added for drag-and-drop with deleted report templates After adding a new report, an error appeared when trying to use drag-and-drop to add a column (Page List) from the Data Explorer in the report browser. This was traced to refactor work done to use the Record API throughout reporting: the ruleset on new reports was not being reset from a Pega- ruleset to an application ruleset, causing columns the referenced properties defined outside the platform to be rejected. This use case was missed because case types define their own report templates on creation, but in this scenario those had been deleted. To resolve this, the system has been updated to call pxChooseBestRuleset from pxShowReport in order to enable the use of properties defined in the application prior to saving the report. Business Intelligence D71408 534936 DIrty check flag triggered by adding columns and filters If a report was edited and closed without saving, the dirty check worked as expected. However, if new columns or filters were added and the report closed without saving, the dirty check did not appear. This has been resolved by updating the check logic. Business Intelligence D73777 539970 Logic added for client-side Somaria decoding When Somaria (an Advanced Data Visualization control) was used with Predictor Performance, the special characters were displayed as ASCII values instead of the actual values in the label. This was traced to Somaria encoding special characters of the visualization data into HTML entities on the server in order to protect against cross-site scripting attacks, but these entities were not being decoded on the client side. To resolve this, logic has been added to decode HTML entities in Somaria data on the client. Business Intelligence D75097 542361 DSS added to allow disabling Excel cell export security In order to avoid calculation injection during Export to Excel, an apostrophe character was added to the cell on export to close a vulnerability. However, sites using an external tool to consume the Excel document needed a workaround for this security feature. The resolution for this issue adds a DSS setting "TurnOffSecurityForExportToExcel" which can now be used to turn on/off the security feature that adds char " ' " in front of the cell value. Further refinements to this work will be included in a future release. Business Intelligence 1

8.4.1 Patch Resolved Issues - Pega Community

Embed Size (px)

Citation preview

8.4.1 Patch Resolved Issues

SR Issue # Title Description Product Area

D53176 541796Error when adding function filter will persist

When an exception occurred while adding a filter in the report viewer, the error was shown but cleared due to an immediate refresh of the parent section. Analysis found that step 2 of pzGetFiltersFromContent was failing, after which the error was shown, the section reload happened, and the error disappeared. To resolve the error being cleared prematurely, the pzOnLoadReloadReport control has been modified so that when there are messages on the top level page (pyReportContentPage), a parameter will be set on HarnessContextMgr to not to clear them during the next refresh call. Business Intelligence

D64231 539235Export to Excel cell style control added

If a column was formatted with an auto generated numeric control, a new cell style was generated for every row during the export to Excel process. Since there is a limit on the amount of cell styles, once the number of rows in the file was greater than 64000 an error was generated. To resolve this, the system will disable the creation of a new cell style for every instance when an auto-generated numeric control is used. Business Intelligence

D65327 534572Backspace keydown handler updated for all textinput modes

Attempting to use the Backspace key to remove input from a number cell (either Integer or Decimal) did not work. When the action was performed by a Manager, the Backspace key works as expected. Investigation showed the logic in the keydown handler for the backspace key in pega_report_events.js was only ignoring the e.preventDefault() call when the textinput node type was text, not number or other input types. To correct this, the keydown handler has been updated so the backspace key in pega_report_events.js maintains the default backspace functionality for all textinput modes, not just those of type 'text'. Business Intelligence

D69098 534043Export to Excel works for for report definition with duplicate columns

After adding a date column to a report definition (2nd column in the report), the data displayed correctly in the UI but Export to Excel failed with the error "Section 'pzRDExportWrapper' execution error on page '' of class 'Rule-Obj-Report-Definition'. : The Reference .pyDateValue(2) is not valid." This was traced to an out of bounds exception thrown if there were two or more columns with the same calculation. When preparing for export, the column with the duplicate calculation would not get added to the map of report UI fields. To resolve this, the system has been updated to allow report definition columns with the same calculation to be properly mapped to a UI field. Business Intelligence

D69108 543847Handling added for drag-and-drop with deleted report templates

After adding a new report, an error appeared when trying to use drag-and-drop to add a column (Page List) from the Data Explorer in the report browser. This was traced to refactor work done to use the Record API throughout reporting: the ruleset on new reports was not being reset from a Pega- ruleset to an application ruleset, causing columns the referenced properties defined outside the platform to be rejected. This use case was missed because case types define their own report templates on creation, but in this scenario those had been deleted. To resolve this, the system has been updated to call pxChooseBestRuleset from pxShowReport in order to enable the use of properties defined in the application prior to saving the report. Business Intelligence

D71408 534936DIrty check flag triggered by adding columns and filters

If a report was edited and closed without saving, the dirty check worked as expected. However, if new columns or filters were added and the report closed without saving, the dirty check did not appear. This has been resolved by updating the check logic. Business Intelligence

D73777 539970Logic added for client-side Somaria decoding

When Somaria (an Advanced Data Visualization control) was used with Predictor Performance, the special characters were displayed as ASCII values instead of the actual values in the label. This was traced to Somaria encoding special characters of the visualization data into HTML entities on the server in order to protect against cross-site scripting attacks, but these entities were not being decoded on the client side. To resolve this, logic has been added to decode HTML entities in Somaria data on the client. Business Intelligence

D75097 542361DSS added to allow disabling Excel cell export security

In order to avoid calculation injection during Export to Excel, an apostrophe character was added to the cell on export to close a vulnerability. However, sites using an external tool to consume the Excel document needed a workaround for this security feature. The resolution for this issue adds a DSS setting "TurnOffSecurityForExportToExcel" which can now be used to turn on/off the security feature that adds char " ' " in front of the cell value. Further refinements to this work will be included in a future release. Business Intelligence

1

8.4.1 Patch Resolved Issues

SR Issue # Title Description Product Area

D75097 539517Improved handling against formula injection attacks in Export to Excel

Every time a possibly vulnerable cell value was found during Export to Excel, the value on that cell was modified to prevent a formula injection attack. If the value was non numeric, it would still render an apostrophe, although it should be hidden. Previous work on this issue involved the addition of a DSS which allowed this security to be disabled if the Excel was going to be consumed by an external tool, but the security implementation used to protect against calculation injection has reworked the ExcelSecurity utility function to allow the ability to change the cell style of a cell that is potentially vulnerable to formula injection attacks. This change no longer changes the cell value but instead applies a new cell style that has quotePrefix enabled. Business Intelligence

D75757 540640

ReportBrowser script updated to ensure older version refreshes on creation

When using the old version of the Report Browser, the count at the report category did not update after being saved into a category until logout and login back to the portal. This was a missed use case for the old browser during updates to the UIKit and has been resolved by including the reportbrowser script in the header section pyCMReportBrowserHeader to ensure a refresh. Business Intelligence

D80589 544842Check added before clearing Report definition custom filter section page

When using a Custom Section in the Report Viewer, the Page referred to at the Prefix was getting reset while running the report. Investigation showed the page was being reinitialized in pzCreateCustomFilterPage step 2, and this has been resolved by adding a 'when' rule for clearing the custom filter page. Business Intelligence

D83060 547920Repaired History class report column sorting

Attempting to sort any of the columns in a report using the History class did not render the results and the error "Cannot render the section" appeared. Tracer showed a Fail status for some out-of-the-box activities with the message "java.lang.StringIndexOutOfBoundsException". Investigation showed the logic in pzMergeAutoGenForProp activity was failing because the pyIsFunction property was not set on the UIField pages for function columns. To resolve this, the logic for pzMergeAutoGenForProp has been modified to get pyIsFunction from the field name. Business Intelligence

D83373 545752 Stage Label name displayed in chart

When pyCaseStatusControl was used, the cases label was displayed as $label instead of the Case Name. This was related to the version of Fusion Charts included, and has been resolved for this release by modifying library code in fusioncharts.js to fix the issue in datasetrollover listener code. Fusion Charts will be upgraded in v8.5 for a more complete solution to this issue. Business Intelligence

D86864 548094Very long auto-generated index trimmed for use in Report Browser

The creation of a new report via the user report browser failed if there was an index with a long name (over 30 characters). The out-of-the-box method automatically generated the prefix, but the Report editor could not handle the very long declare index name and as a result did not consider properties from the embedded pages. To resolve this, pzUpdateAssociation and pzInsertNewReportColumn have been updated to trim the prefix for the declare index to 30 characters and allow for adding a new column to the report. This work does not cover adding a new filter to the report, as that fix would require substantial changes to reporting logic. Business Intelligence

D86978 549173Export to Excel cell style control added

If a column was formatted with an auto generated numeric control, a new cell style was generated for every row during the export to Excel process. Since there is a limit on the amount of cell styles, once the number of rows in the file was greater than 64000 an error was generated. To resolve this, the system will disable the creation of a new cell style for every instance when an auto-generated numeric control is used. Business Intelligence

D68235 534783Stale WorkSearchPreference data cleared when switching apps

The D_pyWorkSearchPreferences data page data was not refreshing while switching between apps, causing stale data to be populated under the case search dropdown for all the applications after switching the application from one to another. This has been resolved by removing the D_pyWorkSearchPreferences data page as part of pzProcessApplicationSwitch. Case Management

D73536 538403FetchApplicationLogo modified to Filter by rule resolution

It was observed that the Report Definition rule "pzFetchApplicationLogo", referenced by Activity rule "pzLoadApplicationLogo", always returned the older version of the Binary File "webwb • pyapp-logo • svg" because it had been set to retrieve a maximum of one record and in this case the results were sorted in an order where the oldest record was at the top. As the Report Definition did not indicate any sorting, most DBMS were returning the results in no particular or predictable order. To resolve this, "Filter by rule resolution" has now been enabled for RD pzFetchApplicationLogo. Case Management

D76291 547843Updated retry logic for S3 AddAttachmentFromEmail

When using the AddAttachmentFromEmail activity with S3 repositories, performing an obj-save on the data-workattach-file page executes a deferred save while also saving the file into the repository. if the data was inserted into S3 successfully but encountered an issue when saving the related data-work-attach-file page, the system was trying to call the save operation again. This tried to insert the duplicate attachment again to S3, causing an error on that side of the process. To resolve this, the duplicate Obj-Save functionality in AddAttachmentFromMail Activity has been removed. Case Management

2

8.4.1 Patch Resolved Issues

SR Issue # Title Description Product Area

D79113 543723

Updated DisplayAttachment to handle SIngleClick download from Case Worker portal

On using the script "pega.ui.HarnessActions.doAttachmentSingleClick" in the Worker portal to download attachments displayed within a screen flow, the entire application was hanging and no action was invoked even on clicking the Continue or Finish buttons of the screen flow. Whenever an attachment is downloaded using the script function pega.ui.HarnessActions.doAttachmentSingleClick() , an iframe is used and changetracker is called to communicate data between different iframes. However, the case worker portal is a single thread model while the manager and admin portals are multi threaded, which resulted in changetracker freezing on the worker portal. To resolve this, the DisplayAttachment HTML rule has been updated to build the necessary changeTrackerMap for the worker portal. Case Management

D84480 546189FilterHistory decision tree used for audit log status

Attempting to use the “FilterHistory” decision tree in the work class to return value “false” for “pyCloseOpenAssignmentsOnResolution” to hide the “pyCloseOpenAssignmentsOnResolution” field value (“Unfinished assignments were cleaned up by the system after the completion.. ”) from history was not working as expected, and still returned the audit message. This was due to the system setting this AuditNote parameter within the “pzProcessResolutionStage” activity, where Param.UpdateHistory was set to true always. In order to support more flexibility, the Param.updateHistory paramter in step3 of the pzProcessResolutionStage activity will be set based on the FilterHistory decision tree. When set to false in FilterHistory decision tree, pyCloseOpenAssignmentsOnResolution will be set as false and audit will not be logged. Case Management

D84754 548165Resolved erroneous problem assignment error

If a user processed a work item while the SLA agent was also attempting to process it, it sometimes resulted in an assignment with the error: "Error: Flow Not At Task." In this scenario, an error message was displayed stating that "Assignment already completed" even though the assignment was not yet finished, causing confusion. Investigation showed that in cases where the success indicator was -28, the assignment was marked as problem assignment even though it was processed. To resolve this, the system has been updated to skip marking the assignment as a problem when the success indicator is -28. Case Management

D88141 550010TemplateButton field correctly set read-only

When a control was added to a section using the DX API, a pyTemplateButton field was added to the XML definition of the section with read-only set to 'false'. This has been corrected so the pyTemplate Button field does not allow input. Case Management

D63307 542771

Unneeded class name filter removed from GetRelevantPropertiesForDataType

Given one class with a set of properties and another class inherited from the first class containing a relevant records set for class 2, then a new harness did not show the base class fields. Investigation showed that the fields present in the parent class and marked relevant in the case were not being fetched due to pzGetRelevantPropertiesForDataType having a class name filter along with filter by rule resolution. To resolve this, the class name filter has been removed as it is not required due to the report already filtering by rule resolution and relevant class through a join. Configuration Studios

D71475 538722Check added to apply values of newAssignPage.pxFormName

After upgrade, trying to open existing assignments resulted in a different harness being opened. This was traced to changes in how the property newAssignPage.pxFormName was used, and has been resolved by checking whether the harnesspurpose is dynamic before setting the pxFormName. If formname is already present, the system will proceed with picking the harness from the shape. Configuration Studios

D72141 542664 Approved flow rule image unlocked

When the Approval Required check box was enabled for rulesets (i.e another person with access to this work queue should approve changes to the rules), a rule which was approved was unlocked and moved back to the original ruleset as expected, but the binary image associated with the flow rule remained locked and any other user other than the one who previously checked in the rule was denied access with a "check out failed" error. This locking error has been resolved by modifying the Rule-Obj-Flow!CleanUp activity to set Param.IgnoreInstanceLockedBy = true. Configuration Studios

D90544 550808Corrected row focus for deleting in App Studio case model

When attempting to delete a row of properties from the 2nd page of the data model of a case type while using App Studio, clicking on the delete icon brought up a dialog box asking for confirmation for deletion but at the same time the screen went back to the first page of the data model instead of remaining on the second page. Because of this, clicking on the OK button to confirm the deletion caused a random property from the first page to be deleted instead of the targeted row of the second page as expected. This was due to the refresh being triggered immediately within overlay UI actions, and has been resolved by updating the first trash icon action set for the section pzExpressFieldActions to be a modal instead of an overlay when launching local action. Configuration Studios

3

8.4.1 Patch Resolved Issues

SR Issue # Title Description Product Area

D61199 533480Support expanded for postgres versions and logging improved

While trying to import data into the Data Type Tables using a CSV file and selecting the 'Add or Update' option, an error appeared and the import failed. Using 'Add or Delete' worked as expected. This was traced to the import of data failing for postgres version 10.x because UseMerge for postgres did not use merge if the version of Postgres was not 9. Support has now been added for versions of Postgres higher than 9 in SQLGeneratorPostgres.useMerge(), and logging has been enhanced to improve triaging issues such as this. Data Sync/Caching

D65112 541150Added support for imported rules to populate bixreportpage

Extract rules were not holding the filter criteria after upgrade while performing save-as (for the first time) of the imported rules from the previous version. Criteria were held when the filters were created in the new version. This was caused by BIX extracts created in earlier releases (7.x) not having bixreportpage included. When an environment was upgraded to 8.x versions, opening an extract required the bixreportpage to be populated with Report Definition metadata including the filters defined in the actual extract. Although the filters from the original extract were converted to filters that are acceptable by ReportDefinition, they were not being added to bixreportpage on opening the extract. To resolve this, the system has been updated to copy the filters back to bixreportpage on opening the extract in the upgraded environment. Data Sync/Caching

D71977 535603Obj-Browse will retrieve more than 50 records

After performing multiple skims, a newly added property was not retrieved when an Obj-Browse was performed. In Obj-Browse action, when a class is mapped to an external table and does not contain BLOB column pzpvstream, in a specific case where pxObjClass value is a reference to a parameter, a list of properties mapped to the class explicitly by querying pr4_rule_property table using NativeSQL is fetched. This call by default returns only 50 records: in cases where there are more than 50 properties for an external class, some of the properties from the obj-browse response mapping are therefore missed. To resolve this, the limit of 50 records has been removed from this NativeSQL call. Data Sync/Caching

D75053 540914Corrected Agent schedule time conversion

After upgrade, a mismatch between the agent configuration and schedule was seen, causing an agent scheduled at 6PM Europe/London time to execute at 6AM Europe/London instead. Analysis of the Agent schedule rule showed that if the pyStartAmPm property was empty, the internal code miscalculated the AM_PM string as AM. That meant that if an agent was configured with 24 hour clock format and was set to run at 18:00 hrs, it executed at 6AM. The workaround for this issue involved resaving the agent, triggering the data transform pzSetStartAmPm to correct the field pyStartAmPm, but the issue has been corrected by adding handling for the pyStartAmPm == "" corner case. Data Sync/Caching

D68707 529871Update Handler will not run during migration

Rolling restart of DataFlow, ADM ,VBD, and Util Tiers failed with a PENDING_JOINING error after an in-place upgrade. This was traced to the logic for the update timing: when nodes start after an upgrade from 7.x to 8.x they will migrate data flow runs. Migration happens on only one node, and while it's in progress the other nodes will wait until migration finishes before they come up. At this point the state of the data flow services will be 'PENDING JOINING'. The issue is that while migrating runs, the Data Flow Update Handler was triggered to validate whether there were nodes available on the service the run belongs to. This call can cause the corresponding data flow service to be initialized, but the call will be blocked since all services wait for the migration to end. This resulted in a deadlock which prevented all nodes from coming up successfully. To resolve this, the process has been updated to skip the update handler during migration to avoid triggering the initialization of client services that are waiting on the migration lock.

Decisioning & Analytics

D74117 539463

DDS service will not run Hazelcast check if external Cassandra is configured

Services were not responding, and thread dumps seen in the logs indicated that a large number of threads were waiting for one to come back from getting the cluster state for a DSM process. Investigation showed that the threads were waiting for a Hazelcast response about the cluster state. However, since a Hazelcast call is not needed when Pega is configured with external Cassandra, the DDS Service code has been changed to not to check for candidate nodes if configured with external Cassandra cluster.

Decisioning & Analytics

D75519 536719 Corrected calculating propensities

Several PMML models designed to compare the outcomes to a control dataset experienced an issue where the probability scores in Pega did not match the original control dataset. The PMML model was also tested using KNIME; those results matched Pega but not the original control dataset. Investigation showed that the JPMML evaluator contained outdated code, and the incorrect calculations have been resolved.

Decisioning & Analytics

D77157 544473DataSet preview will use date instead of datetime

While using a DataSet preview functionality, the date appeared as reduced by one day. This has been resolved by parsing date as 'date' instead of 'datetime' to avoid issues with timezone interactions.

Decisioning & Analytics

4

8.4.1 Patch Resolved Issues

SR Issue # Title Description Product Area

D78940 542928 Dataflow monitoring enhanced Enhanced monitoring and healthchecks have been added for dataflow and alerts.Decisioning & Analytics

D79145 543055Added tokenizer for KeyWord-Based Topic Detection phrases

KeyWord-Based Topic Detection was not Working for "Enrollment/Re-Enrollment" as a word, for example a categorization model with the text 'This is an email related to Enrollment/Re-Enrollment'. To facilitate this use, a tokenizer has been added to break 'should',' must', and 'and' words into components for a taxonomy match.

Decisioning & Analytics

D82150 546532Properties persist after revision import

"When properties were added to a form, they sometimes disappeared after revision import even though the properties always remained visible in a strategy. Investigation showed that the Form changes made in a DD rule were not properly updated in the pyEditElement section. To correct this, logic has been added to handle the form changes in the DD in the following activities:Data-Rule-Summary.pyMergePropositionsData-Rule-Summary.pyRemoveDDRulesData-Rule-Summary.pyWithdrawDDChangesData-Rule-Summary.pyRemoveRestoreDDRule"

Decisioning & Analytics

D82727 547725Improved management for table pr_log_dataflow_events

The Lifecycle event table was sometimes growing too large. This additional strain of database transaction volume caused poor performance on the Dataflow tier and lead to cluster instability and time-consuming cluster restarts. Due to problems in one of the Pulse tasks, the Pulse thread was not processing single case metrics properly and causing the unbounded queue for single case to grow. This has been addressed by switching to a fixed queue size, which is configurable with the DSS: dnode/single_case_queue_size. The default value of the DSS is 4000, and if changed a system restart is required. An error will be logged each 1000 queue misses, and metrics will be dropped if the queue is full. In addition, the Pulse task frequency has been improved and managed to prevent interference with other Pulse tasks and will be triggered only if a run is system-paused for a long interval. Rebalances now have a failsafe if something unexpected happens during the Pausing of the run, and If the cluster becomes unstable, the life cycle events logs may be disabled with dataflow/run/events/persist .

Decisioning & Analytics

D85095 546342Updated COUNT logic for strategies with ssavm set to true

An error was seen when attempting to save a strategy after setting ssavm to true, indicating an issue in the “COUNT” method in Group By shape. Since the source field is not used and does not need to be evaluated here, the system has been updated to ignore the source field if the operation is COUNT.

Decisioning & Analytics

D85558 548287Handling added for prolonged Heartbeat Update Queries

After restart, the pyFTSIncrementalIndexer queue size had hundreds of thousands of entries even though it was empty prior to the restart.Investigation traced this to a job scheduler that checked all the database connections everyday at 1 EST by using a list that contained some connections which did not exist. Checking those invalid connections caused other update queries to queue and wait, resulting in the update heartbeat query taking longer than its default beat. This caused a Split Brain issue wherein other nodes considered the long-executing node to be dead and triggered a rebalance while the node itself continued to execute partitions thinking that it was healthy. This caused duplicate processing of records. To resolve this, a fail safe has been added: while updating heartbeat in Service Registry, nodes will enter safe mode when the update query is taking longer than the default beat.

Decisioning & Analytics

D89012 550801DelegatedRules refresh icon made accessible

When using Accessibility, the refresh icon in pzDelegatedRules was being read as "Link". This has been corrected by adding text for the refresh icon.

Decisioning & Analytics

D89428 550393Data Flow StartTime uses locale timezone

The start time of the dataflow was displayed in GMT instead of the operator locale timezone. This has been corrected.

Decisioning & Analytics

D89643 548293Old Tumbling Time data in event strategies given TTL for cleanup

Old Tumbling Time data keys in event strategies were not being cleaned up, causing Cassandra timeouts after the dataflow run had been running for several months. The longer the dataflow was running using standard compaction, the more the data was potentially spread out across SSTables and the slower it became. This has been resolved by adding a 'time to live' value for tumbling time windows, and event strategies has been switched to use leveled compaction by default.

Decisioning & Analytics

D67316 541206Cross-site Scripting protection for PegaRULESMove_Skimming_Query

Cross-site Scripting protection has been added for input parameter toRSV of the activity PegaRULESMove_Skimming_Query. Developer Productivity

5

8.4.1 Patch Resolved Issues

SR Issue # Title Description Product Area

D78467 542319

Component rule check added to suppress unnecessary guardrail warnings

After creating a component application using Configure > Application > Components, guardrail warnings were seen when saving the component. The component application allowed adding rulesets or other applications, but did not have all the tabs found in a normal application, so there was no option for adding the associated classes to define the UI class, Integration class and data class in the component application. As component is mostly a part of (or embedded inside) an application, this function was not given options to justify or suppress guardrail warnings like Rule-Application. To resolve this, a check has been added for component rule before generating guardrail warnings for Empty UI page, Empty Integration class, and Empty Data class. Developer Productivity

D79397 546417Rule-Utility-Function references updated with library information

The "changeSystemName” operation failed. This was traced to the function “getLocalizedValue” (Rule-Utility-Function) being saved into the PegaFS library due to runtime resolution based on the function signature even though the actual Rule-Utility-Function from “Pega-Rules” ruleset needed to be picked in this case. To ensure the correct ruleset is picked, Rule-Utility-Function references have been updated with library information to resolve the resolution collision scenario. Developer Productivity

D80539 544795Testcases are not available for 'access when' rules

Attempting to create test cases for access when rules resulted in guardrail warnings about the need to create a test case. Because Test Cases are not available for the Access When rule type as per Pega expected behavior, the guardrail warnings are not valid and have been removed. Developer Productivity

D87671 547574PegaCESvcsIntegrator security updated

Security updates have been made which now require authentication to consume the services from the PegaCESvcsIntegrator package. Developer Productivity

D53835 524214Handling added for custom authentication in embedded mashup

After embedding the Mashup gadget in an external application, at browser refresh a Cross-Origin Read Blocking (CORB) warning appeared and the gadget did not load as expected. A second refresh cleared the error. Investigation showed that when custom authentication is configured, 'use SSL' is checked in Authentication service. That meant that when the user was authenticated, the redirection was not considering the query string entered before authentication and the CORB warning was issued due to a change in response. Because there is special handling for the above use case and post-authentication redirection does not happen through the normal flow (HttpAPI), this issue has been resolved by honoring the query string stored in requestor (entered by user) while redirecting. Engine as a Service

D60284 550560Delete Requestor method updated for use with CMT

JMS MDB Listeners with Container Managed Transaction (CMT) enabled in Websphere 8.5 had global transactions fail. To initialize a JMS-MDB listener, a requestor of type APP is used. Upon the service being fully initialized, the requestor is removed by executing a delete operation followed by a COMMIT. However, in this scenario, the initialization operation is running within a CMT context and a SQLException was raised indicating that the commit was not allowed. To resolve this, the delete requestor method has been refactored to take into account the CMT context so the commit is not executed if the transaction is managed by the container. Engine as a Service

D60830 533031Logic update for classloading synchronization

The synchronization logic for classloading has been updated to resolve intermittent deadlocking seen when two DataFlow threads are executing a distribution test. Engine as a Service

D62490 527292Application/CSV type explicitly included to assist Android Chrome

Android Chrome was unable to recognize a CSV file under content-type="application/*" , resulting in the download being rejected. To resolve this, "application/csv" will be explicitly included in the request content type when appropriate. Engine as a Service

D64083 542887 Compilation logic error corrected

A compilation failure on upgraded systems using the JDK 11 compilation of libraries that include Pega 7 functions that have INCLUDE statements that are not supported in JDK 11 was traced to a logic error added when enhancing debug logging. This has been corrected. Engine as a Service

D64608 544389Corrected filedownload extension header issue

Filedownload header contained plain non-ascii characters which caused a security violation issue. This has been resolved by removing the filedownload header from the HTTP response when the sendfile API is used with inputstream to download a file. Engine as a Service

D66615 536243API added to minimize calls to set parameters in datapage

Differences were seen after upgrade when using a datapage associated with a property which was application-specific and that had Data Access for the property defined as “Copy data from a data page" with parameters whose value was set by an activity from the associated property of type single page. Prior to upgrade, only one call was seen to set the values for the parameters in datapage, but post-upgrade multiple calls were used to set the values to these parameters. This was traced to logic used for extraction and invoking the perform, and has been resolved by adding the new API 'DeclarativeAction.shouldExtractWatchedProperties'. It will return true or false, depending whether the extraction of watch properties is needed or not. Engine as a Service

6

8.4.1 Patch Resolved Issues

SR Issue # Title Description Product Area

D66674 538973DSS added for fall back to legacy decision table format

After upgrade and switch to IL, non-working decision tables created in one class had pyWorkPage mapped to another class. In the column, the properties were mentioned as "pyWorkPage.xxxxx", but at runtime when the non-working decision tables ran as standalone, the system did not ask for values to be entered to evaluate the result. Tracer showed the error as "Goal seek requires missing input property pyWorkPage.All_Offln_Trans_In on page pyWorkPage; details: (unknown)". Investigation showed that the Legacy assembly for the decision table used the lazy evaluation pattern to resolve the expression in the column header in the generated Java code. This resulted in the property for the column header only being read when it was used. However, for IL-based decision tables all properties are read immediately before any rows are evaluated, which requires the property already be present on the page. This missing property from the lazy assembly then resulted in the exception. To resolve this, Executable.generateOrCompileSource and Virtual tableassemblyHandler.useIL() have been modified to fall back to legacy decision table format if the DSS InternalLanguage/disableIlBasedDecisionTable is enabled. Engine as a Service

D70890 542872Enhanced diagnostic logging for automatic search re-index

To better analyze an out of memory error, enhanced diagnostic logging has been enabled for the below classes to get more information regarding re-index triggered automatically after search index is complete.PegaSearch.SearchManager.SearchInitlizationUtilsPegaSearch.SearchManager.BuildIndicesTaskRule_Obj_Activity.pzLPFTSManagerRunBuildIndex.Pega_Search_Manager.ActionPegaSearch.Indexer.AbstractIndexer Engine as a Service

D71041 537897 Default compiler pool size increased

An issue was seen where the nodes were continuously terminating and Stream service was not started. Error messages indicated a "WARN - Long running request detected for requestor", and that tasks were waiting for the generic object pool. Analysis showed that it was possible for a deadlock to form during the startup of the system or during the first few rule executions and compilations when there were more than five rules trying to compile. Once the variable LibraryMetadata.TypeEnvironment.resolver (ClassLoader) is initialized, the problem would resolve. To prevent the deadlock, the default compiler pool size has been increased from 5 to 10. Engine as a Service

D71145 536370PropertySet will iterate over changeList map copy to resolve CME

An empty menu was seen intermittently when handling incoming email, and a ConcurrentModificationException error was logged. Investigation showed that a step scope changeList map used in the handleChaining method was sometimes modified by another process while the first one was iterating over it. To resolve this, PropertySet will receive copies of the change list map from clipboard pages instead of the original map. Engine as a Service

D74534 538946Decision table and tree obey allow missing properties checkbox

Calling the decision table/tree inside another decision table/tree which has a missing property was throwing an error even though the "AllowMissingProperties" checkbox was enabled in the caller activity. Analysis showed that the setting for AllowMissingProperties did not carry into any subsequent DecisionTree/DecisionTable calls from the top DecisionTree/DecisionTable, and this has been resolved by modifying the decision table and decision tree obtain value functions to pass AllowMissingProperties. Engine as a Service

D84099 547826 Atmosphere library updated

Multiple setAttribute exceptions were logged related to the Atmosphere component, indicating "The request object has been recycled and is no longer associated with this facade." Investigation showed that since the request object was destroyed, an illegalstateexception was thrown. To resolve this, the Atmosphere library has been updated to version 2.4.5.7 which contains the fix for this error. Engine as a Service

D84122 547968Added min INT comparison for BrowseByKeys

Running the dataset with the Browse option worked as expected, but running it using BrowseByKeys operation and giving a negative value caused results to not be populated. To resolve this, a minimum INT value comparison has been added. Engine as a Service

D84876 547691Performance improvement for Oracle 12c queries

In order to compensate for a known issue with Oracle 12c that can cause repeated queries at certain times to cause database contention, Oracle pre/post processing steps have been added to improve performance in this environment. Engine as a Service

D84880 546892Null check added to resolve addmapcasetomap error

Using a createcase flow shape to create child cases by looping on a page list on the parent case resulted in pzaddmapcasetomap throwing an exception related to the activity pzLoadCaseHierarchyWrapper in step 5. This was traced to a page being removed after the list of pages was received in findPageByHandle, and has been resolved by adding a null check. Engine as a Service

7

8.4.1 Patch Resolved Issues

SR Issue # Title Description Product Area

D85653 548601Repaired Tracer use with Google Chrome

After running Tracer while using Google Chrome, closing it and trying to run another resulted in an error indicating "Cannot Launch multiple tracer sessions for a requestor". This was identified as a bug with Google Chrome Versions greater than 70 and was caused by Chrome deprecating the use of sync XHR on page dismissal, and has been resolved by modifying the system to use a beacon API instead. Engine as a Service

D87093 548146 Compilation logic error corrected

A compilation failure on upgraded systems using the JDK 11 compilation of libraries that include Pega 7 functions that have INCLUDE statements that are not supported in JDK 11 was traced to a logic error added when enhancing debug logging. This has been corrected. Engine as a Service

D90051 549494Repaired Tracer use with Google Chrome

After running Tracer while using Google Chrome, closing it and trying to run another resulted in an error indicating "Cannot Launch multiple tracer sessions for a requestor". This was identified as a bug with Google Chrome Versions greater than 70 and was caused by Chrome deprecating the use of sync XHR on page dismissal, and has been resolved by modifying the system to use a beacon API instead. Engine as a Service

D70674 535485Handling added for mobile upload of filename containing dots

An issue with uploading a file name containing dots (such as 2019.12.12) while using the mobile browser has been resolved by updating the AttachFile activity in the propertyExist function. Engineering SWAT

D70768 547018 Handling added for unavailable oWnd

After using a Snap Start URL to open an assignment, terminating the requestor and hitting the URL again resulted in a blank screen. This was traced to the pzUnknownSessionAlert script throwing an error when oWnd.pega was not available, and has been resolved by adding the needed handling. Engineering SWAT

D75835 539304Added handling for Google Chrome drag and drop of Outlook email

Attempting to drag and drop an email from Outlook to a case opened in Google Chrome resulted in the email being moved to the Outlook deleted folder. This was traced to Google Chrome defaulting to defining the "dropEffect" attribute as "none" when the expectation is it should be "copy". To resolve this, the recommended handling from Microsoft has been added as an event to make a copy (and not a move) an email from Outlook when dragged and dropped with Google Chrome. Engineering SWAT

D59158 534821CMIS Update Request corrected for single Value List property

After upgrade, following the process of searching Documents by connecting to CMIS and getting the results, then selecting the document, editing it, and resubmitting the document to the CMIS repository by clicking on the update button worked when passing a multi row of values to the Value list property but failed when passing a single row of value to the Value List property. An error was generated with the message "pega.pegarules.pub.services.InboundMappingException: Failed to process CMIS service 'updateProperties' ". In 7.2, updateProperties CMIS functionality uses the Apache API opencmis.commons.spi.ObjectService#updateProperties() whereas in 8.3 it is refactored to use the API opencmis.client.api.CmisObject#updateProperties() and this API allows multi-valued property to be updated with multiple values only. To resolve this, the CMIS connector has been modified to update the properties implementation such that it will pass-on the property update value to Apache OpenCMIS API as either List or Scalar based on the property definition (whether Property is configured as multi-valued or not).

Information Experience

D63774 540508Resolved .PDF extension preview issue

Previewing a PDF that had the extension capitalized as ".PDF" did not load, but one with the extension ".pdf" worked. This has been corrected by modifying pxUploadFile and pzUploadFileToADocument to convert the filetype extension to lowercase to prevent possible preview problems.

Information Experience

D64197 536590Handling added for passivated file upload and attach

When storage type repository was configured and any file type other than image was uploaded while pyIsStreamBasedUpload was set as true, uploading a file and keeping it idle for 15 minutes before clicking on attach caused pyattachInputStream to become null on the DragDropFileUpload pagelist. This caused an activityterminateException in tracer and the assignment was not submitted. This exception was due to a check in attachFile activity that calls terminateactivity when streambasedupload is true and attachinputstream is null. To resolve this, a validation rule has been added to check if the page exists, streambasedupload is true, and pyattachinputstream is null or has a value. If it is NULL, a message will be displayed about reattaching the file(s).

Information Experience

8

8.4.1 Patch Resolved Issues

SR Issue # Title Description Product Area

D72389 541948Handling added for JSON with top level array

When using serialize mode in a JSON data transform where the Top element structure was Array and the “For JSON only” relation was selected for relation mode, the result had an incorrect JSON structure. In order to support this configuration, generatePropertyAsJSON has been amended to set isTopLevelPageList to true in instances where automap is off, the top level is an array, and the JSON context is updated within the first step. In addition, generatePageAsJSON has been updated to check this flag when processing mappings in order to ensure these context changes are processed, and updates have been made to generatePropertyAsJSON to ensure that the context is popped when appropriate.

Information Experience

D72886 543756Check added for Repositories before saving attachment

When creating or updating a case through email listener, the Link-Attachment defaulted the pxStorageType to 'WebStorage'. This caused an issue when using PegaS3, which needs pxStorageType 'Repository'. To resolve this, a check has been added to see if Repositories are enabled, and if they are the storageType will be set accordingly.

Information Experience

D75945 541084Data transform updated to remove @java references

The usage of @java expressions in data transform rules has been deprecated. The pyProcessDocumentCompletedEvent data transform was given as an extensible data transform intended to be overridden by customers to have their own processing logic of document completion event, however this caused confusion and when used in the out-of-the-box form it resulted in an error when saved at design time. To resolve this, the shipped data transform has been updated to call to a Rule-Utility-Function to return the file's base name, and the @java references have been removed.

Information Experience

D76291 541016Check added for Repositories before saving attachment

When creating or updating a case through email listener, the Link-Attachment defaulted the pxStorageType to 'WebStorage'. This caused an issue when using PegaS3, which needs pxStorageType 'Repository'. To resolve this, a check has been added to see if Repositories are enabled, and if they are the storageType will be set accordingly.

Information Experience

D78531 542002Encoding added for special characters in JFROG filenames

A blank screen or the error "Unable to get the file from Repository" appeared when attempting to attach a file from JFROG Repository if the file name contained special characters. This has been resolved by modifying the artificatory URL generation to properly encode special characters during file download.

Information Experience

D81651 545239Added check for signed-data in encrypted email

Numerous java.lang.UnsupportedOperationException messages were seen in the logs. Investigation showed that signed email which arrived as encapsulated within another email with header content-type = "application/pkcs7-mime; smime-type=signed-data; name="smime.p7m" caused the exception. This was due to a missed check for 'signed-data' while parsing the email and checking for encryption, and has been resolved.

Information Experience

D81673 546397 ClipboardToJSON Serializer enhanced

After creating a JSON data transform with the top level structure set to Object and a step that mapped a Pagelist in clipboard to an Array of Objects in JSON, calling the data transform in Serialize mode resulted in a JSON mapping exception. This was a missed usecase for using the JSON serializer with nested pagelists in page, and has been resolved by adding pagegroup support for data transform serialization and skipping pagegroup serialization when automapped.

Information Experience

D82490 547366Invoke Connect-SAP method of IDoc type repaired

Attempting to implement SAP connection via IDoc type connector failed and an empty error message was shown. This has been resolved with modifications to the SAP Connector functionality.

Information Experience

D85699 548664DASS given for overriding boolean transformation to true/false

In order to ensure greater backwards compatibility, support has been added for not converting boolean values in the DOM-based Parse XML assembler based on the DASS as below :Pega-IntegrationEngine • ParseXML/DOM/DoNotConvertBooleanValuesThis will maintain values as 0/1 and override the default of transforming them to true/false which was enabled as of v8.3.

Information Experience

D87870 548774Resolved putting JMS Message through JMS Listener interface

When using MS Listener integrated into Pega running on WebSphere Liberty, the listener was running correctly and able to consume JMS Messages. The JMS Listener ruleform provided options to browse and put JMS messages. However, when attempting to put a message into the destination queue, an error occurred. Investigation showed that if the resource lookup was using 'Resource references' on JMS Listener, the naming context was initialized with a null hashtable. This has been corrected by modifying AddJMSMessage and GenericViewJMSMessage to initialize the naming context with the default constructor RefreshJMSMessages to set JNDIServerName and pass the current parameter page when calling GenericViewJMSMessage.

Information Experience

9

8.4.1 Patch Resolved Issues

SR Issue # Title Description Product Area

D88376 548336SQL query handling added for case-sensitive DBs

An Email Listener in RUNNING state was not picking up the emails as expected. This was traced to the column names (pr_log_service_email) being defined in lower case for native SQL queries: since MS SQL server db is case sensitive, it was not able to detect these column names and therefore failed to save the message stub. This has been resolved by adding the necessary handling.

Information Experience

D88997 548897Improved accessibility for labels and instructions

In order to improve accessibility, a label has been added to the delegation filter input and a search input box has been added to pzRecordsEditorWrapper along with the ability to use the 'Cell read-write classes' option to hide it in the UI.

Information Experience

D56148 537406 Corrected map zoom issue with iOS13

After including a map control with markers in an application for iOS13, viewing via a mobile app and zooming introduces a gray bar across the map. This has been resolved by setting transform translateZ to the div of address map. Mobility

D68572 543005Added check for duplicate attachment names with S3

S3 Storage does not allow duplicate file names, but the AttachContent function was allowing duplicate file attachments. Due to this, the sync was failing to attach on the server and the message was never communicated to the client. This has been resolved by adding a check for duplicate file names when the storage is repository. Mobility

D73237 539127Pagination updated to resolve repeating Pulse notes

After adding a case and entering 15 Pulse notes, scrolling down resulted in the notes being duplicated. Investigation traced this to entering more than 10 posts in a single interaction on a previously empty case when "Progressive pagination" was enabled for the repeating dynamic layout. On Private Edit, if the pagination was changed to "NONE" then the issue was resolved. Pagination depends on the pzPagingStartDateTime property, which is set on D_pzFeedParams, but since there were no results in this scenario this property was not being set. To resolve this, an update has been made so that pzPagingStartDateTime will be set if it is empty. Mobility

D74839 537323 Corrected map zoom issue with iOS13

After including a map control with markers in an application for iOS13, viewing via a mobile app and zooming introduces a gray bar across the map. This has been resolved by setting transform translateZ to the div of address map. Mobility

D76620 544578Resolved touch events issue with updated Google Chrome

After upgrading Google Chrome, touch events on a flow action under the Action Button in a case or on the application under "Launch web interface" were not reacting and the flow actions were not accessed. Investigation showed that Google Chrome's latest upgrade (79.0.3945.130) removed the ontouchstart property in the window, causing the isTouchable capability identification method to fail. This has been resolved by adding a check for navigator.maxTouchPoints to identify for Google Chrome whether the device involved has a touchscreen. Mobility

D76927 541424 VirusCheck added to all Pulse uploadsThe upload file activity has been updated to invoke VirusCheckActivity for all Pulse uploads. Mobility

D77268 542339 Updated URL opening for iOS 12 & 13

Attempting to open a URL did not work on iPad/iPhone with iOS 12 and 13 and PIMC version 8.3.500. This has been resolved by updating previewPIMCAttachmentOnline function to handle URL opening by using the application.openurl function. Mobility

D81859 543766Maps and signatures inside layout groups scroll correctly

A map configured in the screen was getting grayed out while scrolling horizontally. Analysis showed that when an address map is inside a layout group, the layout group swipe was triggered instead of scrolling. To resolve this, the target parent now has the data attribute "data-nogestures" = true so the layout group swipe will not be triggered. This will also prevent swipe on signature while scrolling horizontally. Mobility

D85551 548077Resolved touch events issue with updated Google Chrome

After upgrading Google Chrome, touch events on a flow action under the Action Button in a case or on the application under "Launch web interface" were not reacting and the flow actions were not accessed. Investigation showed that Google Chrome's latest upgrade (79.0.3945.130) removed the ontouchstart property in the window, causing the isTouchable capability identification method to fail. This has been resolved by adding a check for navigator.maxTouchPoints to identify for Google Chrome whether the device involved has a touchscreen. Mobility

D85780 547815Corrected iosVersion handling for getDirections

When opening the map function in the iPhone app, it first navigated to Google maps but clicking on 'get directions' opened Apple maps. This was traced to pzpega_control_actions_getDirections. When using the getMapURL function the value being assigned for iosVersion dictates the behavior: If the iosVersion is greater than 8 it opens Google maps, else Apple maps. However, an error caused the value to be sent as string instead of integer, causing the iosVersion check to fail. This has been corrected. Mobility

10

8.4.1 Patch Resolved Issues

SR Issue # Title Description Product Area

D54120 542260Improved handling for attachments not using UTF-8 encoding

When an email was received that used a charset encoding other than UTF-8, special characters in the HTML body were not displayed and instead the replacement character was shown. To resolve this, the system will read the encoding from the email rather than use the meta tag, and will add the attachment's HTML encoding information in Data-WorkAttach-File so that the same can be used to process and display the original HTML properly. Multi-Channel

D54120 541353Improved handling for attachments not using UTF-8 encoding

When an email was received that used a charset encoding other than UTF-8, special characters in the HTML body were not displayed and instead the replacement character was shown. To resolve this, the system will read the encoding from the email rather than use the meta tag, and will add the attachment's HTML encoding information in Data-WorkAttach-File so that the same can be used to process and display the original HTML properly. Multi-Channel

D63638 544018Performance improvements for opening cases with embedded images

Opening cases containing email interactions was taking an excessive amount of time. This was traced to the use of embedded images, icons, etc, in the message body and signature, and was caused by the pyGetAttachmentsbyCID activity running multiple times due to discussion threads that were duplicated over and over. In some cases, more than 360 calls to the database were seen. This has been resolved by shifting some case opening processes to executing when the listener thread gets the mail, and storing the results in a .pynote property, and a URL will be used to get images instead of embedding them directly to the HTML. If preferred, this can be reverted to the previous behavior by changing the when rule (pyUseCachedHtmlForDisplay) to false. Multi-Channel

D75636 549349Improved handling for attachments not using UTF-8 encoding

When an email was received that used a charset encoding other than UTF-8, special characters in the HTML body were not displayed and instead the replacement character was shown. To resolve this, the system will read the encoding from the email rather than use the meta tag, and will add the attachment's HTML encoding information in Data-WorkAttach-File so that the same can be used to process and display the original HTML properly. Multi-Channel

D56293 536779Resolved timeout errors related to getIndexInfo

When attempting to import large files (around 300MB) via Designer Studio a time out error was seen, but the same upload worked as expected from the command line. Investigation showed that the "approximate" argument in getIndexInfo caused wasteful analytic operations to be run on the database, hampering performance. To resolve this, areas where the results of the analysis are not needed have been modified to have aApproximate set to be true so it will not be run. Search/Reporting

D66986 539415 BIX command line support improved

Post-upgrade, it was seen that changes to the engine which validate that Data-Admin-DB-Name is not defined multiple times caused the BIX command line extracts to no longer work the same way. In order to improve backwards compatibility, updates have been made to loosen the validation in JdbcConfigurationFactory to always prefer prconfig settings if there are multiple definitions. Search/Reporting

D76150 539455Logging updated for EmailListener and Data-Agent queue items

In order to avoid the pr_sys_queue_ftsindexer table being overwhelmed with Data-Admin-Connect-EmailListener and Data-Agent-Queue instances for queued items, the Data-Admin-Connect-EmailListener and Data-Agent-Queue class definitions have been modified to filter queue items to incremental indexing if updates are from system and instance type is data- . Search/Reporting

D70569 538510 Tracer retains modified user settings

User settings in tracer were not shown when the settings window was closed and reopened. Investigation showed that settings are filtered based on watchInsKey, but this parameter was passed as "null" for global tracer because of a missing condition to check the session type. This has been resolved by adding a check so the WatchInsKey parameter is passed if the session type is rule watch.

Streaming/Background Processing

D75431 544199DMaps cleared to set correct JobScheduler next run time

When items were added into a QP, the items shown under Scheduled and weren't being processed immediately. Investigation found that the job scheduler which fetched the entries for QP to process wasn't running as expected, and the "Next run" time stamp for JS was incorrectly populated and entries weren't being fetched at all. To correct this, updates have been made to clear entries in DMap belonging to the node during shutdown and from the membership listener so the correct next run time is set.

Streaming/Background Processing

D76861 544607Job Scheduler will be stopped by node shutdown detection

LifeCycle Job Scheduler was trying to start already stopped background services during node shutdown, causing exceptions to be logged. This has been resolved by stopping Job Scheduler execution when node shutdown is detected.

Streaming/Background Processing

D83023 549689Apache Commons Compress library upgraded The Apache Commons Compress library has been upgraded to v1.19.

Streaming/Background Processing

11

8.4.1 Patch Resolved Issues

SR Issue # Title Description Product Area

D46133 534651

Colon in folder or file name will be replaced with underscore during unzip

After creating a product file (zip), attempting to import the same file into an updated system resulted in an exception. Investigation showed that in this case the zip file was a Product rule form which had applications packaged with a colon(:) in the name of the application, a format that was allowed in 6.x versions. Because Windows machines restrict creating creating any folder or file with : in its name, the zip file could not be inflated as part of the import process. To resolve this, the system has been updated so that a colon(:) will be replaced by underscore(_) during inflate operations. Systems Engineering

D52604 548062Stream Registration deprecated and replaced

Previously, Stream Registration, which was added as an extra layer of protection during the display of stream rules, automatically registered any streams being used in the context and checked this registry during reloadSection/reloadHarness calls to prevent Broken Access Control attacks. However, only an alert was thrown and no further action was being taken on it. With platform added support for URL Tampering, Stream Registration is no longer required and has been deprecated. The URL Tampering function has the capabilities to register for auto/non-auto rules and configure whether to display warning or reject the request for all the activities, and not just the stream rules. Note that URL Tampering will do registration/validation only when security/rejectTamperedRequests is explicitly set to true. Systems Engineering

D64523 545672Stream Registration deprecated and replaced

Previously, Stream Registration, which was added as an extra layer of protection during the display of stream rules, automatically registered any streams being used in the context and checked this registry during reloadSection/reloadHarness calls to prevent Broken Access Control attacks. However, only an alert was thrown and no further action was being taken on it. With platform added support for URL Tampering, Stream Registration is no longer required and has been deprecated. The URL Tampering function has the capabilities to register for auto/non-auto rules and configure whether to display warning or reject the request for all the activities, and not just the stream rules. Note that URL Tampering will do registration/validation only when security/rejectTamperedRequests is explicitly set to true. Systems Engineering

D66521 536140Logout Redirect updated to handle special characters in IDP parameters

When using "HTTP Redirect" in Authentication Service, the Logout Redirect service was failing due to the query parameter name containing "_" (underscore). This was traced to IDP sending parameters to assertion consumer service or logout request endpoint with names which contained any special characters, as the system was trying to put those key values on the parameter page for additional processing. To resolve this, the system has been updated to suppress exceptions when the parameters from IDP includes special characters. Systems Engineering

D70872 545858Kerberos authentication parameters propagated for deployment

Attempting to perform a deployment using Kerberos authentication to an Oracle database failed with an authentication error. This was traced to the java system properties (for example, -Dname=value) required by the Oracle JDBC driver for Kerberos authentication intermittently not being set when connections were being made to the database. When they were not being set, the connection would fail due to authentication. This has been resolved by ensuring the java system properties (-D's) that were provided to the 'custom.jvm.properties' property in the collection of deployment related *.properties files are being propagated to every part of the deployment scripts. Systems Engineering

D72636 536090Added handling for Authorization Server login loop

When the Authorization server returned an error, it was redirecting back with error, error_description, and parameters. The system then tried to start the login process again, the same error parameters were returned again, and it continued to loop this way. To resolve this issue, handling has been added for this error scenario from the Authorization Server. Systems Engineering

D77004 542349View Full History will not include private edits

After upgrade, clicking 'View Full History' and then 'History of All Versions', showed the history of discarded private edits of other users. This was an inadvertent side effect of work done to improve the support for rollback and migration, and has been resolved by updating the system to not save the history when in a personal ruleset (checkouts/private edits). The help documentation has also been updated to note there is no history available for checkouts/private edits. Systems Engineering

12

8.4.1 Patch Resolved Issues

SR Issue # Title Description Product Area

D78274 544094Handling added for dual privileges with MSSQL

After setting up dual privileges, the Admin user was able to create a table but the base user received an "insufficient privileges" error. Investigation showed this was an issue when using MSSQL: the generated grant statements used the server login name as the user in the grant statement, instead of the database user. For all other databases, the username passed into the connection is the correct user to use for grants. Only MSSQL has a distinction between this connection user name (the login) and the database user, and since the login did not exist in the user table, the grant failed. To resolve this, when MSSQL is used, the system will fetch the underlying database user when determining the user for grant statement generation. Systems Engineering

D79178 543314

SameSite cookie setting added for Mashup support in Google Chrome v80+

The Google Chrome browser version 80 and above now treats SameSite with a blank value as "Lax" by default, causing mashup scenarios to break. In order to compensate for this change, support has been added for setting SameSite=None in Cookie Settings; this value automatically includes the “secure” cookie flag, which enforces HTTPS for the Pega server and mashup. For mashups to work, SameSite should be set as None. Create a Dynamic system setting in the Pega-Engine RuleSet with the name “security/csrf/samesitecookieattributevalue” and the value "None" and restart the server. (The SameSite value "None" works only in secure HTTPS connections.) Note: The SameSite cookie may be set to None/Lax/Strict, based on the requirement. For cookie requirements other than mashup, it should be set as either Strict or Lax, depending upon your application. Systems Engineering

D83053 544270

SameSite cookie setting added for Mashup support in Google Chrome v80+

The Google Chrome browser version 80 and above now treats SameSite with a blank value as "Lax" by default, causing mashup scenarios to break. In order to compensate for this change, support has been added for setting SameSite=None in Cookie Settings; this value automatically includes the “secure” cookie flag, which enforces HTTPS for the Pega server and mashup. For mashups to work, SameSite should be set as None. Create a Dynamic system setting in the Pega-Engine RuleSet with the name “security/csrf/samesitecookieattributevalue” and the value "None" and restart the server. (The SameSite value "None" works only in secure HTTPS connections.) Note: The SameSite cookie may be set to None/Lax/Strict, based on the requirement. For cookie requirements other than mashup, it should be set as either Strict or Lax, depending upon your application. Systems Engineering

D84190 547175Post-Import Migration Agent query optimized

A Post-Import Migration agent belonging to the Pega-ImportExport Ruleset and set to run every 60 seconds by default triggered the SQL query "select ASTERISK from pegadata.pca_CWT_CXP_Work_Interaction" which ran for an excessive amount of time, caused a utilization spike, and then crashed the utility nodes. Investigation showed the excessive run time and load was caused by the query fetching a very large number of results. To better handle this scenario, the query usage has been updated. Systems Engineering

D84795 546204Handling added for NOT NULL primary key requirement

The CRMFS application upgrade failed during an upgrade of a Production-clone environment to Pega 8.3.1 with the error "Encountered an issue applying DDL: ALTER TABLE pegadata.pr_History_PegaSAFS_Data_ReasonCode ALTER COLUMN pzinskey DROP NOT NULL: Database-General Problem executing SQL to update database schema ERROR: column "pzinskey" is in a primary key." This occurred because the database had a table column as primary key with a NOT NULL modifier while the archive that needed to be imported had a table column with neither the primary key nor NOT NULL modifier in it. Therefore during import the system was trying to drop the NOT NULL modifier first, resulting in the error as NOT NULL cannot be removed if it is a primary key. To resolve this, handling has been added for the use case of not dropping the NOT NULL requirement for the primary key. Systems Engineering

D85745 545906DASS and DAS associated to the Pega-ProcessCommander Ruleset

An upgrade was failing at the point of Pega Rules Upgrade in the Installer Instance with the error "Encountered database exception when preprocessing deferred operations <insert updatesCache instance DATA-ADMIN-SYSTEM PEGA not only if new>. This node not found in the database - Either the record was never saved or was deleted. Unable to join the cluster." This error occurred because the strategic application import during upgrade manually included a "systemname" DASS instance which had a value other than "prpc". This caused a override of the platform shipped DASS (with value "prpc), which is required by the upgrade. In order to avoid this condition, DASS and DAS have been associated to the Pega-ProcessCommander Ruleset. Systems Engineering

13

8.4.1 Patch Resolved Issues

SR Issue # Title Description Product Area

D89002 549104SameSite cookie setting updated for pre-authentication

In work done in previous versions to modify the SameSite cookie handling to support Mashups in Google Chrome v80+, SameSite was set to None only in case of an authenticated Pega-RULES cookie and not for a Pre-authenticated cookie. That caused the Samesite value to not be set when using a pre-authenticated cookie, and the blank value was treated as 'Lax', causing a login challenge. To resolve this, Samesite will be set to 'None' when using pre-authenticated cookie, which will match the way it is being set in authenticated cookie. Systems Engineering

D90485 549270

SameSite cookie setting added for Mashup support in Google Chrome v80+

The Google Chrome browser version 80 and above now treats SameSite with a blank value as "Lax" by default, causing mashup scenarios to break. In order to compensate for this change, support has been added for setting SameSite=None in Cookie Settings; this value automatically includes the “secure” cookie flag, which enforces HTTPS for the Pega server and mashup. For mashups to work, SameSite should be set as None. Create a Dynamic system setting in the Pega-Engine RuleSet with the name “security/csrf/samesitecookieattributevalue” and the value "None" and restart the server. (The SameSite value "None" works only in secure HTTPS connections.) Note: The SameSite cookie may be set to None/Lax/Strict, based on the requirement. For cookie requirements other than mashup, it should be set as either Strict or Lax, depending upon your application. Systems Engineering

D90524 549048

SameSite cookie setting added for Mashup support in Google Chrome v80+

The Google Chrome browser version 80 and above now treats SameSite with a blank value as "Lax" by default, causing mashup scenarios to break. In order to compensate for this change, support has been added for setting SameSite=None in Cookie Settings; this value automatically includes the “secure” cookie flag, which enforces HTTPS for the Pega server and mashup. For mashups to work, SameSite should be set as None. Create a Dynamic system setting in the Pega-Engine RuleSet with the name “security/csrf/samesitecookieattributevalue” and the value "None" and restart the server. (The SameSite value "None" works only in secure HTTPS connections.) Note: The SameSite cookie may be set to None/Lax/Strict, based on the requirement. For cookie requirements other than mashup, it should be set as either Strict or Lax, depending upon your application. Systems Engineering

D68311 535988Corrected table row highlighting on iPad

A table row was highlighted when clicked on an iPad in landscape view, but when the device was rotated to portrait view the row was not highlighted. This was traced to the background CSS overriding the selected style, and has been corrected by modifying py-responsive-overrides.css. UI Front End

D74704 535943Section and navigation rule localization added

Localization has been added for sections and navigation rules that include some of the out-of-the-box rules like Locked and Get help. UI Front End

D76178 538602Corrected Cosmos dropdown positioning in right-to-left locales

When using the Arabic locale with the Cosmos UI, the dropdown was located on the right side of the field instead of the left side. This has been corrected. UI Front End

D36319 507362Pulse mention emails correctly sent for Japanese locale

When an operator with Japanese locale (ja_JP) was mentioned in a Pulse comment, email notifications were not being sent. This was working as expected for other operators in different locales. Tracing the pyProcessNotification Queue Processor revealed issues with the pySendNotification context that caused D_pyPulsePostDetails to not load. This has been corrected with modifications to the correspondence rule pyAddUserMentionedPost in the PegaSocial_ja 08-01-01 ruleset. UI Technology

D44769 531441Resolved non-template harness stale reference for navigation menu

Post upgrade, the navigation menu was initially present but disappeared on click of a menu item. This issue was seen only when the harness was non-template and SPA was enabled on the dynamic container: when launch harness was done on the same harness, change tracker created a new thread object but the client cache was holding the stale reference. When using template harness, mergeBigData adds all the new details into the stale object, preventing this issue. To resolve this issue for non-template harnesses, initChangeTracker in pzpega_ui_doc_lifecycle file has been updated. UI Technology

D57629 536628Navigation sub menu shows all options

The switch app menu was running off the bottom of the screen, and using arrow keys to navigate it caused the whole portal to jump up. This was traced to the sub-menu style attribute 'top' being changed to '0' if it was given a negative value. To resolve this, a condition was added to check whether the rendering sub-menu height is greater than viewport, and adjust the top attribute value accordingly. UI Technology

D58868 531801Check added for unicode calendar values

After creating a repeating grid section for work report definition with enabled filter option, running the section and giving the filter value in unicode calendar form such as 2019/11/12 did not pass validation. This has been resolved by adding a check for unicode values. UI Technology

14

8.4.1 Patch Resolved Issues

SR Issue # Title Description Product Area

D61560 539475Support added for multiselect control with SmartTip for iPad

When using a multiselect list control to a lproperty with Smart Tip configured, choosing one item on an iPad and then trying to tap or drag down the vertical scrollbar caused all listed items to disappear. To resolve this, the multiselect control has been updated to handle the popover exit on smart popover hover along with arrow key navigation support for tablets. UI Technology

D62732 527695V-Scroll bar retained after dirty modal check return

A modal dialog of a repeating grid with 'flexible' and numbers of field items that required a v-scroll bar with auto-size layout (Standard layout) had the scroll bar disappear after returning from pyDirtyCheckConfirm /Cancel. This was traced to the dirty modal setting some inline styles to modal, and has been resolved by updating Dirty modal to clean up any styles set on modal once it is closed. UI Technology

D64244 532984

Support added for recording with sIngle-option radio button inside a repeating grid

Recording a test case was not working when a single option radio button (i.e., radio button control with property of type boolean) was configured inside a repeating grid. In this case, it was found that the Radio button markup did not have a data-test-id attribute for non-template single option; this has been added. UI Technology

D64667 531808Cursor issue resolved for tab within expandable row

When pressing the “Tab” key on an expanded row, the cursor was not moving inside the expanded part. This has been fixed by adding a check to get the correct first focusable element. UI Technology

D65762 527556Updated logic for Spinner API used in DateTime control

When selecting 11, 22, 33, 44 in minutes in the DateTime picker, 11 was rounded off to 10, 22 was rounded off to 20, 33 was rounded off to 30, etc. This was due to the match and increment behavior in the UI Spinner Js API used by the DateTime control, and has been resolved by modifying the logic used to calculate the nextIndex in the keydownHandler API under ui_spinner.js . UI Technology

D67012 537310Invalid dropdown time will retain entered time

If a datetime control using dropdown mode and a timeofday property had a validation error, on refresh the current time was being set in the dropdown. This occurred when selecting only one part of the time property (only minutes or only hours), and included an error indicating that the provided time was not a valid time of day value. To resolve this, an update has been made so that if this combination has a validation error, on refresh setting the user-entered time will be given in the dropdown instead of the current time. UI Technology

D67674 537589Check added to skip validationtype for disabled controls with Accessibility

On enabling Accessibility, a disabled DateTime control was throwing a 'required' error. This was due to the dropdown markup having the validationType="required" attribute set if the control was configured with a required 'when' expression. Even though the expression evaluated as false, validationType="required" was still set. This issue was seen only in non-template datetime control, and has been corrected with a check to skip adding a validationType attribute for a disabled control in Accessibility mode. UI Technology

D68277 541817 Added logoff check for requestors

After upgrade, the error "java.lang.InterruptedException. Requester has been destroyed" was appearing in the logs. Investigation showed this was related to unregister requests being submitted after logoff, and has been resolved by updating the system to check for logout before sending unregister requests. UI Technology

D69452 536401Layout management corrected for nested gadget sections

Post-upgrade, some buttons were missing or mis-aligned, specifically the 'Reopen' and 'Cancel this Assignment' buttons were missing, and if 'Cancel this Assignment' was clicked, the Back button was missing. Investigation showed that when using nested gadget section includes, the necessary stack management to pop previous gadget parameters was not present. This has been resolved by adding a check for template rendering, as there is separate handling for template rendering to manage the stack. UI Technology

D70064 541963Case UI correct following multiple approval levels

After proceeding through different levels of approvals, the UI of the case was incorrect on the final approval submit. This was traced to the forceSkinGeneration parameter, which was set to true, being used by a workformstyles fragment. This has been resolved by changing pzUsePreferenceSkin to "once" and setting the parameter forceSkinGeneration to false after the pyAttachAsPDF activity call. UI Technology

D70310 537141Window type check added for icon display logic

When a Role had privileges to use Live UI, Agile WorkBench and Scenario Testing, the Scenario Testing tool icon intermittently did not show. This was traced to an incorrect condition used to check whether current window was of type desktop (portal) window, and has been resolved by adding a check that will also ensure consistency with Agile Studio icon display logic. UI Technology

D71202 535410

Corrected autocomplete results for parameterized Report Definition in grid

An autocomplete included in a grid and configured with results display as 'List' where the source for the autocomplete was a parameterized report definition and the Report Definition parameter was an associated property of autocomplete did not show any results. If the results display was changed from 'List' to 'Grid', it worked as expected. This has been resolved by adding a null check on rowdetail in the "replaceParamsTokens" method for autocomplete. UI Technology

15

8.4.1 Patch Resolved Issues

SR Issue # Title Description Product Area

D71522 539325Radio button error resolved for scenario testing

When creating a scenario test case that selected a radio button and navigated the screen, it worked to complete a case and save the scenario test case in a rule set. However, attempting to then run the scenario test case stopped with the error message "Value cannot be blank" for the radio button even though the value "No" was captured for the button. This was traced to the firing of the change event, and the system has been updated so 'pega.u.d.setProperty' will only fire a click event on a selected radio button option. UI Technology

D71944 543732Resolved data page loop in templatized UI

A Layout Group was configured with six dropdowns sourced to Parameterized datapages with "disable automatic refresh" unchecked; every next dropdown depended upon the previous property, and the previous property was sourced as parameter, and so on until last dropdown. When the value in the dropdowns changed, the section kept refreshing and the portal became unresponsive. This was traced to the combination of a Datapage as the source to the dropdown with "disable automatic refresh" unchecked and expression evaluation as well.Templatized UI has 'visible when' expressions for all the properties inside the top level page. Changing the first one fired refresh on the next one, and the next one's refresh fired the other drop down refresh until it became recursive. This did not occur in non-templatized UI as it does not have expression IDs and there are no recursive calls. This issue has been corrected by modifying how the temporary mapping is populated by the reloadCells API in Expression Evaluator to prevent unwanted cell refreshes. UI Technology

D73224 542630Case manager portal links working with SVG file

After modifying the pyPortalHeader to show a custom logo in the Case manager portal by saving the pyapp-logo.svg file into a ruleset and uploading the logo, none of the Case manager portal links or menus were working and a console error appeared. Investigation showed the SVG file stream was decoded and then encoded using the Base64Util.encode and decode, which was adding new line characters. To resolve this, step 4 in Rule-File-Binary.UploadFile Activity has been modified to remove the Base64 encode and decode. UI Technology

D73510 538665Cross-site Scripting filtering for ActionStringID Cross-site Scripting filter logic has been added to the ActionStringID function. UI Technology

D73847 537828Added exception handler for URL decode error

After logging in to Pega Deployment Manager, clicking Users -> People in the left navigation panel resulted ArrayIndexOutOfBoundsException. This was traced to an incomplete trailing escape (%) pattern and has been resolved by adding checks and exception handling for incomplete data from the browser. UI Technology

D74008 537291A filter on the grid shows value for a second click

A Filter on the grid was not showing any record value for a second click. This was traced to a conflict in considering column headers caused by the Filter Icon delegating two Grids, leading the process to take the context of the other Grid instead of the one which had been clicked. To resolve this, a check for the right context of the Grid has been added to the filterOnProperEvent method. UI Technology

D74057 540062Updated aria handling for Dynamic Layout Group 'Accordion'

The Dynamic Layout Group display type 'Accordion' was not getting initialized properly on the browser developer inspector. This was traced to the aria-selected attribute set to always be true, and has been resolved by adding logic to set and unset aria- selected only on the active tab. When the tab is not active, then aria-selected will be false. UI Technology

D74165 537515 DateRange clear button localized Localization has been added to the 'clear' button in DateRange. UI Technology

D74992 546878 Improved CPMHC performance

After upgrade, slowness was seen when using the CPMHC application. This has been improved by adding Microsoft Internet Explorer 11 optimization with the most recent javascript API. UI Technology

D75205 543568Refresh with DT or pre-activity added to dirty pop up check

Given a button which when clicked launched a data transform to set a few properties on the UI followed by a section refresh, a dirty warning popup did not appear when closing the work object even though the property changed via the refresh section. This has been resolved with an additional condition in the dirty pop up check to handle a refresh section using a DT or pre-activity. UI Technology

D75964 542687Check added to ensure enter key triggers autocomplete onchange

Tenant details were not loading, and no requests were seen being generated after the selection of the tenant. Investigation showed that for autocomplete control, a dummy onchange attribute was added, i.e., data-change = "[]". When the value was selected using the enter key, fireACOnElem was not executed in processEvent function as the condition isExplicitConfig(target) was true. To resolve this, an additional check attr(data-change) != "[]" has been added for ClientConditionExecutor to trigger fireACOnElem. UI Technology

16

8.4.1 Patch Resolved Issues

SR Issue # Title Description Product Area

D75966 537946Check added so DT parameters passed when using anchor tag

When using a link control configured such that the value of the text in the link control refers to an anchor tag such as Text, clicking the link to launch a harness and call a DT with passed parameters was not working. Investigation showed that when the link had an anchor tag, pyDataTransformDynamicParams was not getting passed as query string parameter. In pega.desktop.showHarness function, there is a If condition which checks whether any "=" is present in preDataTransformName variable and if there is any, it does not add pyDataTransformDynamicParams. This was not an issue with anchor tag itself, but rather a generic issue: any value with "=" would behave in the same way. To resolve this, the pega.desktop.showHarness API has been updated to check against the proper value (pyDataTransform=) instead of just = to identify old modal parameters. UI Technology

D76826 543097Corrected SmartInfo header text overlap with close icon

SmartInfo header text was not consistent in being wrapped to the next line, and when it did not wrap it was overlapping with the close icon. This was traced to the method used for applying the inline style to SmartInfo's header div by getting the body div's offsetWidth. In working scenarios, the body div's width has fractional portion (ex. 368.188px) and offsetWidth returns a rounded number like 368px in this case. This resulted in the header content not fitting in single line because it exceeded the space it was given, and wrapping resulted. In the non-working scenario, the body div's width did not have a fractional portion and therefore matched offsetWidth, meaning the header content fit to single line and overlapped the close icon. To resolve this, SmartInfo Header Div has been updated to be always be slightly less than the SmartInfo Body div. UI Technology

D77359 542138A filter on the grid shows value for a second click

A Filter on the grid was not showing any record value for a second click. This was traced to a conflict in considering column headers caused by the Filter Icon delegating two Grids, leading the process to take the context of the other Grid instead of the one which had been clicked. To resolve this, a check for the right context of the Grid has been added to the filterOnProperEvent method. UI Technology

D77557 544684Support added for custom portal with temporary work object

After creating a screen flow with temporary work object in a custom portal, entering some data and clicking caused the screen to be blank after browser refresh. The same process from Designer Studio or the Case Manager portal worked as expected. Investigation showed that SPA applications with displayonpage actions was sending empty parameters to render the harness due to the 'doUiAction' activity clearing additional pages for single frame portals. To resolve this, the 'when' rule in step14 has been updated to support a custom portal and temporary work object. UI Technology

D78196 547267Prepending zero to single digit hour and minute for iOS native calendar

The iOS native calendar was not parsing datetime values if h m values were less than 10, for example 09:05, resulting in an exception and freezing the app. To resolve this, the system will prepend a zero for iOS if the hour and minute values are less than 10. UI Technology

D78258 545361Corrected element pick for CaseAssetsParticipants in UI-Kit

The pyCaseAssetsParticipants function from UI-Kit in 8.3.1 was configured with 'launch local action' instead of 'list open local action'. Because of this, the hover event was failing. While there was a workaround of using the action ‘List Open Local Action’ instead of selecting ‘Launch Local Action’ , this has been resolved by adding a check to pick the correct element. UI Technology

D78562 543531 Calendar Mode accessibility enhanced

Accessibility has been added for datetime control's calendar mode by adding alternative text and an aria-label for the image icon with a value from fieldvalue "Choose from calendar". UI Technology

D78659 545761Resolved CSV validation overflow in Google Chrome

When using Google Chrome, validation of records was getting stuck in the UI at 32000+ while importing a CSV file with many invalid records when using the import option in Data type’s local data storage. Investigation showed the Call Stack size limit was exceeded in the Google Chrome dev tools due to the ":first" selector being passed to the Jquery find() method to find the element from the first element child of the XML doc. This selector causes maximum callstack exception when the document is large, and this is a deprecated selector in later versions of Jquery. To resolve this issue, the XML function in pzpega_tools_asyncprocess has been updated to replace the ":first" selector. UI Technology

D79526 544789ClassName will be updated when element model page is updated

In the event of traversing from Parent to Child, The Declare_pyDisplay datapage in clipboard was not in sync for the Child as the Active UI Element. This was traced to reliance on the pyClassName field of data element model (Declare_pyDisplay.pyDisplay(Developer).pyUIActive(1).pyClassName) to update the client side UI based on a particular condition evaluation. Because some of the properties in the element model are updated only if the page is newly created, using a page which was already present and updating values with some other UI actions was only updating specific properties which did not include pyClassName. To support this use, modifications have been made so the pyClassName will also be updated whenever the page is updated. UI Technology

17

8.4.1 Patch Resolved Issues

SR Issue # Title Description Product Area

D80223 542924Cross-site Scripting filtering for ActionStringID Cross-site Scripting filter logic has been added to the ActionStringID function. UI Technology

D80696 548826Autocomplete context fetched for dropdown in nested case

The autocomplete dropdown was empty when using SmartTip and the down arrow was clicked while opening an autocomplete case within an Interaction case. Opening the service case directly in a new tab populated the dropdown values as expected. This has been corrected by registering context changes just before the content is fetched for the overlay. UI Technology

D80825 546574Resolved tab appearance issues related to resolution support

When trying to add multiple tabs on larger screens, once the first row was filled with tabs then new tabs began appearing at the bottom of the layout group. The layout group worked as expected with the tab overflow having the right and left arrows with the dropdown on smaller screens. In addition, @1440px the overflow arrow on the right side was not working correctly, showing as grayed out even though focus was not on the last tab. These issues were traced to taboverflow with add icon not working correctly at certain resolutions. To resolve this, the todisableslide function has been updated to consider add icon width and layoutgroup has been updated to consider parent width. UI Technology

D81726 544011Corrected refresh section for grid dropdown using Google Chrome

When using the Google Chrome browser on a Windows machine, an incorrect click event fired when dropdown options were changed inside a grid was causing refresh section to not work properly. This has been resolved by suppressing the 'click' action on dropdown in the 'ui_events.js' file. UI Technology

D81924 548651Resolved Ajax and autocomplete errors in mobile offline

When logging into the app for the first time on a new session to navigate to scheduled contacts and reschedule one, clicking the right or left arrow icons to move through dates resulted in an "AJAX request failed" error. POST 500 errors were also logged in the Developer Tools console with every click of the icon. It was possible to close the error and continue, and navigating to another screen and returning or leaving the app and restarting it resolved the issue. This has been resolved by adding dataOnly for getParentWorkItem to support a Parent online and child offline scenario. In addition, an issue with console errors caused by a popup when autocomplete did not have any results has been corrected with the addition of a null check to clear the results div only if it exists. UI Technology

D82148 546763 Localization improved for ToolTips

Attempting to use the Field value to localize the tooltip for Hour and Minute resulted in the time being displayed as "tooltip: Hour". Support has been added for localizing these fields using pyTooltip. In addition, an issue with the tooltip still being displayed after switching helper text to None and saving (without manually clearing the existing text) has been resolved with an update that will clear the tooltip value when helper text is selected as 'None'. UI Technology

D83931 545874 Header style inheritance corrected

When a header style for a container was explicitly set, any layout underneath inherited that style when using container formats set to 'Use Skin Base Settings'. This has been resolved by increasing specificity for the header title. UI Technology

D84180 550231Resolved tab appearance issues related to resolution support

When trying to add multiple tabs on larger screens, once the first row was filled with tabs then new tabs began appearing at the bottom of the layout group. The layout group worked as expected with the tab overflow having the right and left arrows with the dropdown on smaller screens. In addition, @1440px the overflow arrow on the right side was not working correctly, showing as grayed out even though focus was not on the last tab. These issues were traced to taboverflow with add icon not working correctly at certain resolutions. To resolve this, the todisableslide function has been updated to consider add icon width and layoutgroup has been updated to consider parent width. UI Technology

D84436 546249Popup position calculation check added for frameless portals

When trying to select any node under the agent, the complete section was scrolling up to the top. This issue was observed in frameless portals when the user scrolled down and launched the popup, and was the result of the the parent div's scrollTop value being added to the popup's "top" value. To resolve this, an additional check has been added for frameless portals (document.body.scrollTop) while calculating the popup's position. UI Technology

D85228 548201

Focus retained after cascading dropdown selection in Microsoft Internet Explorer 11

Given two DropDown fields sourced with data pages where the first dropdown value was passed as a parameter to the second dropdown source data page, at run time using Microsoft Internet Explorer 11, If the first dropdown field value was selected using the tab key, the focus shifted to the second drop down field and was immediately lost. Pressing the tab key again set focus to the top of the window. This has been resolved by updating the system to retain focus upon cascading dropdown refresh when using Microsoft Internet Explorer 11. UI Technology

18

8.4.1 Patch Resolved Issues

SR Issue # Title Description Product Area

D85339 548183Calendar AM/PM corrected for Chinese locale

When using the Chinese locale (zh_CN), opening a calendar control in the Report definition to select filter values resulted in the Calendar tab dropdown showing "上午" (AM) when the system time was in "下午" (PM). Investigation showed that when generating a non-auto date time control, ampm text (i.e. string value) was compared with the generated select component using locale specific values which did not match any time, so AM was always selected as it was the first value in the dropdown. To resolve this, the system has been updated to use the locale specific AM PM values for non-auto-generated date time control. UI Technology

D85400 549062Reset focus to rich-text editor after Spellchecker use

After correcting the misspelled words as suggested by SpellChecker, the corrected words were not reflected in the email. This was traced to a focus issue in rich-text editor, and has been resolved by ensuring the focus is returned to rich-text editor once the suggested corrections are accepted. UI Technology

D86200 549034Resolved tab appearance issues related to resolution support

When trying to add multiple tabs on larger screens, once the first row was filled with tabs then new tabs began appearing at the bottom of the layout group. The layout group worked as expected with the tab overflow having the right and left arrows with the dropdown on smaller screens. In addition, @1440px the overflow arrow on the right side was not working correctly, showing as grayed out even though focus was not on the last tab. These issues were traced to taboverflow with add icon not working correctly at certain resolutions. To resolve this, the todisableslide function has been updated to consider add icon width and layoutgroup has been updated to consider parent width. UI Technology

D86360 548572

Handling added for declare expression targets when harnessid is null

Client expression calculation was not happening in Perform harness. Research showed that whenever text input calculations happened, the expression_calculation js setTargetValuesSuccess function was called but the elementList parameter was passed as null due to the inputHarnessId parameter being undefined. This has been resolved. UI Technology

D88057 549112Calculation logic updated for SLA with Goals and Deadline

The DateTime control was displaying the date reduced by one day in runtime if it was configured with an SLA using Goals and Deadline. This has been resolved by removing the seconds and milliseconds in the calculation. UI Technology

D91030 550797Date time control custom length honored

A custom length for the date time control in the Presentation tab was not working. Investigation showed that the Span tag containing the date time controls input box was missing a display:inline-block style attribute, causing the input box to overflow the span tag so the width was set to 100% by default if the date time control had any custom width configured. This has been corrected. UI Technology

19