NexJ Logo

Upgrading to NexJ CRM version 9.8

Before you upgrade

Before upgrading, you must update the environment files, back up and update the application servers, and back up and upgrade the databases for your deployment. Also, ensure that you have upgraded your metadata model. For more, see Upgrading models.

NexJ strongly recommends clearing or truncating the NJSession table for any upgrade that requires a reseed. 

As a best practice, NexJ also recommends that you upgrade the push redirector to match your application framework version when you upgrade the application.

For assistance to upgrade from a previous version of NexJ CRM, contact your NexJ representative.

Upgrading to version 9.8

To upgrade to NexJ CRM version 9.8:

  1. Before upgrading NexJ CRM, you must upgrade NexJ Studio or Eclipse and install the new plugin.  For more information, see Setting up NexJ Studio.
  2. If you use Apache Ant to deploy your application, ensure that you are using Apache Ant 1.10.5 and that the ANT_HOME variable in the System Variables list is set to the correct Ant folder.
  3. Push redirector configuration is required for reminders and notifications. If you have not configured push redirector, configure it. For more information, see Configuring push notification.
  4. If you are using Microsoft SQL Server, copy the jtds-1.2.2-9.jar database driver file from the < NEXJ_PLUGIN>\ext folder to your project's lib directory. Ensure that any references to jTDS location or version in your environment or properties files have been updated.
  5. Update the environment file or the server and connections files with any other changes required to support new functionality. For more information, see Connection and attribute updates.
  6. Back up application server files.
  7. Back up all databases.
  8. Upgrade all databases.
  9. Upgrade the application servers.
  10. Deploy the application.

  11. Start the application and verify that it has deployed successfully.

After completing these steps, you can now run NexJ CRM version 9.8.

Transport Layer Security (TLS) protocol versions prior to 1.2 are deprecated. If you update your web server to support TLS 1.2, you must update your Microsoft Exchange servers to support TLS 1.2 as well, otherwise push notifications and real-time inbound sync will no longer work.

Upgrading your JDK or JRE

If you upgrade your Java SE (JDK and JRE) from version 8 to version 11 as part of your upgrade of NexJ CRM, you must recreate your keystores.

Java SE 11 uses updated encryption and MAC algorithms, which offer better security, but which are incompatible with previous versions. You can view details concerning this change in the java.security file by looking at the security properties starting with keystore.pkcs12.


Connection and attribute updates

When you upgrade NexJ CRM, you must update the environment file or the connections file for your deployment to reflect new structures and support new functionality. Review the update information for all versions between your current deployment and your new one. 

After updating the environment file, use the Database Schema Tool in NexJ Studio to issue the create command for your data sources. This generates the appropriate SQL scripts that should be provided to your database administrator.

In a test or development environment, you can use the Data Load Tool in NexJ Studio to issue the recreate command for your data sources. To execute this command, you must have the appropriate security and permissions configured on the database.

Consult with your development team to confirm whether additional customized channels have been added to your project.

Updates for version 9.8

Using Integrated Lead Management

As of NexJ CRM 9.8, a new legacyLeadsEnabled property has been added to the environment file, which defaults to true, and specifies that you will use the legacy leads functionality that was available prior to the 9.X releases. If you want to use the leads functionality that enables leads to be treated as entities, and that is provided with NexJ CRM 9.8 in the classic UI only (released with 8.X), you must set the property to false. If you are using the UI provided with 9.8.X releases, leave the property as true.

NexJ CRM does not support upgrading deployments that are currently running the legacy leads functionality to the 9.8 leads functionality, and this exercise should be done as part of a services upgrade. Also, NexJ does not support toggling between the new 9.8 leads behavior and legacy leads behavior. If a legacy lead object is not properly upgraded (by services team in projects where they want to upgrade from legacy leads to the 9.8 leads functionality), attempting to edit it or dock it using the 9.8 UI will result in an error being thrown.

As of NexJ CRM 9.8.2, you can configure your system to support converting leads to companies instead of contacts to support a business-to-business model by:

  1. Changing (ilm:Lead'LEAD_SYSTEM_CLASSIFICATION) to a value of (LeadClassificationEnum'get 'B2B) in your source code.
  2. Recreating the database.
    You may need to turn off sample data at the environment flag level at this stage in NexJ Admin Console, as the sample leads are expecting a leads to company configuration

For more information about setting the lead mode for your deployment, see Setting the lead mode.

Update for CORS support

You can enable Cross-Origin Resource Sharing (CORS) headers to be set on an application server response to allow requests from other origins, and from which a browser should permit loading of resources.

The origin must be defined in the environment file as follows to be accepted as a valid CORS origin on the server:

<Hosts>
   <Host name="cors-origin" trusted="true" url="http://localhost:3000"/>
</Hosts>

The URL will be matched against the request origin for an exact full match (no wildcard or regular expression can be used).

Update for Oracle Database 19c support

If you are deploying Oracle 19c database on a production system, ensure your adapter is set to "Oracle" and not "Oracle11g" in the environment file.

Maintaining NexJ single sign-on authentication

The existing NexJ single sign-on solution must be explicitly added to the environment file if you want to maintain this authentication. While the solution has not changed, the configuration pattern has been altered to better facilitate alternative authentication options in the future. A sample snippet of the environment file configuration is shown below:

<Mixins>
      ...
      <Mixin namespace="http://www.nexj.com/ns/sso" version="1+"/>
      ...
</Mixins>

The <Mixins> tag is the first child element of the <Environment> tag. If one already exists then the <Mixin> tag can be slotted in as a sibling, otherwise the full <Mixins> tag should be added.

Updates for version 9.7

There are no connection or attribute updates associated with version 9.7.

Updates for version 9.6

There are no connection or attribute updates associated with version 9.6.

Updates for version 9.5

stuckThreadThreshold attribute for logging web requests

This new environment file attribute enables logging for NexJ Model Server web requests that run longer than the set threshold (measured in seconds) when it is set with a positive integer. For more information, see Detecting long-running web requests.

Updates for Microsoft Exchange Online OAuth support

If you are moving to OAuth authentication for Exchange Online, follow the required procedure described at Using Microsoft Exchange Online with OAuth authentication.

Related topics