Deployment and developer upgrade tasks
Upgrade steps can be performed by deployment specialists, developers, or deployment specialists and developers working together. The table below lists the deployment and developers tasks for each topic in the upgrade section. Developer tasks are also noted in individual topics.
Upgrade topic | Deployment task | Developer task |
---|---|---|
Installing the Arial font in Linux environments | Yes | No |
Updating the KYC seeder | No | Yes |
Updating State enumerations for integrations and custom UIs | No | Yes |
Updating ETL methods for bulk deletion | No | Yes |
Converting dump files to Scheme dump scripts | No | Yes |
Running the updateReportsbyDateRange batch process for SLM periods | Yes | No |
Updating schedule report class names | No | Yes |
Setting the wchar attribute for data source connections | Yes | Yes |
Removing obsolete connections for version 8.9 | Yes | Yes |
Adding new connections for version 8.9 | Yes | Yes |
Updating server information for version 8.9 | Yes | No |
Creating new required data sources for version 8.9 | Yes | No |
Adding the NJStatVersion table to the StatDatabase data source for version 8.9 | No | Yes |
Upgrading data sources for version 8.9 | Yes | No |
Upgrading the WebSphere application server for version 8.9 | Yes | No |
Synchronizing BI data | Yes | No |
Upgrading notifications using a Scheme script | No | Yes |
Enabling rich text for document notes in Document Manager | Yes | No |
Installing the Arial font in Linux environments
If the application server runs in a Linux environment, you must install the Arial font, which is required by predefined reports. You must install the Arial.ttf font file for each JVM on the application server machine and then restart each JVM. For example, copy the font to the following location:
<JAVA_HOME>/jre/lib/fonts
.
Alternatively, install the font system-wide. Consult your Linux documentation for the appropriate install location.
Updating the KYC seeder
If you are upgrading from NexJ Contact version 6.X, you must update the KYC seeder.
Info
This is a developer task and must be performed in NexJ Studio by a person with access to the application model.
NexJ Contact version 6.1 introduced a KYC seeder that adds a business process into the system at runtime. In certain circumstances, broken references may be left behind by the seeder. You must make the changes below to remove broken references before you upgrade.
Info
To update the KYC seeder you require the package.zip file, which is provided by your NexJ representative.
To update the KYC seeder:
- If the
KYC
class has not been customized, then you must use NexJ Studio to customize the class to make it editable. Commit your changes. - Copy the
ClientKYC.meta
file from the/meta/classes/
folder in the package.zip file and paste it into the/meta/classes/
folder in your project.
The KYC seeder will be updated during the upgrade process.
Updating State enumerations for integrations and custom UIs
If you are upgrading from NexJ Contact version 7.2 or earlier, you must update enumeration values used in integrations or transformations with external sources and in custom UIs.
Info
This is a developer task and must be performed in NexJ Studio by a person with access to the model.
State enumeration values have been updated to support all countries. State enumeration values now associate administrative divisions, such as states or provinces, with the country to which they belong. Now enumeration values are prefixed with the country code. For example, the State enumeration value for New York state is now USA_NY
. Prior to this release, the enumeration value was NY
. Values have been updated in both the value
and behaveAsValue
properties for enumerations.
For backwards compatibility, the value of the value
property for enumerations has been moved to the shortCaption
property. For example, the value of the shortCaption
property for New York state is now NY
.
Info
Upgrade options vary depending on how you reference enumeration values in your project.
To update State
enumerations for integrations and custom UIs:
- To update
State
enumerations used in integrations or transformations, if your project references thevalue
property forState
enumerations, replace thevalue
property with theshortCaption
for each enumeration referenced in the integration or transformation. - If the
collectionValue
property in a UI bind for a control references thevalue
property, replace thevalue
property with theshortCaption
property.
State enumeration values have been updated for your project.
Alternatively, consider writing upgrade steps, for example SQL upgrade steps, to amend affected records with the country code prefix in the database. If you write your own upgrade steps, then you do not need to update State
enumerations used in integrations or transformations.
Updating ETL methods for bulk deletion
If you are upgrading from NexJ Contact version 7.2 or earlier, you must update ETL methods for bulk deletion.
Info
This is a developer task and must be performed in NexJ Studio by a person with access to the model.
In version 8.2, the ETL method for bulk deletion was changed to support only a list of object IDs passed in through NexJ Model Engine. API support for using a WHERE
clause to perform bulk deletion has been deprecated. The invoke-bi-sync
method is used instead.
To update ETL methods for bulk deletion:
Make the appropriate changes in your project. Change the method call from:
(BISyncTargetClassHelper.invokeETL syncClass where event isBulkSync)
To:
(invoke-bi-sync syncClass where event . <preloadAttributes>)
Where <preloadAttributes>
is a list of attributes to preload to prevent lazy loads during instance deletion. Specify attributes to load before deletion to prevent multiple calls to the database for each item that is deleted.
In the following example, the city
attribute is loaded during the read of BI_1_BILead before bulk deletion.
(invoke-bi-sync BI_1_BISyncClass_BILead `(= (@ address1) "test address" ) "delete" '(city)
In the following example, the exchangeRatesFrom
, exchangeRatesTo
, and symbol
attributes are loaded during the read of the BI_1_BICurrency
and APDimCurrency
classes.
(invoke-bi-sync BI_1_BISyncClass_BICurrency `(= (@) ,currencyOID) "delete" '(exchangeRatesFrom exchangeRatesTo symbol))
ETL methods for bulk deletion are updated.
You must also change any project level customizations that invoke the delete
event on this helper class so that they use the new method signature, passing in the appropriate arguments as before.
Converting dump files to Scheme dump scripts
In NexJ CRM version 8.2, .dump
files were deprecated. Scheme dump scripts replace .dump
files. Scheme dump scripts are more flexible than .dump
files and increase developer velocity.
Note: This is a developer task and must be performed in NexJ Studio by a person with access to the model.
As part of the upgrade process, it is strongly recommended that you convert any existing project .dump
files to Scheme dump scripts. A converter is provided in the package.zip
file to assist with this process.
Info
To convert .dump
files to Scheme dump scripts you require the package.zip file, which is provided by your NexJ representative.
To convert .dump
files to Scheme dump scripts:
- Extract the
package.zip
file to a temporary folder. - Copy the
dump_exclusions.txt
file from the /meta/libraries folder into the/meta/libraries/dumps
folder in your project repository. If necessary, create the/meta/libraries/dumps
destination folder. - Copy the
etc
folder into your project root directory. Confirm that theunittestdump.scm
file was copied into the/etc/scratchpads
folder in your project repository. - In your project repository, move the current
UnitTest.dump
file from the/meta/dumps/
folder to the/meta/libraries/dumps
folder. Inspect the
dump_exclusions.scm
file that was added to the project in the/meta/libraries/dump
folder. Each line in the file represents an item or class to reject from the Scheme dump script.
Remove items that you want to keep in the extracted Scheme dump script or add items to you want to remove.Info
You may perform this step again later to fine-tune the exported Scheme dump script.
The file contains three space-separated columns.
class
The class that the rule applies to. Rules do not apply to subclasses.
The column may contain simple wildcards, such as*<class>
or<class>*
, to apply a rule globally, provided the selected classes do not already have rules defined in the file. Add wildcard rules to the bottom of the file.
condition
A condition that is run against the matching class instances in the dump file to determine whether they should be excluded.
cascades
For all items matching the above condition, cascades are a list of associations to remove with the instances.- Modify the first code line in
unittestdump.scm
. Set the value of thedump:project-name
variable to your project name. In NexJ Studio, open the Minimal Console.
Info
You can open the console in any stable project. If you use the current project, you may need to recreate using the
UnitTest.dump
to have a stable server for starting the Minimal Console.- Execute the
unittestdump.scm
file in the/etc/scratchpads/
folder. - Start the extract by running the
(dump:CONVERT-DUMP-TOSCRIPT)
command in the Minimal Console.
A new file generates in the/meta/libraries/dumps
folder. The file name format isseed_<dump:project-name>_data.scm
, wheredump:project-name
is the project name that you provided in step 6. The generated file contains a serialized copy of all the extracted items from theUnitTest.dump
file - Edit the
SysUpgrade.meta
file, and in eventgetSeedData
, change(seed-data)
to the renamed function from step 9, which is named in the following format(seed_<dump:projectname>_ data
.
Recreate commands will now use the new Scheme dump script. - Move the
UnitTest.dump
andSampleData.dump
files from the project meta folder into the/etc/dumps/
folder. If necessary, create the/etc/dumps/
destination folder. - Test your changes by performing a recreate on the current project.
The Dump URL field should be left empty.
When the recreate is successful, the dump upgrade is complete. - Execute all unit tests and ensure a full passage rate.
You have converted .dump
files to Scheme dump scripts.
Updating schedule report class names
In NexJ CRM version 8.3, classes and attribute names for certain predefined schedule reports were renamed.
Info
This is a developer task and must be performed in NexJ Studio by a person with access to the model.
The following metaclasses were renamed in NexJ CRM version 8.3. If you are upgrading from NexJ CRM version 8.2 or earlier, and have customized or extended any of the classes in the following table, you will need to reflect the name changes in your customization:
Old class name | New class name |
---|---|
ScheduleDayReportData | ScheduleDayReportDataAct |
ScheduleDayReportTimeSlot | ScheduleDayReportData |
In addition, the following attributes of those classes have also been updated:
Old attribute name | New attribute name |
---|---|
ScheduleDayReportData.scheduleReportData | ScheduleDayReportDataAct.acts |
ScheduleDayReportTimeSlot.scheduleItem | ScheduleDayReportData.act |
ScheduleDayReportTimeSlot.timeSlot | ScheduleDayReportData.reportData |
Info
This change also affects any JasperReport files (JRXML) that reference these classes.
Setting the wchar attribute for data source connections
In NexJ CRM version 8.4, the unicode attribute for data source connections was replaced with the wchar
attribute. Previously, you could use the Unicode property to define character encoding for a data source connection by specifying the property in the connections or environment file.
Info
This is typically a developer task that is performed in NexJ Studio by a person with access to the model. A deployment specialist may also modify the wchar
attribute.
If you are upgrading from NexJ CRM version 8.3 or earlier and have specified the unicode property, you must set the wchar attribute to the same value. For example, if you have explicitly set unicode="true"
then you must now set wchar="true"
.
If you have not previously specified a unicode property, then you do not need to define the wchar
attribute. The default values provide optimal performance settings for each database type.
Info
You can specify a new value for the wchar
attribute by adding the attribute to the environment file. However, do not add the attribute unless it is required. Note that MySQL and PostgresSQL do not support wide characters.
The following table lists the default wchar
attribute values by database type.
Database type | Default wchar value |
---|---|
MSSQL, DB2, and Sybase | True |
Oracle | False |
MySql and PostgreSQL | Null |
Running the updateReportsbyDateRange batch process for SLM periods
If you use SLM data, you must run the updateReportsByDateRange batch process in NexJ Admin Console for the first batch process. This enables SLM data to correctly shift reporting periods. The subsequent batch proceses will run automatically as scheduled.
To run the updateReportsByDateRange
batch process:
- Log into NexJ Admin Console.
- In the toolbar, click the Batch Broker button .
The Execute Batch Broker Process dialog opens. - In the Batch Process drop-down, select ActDateReportCommand - updateReportsByDateRange.
- Add the arguments to the batch process.
- Click Add.
- In the first line of the arguments list, click Actions and select Add.
- In the Name field, enter
startDate
. - In the Value field, enter the first day of the current month.
- In the second line of the arguments list, click Actions and select Add.
- In the Name field, enter
endDate
. - In the Value field, enter the current date.
- Click OK.
You ran the updateReportsByDateRange
batch process.
Removing obsolete connections for version 8.9
When you upgrade to NexJ CRM version 8.9, you must update the environment file to remove the connections that do not exist in the current version.
Consult with your development team to confirm that obsolete channels are not customized for another purpose in your project.
Note
If you do not remove obsolete connections, the deployment will fail.
To remove obsolete connections:
- In NexJ Studio, open the Deployment layer.
- In the Environments tab, open the environment or connections file for your deployment.
- In the Channel Connections tab, remove the obsolete connections.
Remove the following channel connections:- BatchProcessQueue
- ErrorQueue
- LDAPSyncQueue
- ReportSystemQueue
- RetryQueue
- SyncQueue
- In the SOA Connections tab, remove the obsolete connections.
Remove the following SOA connections:- nexj:crm:Contact:1.0
- nexj:crm:RelatedObjectWorkQueue:1.0
- Save the updated environment or connections file.
The obsolete connections are removed from the environment or connections file.
Adding new connections for version 8.9
When you upgrade to NexJ CRM version 8.9, you must update the environment file or the connection file for your deployment to reflect new structures and support new functionality.
Consult with your development team to confirm whether customized channels have been added to your project.
To update the environment or connection file for your deployment:
- In NexJ Studio, open the Deployment layer.
- In the Environments tab, open the environment or connection file for your deployment.
- Make the following changes:
- In the Data Source Connections tab, in the Advanced subtab, ensure that the Path field displays the correct version of the JDBC driver. For example,
jtds-1.2.2-7.jar
. [Optional] In the Channel Connections tab, verify that a MailConnection channel connection exists.
Users can choose to receive two types of new message notifications in their conversations: email notifications and toast popup notifications. To enable users to receive email notifications for new messages, ensure that a MailConnection channel has been added to the environment file.
Email notification functionality does not require an additional mail channel to be created. An existing mail connection channel is sufficient, for example:<MailConnection channel="Mail" from="outmail@example.com" inFolder="INBOX" inHost="mailserver.example.com" inProtocol="pop3" outHost="outmailserver.example.com" outProtocol="smtp" password="Email_Password" user="user.name@example.com"/>
[Optional] In the Channel Connections tab, if you are deploying Client Insights functionality, add a HTTP connection that specifies the Grapevine6 URL and client-specific token using the following format.
<HTTPConnection channel="insights:ArticleSearch" url="https://hostname/api/v1/ searchinterests?token=tokenvalue"/>
In the Data Source Connections tab, select the FileStorageConnection that you want to configure. In the General subtab, click the Select Data Sources button , remove the CSVExport data source, and add the FileExport data source.
You can make the same change by modifying the FileStorageConnection element in the Source tab in your environment file:
1. In NexJ Studio, navigate to the in the Deployment layer.
2. In the Environments tab, open the environment file for your NexJ application.
3. In the Source tab, and in the
<FileStorageConnection ...>
element, locate the<DataSource name="CSVExport"/>
property.4. Change the
<DataSource name="CSVExport"/>
property to<DataSource name="FileExport"/>
.5. Click Save in the toolbar to save the change to the environment file.
- In the SOA Connections tab, add the required SOA connections.
The following SOA connections were introduced after NexJ Contact version 6.1 and are required for NexJ CRM version 8.9:- nexj:crm:Household:1.0
- nexj:crm:Interaction:1.0
- nexj:crm:Note:1.0
- nexj:crm:Person:1.0
- nexj:crm:ScheduleItem:1.0
- nexj:crm:Task:1.0
- nexj:crm:User:1.0
- nexj:portal:PortalNotification:1.0
- nexj:rules:ActionCommandClient:1.0
- nexj:rules:RuleContainer:1.0
- nexj:soa:AuthenticationAction:1.0
- nexj:soa:BaseSOATypeLibrary:1.0
- nexj:soa:DataMatchServiceUnitTestObjectTypes:1.0
- nexj:soa:Message:1.0
- nexj:soa:NotificationService:1.0
- nexj:soa:PersonMatch:1.0
- nexj:soa:PortalConfiguration:1.0
- nexj:soa:PortalIntegration:1.0
- nexj:sso:Authentication:1.0
- nexj:ui:AddressComponentClient:1.0
- nexj:ui:CompanyComponentClient:1.0
- nexj:ui:EntityComponentClient:1.0
- nexj:ui:EntityCoverageComponentClient:1.0
- nexj:ui:OpportunityComponentClient:1.0
- nexj:ui:OpportunityCoverageComponentClient:1.0
- nexj:ui:ProgressedOpportunityComponentClient:1.0
- nexj:ui:RoadshowComponentClient:1.0
- nexj:ui:RoadshowCoverageComponentClient:1.0
- nexj:ui:RoadshowLegComponentClient:1.0
- nexj:ui:RoadshowMeetingRequestComponentClient:1.0
- nexj:ui:RoadshowScheduleItemComponentClient:1.0
- nexj:ui:RoadshowTemplateComponentClient:1.0
- nexj:ui:ScheduleItemComponentClient:1.0
- nexj:ui:TaxonomyComponentClient:1.0
- nexj:ui:UserComponentClient:1.0
nexj:ui:WorkQueueItemRelatedObject:1.0
For example<SOAConnection auth="basic" service="nexj:crm:Household:1.0"/> <SOAConnection auth="basic" service="nexj:crm:Interaction:1.0"/> <SOAConnection auth="basic" service="nexj:crm:Note:1.0"/> <SOAConnection auth="basic" service="nexj:crm:Person:1.0"/> <SOAConnection auth="basic" service="nexj:crm:ScheduleItem:1.0"/> <SOAConnection auth="basic" service="nexj:crm:Task:1.0"/> <SOAConnection auth="basic" service="nexj:crm:User:1.0"/> <SOAConnection auth="basic" service="nexj:portal:PortalNotification:1.0"/ > <SOAConnection auth="basic" service="nexj:rules:ActionCommandClient:1.0"/ > <SOAConnection auth="basic" service="nexj:rules:RuleContainer:1.0"/> <SOAConnection auth="basic" service="nexj:soa:AuthenticationAction:1.0"/ > <SOAConnection auth="basic" service="nexj:soa:BaseSOATypeLibrary:1.0"/> <SOAConnection auth="basic" service="nexj:soa:DataMatchServiceUnitTestObjectTypes:1.0"/> <SOAConnection auth="basic" service="nexj:soa:Message:1.0"/> <SOAConnection auth="basic" service="nexj:soa:NotificationService:1.0"/> <SOAConnection auth="basic" service="nexj:soa:PersonMatch:1.0"/> <SOAConnection auth="basic" service="nexj:soa:PortalConfiguration:1.0"/> <SOAConnection auth="basic" service="nexj:soa:PortalIntegration:1.0"/> <SOAConnection auth="basic" service="nexj:sso:Authentication:1.0"/> <SOAConnection auth="basic" service="nexj:ui:AddressComponentClient:1.0"/ > <SOAConnection auth="basic" service="nexj:ui:CompanyComponentClient:1.0"/ > <SOAConnection auth="basic" service="nexj:ui:EntityComponentClient:1.0"/ > <SOAConnection auth="basic" service="nexj:ui:EntityCoverageComponentClient:1.0"/ > <SOAConnection auth="basic" service="nexj:ui:OpportunityComponentClient:1.0"/ > <SOAConnection auth="basic" service="nexj:ui:OpportunityCoverageComponentClient:1.0"/ > <SOAConnection auth="basic" service="nexj:ui:ProgressedOpportunityComponentClient:1.0"/ > <SOAConnection auth="basic" service="nexj:ui:RoadshowComponentClient:1.0"/ > <SOAConnection auth="basic" service="nexj:ui:RoadshowCoverageComponentClient:1.0"/ > <SOAConnection auth="basic" service="nexj:ui:RoadshowLegComponentClient:1.0"/ > <SOAConnection auth="basic" service="nexj:ui:RoadshowMeetingRequestComponentClient:1.0"/ > <SOAConnection auth="basic" service="nexj:ui:RoadshowScheduleItemComponentClient:1.0"/ > <SOAConnection auth="basic" service="nexj:ui:RoadshowTemplateComponentClient:1.0"/ > <SOAConnection auth="basic" service="nexj:ui:ScheduleItemComponentClient:1.0"/ > <SOAConnection auth="basic" service="nexj:ui:TaxonomyComponentClient:1.0"/ > <SOAConnection auth="basic" service="nexj:ui:UserComponentClient:1.0"/ > <SOAConnection auth="basic" service="nexj:ui:WorkQueueItemRelatedObject:1.0"/ >
- In the Data Source Connections tab, in the Advanced subtab, ensure that the Path field displays the correct version of the JDBC driver. For example,
- Save and close the environment or connection file.
The connections are updated.
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.
Related links
Configuring a relational database connection
Creating SOA connections
Recreating databases
Creating database tables
Upgrading databases
Updating server information for version 8.9
When you upgrade to NexJ CRM version 8.9, you must update the environment file or the server file for your deployment to reflect new structures and support new functionality.
To update the environment or server file for your deployment:
- In NexJ Studio, open the Deployment layer.
- In the Environments tab, open the environment or server file for your deployment.
- To enable Ad Hoc Reports, you must provide the path to the JasperReports Server:
- In the Overview tab, open the Communication subtab.
- In the AdHoc Reports URL field, specify the path to the JasperReports Server using the following format: https://<hostname>:<port>/jasperserver-pro.
- Specify any of the following new auditing properties:
eventAudit
Specifies whether to log create, update, and delete actions that users perform on objects. This mode logs actions for all auditable objects in NexJ CRM.
readAudit
Specifies whether to log read actions by users in NexJ CRM based on attributes selected for read audit in the NexJ model. You can audit read actions at the object, attribute, or attribute-value level.
updateAudit
Specifies whether to log update actions by users in NexJ CRM based on attributes selected for read audit in the NexJ model.
For more information, see Configuring audit trails. - Save the updated environment or server file.
The server information for your deployment is updated.
Creating new required data sources for version 8.9
If you are upgrading from NexJ Contact version 6.X, you must create three new data sources.
The new required data sources are:
- AuditLogDatabase
- LockDatabase
- ObjectQueueDatabase
Info
While deployment specialists create the databases, developers must be aware of the new data sources before deploy time to avoid issues when testing the system in a local environment.
Before beginning this task, follow the instructions in Adding new connections for version 8.9 to define the new data source connections and new related SOA connections for your deployment.
After you define the data source connections for your deployment, you need to create the tables to store the information in the default relational database. In a production environment, use the Database Schema Tool in NexJ Studio to generate the SQL scripts to create the tables, then provide the scripts to database administrators who have appropriate database access.
In test or development environments, if you have the appropriate access, you might be able to use the Data Load Tool to issue the recreate command directly to the database.
To create new data sources for supporting new NexJ CRM functionality:
- In NexJ Studio, click the down arrow beside the Run Tool button and select Database Schema Tool.
- Complete the Database Schema Tool dialog as required.
Ensure you specify the following information:- In the Command field, select create - generate an SQL script for creating the schema.
- In the Data Source field, select AuditLogDatabase.
- Click Run.
- After the dialog closes and the script file is generated, click the down arrow next to the Run Tool button and select Database Schema Tool.
- Repeat steps 2 and 3 for the remaining data sources.
Issue thecreate
command for the following data sources:- AuditLogDatabase
- LockDatabase
- ObjectQueueDatabase
- Provide the scripts to a database administrator who has appropriate permissions to modify the databases.
The administrator should run the scripts for the applicable databases.
The new data sources are created. After NexJ CRM is deployed, data related to the new functionality is stored in the tables in the default relational database.
Related links
Recreating databases
Creating database tables
Adding the NJStatVersion table to the StatDatabase data source for version 8.9
If you are upgrading from NexJ Contact version 7.1 or earlier, you must add the NJStatVersion table for the StatDatabase data source.
Info
This is a developer task and must be performed in NexJ Studio by a person with access to the model.
You can add the version table in one of the following ways:
- If you do not want to retain the persisted statistics in the StatDatabase data source, you can use the
recreate
command to drop and recreate all tables in the data source. Unless you have a good reason for doing so, we recommend recreating the StatDatabase data source. - If you want to retain the persisted statistics in the StatDatabase data source, you must use the
create
command to generate an SQL script for creating the database tables. Then, you must extract and execute the portion of the script that defines and populates the version table.
To create the NJStatVersion table for the StatDatabase data source:
- Open NexJ Studio.
- If you do not need to retain persisted statistics in the StatDatabase data source:
- Click the down arrow beside the Run Tool button and select Data Load Tool.
- Complete the Database Schema Tool dialog as required.
Ensure you specify the following information:- In the Command field, select recreate - drops and recreate all tables, then imports the data.
- In the Data Source field, select StatDatabase.
The Data Load Tool dialog closes and the tables recreate.
- If you must retain persisted statistics in the StatDatabase data source:
- Click the down arrow beside the Run Tool button and select Database Schema Tool.
- Complete the Database Schema Tool dialog as required.
Ensure you specify the following information:- In the Command field, select create - generate an SQL script for creating the schema.
- In the Data Source field, select StatDatabase.
The Database Schema Tool dialog closes and the script file is generated.
- From the generated SQL script, extract and execute the portion of the script that defines and populates the NJStatVersion table.
- Manually update the value in the version column of the NJStatVersion table to match the version in the NJVersion table that you are upgrading from.
The NJStatVersion table has been added to the StatDatabase data source.
You can now upgrade your data sources.
Upgrading data sources for version 8.9
You must upgrade existing databases to support NexJ CRM version 8.9.
In a production environment, use the Database Schema Tool in NexJ Studio to generate the SQL scripts to upgrade the tables, then provide the scripts to database administrators who have appropriate database access.
In test or development environments, if you have the appropriate access, you might be able to use the Data Load Tool to issue the upgrade directly to the database.
To upgrade the existing data sources for NexJ CRM version 8.9:
- In NexJ Studio, click the down arrow beside the Run Tool button and select Database Schema Tool.
- Complete the Database Schema Tool dialog as required.
Ensure you specify the following information:- In the Command field, select upgrade - generate an SQL script for upgrading the schema.
- Select a required data sources in the Data Source field.
- Click Run.
- Repeat for each required data source.
- Provide the scripts to a database administrator who has appropriate permissions to modify the databases.
The administrator should run the scripts for the applicable databases.
The data sources are upgraded.
Related links
Creating data source connections
Required data source connections
Upgrading the WebSphere application server for version 8.9
Ensure that you have the version of the application server, Java, and JDBC driver, as indicated in the Release Notes document for your product. Then include the latest version of the NexJ-specific files on the server.
Note
Before starting this task, back up your application server.
To upgrade the WebSphere application server for NexJ CRM version 8.9:
- [Optional] If the current JDK installed on your application server is not supported by NexJ, or if you are running additional NexJ applications, such as push redirector or the Eclipse information center, then you need to install a supported version of the JDK. Update the <
JAVA_HOME>
system variable to reflect the location of the JDK.
Note: A standard WebSphere environment only running NexJ CRM can use the pre-installed JDK and the <JAVA_HOME>
system variable does not need to be set. - Install the correct version of the WebSphere application server.
Copy the correct version of the JDBC driver to the following directories. You must specify the path in your environment file, for example, as
path="jtds-1.2.2-7.jar"
.File to copy Copy to directory jtds-1.2.2-7.jar or
ojdbc6-11.2.0.3.jar
%JAVA_HOME%\jre\lib\ext
jtds-1.2.2-7.jar or
ojdbc6-11.2.0.3.jar
%WAS_ROOT%\lib\ext
jtds-1.2.2-7.jar or
ojdbc6-11.2.0.3.jar
%WAS_ROOT%\nexj\lib
Info
When you update the server or environment file for your deployment using NexJ Studio, update the location settings to reflect the correct driver path.
For each node in the cluster, copy the following files from the
%NEXJ_PLUGIN%
directory to the%WAS_ROOT%
directory.File to copy Copy to directory %NEXJ_PLUGIN%\nexjwebsphere.
jar
%WAS_ROOT%\lib\ext
%NEXJ_PLUGIN%\nexjboot.
jar
%WAS_ROOT%\nexj\lib
If you are configuring nexj-websphere.jar
in WebSphere as a shared library instead of copying it to the WAS_ROOT\lib\ext
folder, you should configure WebSphere as follows:
- In WebSphere, configure the shared library settings by expanding Environment and selecting Shared Libraries.
- Associate the shared library with the server by expanding Servers and selecting Application Servers. Select Server Infrastructure → Java and Process Management → Class loader. If a class loader does not exist, create one and under Additional Properties click on Shared library references.
- Configure the Resource Adapter settings by selecting Applications → All applications → NexJ Dynamic Resource Adapter → Additional Properties → Resource Adapter. Configure the jar files in Shared Libraries under Class path.
- Clean all of the transaction logs for the server used to run your application.
- Start the server.
The WebSphere application server is updated for NexJ CRM version 8.9.