NexJ Logo

New features delivered in 8.4.0

The following features and enhancements were included as part of 8.4.0.

Business process forms and workflow

The NexJ CRM Business process forms and workflow functionality has been enhanced.

Company and opportunity object type support

Users can now construct workflows for creating and onboarding companies, and updating client information. Additionally, users can use business processes to create, progress, and modify opportunities.

Localized business process templates

Users are now able to view their business process forms with the date, currency, and other formatting of their desired geographical location. Business process forms use the same locale as the rest of the application.

Business administrators can localize business process templates by exporting strings from the templates into resource files in CSV format, bulk editing the strings, and then re-importing the resource files to overwrite the strings in the templates.

Notification support for all object types

Users can now receive notifications about active business processes, such as an alert to complete an approval step.

Business administrators can add a Send Notification action as one of the actions for business process steps and exit actions for all object types.

Opportunity management

The opportunities functionality in NexJ CRM has been enhanced.

Using business processes for opportunity approvals and quick responses to approval requests in notifications

You can define and execute opportunity-related approval processes such as approvals for high-value opportunities or for discounting products. You can configure this process by adding business process templates with approval steps to opportunities and submitting business process forms.

Users who are designated as approvers can respond to approval requests for changes to opportunities in the following ways:

  • Approve or reject approval requests for changes to opportunities on the Opportunities workspace or on docked workspaces
  • Respond to approval requests in notification messages

The following image shows where you can define and execute approval processes for opportunities:

Approving opportunities

Notifications enhancements

The NexJ CRM notifications functionality has been enhanced.

Marking notifications as read

Mark a notification as “read” to indicate that you have viewed it. Unread notifications are highlighted in the notifications sidebar and marking notifications as read removes the highlighting. You can also filter the notifications stream to view only unread notifications.


All existing notifications will be automatically marked as read at the point of upgrading to 8.4.0.

Application development enhancements

The following enhancements will help increase the development speed and quality of your solutions.

Web-based Scheme Console

If you do not have access to NexJ Studio, you can use the web-based Scheme Console to evaluate Scheme scripts. It can be accessed separately from the following URL: http://<>:<port>/<nexj>/SysPortletServer/SchemeConsole.html.


This console is not directly accessible from NexJ CRM or NexJ Admin Console.

Improved third-party integration

The behavior used in launching child popups has been modified to improve the behavior of dialogs embedded in third-party popup.

If a popup is created using a Scheme API with the isNewWindow attribute set to false (which is the typical pattern for opening a popup from within a third-party application), all of its child and other descendant popups will open in new windows. This behavior overrides the customDialogMode setting, and prevents subsidiary popup dialogs from being constrained by the window containing their parents.

Logging enhancements

You can now modify log4j settings and logger categories at runtime. In addition, log4j on NexJ Server installations now tracks user logins by default.

Popup dialog enhancements

Popup dialogs can now be optionally opened using the call (which allows session information to persist between all popup dialogs) instead of the showModalPopup call.

RESTful JSON services with Swagger

RESTful data services now natively support the JSON format via the /json context root. The entire publicly-accessible API is available via this URL. Additionally, filtering capability has been added to enable fast lookup of specific APIs using the ?mask= identifier.

The generated JSON structure is now also compatible with Swagger API visualization which allows for easier introspection and prototyping of all publicly-available APIs.

The following image shows a Swagger representation of the Entity class:

Swagger representation of the Entity class

Additional performance optimizations

This release includes a number of list-loading optimizations to improve application performance when carrying out searches on entity lists.

Deployment-time configuration for NexJ Server

With this release,Tomcat connector properties for NexJ Server, such as web container thread pool size, can be set or modified at deploy time.

Backwards compatible platform

As part of NexJ’s continuous delivery initiative, the NexJ platform is now fully backwards compatible for all NexJ CRM metadata for 8.1 and later. NexJ will maintain this platform backwards compatibility going forward for all releases. This allows projects to incorporate the latest platform enhancements, features and fixes without the need to fully upgrade to the latest version of NexJ CRM at the same time.

Zero downtime: Dynamic metadata deployments

Metadata only changes (no corresponding database changes) can now be deployed to production environments without any application downtime. This will provide projects the ability to promote application changes without impacting user activity.

Additional platform support

  • Tomcat 8.0.44 is now supported for NexJ Server for all required functionality.
  • JRE 8 support is now available for all supported application servers, including NexJ Server.
  • SQL Server 2016 is now supported for all NexJ solutions.

Documentation enhancements

The product documentation for NexJ CRM has been enhanced.

Access Control Lists (ACL) white paper

A new Access Control Lists (ACL) white paper shows how to permit and restrict access to entities, opportunities, and interactions in NexJ CRM. The white paper provides an overview of how ACL controls access to data through the Group Security Model (GSM), Coverage Access Model (CAM), and Hierarchical Access Model (HAM), describes configuration and deployment options, and describes ACL security classes and security rules.

For more information on ACL functionality, see the Access Control Lists Technical Discussion Opens in new window on the NexJ Developer Community site.

FAQs for activity plan templates, business process templates, and rules

FAQs are now provided for activity plan templates, business process templates, and rules.

The FAQs are available at: FAQs for activity plan templates, FAQs for business process templates, and FAQs for rules.

Updates to push notification content

Content was moved from the Push Nofications white paper into the NexJ CRM deployment information. Push server configuration now contains additional content on configuration settings for push notifications. The new "Push notification architecture overview" chapter provides a summary of push components and describes the process that occurs when a client subscribes to push notifications.

User Guide for Mobile Devices

The title of the User Guide for Tablets guide has changed to the NexJ CRM User Guide for Mobile Devices. A new section on using NexJ CRM with smartphones has been added to the guide.

Sample Data Usage Guide

The Sample Data Usage Guide is no longer an independant guide. Its contents are now included in NexJ CRM sample data.

Monitoring and troubleshooting

The following enhancement will improve application monitoring and troubleshooting.

Client performance banner JMX persistence

Client side performance metrics captured by the client performance banner can now be captured for all users and persisted to the JMX performance metrics. When enabled, each user interaction is captured with the following metrics:

Request start time

The time on the client when the request was made to the server in milliseconds. A value of -1 indicates that the request start time could not be retrieved.


The user name of the current user.

User IP

The IP or hostname of the current user.

Application ID

The ID of the current application instance.

Session ID

The ID of the session associated with the request.

Log time

The time the current entry was processed for logging on the server.

Portlet name

The name of the portlet from which the request originated.

Screen name

The name of the screen associated with the portlet from which the request originated.

Active control

The name of the control that triggered a request.

Popup level

An integer value that represents the popup level from which the request was made, relative to the base popup.

Total request time

The sum of the network, server, and JavaScript execution time in milliseconds.

Network time

The network processing time in milliseconds.

Browser (JS) time

The time the JavaScript took to process the response in milliseconds.

Server time

The time it took for the server to handle the request in milliseconds.

SOA count/depth

The number of SOA calls made to the server and maximum call depth reached by any single call.

SQL count

The number of SQL queries the server made while handling the request.

Lazy load

The number of lazy loads the server did while handling the request.

These metrics are persisted to a new table in the Statistics database and can be purged the same way existing JMX performance metrics are purged.