Pega Infinity™ includes an industry-standard patch release process to simplify and maintain high-quality releases. Several cumulative patches are released a year for each release stream. The Resolved Issues page contains information about client-reported issues that have been addressed for the specific release.
For a complete set of the Resolved Issues for this release, download the PDF attachment at the bottom of this page. (Note that you must be logged in to access the attachment.)
For information on downloading this patch, see Pega 8.7.5 - Patch Release Available.
Low-code Application Development
Case Management
8.7.5 Patch Resolved Issues for Case Management
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-229623 | 763197 | App Studio case type creation chooses correct ruleset | When the application ruleset had versions such as 01-01-01 and 01-99-01 and 01-99-01 was unlocked, during the case type creation App Studio was always selecting the 01-99-01 version to create the rules even though the application rule had restricted the version to 01-01. Analysis showed the activity PZCREATECASETYPEWRAPPER step 8 was using the GetRuleSetVersion function to get the ruleset version to save all the rules and was always returning the highest unlocked ruleset present for a ruleset. This has been resolved. | Case Management |
INC-234225 | 748909 | Mashup parameters correctly passed | After embedding the Create Case mashup inside a Pega application, creating another case inside the mashup by using the Create Work action on the click of a Create Case button, the properties set on the action were not getting passed to the original case. This has been resolved with updates to the pega_desktop_support javascript file to get the parameters in Mashup when the create work action set is being used. | Case Management |
INC-239347 | 772002 | Improved accessibility for Case Manager | Role ="Main" was configured at two places in the DOM for Case Manager which resulted in a structural error in Accessibility Inspector. This has been resolved by modifying the accessibility of Aria's role from Main to Presentation in the pyCaseManager7 section. | Case Management |
INC-240873 | 761213 | Added update/delete assignment exception handling for bulk approval | When using bulk approval for pending approval cases, the flow was not resuming after a wait shape. This has been resolved by adding exception handling in the pzUpdateAndDeleteAssignments activity. | Case Management |
INC-244281 | 758492 | Error message from AttachFile localized correctly | The error message "Failed To Save File" from the AttachFile activity was not localized accurately due to a formatting error. This has been corrected. | Case Management |
INC-245267 INC-243845 |
759520 769022 |
Flow error resolved for Split for Each | After completing the assignments in a screenflow launched from a Split for Each utility, a validation error was generated when a second user clicked on the breadcrumb to change to another assignment within the screenflow. This was a missed use case related to the GoToPreviousTask activity (which calls jumpToTask) not getting the correct flow name and task name parameters to navigate due to the split. This has been resolved by adding the new property pxSubscript which holds the flowname with subscript for split flows on pyFlowData. | Case Management |
INC-245502 | 767488 | Added check for application logo error in Cosmos portal | A null pointer error was generated if no application logo was present or it became corrupted. This has been resolved with the addition of a null check before adding the application logo to the structure. | Case Management |
INC-249902 | 772468 | DSS added for MaxChildCasesToBeProcessedInDependency | Very slow Wait shape processing performance was seen when there were more than 499 child cases in a parent case. This has been resolved by adding a DSS to control the processing of dependent cases where Current AG is same as Dependent AG. Use "MaxChildCasesToBeProcessedInDependency", and provide the value for maximum number of cases to be processed in same thread. By Default the value is set to 499. | Case Management |
INC-252536 | 772092 | Status visible in history after field auditing | After performing field auditing for the pyStatusWork property and changing the status of the case, the field audit of the case history showed the old value in the UI even though the the D_pxFieldHistory data page had the new value. This was due to some non-autogenerating code present, and has been resolved by reworking the visibility conditions in pyDynamicNewValue and pyDynamicOldVlaue and adding StatusWork in the pyIsControlHandled rules. | Case Management |
INC-253078 | 776819 | Added harness type for custom temporary case | After creating a custom implementation which created a work object in a new tab, the form content was not showing when the browser refreshed. This was traced to a missing harness type when refreshing a temporary case created in a dynamic container, and has been resolved by adding a pyCreate value for the harness purpose in the pyIsHarnessTypePerform when rule. | Case Management |
INC-253340 | 771194 | BAC attachment issue resolved | Clicking "Attach Content" was not bringing up the dialogue box to attach content. Network call logs showed "HTTP 403 error" and a SECU0019 alert was observed. This was an issue with BAC, and has been resolved by registering the AttachmentForECM local action in the Work- .pyAdvancedAttachmentMenu navigation menu. | Case Management |
INC-257406 | 780803 | Step added to stop busy indicator for zero length file upload error | If a 0KB file was attached using the pzMultiFilePath control, clicking on "Okay" on the pop-up warning message did not dismiss the busy indicator. This was traced to a missing step for this scenario which would stop the busy indicator for an incomplete file upload, and this has now been added. | Case Management |
Cloud Services
8.7.5 Resolved Issues for Cloud Services
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-243588 | 762163 | Check added to clear outdated activity status for rollback | Response from the REST service indicated failure even though a rollback was successful. Investigation showed the API used to verify the existence and availability of the history table was setting the activity status on failure and the rollback feature was not clearing this status. As a result this status was promoted to the service page along with the corresponding rule message. This has been resolved by clearing processing statuses after checking isClassValid. | Cloud Services |
INC-245623 | 762198 | Performance improvement for import synchronization of non-rule instances | Synchronization performance was poor when importing a small number of non-rules into tables containing millions of rows of the same class. This was a missed use case caused by import synchronization iterating over every instance of a non-rule class (reading from the database) and not examining any of the data if the instance read from the database was not included in the archive, which is in contrast to rules where it is necessary to look at every rule for a given type to handle cases where rules are being deleted. This has been resolved by optimizing the query for the import synchronization process for non-rule instances so only the specific instances that are contained in the archive being imported are retrieved. | Cloud Services |
INC-245949 | 761567 | ServiceUtils log message retention updated to prevent out of memory condition | Running column population from ServiceUtils resulted in an out of memory error when handling an extremely large database table. This has been addressed by limiting the number of Log- messages that are retained to prevent unbounded growth. | Cloud Services |
INC-249918 | 768616 | BCEL library updated | The Apache Commons BCEL library has been updated. | Cloud Services |
INC-251646 | 779760 | Null DateTime check added for column population job after import | When importing a RAP file, the StatementYear column was created and the column population job was scheduled and started, but the job was only running for a portion of the table. Running 'optimize for reporting' on the same property later caused the time column population job to complete for the entire table. This could be seen the landing page first showing 18% complete but no errors for the first job, then the optimized job showed 100% completed. This has been resolved by modifying MaxCommitDateTimeFilter to consider pxCommitDateTime is NULL as well in order to include rows without a timestamp. | Cloud Services |
Conversational Channels
8.7.5 Resolved Issues for Conversational Channels
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-239192 | 756825 | Filtering added to display email subject in brackets | If an email subject was contained in angle brackets, it was considered an HTML tag and was trimmed. This has been resolved by updating pyGetEmailMessageDetails to escape the subject for display on the UI and other places that were relying on pyMessageMetadata. | Conversational Channels |
INC-239792 | 762297 | Corrected creating a suggested email reply | When configuring an email channel in App Studio using the French locale, adding suggested replies to the Behavior tab was followed by the expected suggestion to create a new one. However, clicking on the Submit button of the popup to add another reply did not work. This was caused by the system failing to find an open Ruleset for the Citizen developer, and has been resolved by using pxCreateRecord instead of pxUpdateRecord. | Conversational Channels |
INC-243142 | 757489 | Additional validation added for MSGraph reply email | After switching the email account receiver to MSGraph, operators were able to send replies with an email address in an incorrect format. The email ID was highlighted in red indicating it was not in the correct format, but the Send button was not disabled. Clicking on send submitted the form but did not send the email. To resolve this, a new edit validate rule has been added to double validate an email address with a personal name included. | Conversational Channels |
INC-249636 | 769491 | Consistent Data extraction from emails | When extracting key-word based data from emails, the data extracted from the body or the subject of email was different than the data extracted from the attachment of the email. Investigation showed pyResolvedValue was not passed to D_pzEntityPropertyMap from pyEntities during attachment analysis, causing the case property to take pyValue instead of pyResolvedValue. This has been resolved by adding pyResolvedValue from attachment analysis to D_pzEntityPropertyMap. | Conversational Channels |
INC-249647 | 775268 | Text analyzer identifies buzzword in subject line when email is blank | Text analyzer was not identifying a confirmation buzzword, causing an incorrect case type to be created. This occurred when a system-generated email had a blank body and no HTML content, and was traced to entity detection not running on the subject line. To resolve this, the pyTreatIncomingText activity has been updated to handle this usecase. | Conversational Channels |
INC-256756 | 786278 | Corrected case ID increment incorrectly extracted from email subject | An email with a subject that contained several capital letters + "-" + several numbers (ex : HEQUET-399014365) created the case ET-399014365 with no information inside except a label for the case equal to the subject of the email. This was traced to the increment of the Work-Channel-Triage-Email object being incorrectly extracted from email subjects: ET- or M- with an ID specified in a subject line is valid only when surrounded by space or brackets like (,[<{. This has been resolved by updating the regex in pzGetIncomingMailContext. | Conversational Channels |
INC-257499 | 786351 | Updated datetime handling for forward/reply emails | Forwarding and replying to emails was unexpectedly slow. This was traced to an issue with the pxCreateDateTime format in the pyPostEmailContent and pyEmailMessageDetails sections which was causing an exception, and has been resolved by using a universally valid datetime format for the new message. | Conversational Channels |
INC-258223 | 782614 | Terminated conversations properly closed | Conversations ended at the customer side were being re-queued instead of terminated. Investigation traced this to a configured escalate command for a no-match. When the conversation was ended by the end user, it was evaluated as a no-match scenario and the chat was escalated again with a trigger of the pzProcessCommand activity because the defaultProcessingMode method was called twice. This was different behavior from the standard scenario where that activity execution was skipped. To resolve this, an update has been made to the process handling after the SessionEnd event. | Conversational Channels |
INC-261573 | 786624 | Checks added to resolve "Index out of range" for incoming DSN email | An "Index out of range" issue was seen when a DSN email was processed for deployment notifications. This was caused by pzGetIncomingMailContext assuming that pyInReplyTo is always present and has a value that contains "@" when the DSN email ReplyTo is blank. This has been resolved by adding a null check to the ReplyTo check on the InboundEmail page and checking for "@" in messageid. | Conversational Channels |
Data Integration
8.7.5 Resolved Issues for Data Integration
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-199076 | 780844 | Revalidate of class rules successful after major version skimming | When performing a major ruleset version skim and revalidating all rules, most class rules were failing during the revalidation. This was a gap in how Ruleset List and Major Version Skim work together. When calling getRuleSetPrerequisites(“rulesetA:01-01-01”), the API uses uses the current application context to return a ruleset list from an application which owns rulesetA and its compatible version, but if no owning application was found from the current application context, a list of rulesetA and PegaRULES:XX-XX-XX was returned. This caused a conflict between what the system was trying to validate and the ruleset versions returned. To resolve this, an update has been made which will exclude the version number for this comparison if no owning application is found. | Data Integration |
INC-215299 | 746194 | Third-party libraries updated | Cross-site scripting protections have been added for Rhino. In addition, jna-platform and kotlin have been updated to the latest library versions. | Data Integration |
INC-222857 | 743251 | Resolved null pointer error for OpenAPI import | A null pointer exception was generated when attempting to import OpenAPI specification to integrate with the REST API to generate and map request and response for all REST service methods. This has been resolved by adding a null check to propsMap which gets properties from Schema in OpenAPIReaderImpl class. | Data Integration |
INC-226843 | 778720 | Updated clearance of stale passivated search data | After performing a search, expanding one of the search results in the work table, and then passivating the session, reactivating the session later and performing a new search populated the table with new results as expected, but expanding an item showed the previously expanded search result instead of the new one. This was caused by stale data holding a page with the name which was passivated but not yet activated, and has been resolved by explicitly removing the passivated page from the mPassivatedPages set. | Data Integration |
INC-229921 | 738630 | Corrected duplicate repository delete request | The delete request to remove a document from the repository was duplicated. This was caused by the 'pzDeleteFromRepository' activity instantiating the D_pxDelete in its own thread and then again in the current thread due to the D_pxdelete data page being loading asynchronously, and has been resolved by making the calling activity synchronous when loading the data page. | Data Integration |
INC-230648 | 777805 | Diagnostic logging added for preprocessing deferred operations | In order to assist with identifying potentially corrupted underlying properties triggering a runtime exception when performing a transfer from the worklist to the work queue, additional diagnostic loggers have been added to DirectStreamEncoderV7.java. | Data Integration |
INC-232467 | 767038 | DSS added to control access to lower versions of Rule-Utility-Functions | Some functions which belong to a different application were accessible in activities and started giving an error after deployments to other environments. To address this, the DSS RufFilterByRulesetVersion has been added. The default is 'false' to maintain the current behavior of allowing access; setting it to 'true' will restrict access to Rule-Utility-Functions present in lower major version rulesets. When the value is changed from false to true a server restart is required. | Data Integration |
INC-233492 | 745280 | Table view with post grid update activity | Table Filtering and Sorting was not working when using the pyNextGenPostGridUpdate activity. This was traced to the setting of implicit parameters when postActivity is being used, and has been resolved by checking the freshness of a queryable data page with reload once per interaction | Data Integration |
INC-235144 | 755880 | UrgencyWorkClass correctly set | pxUrgencyWorkClass should be set as 10 by default, but it was intermittently failing to be set and impacting the Get Next Assignment functionality. Analysis traced this to blank properties being created during the declare expression execution if the source property was not available on the page. This has been resolved by updating ScalarValueQueryExecutor.java so that the system will not create leaf (Scalar) properties if they are not present on the step page while executing the declare expression. | Data Integration |
INC-235155 | 746964 | Declare trigger correctly triggered by Deployment Manager | After configuring a declare trigger to run on a committed save of a rule, the declare trigger was not activated as expected when the rule was deployed to higher environments through Deployment Manager. The trigger worked as expected when the rule was manually imported through Configure > Application > Distribution > Import. Investigation showed that when the data transform was saved, the declarative trigger was called but was not able to find the activity due to this use case running the declare trigger activity as "In Background On Copy". This created a child requestor to trigger the activity in the default access group instead of the application context. To resolve this, an update has been made which will execute the declare trigger activity in the current user context when the activity is configured as "In Background on Copy" and the "pzUseCurrentAccessGroupForChild" property is true in the parameter page. |
Data Integration |
INC-235501 | 782192 | Additional debug logging added | Continuous org.postgresql.util.PSQLException messages indicating "duplicate key value violates unique constraint "pr_sys_locks_pk"" were generated when running job scheduler. This has been addressed by adding debug logs to all related classes for org.postgresql.util.PSQLException. | Data Integration |
INC-236049 | 766904 | nvokeXMLParseRule updated to ensure activityParamPage correctly initialized | After update, a "java.lang.ClassCastException: java.lang.String incompatible with com.pega.pegarules.pub.runtime.ParameterPage" error resulted when calling a connect java rule to fetch data and store it in a data page which was then invoked from another activity called from a flow. Resubmitting the same flow without changing anything worked as expected without error. The issue only occurred when using the Apply-Parse-XML step with a blank ElementName parameter, and was traced to an issue with the parse rule code flow logic where the activityParamPage param was not initialized correctly in every code path. This caused the error when the value had already been set to an incompatible type. To resolve this, the common code for the two invokeXMLParseRule methods has been merged to ensure both add activityParamPage to the paramPage. | Data Integration |
INC-237985 | 775554 | Suppressed unnecessary SOAP exception | SOAP service invocations were intermittently failing with the message "Content-Type HTTP header is missing". The Content-Type header is only used as a means to determine the SOAP service method name, which can also be derived from the endpoint URL or the SOAP body. To address this, the SOAPService code has been modified to suppress the exception that was being thrown when there was neither a SOAPAction or Content-Type HTTP header value. If actionToken is missing, the action can be taken from the HTTP body. The system will still generate an exception later if it cannot derive the SOAP method name from other parts of the request. | Data Integration |
INC-238681 | 762330 | Enhancement to support Non-standard resolution status | Previously, Case Archival only supported resolution statuses that started with 'Resolved-' (with Camel case) and not with any other resolution status like resolved- or RESOLVED- or 'Resolved *'. An enhancement has been added which allows specifying a comma-separated list of viable pyStatusWork prefixes for archiving which will handle custom statuses. | Data Integration |
INC-239789 | 766752 | LRUMap removed to resolve listener null pointer error | The email listener was running but not picking up and processing the records even there were few unread mails in the inbox. The "Last access" was updated periodically as if the listener was monitoring the inbox even though emails remained unprocessed. This was traced to a null pointer exception when retrieving the fresh access token, and was caused by the MSGraphEmailClientProxy class where LRUMap was being used with max size of 50 in a synchronized way. The max limit of the map was exceeded, causing deletion of entries (auth profile name with an object for locking) which led to a null pointer error being thrown while synchronizing on a null object. This has been resolved by removing LRU Map as its hard limit caused an error, and by adding handling that will put the listener to sleep when encountering unknown exceptions. | Data Integration |
INC-239993 INC-240101 |
769232 769229 |
Corrected From address value when using MSGraph | When viewing an email attachment pop up in MSGraph, the From address was not displayed correctly. This was traced to an incorrect value of the pyFrom parameter due to the principal name value in the email account rule being configured with application settings, and has been resolved. | Data Integration |
INC-240298 | 766839 | Corrected harness refresh in Ajax container | Harness refresh was not working in Ajax container tabs. Investigation showed "main" was undefined due to the system not creating the form element when there was only one fieldset in the container, and this has been resolved by updating the submitWhenFail method in pzpega_ui_doc_submit. | Data Integration |
INC-240696 | 762672 | Parent and child case namespace collision resolved for archiving | If parent and child cases had overlapping names, the cases were not being archived. This was due to Archival using declarative indexes to determine if a case has been added to pr_metadata during the archival process. In this scenario, multiple layers of the case hierarchy had the same name on their declarative index. When the archival job attempted to add a case in the hierarchy to pr_metadata, there was a namespace collision on the indexes and the engine determined that the hierarchy item was already added. Later, during archiving proper, all cases in the hierarchy were not present in metadata, so the item failed. This has been resolved. | Data Integration |
INC-240745 | 754796 | Currency code added for Sierra Leone | Support has been added for the new Sierra Leone currency code, SLE. | Data Integration |
INC-241055 | 759633 | Reset flag to resolve delegated rules issue | After editing delegated data type and the closing screen, favorite rules were not opening properly and the UI was not displayed correctly. Investigation showed that when editing a delegation data type row, clicking on the close button of the window without saving or cancelling or clicking any where in the screen caused the flag D_DelegationConfig.pyIsFromManageChangeLP to not reset to false, impacting the other rules when opened directly. This has been resolved by adding an update to reset the above flag to false when the close icon is used in this scenario. | Data Integration |
INC-241275 | 754585 | Records Editor search icon made accessible | To improve accessibility, helper text has been added for the search icon in the Records Editor with the message "Click to search records." | Data Integration |
INC-242943 | 756573 | Handling added for missing MSGraph charset | Some emails were not processed by the email bot when using MSGraph. This was traced to the HTML meta content missing the necessary charset, leading to an exception. While there is a workaround of using IMAP, this has been resolved by adding handling that will fall back to using the default charset UTF-8 if the system is unable to derive charset from the HTML meta tag. | Data Integration |
INC-243285 | 761202 | Handling added for MSGraph extracting attachments in a signed email | When using MSGraph with the email listener, the attachments could not be stored in Pega if the email included a digital certificate. This has been resolved by adding handling to ensure attachments are properly extracted when the listener reads a signed email. | Data Integration |
INC-243285 | 764831 | Logic updated to handle digital certificates in MSGraph | When using MSGraph, attachments were not being stored if they contained a digital certificate. This was traced to the system failing to extract attachments from email with mimetype application/pkcs7-mime, and has been resolved by updating the logic to handle application/x-pkcs7-mime or application/pkcs7-mime attachments. | Data Integration |
INC-243566 | 763259 | Explicit close stream added to InvokeAxis2 | An "Unreleased Resource: Streams" issue was seen in the InvokeAxis2 activity. This has been resolved by explicitly closing the input stream at the end of step 17 in InvokeAxis2. | Data Integration |
INC-244872 | 764101 | MSGraph REST API support | Support has been added for the MSGraph REST API client to send attachments which are greater than 3MB. | Data Integration |
INC-244979 | 770953 | Able to access attachments for purged cases | Attempting to access an attachment in a repository for a case which was archived and purged resulted in a GetAttachmentReference activity error. This has been resolved by updating the pzDownloadArchivedFile activity. | Data Integration |
INC-245088 | 765263 | Corrected execution calculation for CleanupServiceMonitorInstances agent | When using the pzCleanupServiceMonitorInstances agent to delete the service invocation history records which are older than the specified value in DSS- service/MonitorInstanceTTLMins (in mins), setting a value greater than 35791 minutes caused the time to be miscalculated. This has been resolved by updating the data type from int to long. | Data Integration |
INC-245096 | 762171 | Authentication handling updated for SOAP using OAuth2 | SOAP Connectors with OAuth2 authentication configured were incorrectly attempting traditional authentication in the Axis2 library. The error "IllegalArgumentException: Username may not be null" appeared. This was traced to a flag that was not being set correctly in the OAuth2 case, and this has been resolved by adding the "auth=null" flag to the OAuth2 case in step 8 of InvokeAxis2 to prevent the client from attempting basic authentication when the SOAP Connector is using an OAuth2 auth profile. | Data Integration |
INC-246705 | 768586 | Support added for custom CORS endpoints | The URLs of custom REST services were not showing when setting the endpoint for CORS policy mapping. This has been resolved by adding the necessary property set to the pzGetAllRestServices Activity. | Data Integration |
INC-247166 | 766057 | Export allows comma separated filter values | Delegated table records were not exporting when there was more than one filter value in the search box. This has been resolved by removing the replace function to enable exporting the record from data type with comma separated fields. | Data Integration |
INC-247173 INC-243325 |
766513 766516 |
Atmosphere jar updated to resolve screen pop failure | The PegaCall application was receiving screen pop requests from the telephony systems, but there was an intermittent issue with generating a screen pop to the user. No error was generated. This was traced to a null pointer exception related to Atmosphere which was removing the necessary resource for the screen pops from being delivered, and has been resolved by upgrading the atmosphere jar version. | Data Integration |
INC-248011 INC-246686 |
772042 775911 |
DSS added to skip corrupted BLOB property | It was not possible to open the records if a BLOB contained a corrupted property. To address this, DSS settings have been added which will allow conditional bypassing of a corrupted property during BLOB deserialization. a. Dynamic System Settings short description : propertiesToIgnoreDuringBlobDeserialization Owning ruleset : Pega-Engine Setting purpose : propertiesToIgnoreDuringBlobDeserialization Value : Corrupted property name b. Dynamic System Settings short description : dumpBlobOnDeserializationException Owning ruleset : Pega-Engine Setting purpose : dumpBlobOnDeserializationException Value : true Restart required. |
Data Integration |
INC-248681 | 774814 | Correspondence circumstance evaluated incorrectly | When using a circumstanced correspondence template, the base version was retrieved when creating the emails. After re-saving the circumstance definition used for the correspondence template, the correct correspondence template was selected during the email generation. This was traced to the circumstanced definition being filtered during the application calculation, and has been resolved. | Data Integration |
INC-249800 | 768001 | Exception handling updated for PRPulseTRREQProcessor | When the PRPulseTRREQProcessor.prprocessMessage method is run, the node.handleTerminateRequestorRequest can throw a com.pega.pegarules.pub.context.StaleRequestorError exception. StaleRequestor handling has now been added to PRPulseTRREQProcessor in order to ensure the System Pulse thread which dispatches pulse messages continues to function properly. | Data Integration |
INC-249832 | 768721 | Changed log level to debug for withdrawn rule | Logs were filling with the error "Failed to find a 'RULE-DECLARE-EXPRESSIONS' with the name 'PYLABEL'". This was due to the rule being searched in child class where it was not present and in its parent class where it's withdrawn. To resolve this, the logger level has been changed from error to debug in VirtualTableCandidateRuleResolverImpl.java. | Data Integration |
INC-250238 | 771299 | Empty value check added to correct Guardrail warning | The pxAddWarningsForGRSField activity was throwing a severe guardrail warning whenever the field value in Authentication profile, Endpoint url and Response timeout in Connect SOAP rule did not start with "=". This was due to a missing check for an empty value before validating and adding Guardrail warnings, and has been resolved. | Data Integration |
INC-252186 | 772087 | String.FormatMessage() also searches class name | Previously, the @String.FormatMessage() rule only searched message rules in the @baseclass. This has been expanded with the addition of code to retrieve the message class name from the message key in MessageEvaluator#getLocalizedText(). If the message key has a class name, then the @String.FormatMessage() function will return the expected message. | Data Integration |
INC-252455 INC-250963 INC-228124 |
768792 769486 771911 |
File Listeners correctly process files from external S3 | File listeners were not correctly processing files from S3 storage. This was traced to a null pointer exception in the S3Factory.getTImer method, and has been resolved. | Data Integration |
INC-252652 | 770556 | CompareTwoValues Rule-Utility-Function refactored for performance | Slowness during PegaMKTContainer API calls was traced to the CompareTwoValues Rule-Utility-Function comparing all different data types, starting with a Date and Timestamp comparison that consumed excessive CPU cycles. To resolve this, CompareTwoValues has been refactored to improve efficiency and performance. | Data Integration |
INC-252658 | 777586 | Localization added for en_MO | Support has been added for the Asia/Macau (en_MO) locale. | Data Integration |
INC-254329 | 774882 | Archival indexer performance improvements | The indexer job in archiving and purging was taking an excessive amount of time when maxIndexerRequestors=1. This delay was traced to forward chaining being enabled, and has been resolved by disabling forward and backward chaining for the archival and search indexer to improve performance. Chaining isn't needed since there are no changes made to the case. | Data Integration |
INC-254760 | 778694 | Handling updated for Europe/Amsterdam calculated date time | When using the getAsBusinessTime() function with the timezone set to Europe/Amsterdam, the calculated date time was returned as 20221230T080000.000 GMT+01:00, but setting this value in a DateTime property did not include the +01:00 at the end of the string and the property value became 20221230T080000.000 GMT, which was incorrect. This was traced to the parseInternalDateTime function ignoring the offset value for backward compatibility, and has been resolved by adding the Europe/Amsterdam timezone to the en_US and nl_NL locales to generate timezone codes without offset values. | Data Integration |
INC-255906 INC-257221 |
778554 780057 |
Archival process made more resilient | The PegaPurger was failing with the error “NullPointerException / Unable to Execute the activity for purging". This was traced to an ArrayList which wasn't thread safe, and has been resolved by using a SynchronizedList to avoid null pointer. Additional improvements have also been added to the archival process to make it smoother and more resilient. | Data Integration |
INC-256360 | 781536 | Services PAL properly displayed | Despite configuring the settings for Services PAL, the Services PAL log was not populating any data when navigating to the log file. This issue was traced to the logic in StatisticsLogHelper and has been resolved by extracting the logic into helper functions and adding an explicit check for PALType Average. | Data Integration |
INC-257572 | 781878 | LoggerContext initialization updated | SoapAppenderPega was failing to initialize or was stopping unexpectedly. This was traced to a null pointer exception and has been resolved by updating the LoggerContext initialization to check whether it has been initialized with class loader by default, and if not it will initialize LoggerContext again with class loader. | Data Integration |
INC-257632 | 781171 | Expunger updated to handle on-premise | When running Pega Infinity on-premise the error "Issue retrieving reference file://pegacloudfilestorage:/archive/archivedclasses/Pega-DM-Simulation-Bias" was generated by the internal.RepositoryManagerImpl function. This was caused by pyPegaExpunger running pzPerformExpunge by default despite there not being a cloud storage component designated. This has been resolved by updating Expunger for on-premise scenarios. | Data Integration |
INC-257869 | 783470 | French locale uses semicolon delimiter for CSV export | An exported CSV file was unexpectedly opening as comma-separated data for French users. This was an unintended side effect of work done to add the language code "fr" to the Decision Table pzGetLocaleListSeparator, as the French locale uses "," as a decimal separator. With this update, the previous behavior of CSV exports using a semicolon instead of a comma as the delimiter when the operator default_locale set to "fr_FR" has been restored. | Data Integration |
SR-D13375 | 775330 | Added handling for null requestor returned to ManagementDaemon | An invalid parameter exception was raised by the ManagementDaemon executing checkRequestors method. This occurred when the requestor argument, retrieved by the ManagementDaemon, was attempting to determine whether a PEGA0019 alert should be emitted in case of a long running requestor, but the NodeRequestorMgt.getRequestorNames() implementation returned non-existing application requestors. This has been resolved by adding handling for InvalidParameterException in cases where the requestor is deleted before the job is executed on it. | Data Integration |
Decision Management
8.7.5 Resolved Issues for Decision Management
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-230776 | 757398 | Rule-File-Binary update propagates correctly | The Model update was not reflecting from the Prediction Build. Investigation showed the Rule-File-Binary update was not reflecting across nodes. This has been resolved by adding a validate on the binary file to refresh the binary file cache across nodes. | Decision Management |
INC-231269 | 750996 | Support added for switching between KCL library and native Stream SDK | Kafka-As-a-Service has replaced Stream service. In order to support connecting and talking to Kafka-As-a-Service to provide "Stream" capabilities, an enhancement has been added to support switching between using the KCL library or native Stream SDK using a DSS/PRConfig using the following properties and values: <!-- Mandatory> <env name="services/stream/provider" value="KafkaService"/> <env name="services/stream/name/pattern" value="<isolation-id>-{stream.name}"/> <env name="dsm/services/stream/clustername" value="<cluster-name>"/> <!-- Not mandatory <env name="services/stream/external/replication/factor" value="<replication factor>"/> |
Decision Management |
INC-231930 | 770175 | FetchResponseConfiguration performance improvement | Performance issues were seen when running a batch campaign using NBAD with all issues, all groups. This was traced to the system browsing the pxDR dataset twice during the triggerNextStageprocessing dataflow internally, and has been ben resolved with an update to read in-memory data instead of making a database call. | Decision Management |
INC-235060 | 757834 | ADM Factory migration process made configurable | In order to address an issue with data migration pipeline timeouts when processing large models, the controls of the ADM Factory migration process have been exposed through a set of dynamic system settings. The settings introduced are: "decision/adm/service/factoryPersistTimeoutSeconds": Timeout in seconds when saving updated model factory and related artifacts to the underlying persistency layers. "decision/adm/service/migration/dataFlowService": Specifies the data flow service on which the ADM Factory migration will be executed, by default the DataFlow.Batch service is used. "decision/adm/service/migration/maxFailures": Specifies the max number of failures tolerated during the ADM Factory migration, by default this is zero and the migration will fail on any model that fails to migrate. "decision/adm/service/migration/requestorCount": Specifies the number of requestors (i.e. threads) that the ADM Factory migration data flow will use, by default the default configured on the data flow service is used. All settings can be configured through a dynamic system setting on the owning ruleset as "Pega-DecisionEngine" , or through a prconfig setting. |
Decision Management |
INC-235496 | 766560 | When rule added to control attachment thumbnail generation | In some circumstances an unauthorized user may be able to view the thumbnail generated for an uploaded attachment. To address this, the when rule pycangeneratedocumentthumbnail has been added which can be used to prevent thumbnail generation. The default value is true, which will allow thumbnail generation. | Decision Management |
INC-236293 | 742115 | Predictions Rules update in Revision Management | Prediction Rules updates were not manifested as expected for runtime use. This was due to prediction not being fully supported in revision management, and has been resolved with an update which will save a substrategy along with the main strategy in the Revision Manager context. | Decision Management |
INC-237215 | 761469 | Updated handling to avoid copy alert | An alert was generated from VirtualListCopy with the message "Light weight list has been copied in rule 'CODE-PEGA-LIST PZGETREFERENCEDDOCUMENTS". This has been resolved by passing the primary page to the report definition instead of the named page to avoid copying results. | Decision Management |
INC-239342 | 758667 | Partitioning keys added to Snapshots to improve performance | When using a data flow that reads from PR_DATA_DM_ADMMART_PRED table using a database table dataset and writes the results to a file repository, the ADM Predictor Dataset export within the dataflow was taking too long to browse the table. Investigation showed the dataset "pzADMPredictorSnapshots" did not have a partition key, causing the data flow to execute in a single thread. To resolve this, partitioning keys have been added. pyModelSnapshots and pzModelSnapshots contains the .pzInsKey as the partitioning key. pyADMPredictorSnapshots and pzADMPredictorSnapshots contains the .pyModelID as the partitioning key. |
Decision Management |
INC-244249 | 762752 | Improved backwards compatibility for Model and Topic | After update, testing Model and Topic with an associated data decision rule was throwing an error. This was traced to refactoring work on a Natural Language Processing (NLP) function that generated an illegal argument exception when given a "-" in the key passed to the ParameterPage.put(String key, String value) method. In this case, the identifier of the decision data contained a hyphen. In order to improve backwards compatibility, the logic has been updated to use a HashStringMap and then set this map in the parameterPage with key as the constant "modelDetails". This ensures the model identifier will be set in the map and the parameterPage key will not have characters such as hyphen, etc. | Decision Management |
INC-245335 | 760102 | Migration of adaptive model and prediction monitoring data made optional | In order to allow greater control of the Data Migration pipeline from Production to Simulation, granular controls have been added to toggle the data migration for adaptive model and prediction monitoring data such that the ADM factory is always migrated, but the monitoring data can be opted-in or out. This has been implemented through the use of "when" rules to make the ADM and Predictor datamart export and import optional. | Decision Management |
INC-245356 | 758425 | Apache Cassandra updated | The Cassandra jar has been updated to 3.11.12. | Decision Management |
INC-245472 | 764508 | Bkp decision data correctly removed before revision deployment | While completing/packaging a revision, some of the decision data backup rules were merged into the locked overlay ruleset instead of being deleted from the branch ruleset. This has been resolved by updating the activity to be case insensitive to handle both "bkp" and "Bkp" naming in the the cleanup. | Decision Management |
INC-245799 | 764373 | Updated action rule validation check | Check-in of the action rule was failing due to the wrong configuration of the eligibility criteria. This was caused by private checkouts intermittently not being released correctly if validation failed during rule check-in. This was a missed use case, and has been resolved by correcting the validation of action rules during CR submit. | Decision Management |
INC-246780 | 761799 | Special characters removed from Interaction History to prevent exceptions | Production utility nodes were requiring restarts due to out of memory errors. Investigation traced this to Interaction History dataset records containing unexpected special characters in the key such as "" or "$" or "^" that generated exceptions when writing the records to the HDS. This has been resolved by removing the special characters from the keys while writing them to the HDS. | Decision Management |
INC-247310 | 781808 | Handling updated for resuming HandleResponses data flow | After an accidental restart of the pxHandleResponses data flow, the events already waiting in the window were held waiting for the complete duration configured in the response timeout. To help in processing the future conversion responses faster, pxHandleResponses has been updated to calculate the delta time between decision time and response waiting time and subtract the response wait time to create the queue. | Decision Management |
INC-247517 | 764154 | Corrected dirty pop up message incorrectly displayed | The dirty dialogue was being thrown upon commenting on a Pulse post, even when there were no unsaved change in the form. Investigation showed the method "pega.u.d.clearDirtyState" was not being called when posting a comment in the Pulse, only when making a post. This was a missed use case, and has been resolved by adding the clearDirtyState function after posting a reply. | Decision Management |
INC-247763 | 769868 | Security updated for input text | Sanity checks have been added for spaces, documents and cases to improve security. | Decision Management |
INC-248187 | 769421 | Manifest file input stream properly closed | An S3 connection pool time-out error was traced to getManifestPage method input streams being opened and not consistently properly closed. This has been corrected. | Decision Management |
INC-248221 | 767223 | Distribution simulation results cleaned up on resolution | Simulation results were not cleaned up from the database table-type output destination when a simulation was withdrawn/resolved. Over time, using the same output destination for simulations led to a large number of records in the database table and subsequent reports run on that table were timing out. To resolve this, a new activity has been added to truncate simulation results on case resolution. The pxCleanUpSimulationResults API used for one-time clean up of results for resolved simulations can also be used to clean up older runs. | Decision Management |
INC-249244 | 764243 | Prompt class value correctly propagated to ConditionBuilder page | When opening the expression builder from source (right) expression field in the Data Join property panel, the wrong page context was used by the expression builder. This was due to previous work which changed the promptclass parameter such that the primary class used by the Expression Builder is now the primary class of the strategy instead of the appliesToClass of the component or page selected in the data join component. To resolve this, a data transform has been added to propagate the prompt class value from the Component page to the ConditionBuilder page. | Decision Management |
INC-250008 | 767819 | Updated exception handling for empty partition key | No results were shown after a dataflow run, and a DdsBatchOperationException was logged at the compose shape in the dataflow. This was traced to the DDS DataSet returning empty results instead of throwing an exception when given an empty partition key, and has been resolved. | Decision Management |
INC-250735 | 768131 | Corrected logic for Value Finder simulation | The Value Finder simulation showed all customers as well-served when the strategy did not produce any results. This was traced to a logic error in the pagelist pyChartData which caused the pyCount to be set to the total audience population for the simulation, and has been resolved. | Decision Management |
INC-251504 INC-256560 |
780365 778023 |
Resolved memory issues related to ADMSnapshot agent | Production utility nodes were terminating due to out of memory errors. This was traced to the RULE-OBJ-ACTIVITY DATA-DM-SUMMARY PYSAVEWEEKLYANDMONTHLYSNAPSHOTS activity, used in execution monitoring to aggregate weekly and monthly data. Investigation showed the merge operation of a numeric summary for each predictor was added to the list, increasing the size. When this was serialized into JSON and de-serialized again, it occupied a lot of heap memory for each predictor which then affected the utility nodes' heap memory. To resolve this, a compress call has been added to summaries post-merge for daily, weekly, and monthly snapshots. | Decision Management |
INC-252956 | 778802 | NBA_TopLevel Strategy Proposition Filters updated for optimization | The expression parsers for EmailTreatmentEligibilityRule and MobileTreatmentEligibilityRule have been updated to handle multiple ORs, allowing them to be optimized. | Decision Management |
INC-253154 | 785403 | Time to live works for embedded pages in Cassandra | When the Time To Live (TTL) value was applied via a property instead of being hardcoded, the embedded pages were not deleted after the TTL expired. This has been resolved by updating the decision data set save operation to allow accessing parent page properties in order to read the TTL value. | Decision Management |
INC-253588 | 775761 | Security updated for Pulse text | Sanity checks have been added for Pulse text to improve security. | Decision Management |
INC-254267 | 778503 | Updated failure handling for CallVirusCheck | A case was not able to proceed after enabling call virus check for attachments. Investigation showed that after getting the error message from the attachment gadget, the failure operation was performing a deferred save and throwing an error. This was a missed use case, and has been resolved by adding a rollback step when the pzmanagecontentpostprocessing activity fails. | Decision Management |
INC-254828 INC-252654 |
777289 778146 |
Warning logging updated for Avro schema | After creating a dataset with the Avro schema, the Kafka save operation created extremely large log files which led to system performance issues. This was traced to warning messages generated for non-mandatory fields, and has been resolved by discontinuing logging exceptions on null values for Avro schema. | Decision Management |
INC-257173 | 780568 | Performance improvements for pr_data_admin_dds_table queries | Increased traffic on the pr_data_admin_dds_table was caused by PrpcSchemaRepository being called too often and in turn executing 'select pzPVStream , pxCommitDateTime from pegadata.pr_data_admin_dds_table'. This created pressure on the database and has been resolved by updating the version of DDS SDK to 0.11.4 to disable scheduled integrity tracking, along with implementing cache for single tables in prpcSchemaRepository. | Decision Management |
INC-260119 | 786303 | CDH metrics available for partitioned and ordinary ih_fact tables | The SQL query for CDH usage metrics has been updated to work with both partitioned and ordinary ih_fact tables. | Decision Management |
Low-Code Application Development
8.7.5 Resolved Issues for Low-Code Application Development
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-232907 | 776588 | Added handling for service-HTTP locking error | Operator via service HTTP was unable to check-in its own checked out record, generating the error "Update record failed: .pyRuleSet: You are not the owner of this checked out rule." Investigation showed pxThread.pxSecuritySnapshot.pxPersonalRuleset changed in the middle of processing. This has been resolved. | Low-code App Development |
INC-237496 | 766392 | Corrected overlay context loss in Cosmos | Attempting to add a condition in the eligibility criteria for a Next Best Action in the Cosmos portal caused the field to refresh and remain blank. Investigation showed there was a loss of context for overlays, which has been resolved by moving the hidden layout to the last dynamic layout in the pzInnerEmbedConditions section. | Low-code App Development |
INC-237925 | 768605 | Corrected validation rule resolution after modification | A validation rule showed OR in the statement but validated at runtime as an AND condition. This happened only when the second condition was given as AND, then one more condition row was added as OR, and the second condition was deleted, and has been resolved by updating the pzBasicValidWhen section to remove the pzSwitchOperation activity call on refresh of pyCondValueCategory. | Low-code App Development |
INC-239887 | 766718 | Manual results pages will have ObjClass explicitly set | After defining multiple case types, for example CaseTypeA and CaseTypeB, as related cases for another case type such as CaseTypeC, trying to add CaseTypeA as a related case to CaseTypeC using the related case functionality generated an exception on selection of CaseTypeC in the first dropdown. This was traced to pxObjClass, which is required for Obj-Sort to function, not being set automatically due to data page / activities. This has been resolved by ensuring pxObjClass is set when creating pxResults pages manually. | Low-code App Development |
INC-240679 | 758007 | Rule resolution updated for AttachCategories API | The withdrawn rule exclusion was not working for the AttachCategories API. This has been resolved by updating the rule resolution logic in the pzGetAttachmentCategoriesImpl activity. | Low-code App Development |
INC-242164 | 753881 | Post-processing runs as expected when navigating backwards in screen flow | After creating a screen flow with the option "Perform post-processing when navigating away from step" checked for the step2 assignment with a post-processing data transform set to run, the data transform did not run when moving from step2 back to step1. This has been resolved by updating the pzJumpToStep activity to include post processing based on FAProcessOnJump. | Low-code App Development |
INC-243595 | 761319 | RecordInner updated to check Rule-RuleSet- during new component save | After opening Designer Studio -> Application ->Components and creating a new component, adding label and version and attempting to submit resulted in the message "Error- No open ruleset versions available". This has been resolved by updating pxUpdateRecordInner and pxCreateRecordInner to check for Rule-RuleSet- instead of only looking at Rule-RuleSet-Branch so that a version is not required for ruleset instances themselves. | Low-code App Development |
INC-246401 | 779552 | MaxRecords default raised to handle a large number of skins | After performing a major ruleset skimming, a warning appeared indicating that a skin was not available in the application even though it existed in a new ruleset version which was in the application rule resolution. This was traced to the "pyMaxRecords" parameter being set with a default value of 50 during query execution, and in those first 50 results, the skin rule from highest version was not available due to there being over 100 skin rule instances in different major versions in the app. To resolve this, the default has been modified to listPg.putString("pyMaxRecords", "10000"); for CheckForWarnings in Rule-Application to handle cases where there are a large number of skins. | Low-code App Development |
INC-247170 | 767802 | Removing an operator from a team correctly updates default | If a current operator was assigned to multiple teams (team 1 and team 2) with team 1 as the default, removing themselves from team 1 correctly changed their default to team 2, but if they were removed by a manager the system did not automatically pick up the new default. This has been resolved by updating the logic in .pyWorkGroupList(local.nextDefaultTeamIndex).pyRadioButtonAG. | Low-code App Development |
INC-247501 | 762372 | Resolved thread dump after saving large decision tables | After update from Pega 8.4 to Pega 8.6, saving and checking in rules for a large table was resulting in a thread dump. This has been resolved by enabling the "when" condition for step 3 in the checkForWarnings activity of Rule-Declare-DecisionTable so that testConsistency will be called only for the cell count below the given threshold value. | Low-code App Development |
INC-248341 | 764940 | Corrected Expression Builder error when opening from Decision Table | Opening any delegated decision table from the UI and then opening the Expression Builder generated a pop-up message. Clicking on "OK" closed the pop-up but a new page showing an error message was opened. A security trace showed the activity pzCreateNewTempPage did not have the necessary registration in the pzEBHiddenElement control, and this has been resolved. | Low-code App Development |
INC-250133 | 773511 | Added startingWorkHandle check to enable case unlock | Using the DXAPI to get screen definitions and submission on an assignment submission resulted in a 400 HTTP error and the message "ValidationMessage:Unable to unlock [case id#]". Investigation showed this was due to a missing reference to "startingWorkHandle". To resolve this, the performB2BAssignmentCheck activity has been updated to add a precondition to check that Param.startingWorkHandle is not null. | Low-code App Development |
INC-250717 | 775089 | Decision table export corrected | After update, the decision table export functionality was not working. However, if a trace was started the functionality worked without any issue. Investigation showed there was a timing issue with the removal of the iframe before actual download of the document. This has been resolved with the addition of a timeout in pzRuleDeclareDecisionTableStandard.js to ensure the document is downloaded. | Low-code App Development |
INC-253430 | 774562 | Resolved name conflict in Expression Builder | After update, attempting to edit an existing expression caused it to disappear from the Expression Builder in the decision tree. The error "Data Transform not found" appeared. Investigation showed there was a name conflict during resolution due to the system attempting to populate the class name instead of the expression condition. This has been resolved by updating the function names in OpenRuleAdvanced_OverLabel to rename functions declared in this control but called from other places with the suffix "_OverLabel" so the Javascript call is not overwritten with the function of the same name from other controls. | Low-code App Development |
INC-263623 | 788021 | pyWorkCover handling updated for DX API | While invoking DX API from the front end in a clone environment, pyWorkCover page was not present in the clipboard. Because the when rule used to determine visible condition checks properties on pyWorkPage and pyWorkCover, the when rule returned false and the dynamic layout was not visible. To resolve this, an update has been made which will read pyWorkCover for the skipWorkLock scenario in acquireworkobject. | Low-code App Development |
Mobile
8.7.5 Resolved Issues for Mobile
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-221348 | 748099 | Addressed iOS mobile app memory leak | The mobile app displayed a white screen after a period of using it on iOS devices. This was traced to a memory leak related to javascript objects created in a child webview and then stored in a shared (hidden) webview which were not properly cleaned up after use. To resolve this, ClientCache has been refactored. | Mobile |
INC-223328 | 736533 | Mobile app push notifications history updated | The history table of mobile push notifications remained empty after sending a push notification if the history table had over 1000 records. Investigation showed push notifications are taken in inpxGetPushHistory using Obj-Browse and then filtered in Java step by appID so the oldest push notifications were listed first, and the list of instances did not show the pagination even though it existed. To resolve this issue, the sorting in push optimization has been modified. | Mobile |
INC-238299 | 752475 | Server response filtering updated | To improve security, additional filtering has been added to the server response. | Mobile |
INC-241629 | 759396 | Visibility locking updated for mobile attachments | Attachments added in mobile were not visible in the desktop. This was traced to the @IsPageLocked(tools, workPage) not working as expected in the SaveAttachment activity of the standard "Attach Content" control for mobile, and has been resolved by replacing @isPageLocked with Database.IsLocked(workPage.pzInsKey) in the SaveAttachment activity which checks the lock on the work item ID. | Mobile |
INC-244702 | 770310 | Corrected Assign Mismatch error on Mobile | After a new comment was added to a work object on Mobile, the assignment status was set to "ERROR: ASSIGN MISMATCH" and it was not possible to perform any action or advance any further. This was traced to a security issue related to the the Assign-acquireworkobject activity, and has been resolved. | Mobile |
INC-245285 | 758380 | Documentation updated for mobile launch screen icon requirements | The launch screen logo in the interface channel for android devices was not rendered correctly after generating the application. The same logo was in good condition on iOS. Android recently updated the requirements for splash icons, masking 1/3 of the diameter so the actual dimensions are not relevant as long as it produces a clear image for different resolutions. To assist with meeting these requirements, the documentation for customizing icons on the launch screen of mobile app has been updated to clarify logo sizes and restrictions. | Mobile |
INC-247240 | 763797 | Value updated for Development/Sandbox APS certificates | Apple has changed the value of the Common Name (CN) attribute for Development/Sandbox APS certificates. Support has been added for this new format in the pzOnCertificateChange activity. | Mobile |
INC-255687 | 778664 | Push notifications supported on iOS with proxies | The mobile app was not receiving push notification on iOS devices if proxies were used. This has been resolved by adding proxy configuration support to Pushy APNS. | Mobile |
Project Delivery
8.7.5 Resolved Issues for Project Delivery
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-197795 | 702810 | Autocomplete control documentation update | The documentation for configuring an Autocomplete control has been updated to clarify that parametrized data pages and large data pages are not supported in data transforms when they are used in offline-enabled case types. | Project Delivery |
INC-229116 | 742053 | Transport Layer Security (TLS) documentation updated to clarify additional steps after update | In some cases, customer search failed to work after updating from Pega Platform version 8.4.6 or earlier to version 8.7.2 or higher. In Pega Platform version 8.7.2 or higher, Rest Connect causes this issue when the lowest allowable SSL/TLS version is set to TLS version 1.0. To address this, the Transport Layer Security (TLS) best practices documentation has been updated to clarify that the rule form for outbound connections must be edited to use the appropriate protocol supported by your Pega application's underlying Java version, preferably TLS 1.2 if the server supports that version. | Project Delivery |
INC-242183 | 757211 | Mask property visibility documentation updated | The documentation for mask property visibility for users has been updated to clarify that when masking an embedded property, the ABAC property read policy must be configured in the work class where the embedded property is being referred and not in the class where the leaf property exists. If configured improperly, the application can display the masked property to unauthorized users. For example, if using an embedded property called WorkPage.Customer.Name, the ABAC property read policy must be configured on the WorkPage class and then the embedded property is added in the masked properties list instead of the class where the leaf property Name is defined. | Project Delivery |
Reporting
8.7.5 Resolved Issues for Cloud Services
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-211590 | 711019 | Auto-complete and calendar popover alignment corrected | An issue with the container alignment of the auto-complete and calendar dropdown popovers has been resolved by removing styling in the pyReportEditorStyling .css which was causing the issue. | Reporting |
INC-232228 | 739168 | Focus correctly set on clickable links | Focus was not being correctly set on the clickable links when viewing the reports on filter by section and using keyboard navigation. This has been resolved by adding the necessary CSS in pyReportEditorStyling. | Reporting |
INC-232425 | 739163 | Focus correctly set on Calculation Builder button | Clicking on edit filters in the reports and using the keyboard to navigate was not correctly setting focus on the calculation builder icon. This has been resolved by adding the necessary CSS in pyReportEditorStyling. | Reporting |
INC-235968 | 744323 | Documentation updated for includeEmbeddedPropertiesInCSP DSS | The documentation for enabling the indexing of embedded properties has been updated to include details for configuring the DSS "indexer/srs/includeEmbeddedPropertiesInCSP". This is used to ensure all embedded properties from CSP are analyzed so there is no need to create a separate CSP instance for any of them. |
Reporting |
INC-240381 | 757216 | Export to Excel works with filtered date/time columns | Filtering the date/time columns and exporting to Excel generated an error. This was traced to a parsing issue with the date/time which caused it to not match any of the predefined patterns, and has been resolved by modifying the DataExplorerExportHandler to parse the dates correctly. | Reporting |
INC-242955 | 757161 | Dev Studio search updated | Search in Dev Studio was not working as expected after update. To resolve this, search has been updated to accept a regex expression containing two hyphens for work ID pattern check. | Reporting |
INC-243057 | 756919 | Resolved warning for ChartControl | Using pxChartControl resulted in an ERR_CONNECTION_REFUSED warning in the browser console. This was caused by an improperly commented line for a localhost URL in the third-party code fusioncharts.js. While there is a workaround of locally editing the file to correct the commenting, this has been resolved. | Reporting |
INC-243194 | 757570 | Removed unnecessary sort to improve performance | Indexing a class was taking an excessive amount of time for collections of over 80M records. This was due to the indexer fetching all instances of pzInsKey, and performance has been improved with an update which will skip sorting by pzInsKey as the system will fetch all keys and sorting is not needed. | Reporting |
INC-243848 | 757681 | DSS added to control embedded page depth while indexing | The Full Text Search incremental indexing queue processor was taking an excessive amount of time to run, interfering with node health. This was traced to recursive calls for processing pages while indexing embedded pages, leading to stack overflow exceptions. This has been resolved by introducing a DSS to limit embedded page depth while indexing the work object. | Reporting |
INC-250412 | 777459 | Corrected Report Viewer error | After update, the Report Viewer tab had a difference in the Group Results options of a new report definition and the error "pyReportDefinition: "pxRequiredSkill" This property does not exist or has no column mapping" was generated. This occurred when Filter Caption Settings was set to "Apply Caption to Left Side of the condition", and was traced to the "strFieldName" value in RRFilters_Logic being overridden. To resolve this, a new variable has been added to the RRFilters_Logic control to preserve the value. | Reporting |
INC-251114 | 780105 | Corrected DateTime report filtering | The DateTime filter was not working for a report on the user portal. Investigation showed there was a case mismatch which caused the datatype to not satisfy the filter conditions for pzpopulateselectedvalues. This has been resolved by setting the filter value to Range. | Reporting |
INC-252882 | 773407 | Handling added for maintaining count during BIX extraction | The number of records in the XML BIX extract did not match with the pxTotalClassInstanceCount of the Manifest file. This issue occurs only when there are any updates during the extraction process, and has been resolved with an update which will show the actual processed records count in BIX extraction Manifest file. | Reporting |
INC-253918 | 774392 | View history export updated for BAC | A 403 error was generated when trying to click Export to Excel in view history. Investigation traced this to the Export to Excel activity not being registered with basic access control, and this has been resolved by modifying the URL formation to pass the necessary parameters to register the activity in the menu harness. | Reporting |
INC-254593 | 777249 | DSS added to control date identification on BIX file | After upgrade, custom application behavior was not working as expected due to BIX file names having YYMMDD appended to the extraction name, for example Work_ExtractCase_00To04_1.zip under the previous version and Work_ExtractCase_00To04_221214_1.zip under the upgraded version. This date appendix was previously added to ensure the file name generated should be unique. To address this, the removal of the date from the extracted zip file name before placing in the FTP location may be controlled through the DSS setting BIX/ignoreExtractDateInZipFileOnCloud. | Reporting |
INC-255371 | 780826 | Updated search handling when ForSpecifiedProperties is used |
When using global search, selecting "All content" instead of "Name" caused almost all searches to return 0 results. This occurred when the "For specified properties" option was checked and dedicated data instances were used, and has been resolved with an update which will always append to the content for rule reindexing even if ForSpecifiedProperties is selected. | Reporting |
INC-256992 | 784875 | Added style tag to force custom radio button appearance | Selecting the "Embed link to output in notification" radio button in report scheduling caused the radio button to disappear. This was traced to the custom control "RadioButtonsForSchedule" used to create this radio button. This is different than platform provided radio button which has the css(appearance: none) to make default appearance to off and create appearance as per the Pega standard/design/skin by applying a different CSS class. The custom control applied the same css(appearance: none) to make it hidden, but there was no other CSS used to make it display. To resolve this, style tag "appearance: radio;" has added to force the appearance style in the RadioButtonsForSchedule control so that it does not collide with default radio skin styling. | Reporting |
INC-257867 | 780702 | Added accessibility for grid/list toggle | The grid/list toggle on the Cosmos reports browser was missing a label for the currently selected toggle and an accessible cue as to the current state (which option is selected). This has been added. | Reporting |
Security
8.7.5 Resolved Issues for Security
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-236596 | 755728 | OAUTH2 with grant type password credentials works as expected | Triggering Pega OAUTH2 for token generation with grant-type password credentials was resulting in a null pointer exception. This was a missed use case caused by the Operator page being removed during prior cleanup and has been resolved by adding the parameter page pyOperPage instead of Operator page for validating and getting scope. | Security |
INC-240041 | 770300 | CXF-CORE updated | The Apache CXF-CORE library has been updated. | Security |
INC-249756 | 766071 | Corrected typo in Authentication Profile label | The spelling in the label for the Authentication Profile has been corrected from "TSL" to "TLS" (Transport Layer Security). | Security |
INC-251088 | 770178 | "None of" added to access control policy conditions | Support for the "None of" has been added in order to support using ABAC and access control policy conditions to suppress resulting values from logged-in users visibility. The comparison value supports string, decimal, double, integer data types and consists of a comma-delimited list. The comparison value also supports value-list or page-list. The list of String values should be given inside a pair of double quotes for example: “BRAZIL,CANADA,FRANCE,GERMANY,SOUTH AFRICA,UK,USA”. The condition is satisfied if an element of the list within the Apply To property value is not an element in the list within the comparison value. | Security |
INC-252119 | 768491 | BAC Security updated for RDA invocation | In order to ensure Robotic Desktop Automation (RDA) integration works properly and securely, updates have been made to handle the BAC registration necessary for the execution of activities from section releoads. | Security |
INC-252607 | 768825 | Updated EndSession request encryption for basic logoff activity | Clicking on logoff generated an error. The error also appeared when valid MAF credentials were entered and the cancel button was clicked. This was traced to the logoff URL being encrypted with an old URL encryption mechanism, and has been resolved by ensuring the logoff URL uses the latest URL encryption mechanism. | Security |
INC-254671 | 777542 | Corrected handling for asynchronous REST calls with Oauth | An OAuth-protected asynchronous REST service was not processing the data as expected. This was an unintended side effect of work done for application switching to set a custom AuthServiceName instead of "mAuthServiceName" being blank: as custom authentication service doesn't have operator provisioning, this use case failed. This has been resolved by correcting the asynchronous call handling for custom authentication with access group context. | Security |
INC-257111 | 777839 | getXML method removed from debug logger | When attempting to work on cases, the error message "you are not authorized to open instance" repeatedly appeared. The issue was caused by AccessEvaluator logger, which when set to DEBUG retrieves all of the properties using autopopulate in order to print the log message. Autopopulate was disabled by default for obj-open and page-copy, getMessage, etc, but this was triggered unexpectedly with getXML when the logger was enabled for debugging purposes. To resolve this, the getXML method has been removed from the debug logger statement. | Security |
INC-257638 | 782286 | Token endpoint failure security alert added | A new alert SECU0022 has been added for OAuth2 token endpoint failure. | Security |
System Administration
8.7.5 Resolved Issues for System Administration
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-230119 INC-228754 INC-258555 |
755517 743815 781519 |
Locking updated for job scheduler | When job scheduler is run on multiple nodes, it was possible for a job to be run multiple times if node 1 finished the execution and released its lock before node 2 started the execution. This has been resolved with an update which prevents job scheduler execution if the job has already run on another node. | System Administration |
INC-242432 | 758977 | Frame length adjusted | During stream server startup (empty kafka-data) of an environment with a large number of queue processors and over 1,000 total partitions, no partitions were created and below error message "Adjusted frame length exceeds 65535: 67537 - discarded" was being thrown in Kafka logs during startup. This has been resolved by adjusting the frame length. | System Administration |
INC-243066 | 771239 | Corrected inconsistent production level for PDC2 | Per operational standard, the Pega Predictive Diagnostic Cloud environment (PDC2) has production level set to 5 via the setting DNodeSettings=identification/productionlevel=5. In the course of performing other work, it was found that several functions were actually using ProductionLevel=2 (development) rather than ProductionLevel=5. Investigation traced this to a cached copy of the Data-Admin-System record which asserted production level = 2 in some areas even though this should have been overridden. This has been resolved with an update to ensure ProductionLevel is correctly read from PRNode. | System Administration |
INC-243905 INC-253093 |
775916 775156 |
Corrected job scheduler running unexpectedly | A job scheduler that was expected to run at the same time every day (8:15pm) was triggering twice a day and started even before the scheduled time i.e., 8:14:58PM. This has been resolved with an update that will verify if the current runtime is in the past for non-periodic job schedulers before execution. | System Administration |
INC-247586 INC-243512 |
763562 765341 |
Corrected tracking of MFA verification attempts | When using multi-factor authentication where a verification code is sent, it was possible to override the three strikes rule and re-enable the resend verification button by refreshing the browser. This has been resolved by adding a parameter in the requestor page of the pzHandleMFA activity which will hold the pyCount and be checked on browser refresh. | System Administration |
INC-247916 INC-247475 |
770109 762844 |
Job scheduler will use current time to avoid DST offset | Job scheduler was running jobs twice after the change for daylight savings. This has been resolved by using currentTime.get(Calendar.DST_OFFSET) rather than referenceTime to reduce the potential offset mismatch. | System Administration |
INC-249284 | 771081 | Handling added for null CreateDateTime value | Job schedulers were not running due to pxCreateDateTime being null in the pr_data table. This has been resolved with an update which will add the pxCreateDateTime value to instances of tables where it is missing. | System Administration |
User Experience
8.7.5 Resolved Issues for User Experience
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-237999 |
761907 | Layout renders with combined visibility and expand conditions | Visibility expressions were not working and that particular layout was not rendering when there was a combination of a visibility expression and expand layout. Either condition rendered correctly when alone, but not in combination. This was traced to the expandParam containing ".", which generated an exception when using non-template mode, and has been resolved. | User Experience |
INC-206095 | 700426 | Resolved blank screen for case work portal after upgrade | After upgrading from Pega 8.2 to Pega 8.6, a blank screen was displayed when case work portal users clicked on the save and exit button, and a 400 error was logged in the browser console. This has been resolved by modifying the sender requester method from GET to POST. | User Experience |
INC-212251 | 720199 | Editable data page properly refreshes after interaction | A data page using editable mode was adhering to the "Reload once per interaction" option used for readonly mode. This led to issues such as tables not refreshing after sorting or applying filters. To resolve this, refreshReloadInteraction has been updated to false when mode is not readonly. | User Experience |
INC-215063 | 710048 | Helper text added to button UI control | In order to improve accessibility for the Pega UI button, the aria-hidden="true" attribute has been added on the icon/image markup inside the button. With this change, the computed Name will be the title (helper text). | User Experience |
INC-217792 | 732218 | Mashup refresh loads active case | Mashup was not loading the active case after refresh. This was an unintended side effect of work done with setting the context for Mashup and has been corrected. | User Experience |
INC-222507 | 721694 | Helper text added to clarify maxlength enforcement | It is possible to enter more characters into a browser field than is specified by the maximum character limit unless read-only formatting is used. This is due to the resulting HTML input tag having the type of number, which leads to the browser default behavior of not honoring the maxlength attribute. In order to clarify this, helper text has been added with the message "Min and Max characters are ignored for type Number when 'Display value using read-only formatting' is unchecked." | User Experience |
INC-224317 | 723104 | Corrected embedded page list render error | Using a page list within a page list was rendering with overlapping field forms. This has been resolved by removing the negative margin from field group legends when presented in a list. | User Experience |
INC-231096 INC-256913 |
775976 782239 |
Corrected inheritance section refresh / call data transform logic | When a button was pressed in the UI to refresh the section and apply the data transform RequestSignature, which exists in both the Work and Work-Signing class, the data transform resolved correctly to the one in Work-Signing class. However, when using the DX API PUT /assignments/{ID}/actions/{actionID}/refresh endpoint, RequestSignature from the Work class is invoked. This was traced to an error in the DX API code which caused the data transform to be called from the wrong class. To resolve this, the inheritance logic for DT/ACT for a refresh in an inherited section has been updated. | User Experience |
INC-231316 | 744049 | Corrected tab display with collapsed panel | Tabs were not displaying properly in the case view with collapsed summary panel (when there is too many tabs). This has been corrected. | User Experience |
INC-231365 | 748005 | Multiple error messages for a property displayed correctly | If a property had more than one validation error message, field values were not displaying the actual full verbiage. This was traced to the newline character handling in the getMessagesMap() API, and has been resolved. | User Experience |
INC-231605 | 745783 | Portal resize functions correctly when using MobileSnapStart | After configuring the application's default portal with an outer harness consisting of 4 panels where "User resizable" was checked for the left hand side menu panel so it can be resized or collapsed by the user, displaying the page using pyMobileSnapStart caused the left side menu to become fixed and it could not be resized or collapsed. This has been resolved by modifying the java code for the GenerateLayout--(ClipboardPage,ClipboardPage) function and pzAddPortalLayouts activity. | User Experience |
INC-231696 | 769655 | Added forceReconnect to address telephony error | While using telephony, a pop-up appeared intermittently indicating "Reconnecting" when an agent was on a call or idle for specific time (more than 30 mins). To address this, support has been added to use pega.u.MessagingManager.forceReconnect in handleWebSocketError. This API will be used by Pega Call to reconnect the websocket when pega.u.clientEvents.WS_ON_CLOSE is registered. | User Experience |
INC-233974 | 746843 | Focus stays on current layout tab after refresh | When working with a case using tabbed layouts, switching to tab2 and making changes that triggered a refresh of the whole section resulted in focus going back to tab1 instead of staying in tab2. This was caused by the layout group being generated on a nesting page list, which generated the same data-repeat-id for all layout groups which were present inside the repeating structure. This has been resolved by updating the logic to use the most recent index location. | User Experience |
INC-234102 | 743038 | Dynamic Layout Group shows new tab icon in Tab layout | After setting up a Dynamic Group Layout with "Enable adding new tab" checked, a save-as of the Dynamic Group -> Tab2 was performed. When using the standard format the '+' was visible, but when using "Tab2" format the '+' icon was not present.This was traced to an incorrect aria-expanded for accordion and has been corrected. | User Experience |
INC-234202 | 763980 | Navigation items highlighted correctly when using render as single page | If "render as single page" was unchecked in the user portal, clicking on any navigation item or opening a work object from the left navigation panel caused the whole page to reload and the wrong item was highlighted in the navigation menu.This has been resolved by updating constructMetadataObject to consider context. | User Experience |
INC-235733 | 770105 | Radio button support added for Nuance Dragon | To improve accessibility, support has been added for using Nuance Dragon to activate radio buttons by adding the necessary CSS styles to the radio button inputs. | User Experience |
INC-236492 | 756034 | Text area property in a data type shows full content | When using a Message Routing Rule data type with a column of control type pxTextArea (which can hold text up to 1000 characters), the full cell value was properly visible in Dev Studio, but displayed inconsistently in in App Studio or when used as a delegated data type in user portals. This was traced to the PegaFSFI ruleset which had a column format in the table set to "display a textarea with expanding capability" in DataTableEditorReport which was defaulting textarea formats when creating new data types. This has been resolved with an update to setStyle properly. | User Experience |
INC-236779 | 747922 | Report filter popup displays in the expected place | Previous work done on the popover js to correct the filter popup placement has been further updated to display the filter popup in the expected position in reports. | User Experience |
INC-236819 | 758648 | Corrected table cell focus issue | When using a legacy grid with an expand row details configuration, the focus jumped to the top when there was a click inside the details section. This has been resolved. | User Experience |
INC-237214 | 758805 | Attachment drag and drop working correctly for Google Chrome | When dragging and dropping an attachment on Google Chrome, a refresh forced after the attachment was added removed the attachment before saving. This has been corrected. | User Experience |
INC-237881 | 757168 | Validation message shows on date field with custom validation | After configuring a text property with custom "use validate" on a Date control with onchange-Post value action, when user enters an incomplete date at runtime and tabs out, the input field was highlighted red but the error message was missing. On entering a valid date, the red highlight was not removed. This was traced to a missing parentNode.appendChild(errorDiv) in controls_postvalue, which has been added. In additon, handling has been added to correctly format the date if it is GMT format. | User Experience |
INC-238781 | 760852 | iOS scroll in mashup resolved | When using mashup, scrolling to the bottom of the page on an iOS phones caused it to automatically scroll upwards again. This was traced to an iframe scroll issue and has been resolved. | User Experience |
INC-238830 | 750469 | Context handling updated for error in dynamic layout | A "when" condition to hide an empty tab in a dynamic layout was causing the screen to freeze if validation failed. Investigation traced this to the "when" condition prohibiting the validation error from being displayed because the DLP for the empty temp value itself was hidden within the element. If an element is not rendered to the UI, validation can not be applied and the case can not progress to the next step/stage until this process has occurred. This has been resolved by updating the context handling for the endVisibleWhen in the contextStack if the UI is non-templated. | User Experience |
INC-239409 | 756798 | Improved security for ReloadSection and ReloadHarness calls | A validation check has been added for pre- activities and data transforms passing with reload section/harness actions. | User Experience |
INC-240105 | 755979 | Grid refreshes on adding a row in Constellation | When using a list view which referred to a data page in the Constellation portal, clicking the Add button to add a new record In the list view did not show the new record in the table until a manual refresh occurred. This has been resolved by adding a createStageDoneEvent to handle the refresh for this scenario. | User Experience |
INC-240416 | 760973 | Performance improvement for getworkstyle activity | Some performance slowness was seen due to the GetWorkStyle activity opening the skin ruleform on each run to conditionally set appWorkStyle and workStyle. Because this obj open step is only needed when the inStandardsMode parameter is false, an update has been made to skip the obj open step when inStandardsMode is true. | User Experience |
INC-240651 | 756151 | Bullet numbering corrected for paragraph rule in optimized table | A paragraph was not showing bullet/numbering points in an optimized table. This has been resolved by adding the necessary CSS. | User Experience |
INC-240654 | 785796 | Added handling for harness open error | After update, attempting to open assignments resulted in an error indicating "The flow this assignment corresponds to is no longer at this task." This was caused by a failed openWorkByHandle call. To resolve this, a check has been added to handle the NoID harness error in pz-cosmos-ui-portal .js file. | User Experience |
INC-240757 | 754425 | Localization check added for sourced dropdown values | When dropdown values were sourced from a data page using a report definition, the values were always localized even if the localize box was unchecked. This was due to the values being stored in Data Type when the localize checkbox controlled labels and read only text. This has been resolved by adding a check for bLocalize in Context Processor. | User Experience |
INC-240897 | 757779 | Explicit reset added for clearing custom date format | After selecting a custom formatter for a date field with "/" as the date separator for a legacy table with a date control inside one of the table cells, selecting the standard formatter for date (using "-" as the date separator) did not switch the separator and the "/" continued to be used. This was traced to the customDateTime value not being empty even though the format had been changed back to the default, and has been resolved by setting customDateTime to null in the pxFormatDateTime Rule-Utility-Function when the selected format is not Custom. | User Experience |
INC-241196 | 753093 | Table sort resets for default view | When the personalized view was changed to "default" from any other view that had sorting, the default order was not returned. This was a missed use case: the data page instance was sorted by passing the sort criteria on the view change, but for the default view there was no "default" sort criteria to use. This has been resolved for tables sourced from a datapage. | User Experience |
INC-241380 | 758401 | Application switch works properly in Theme-Cosmos | The error "NullPointerException in SafeURL.put(key,value) {Location}, {undefined}" was appearing in the UI when attempting to change from one application to the other application. Investigation traced this to pzMyApps missing the necessary Theme-Cosmos version of pzEncryptAppSwitch, and this has been resolved. In addition, the pzDeferLoadApplicationLogo control has been withdrawn as it is no longer needed. | User Experience |
INC-241418 | 756870 | System lock details display as expected | Hovering the mouse over system lock details to get the SmartInfo with operator ID resulted in the error message "Loading HTML failed". This has been resolved by adding a condition to check the server proxy before accessing it in the isOnline function under the statetracking file. | User Experience |
INC-241738 | 779645 | Corrected memory leak for offline mobile app using maps | Attempting to navigate to a worklist and open a case on an offline mobile app displayed a white screen after application refresh. This has been resolved by addressing memory leaks related to the canvas element created for map and signature controls by removing references and by removing unneeded listeners. Because map object creation can consume extra memory, support has been added to reuse the map object in the refreshsection case. To reuse the map object in the refereshsection case, configure the data-test-id. | User Experience |
INC-241805 | 756270 | Tab layout uses template mode when using defer load | When using defer load, the multiselect dropdown was rendered in readonly mode. Investigation showed that when the defer load checkbox was checked for section include of tab group layout, it generated non-template markup. This has been resolved with an update which will render the tab layout in template mode when using defer load. | User Experience |
INC-242338 | 784039 | Assignment header correct when launched from optional action | After update, a case with optional actions configured on the stage which was launched from an open assignment showed the assignment header from the previously open flow action instead of the expected assignment header from the optional flow action. This has been resolved by unchecking the run visibility check condition on pyCurrentActionLabel and pxTaskLabel in the pyCaseActionAreaTitle section. | User Experience |
INC-242855 | 768284 | Documentation updated to include validateHiddenField DSS setting | Documentation has been updated to note that the validateHiddenField DSS setting for Theme Cosmos and other section-based applications will control whether the application validates fields that are hidden through visibility rules. By default, validateHiddenField is set to true, which means that the application fields are validated for completeness even if they are not displayed in the form. This functionality can be switched off by changing the setting value to false. | User Experience |
INC-242971 | 758583 | Display harness updated with portal name for improved backwards compatibility | After updating from Pega 8.4 to Pega 8.7, actions which triggered SECU0019 such as opening a case from correspondence were blocked despite the identified actions and URLs being registered. This has been resolved by adding the portal name to the display harness action with target as new document. | User Experience |
INC-243277 | 756361 | Display of navigation link label corrected | The label of the screen flow's navigation link was intermittently displayed in an incorrect location when steps in a multi-step form in a stage were configured with a decision shape and steps were routed based on the decision result. This has been corrected. | User Experience |
INC-243874 | 757157 | All columns viewable when there are no records | The table's horizontal scroll bar was missing when there were no records in the table. The table could only be scrolled by keeping the cursor on the table columns. This was traced to the "No records found" div having position as absolute, hiding the scroll bar. To resolve this, the position of the empty container has been moved to pContainer, which has specified width. | User Experience |
INC-243935 | 769200 | Minimize button working in Rich Text field | When using a section containing a repeating dynamic layout with drag and drop capability enabled on a Rich Text Editor, all of the buttons on the edit bar were disabled after using maximize. If the "Enable drag to reorder items" checkbox was unchecked, the minimize and maximize worked correctly. Investigation showed the sortable library injects event handles when the maximize icon is clicked, and these handles are added to the document element. Upon clicking of minimize, the correct target was not picked for the action because of the additional event handlers attached. To resolve this, a condition has been added for the Rich Text Editor in the sortable.js file to handle minimizing the rich text field. | User Experience |
INC-243995 | 759017 | Corrected tab focus after using group-by | When interacting with grid operations such as creating groups and hiding columns using only the tab key, tabbing again once the actions were complete refreshed and focused on the beginning browser bar instead of the table as expected. Investigation showed that the button from which the popover was launched was no longer present in the screen once the grouping was completed, causing the focus to move to the browser. This has been resolved by overriding focus to a visible group-by button when the toolbar is refreshed or a button is changed due to an action in the popover invoked by the group-by button. | User Experience |
INC-244016 | 760978 | Accessibility improved for hidden screenflow breadcrumb links | Users who navigated a form with JAWS were unable to execute or hear non-current breadcrumb links, both on mouse over and on focus. Instead, JAWS was reading out the last stage chevron and 'link' when focused on a non-current breadcrumb. This has been resolved by adding the necessary handling for a visually hidden screenflow. | User Experience |
INC-244057 | 756599 | Session timeout modal window properly aligned | When a modal was present on the screen, opening a workflow resulted in the session timeout popup being displayed in the top left corner of the screen instead of center. This has been resolved by passing isCenterOverlay as 'true' to align it properly. | User Experience |
INC-244408 | 761563 | Active breadcrumbs showing once | When question pages were embedded in a screen flow, running the case caused the active question page's label to be shown twice on the screen and both the breadcrumbs were clickable. This occurred when the checkbox "Subprocess has navigation links" was used, and has been resolved by hiding the subprocess steps for an embedded question page. | User Experience |
INC-244424 | 759943 | Layout documentation updated for using "no more data to load" message | Documentation for layout configuration options has been updated to clarify that "Display message when there is no more data to load" works only when the underlying harness is configured to use the client-side template UI. | User Experience |
INC-245431 INC-246531 |
764784 778033 |
Mashup loads correctly with setAuthenticationHeaders | Mashup was not loading correctly when using the pega.web.api.setAuthenticationHeaders function to set an authorization header. This has been corrected. | User Experience |
INC-245567 | 762500 | Corrected error message handling for on-change | If there was a validation error message on a field generated by on-change of some other field, the validation message went away when the field was clicked even though there was no data change. The error message persisted on the clipboard, but was removed from the UI. This has been resolved by changing the order of the condition check for calculate expression. | User Experience |
INC-245664 | 766610 | Adjusted display of "Case created by" to handle long name value | After creation of a case through the email listener, the "Case created by" detail was spanning out of the tile. This was caused by a long value for pxCreateOpName, and has been resolved by allowing it to break for the display. | User Experience |
INC-245819 | 766346 | Updated visibility condition logic | After update, a visibility condition that contained references to D_CaseAssignments that was set to any stage-wide local action made all local actions not visible in the Actions menu. This was traced to the condition returning as false during runtime, and has been resolved by updating the logic in the pzPopulateAssignments activity. | User Experience |
INC-246093 | 760289 | Create Menu is consistent between Portals in Cosmos | When switching between two portals in a Theme Cosmos application, the Create case menu was not updating for the respective portals and showed the wrong cases. To resolve this, ShowSelectedPortal has been updated to call pzClearStartingFlows to clear the data pages involved with create menu. | User Experience |
INC-246171 | 774006 | Tooltips localized | Localization has been added to the Pega breadcrumbs browser tooltips. | User Experience |
INC-246207 | 765047 | Corrected tab focus for iframe | The interaction driver on the add task and close button was missing tab focus. This was traced to a missing tabindex for iframe, and has been resolved with an update which will check if the content has iframe; if so, tabindex will set to iframe else the existing flow will continue. | User Experience |
INC-246980 | 765282 | Null checks added to resolve null deference alerts | Null dereference is low risk in general in Java applications because no memory corruption can occur. Pega rules or variables will not be null at runtime during rule execution and thus a null pointer exception will not be thrown. However, the initialization of these may be detected by a scan which documents the theoretical possibility of not being initialized at runtime. To resolve these scan reports, null checks have been added to some identified areas related to dropdowns and checkboxes. | User Experience |
INC-247329 | 762599 | Spell Checker correctly clears error indication on save or refresh | After entering data, the rich text editor was highlighting an entire line as misspelt on save and refresh of the harness. In addition, the underline was not clearing after correcting an error in Dev Studio. To resolve this, the onSubmit regex expression has been updated to remove the spell checker underline on save or submit. | User Experience |
INC-247967 | 764663 | Expanded Create menu item will not take submenu color | Changing submenu item colors for the "Create case menu" menu format caused the expanded Create item to take this color as well. This has been resolved by hardcoding the color styling. | User Experience |
INC-248044 | 768774 | UI action from Mashup Screen corrected | After upgrade from Pega 8.3 to 8.7, a BAC/SECU0019 error was reported when launching harness in Mashup. This was traced to the use of a dynamic container with multi-document mode, which is an unsupported configuration for Mashup due to the BAC features introduced in Pega 8.5. Switching to a dynamic container with single document mode resolved the security issue, but using the close / cancel button on a work object in Mashup was not returning to the home page and there were resize issues due to Mashup not having extensive support for a dynamic container with single document mode. This has been resolved. | User Experience |
INC-248452 | 766594 | Corrected rounding precision issue | A rounding error appeared during multiplication of some numbers. This was traced to precision settings for the fields and has been resolved by using toFixed in specific circumstances when the actual decimal precision is less than configured. | User Experience |
INC-248692 | 765250 | Number controls honor custom width | After update, decimal properties with integer control were ignoring all custom width settings. Investigation showed the generated style was ' 'width instead of just width, and this has been resolved by modifying the style from "''" to '"" in order to fix the custom width issue for number controls. | User Experience |
INC-249197 | 775840 | Added special handling for Asia/Jakarta dates | For timezone 'Asia/Jakarta', when the date '01/01/1964' is selected, the date is changed to 1 day less (31/12/1963) . This is an issue particular to this locale, caused by a time zone change from GMT+7:30 to GMT+7 at the end of 1963-12-31(GMT+7.30). This means the moment 1964-01-01T00:00:00 in GMT+7.30 is also 1963-12-31T23:30:00 in GMT+7. To resolve this, an update has been made which will convert using Date.UTC before applying the timezone for the dates in question. | User Experience |
INC-249243 INC-258056 |
765688 781056 |
Corrected keyboard focus in modal window | When a flow action was configured to hide the default action button sections and then launched in a modal window, using the tab key moved the focus out of the modal window and into the background sections. This has been resolved. | User Experience |
INC-249417 | 764837 | Updated regex for button labels in case creation screen | After upgrade, adding “&” before the letter in a button label no longer worked to create a keyboard shortcut for the button, for example using “Submit & E&mail” in Fieldvalue (pyButtonLabel) resulted in “Submit & E&mail” rather than the expected “Submit & Email”. This was caused by the system restricting two ‘&’ symbols in template mode, and has been resolved by replacing double backslash (\d) with single backslash (\d) in the regex. | User Experience |
INC-249703 | 768020 | Main navigation submenu icons display correctly | After adding two or three sub child Menus to the "pyCreateCaseMenu" with different Icons, selecting the child menu caused the menu name to get padding on the left and the icon for the child was stacked on top of the main icon at the top. This has been resolved by modifying pzPega_menu_item_icon_template.js and pz-cosmos-ui-portal.js so the items are displayed correctly. | User Experience |
INC-249749 | 777856 | Screen reader focus correct when error icon displayed | The NVDA Screen reader focus was not correct after clicking submit when validation was not met. This was a missed usecase for an error icon on top of the field which prevented the focus moving to the first invalid element in the modal. This has been resolved by updating the focusToFirstInvalidField function in pzpega_ui_doc_focus to correctly handle this scenario. | User Experience |
INC-250022 | 766727 | Loading text made available for customization or localization | When the dashboard of a user portal was being loaded, a hardcoded "loading.." string in English appeared and disappeared. This was coming from the final rule PegaCompositeGadgetMgr[Final] and was hardcoded and not localized. This rule has been modified to accommodate the localization or removal of the loading string completely by using the field value for "Loading". | User Experience |
INC-250184 | 765237 | Modal close button correctly announced by screen reader | The modal close button was not being announced correctly with the screen reader, announcing the button as "button" instead of "close". This has been resolved by updating the aria-label attribute. | User Experience |
INC-250450 | 766585 | Corrected filter icon overlapping label text | An issue with the filter icon overlapping label text when using an optimized table has been resolved by removing the padding-right as 0px from grid header label to accommodate the sort, filter icon and column menu. | User Experience |
INC-250615 | 777280 | Tab name handling updated to support symbols | After upgrade, creating a case in a user portal that used an AJAX container resulted in symbols like '(' and ')' in the tab name being replaced with junk characters. This has been resolved by modifying the setTabName function in pzpega_ui_mdc_tabs.js. | User Experience |
INC-251168 | 775044 | Updated breakout encryption for offline mobile app | After implementing BAC security and setting the when rule pyBlockUnregisteredRequests to 'true', any offline mobile AJAX calls with Executebreakoutcall failed. Investigation showed the pzOSCOBreakoutWrapper dispatcher itself was throwing an unregistered error.This has been resolved by encrypting the OSCOBreakout activity. | User Experience |
INC-252009 | 776212 | Corrected PST datetime converting to GMT and then to CST | When a user in the PST time zone selected the current PST time for a submission, the value was being converting to GMT in the CST server time zone instead of PST user time zone, causing a validation failure that the date cannot be in the future. This has been resolved by updating pega_ui_calendar and pega_ui_formatdatetime handle this scenario. | User Experience |
INC-252723 | 772302 | Able to select localized date values | Logging in using the French locale and selecting the date was generating an error. This was traced to a localization issue with strings having single or double quotes and has been resolved by adding handling for escaping single and doubles quotes in the Smart Tip message rule field generation. | User Experience |
INC-252879 INC-250977 |
771303 778744 |
PD4ML updated | Issues with formatting PDFs have been resolved by updating the PD4ML jar to version 4.0.13fx6. | User Experience |
INC-252957 | 780596 | Correct buttons displayed for local action in screen flow | After creating a case type which included a screenflow in the case lifecycle along with case-wide actions, progressing the case to step 2+ in the screenflow and selecting a case-wide action displayed the Back button instead of Cancel. This was an issue with pyCaseActionAreaButtons when using a case-wide action while the case is in a screen flow, and has been resolved by adding a new visibility condition for Cancel/Back buttons which will avoid showing screen flow buttons in case-wide actions. | User Experience |
INC-253043 | 770869 | Tab key focus added to Operator icon | To improve accessibility, styles have been added to the user/operator icon to support keyboard tab focus. | User Experience |
INC-253092 | 771593 | Corrected highlight persistence | When using a field with control Currency, entering a value into the field and highlighting it using the keyboard input ctrl + a / cmd +a added the highlight, but when the ctrl +a / cmd +a was released the highlight was removed. This has been resolved by adding an additional check for selection. | User Experience |
INC-253692 | 773877 | AJAX container correctly shows busy indicator | The busy indicator was not appearing during a long finish assignment processing wait when using an AJAX container. This was caused by the condition to display the busy indicator only checking for document.forms.length (DC), whereas in case of an AjaxContainer, elements will present in fieldset instead of form. This has been resolved by updating the check to work for both DC and AJAC containers. | User Experience |
INC-253866 | 776448 | Added handling for missing InstanceID | Based on a search, data from 8-10 different case types was fetched and displayed in 5 different hierarchical tables. One of the tables had a retry link column; on click, a local action opened which could be submitted. When there were a large number of records, the submission took a long time but no busy icon appeared. Investigation showed this only happened with hierarchical tables and not with optimized tables. The intanceID was not getting generated for the hierarchical table, due to which the grid object was stored with an undefined key by replacing the existing grid object and storing the last table object details in the metadata. To resolve this, pyInstanceID will be set on the componentInfo object to get the correct IDs for the treegrid during registration. | User Experience |
INC-253992 | 775253 | Filter pop up displays correctly for absolute position | The filter pop up was not displayed properly in reports when the parent container position was absolute. This was due to a missing condition check, and has been resolved. | User Experience |
INC-254059 | 772432 | Updated handling for Validate rule on date property | After configuring a date control on a page that had three date-only drop downs, a validate rule on a flow action which added messages onto the property caused the page to hang and generate a browser console error on refresh of the section. This has been resolved by modifying pega.ui.Formatter.formatDateTime to check for an invalid DateTime value when there is an error, and return the formatted datetime value for valid values. | User Experience |
INC-254270 | 783622 | Autocomplete correctly captured in scenario testing | Given a screen where values for some fields were set based on the selection of an autocomplete, recording it using scenario testing kit version 1.6 captured the auto-complete value, but the other fields based on auto-complete selections were not being captured. Investigation showed there was a timeout related to an internal on-change event occurring on an autocomplete element which has now been resolved. | User Experience |
INC-254668 | 773110 | Handling added to correct Moment DST offset for dates after 2037 | When a datetime of greater than 2038/01/01 00:00:00GMT was read from the clipboard In certain timezones, 1 hour was incorrectly removed as a DST offset by the third-party Moment JS. In cases where the time was set to midnight, this resulted in the displayed date being 1 day early. This issue only affected datetime values and can be avoided by using a date value instead. To resolve this, handling has been added for correctly returning the moment object if the year is greater than 2037 for a datetime control with date property. | User Experience |
INC-254768 | 780716 | Corrected class search that caused RuleNotFoundException for teams | Clicking on the teams menu item on the user portal home screen resulted in a blank screen. The error "RuleNotFoundException:Failed to find a 'RULE-OBJ-ACTIVITY' with the name 'PZINITIALIZETEAMDASHBOARD' that applies to 'Data-Admin-WorkGroup' " was logged. Investigation showed this was caused by the PZINITIALIZETEAMDASHBOARD activity being searched for in the wrong class, and this has been resolved. | User Experience |
INC-255216 | 776251 | Corrected decimal formatting display | Issues with formatting a decimal value were seen after update. The error '<Number>' is not a valid decimal value was traced to the system enclosing quotes in a decimal input property after submit. This has been resolved by correcting the value formatting if the last character is a separator. An issue with the "$" value not being visible when an error message is displayed has been resolved by allowing updating of the date-value for backspace and delete. | User Experience |
INC-255697 | 780076 | Active when condition restored for read-only harness | The Active When condition in the Navigation rule was not working for a read-only harness when navigating through the screens, leading to the current step in the navigation menu not being highlighted. This was an inadvertent side effect of work done on the "pzpega_control_menu" rule which has been reverted to restore the previous behavior. | User Experience |
INC-256304 | 778345 | Layout header property read by screen reader | After adding "Include icon or value" to a layout header, a property or constant was not being read by the screen reader in browse mode with arrow keys. This was caused by the aria-label that was being applied to the button element overriding the constant text property and causing it not to be read by screen readers, and has been resolved by removing the aria-label from layout_header_content for a collapsible dynamic layout. | User Experience |
INC-256835 | 779126 | Check added for dynamic pre-activity parameters in dropdown | After configuring a drop down with options loaded on hover sourced by a clipboard page using a pre-activity accepting parameters, an "Invalid clipboard stream detected in module (unspecified)" error was generated by pzGetDropdownOptions indicating invalid JSON. Thereafter the pre-activity was called without any parameters, static or dynamic. This was happened only when static parameters were passed in the pre-activity for loading dropdown options, and has been resolved by adding a check for dynamic parameters in the pre-activity. | User Experience |
INC-258008 | 780660 | JAWS reads radio control client side errors consistently | Radio controls marked as required were triggering client side validation messages, but JAWS was not reading these messages consistently. This has been resolved by adding the needed roles alert to read out an error message when focus is changed using the tab key. | User Experience |
INC-258212 | 781039 | Corrected Expand-Collapse icon accessibility | When an optimized table is configured with grouping enabled, Pega renders group headings with a button that can expand or collapse a particular group. After update, the top-most button (expand/collapse all) was not accessible using keyboard navigation when using Microsoft Edge. This has been corrected. | User Experience |
INC-258271 | 781009 | Improved reports browser table accessible navigation | When accessing the report browser in list mode, the accessible navigation was not always applied to the grid, resulting in inconsistent keyboard navigation which required a browser refresh. This has been resolved by adding a check for the grid element in the DOM. | User Experience |
INC-258272 | 781644 | Improved accessibility for multiselect in reports navigation | In the All Reports section of Reports navigation, JAWS announced the incorrect role “tab” when navigating to the “search by..” text box and “Category” combo box. This was caused by the role application being added to the body during multiselect focus, and has been resolved by removing the setting of the role application for the body in the multiselect updateMSLiveRegion API. | User Experience |
INC-258275 | 781097 | Improved checkbox accessibility for repeating dynamic layout | Table filter checkboxes did not have the correct label and state for an accessibility reader to read-out, causing the state of the checkbox and the context of the checkbox to not be announced. This has been resolved by changing the repeating dynamic layout navigation mode to "Use form navigation (by tab)". | User Experience |
INC-258427 | 780416 | Corrected typo in toLowerCase function | The processHarnessType.toLowerCase function in the ui_doc file has been updated to correct a misspelling in the code. | User Experience |
INC-258862 | 781800 | Able to navigate correctly into modal when opened from fields in grid | Navigating from the “Fields” button presented a list of items for JAWS to read, but there was no visible focus when the down arrow was used to navigate. Additionally, when the user first selected the “Fields” button, JAWS announced “list with one item” even when there was more than one item. This has been resolved by adding form mode navigation for the fields in a repeating dynamic layout. | User Experience |
INC-259790 | 783651 | Check added to set time zone for Calendar Picker | Calendar Picker was taking System time zone by default regardless of Operator time zone. Investigation showed that when the timeOfDay property type was used to represent a time-only property, the flag "hasDays" was false and the computation of a time string and a date string from input date string was not being done and the input date string was itself treated as time string. This has been resolved by adding a check which will compute the time string from the input date if hasDays is false. | User Experience |