Merative ™ Social Program Management 22.214.171.124 iFix2
Merative ™ Social Program Management is now Cúram ™ by Merative™
Merative Social Program Management 126.96.36.199 iFix2 Release Notes
Welcome to the Merative Social Program Management 188.8.131.52 iFix2 release.
This is a cumulative release which incorporates the Improvements, Resolved Issues and Third Party Updates contained in all previous 184.108.40.206 iFix releases. Details of these Improvements, Resolved Issues and Third Party Updates are included separately in the release notes for each of the previous iFix releases. For the latest version of the release notes, see https://curam-spm-devops.github.io/wh-support-docs/spm/release-notes.
Full product documentation can be found in the Product documentation and PDFs.
For information about the supported software and hardware for this release, see the Merative Social Program Management Prerequisites.
See the download instructions for this release at https://www.merative.com/support/spm.
Before running the installer please ensure all files in your Merative Social Program Management installation are writable.
The installation steps are as follows:
- Extract the contents of the .zip file to a local drive location.
- Run the Merative Social Program Management installer, which can be found in the INSTALLER folder at that location.
- After installing, the appropriate build targets must be run as necessary for your installation.
Additional installation instructions can be found in the Development Environment Installation Guide.
If you are upgrading from a previous version, the Merative Social Program Management Upgrade Helper contains documentation and tooling to help you to upgrade your Merative Social Program Management application codebase and database to work with your new version of Merative Social Program Management. The Merative Social Program Management Upgrade Guide describes a recommended process for performing application and database upgrades. The Upgrade Helper contains tools to assist you with implementing the upgrade, including tooling to produce a schedule of required migrations for your upgrade, tooling to provide information about database schema changes and tooling to generate initial SQL scripts for applying changes to your database.
To download the appropriate version of the Merative Social Program Management Upgrade Helper, see the download instructions at https://www.merative.com/support/spm.
WorkItem:267577 - Update the versions of the Jackson JARs to the latest version - 2.12.1
The Jackson API contains multiple functions to read and build JSON using Java. It has very powerful data binding capabilities and provides a framework to serialize custom Java objects to JSON strings and deserialize JSON strings back into Java objects. The Java Development Environment (JDE) and the REST infrastructure utilizes these utilities.
The versions of these JARs have now been updated from 2.10.2 to the latest version. As a result of this upgrade, the following changes have been made in the JDE and REST deliverable.
- CuramSDEJ\lib\third_party_version.properties - the versions of the specified Jackson JARs have been updated.
- CuramSDEJ\lib\jackson-annotations-2.12.1.jar - new JAR added.
- CuramSDEJ\lib\jackson-core-2.12.1.jar - new JAR added.
- CuramSDEJ\lib\jackson-databind-2.12.1.jar- new JAR added.
- CuramSDEJ\lib\jackson-annotations-2.10.2.jar - old JAR removed.
- CuramSDEJ\lib\jackson-core-2.10.2.jar - old JAR removed.
- CuramSDEJ\lib\jackson-databind-2.10.2.jar- old JAR removed.
- CuramCDEJ\lib\ext\jar\jackson-annotations-2.12.1.jar - new JAR added.
- CuramCDEJ\lib\ext\jar\jackson-core-2.12.1.jar - new JAR added.
- CuramCDEJ\lib\ext\jar\jackson-databind-2.12.1.jar - new JAR added.
- CuramCDEJ\lib\ext\jar\jackson-annotations-2.10.2.jar - old JAR removed.
- CuramCDEJ\lib\ext\jar\jackson-core-2.10.2.jar - old JAR removed.
- CuramCDEJ\lib\ext\jar\jackson-databind-2.10.2.jar - old JAR removed.
- EJBServer\components\Rest\restlib\dependencyLibsExt\jackson-annotations-2.12.1.jar - new JAR added.
- EJBServer\components\Rest\restlib\dependencyLibsExt\jackson-core-2.12.1.jar - new JAR added.
- EJBServer\components\Rest\restlib\dependencyLibsExt\jackson-databind-2.12.1.jar - new JAR added.
- EJBServer\components\Rest\restlib\dependencyLibsExt\jackson-annotations-2.10.2.jar - old JAR removed.
- EJBServer\components\Rest\restlib\dependencyLibsExt\jackson-core-2.10.2.jar - old JAR removed.
- EJBServer\components\Rest\restlib\dependencyLibsExt\jackson-databind-2.10.2.jar - old JAR removed.
It should be noted that any references in custom scripts and other artifacts to the updated JAR files listed above should be updated.
PO08998, WorkItem:267950 - Universal Access Responsive Web Application: IEG page answers REST API does not validate answers to questions from current form page
The IEG REST API for submitting answers on an IEG script can be used outside of the context of the current question page. This can allow datastore values to be changed that were not available for change by the questions listed on the current question page.
User Interface Impact:No
Steps to Reproduce: None
Now, when the IEG REST API for submitting answers is called, it will compare any submitted question-answer pair against the questions that were defined on the current question page. Answers from questions that were not on the current question page will not be processed. This is enabled by default but can be disabled using the new system property curam.ieg.answers.mustmatch.currentpagequestions.disabled. A new server logging message will appear when curam.trace is set to trace_on and will log when an answer is submitted by a user to a question not available from the current question page.
PO08998, WorkItem:267958 - Universal Access Responsive Web Application: Possible to navigate to incorrect IEG pages
It is possible to navigate to incorrect IEG pages by using the browser buttons or via REST APIs.
User Interface Impact: No
An IEG script with the following scenario:
- (Section 1)(Page 0) - Page to submit data
- (Section 2)(Page 1) - Page to submit data
- (Section 2)(Page 2a) - Conditional Page that is displayed if data submitted on Page 1 is TRUE
- (Section 2)(Page 2b) - Conditional Page that is displayed if data submitted on Page 1 is FALSE, disable the next button, so the user can not navigate forward.
- (Section 3)(Page 3) - Summary Page that is displayed only if the button next on Page 2a is clicked.
Steps to Reproduce:
- Go to page 0, Provide any data, click continue.
- Go to page 1 and submit data in order to make the condition TRUE so Page 2a and Page 3a are displayed.
- Go to page 2a - Provide any data, click continue.
- In the summary (Page 3), click on edit on the data of Page 1.
- Page 1, edit the data in order to make the condition FALSE , Click continue.
- Page 2b is loaded, then click on the browser back button.
- Page 1 is displayed, then click on the browser back button.
- Summary page (Page 3), is displayed, this is an error as this page should not be available as the section is not enabled.
Now a sync token is sent back and forward to the IEG REST API to avoid the front-end and back-end to be out of sync, therefore preventing any incorrect navigation through IEG Pages.
PO09115, WorkItem:267912 - Custom functions called from an Intelligent Evidence Gathering (IEG) script may receive null value instead of the entity attributes specified in the script definition
When a custom function is invoked during the completion of an IEG (Intelligence Evidence Gathering) script, the value passed to the custom function may be null. This occurs when the data entity containing the value being passed is not the most recent entity being operated on.
User Interface Impact: No
You need to use IEG scripts for an application intake to reproduce this issue. You can reproduce this scenario by performing the following prerequisite steps to configure an assessment.
- A question page to input information about a Person entity that relates to the primary applicant.
- A second question page to input income amount information for the primary applicant Person entity through its child Income entity.
- A third question page to input employment information for the primary applicant Person entity through its child Employment entity.
- A callout surrounding a fourth question page that executes a custom function to ensure the amount attribute on the Income entity is not null before opening the fourth page in the IEG script.
Steps to Reproduce:
- Launch the custom assessment IEG script.
- Navigate to the third question page by entering information for the primary applicant and their income amount.
- Click Next.
- Issue: The fourth question page is skipped since the amount attribute on the person's Income entity was evaluated as null by the custom function.
The previously skipped question page is now displayed correctly as the value of the Income entity's amount attribute is successfully passed to the custom function.
A callout is an Intelligent Evidence Gathering (IEG) script element that is used to invoke code that is not part of IEG. It can be used to execute a custom function which, for example, modifies the attributes of an entity on the Datastore.
This issue was resolved by ensuring entities are populated correctly in a way in which their attributes can be read and passed to a custom function successfully at all times, preventing unexpected behavior when navigating through an IEG script.
The java class that was updated is:
Before using this information and the product it supports, read the information in "Notices"