Adding new connections for version 6.1

When you upgrade from a previous version of NexJ Contact, you must update the environment file or the connection file for your deployment to reflect new structures and support new functionality.
To update the environment or connection file for your deployment:
  1. In NexJ Studio, open the Deployment layer.
  2. In the Environments tab, double-click the name of the environment or connection file for your deployment.
  3. Make the following changes.
    1. On the Data Source Connections tab, review the existing data source connections.
      Prior to this release, each data source had its own database connection. For example:
        <DataSourceConnections>
           <RelationalDatabaseConnection adapter="MSSQL" dataSource="DefaultRelationalDatabase" database="testdb" host="example.local" password="nexj" path="jtds-1.2.2-4.jar" port="1433" unicode="true" user="nexj_qa"/>
           <RelationalDatabaseConnection adapter="MSSQL" dataSource="SessionDatabase" database="testdb" host="example.local" password="nexj" path="jtds-1.2.2-3.jar" port="1433" unicode="true" user="nexj_qa"/>
           <RelationalDatabaseConnection adapter="MSSQL" dataSource="BI_1_BI_Database" database="testdb_BI" host="example.local" password="nexj" path="jtds-1.2.2-4.jar" port="1433" unicode="true" user="nexj_qa"/>
           <RelationalDatabaseConnection adapter="MSSQL" dataSource="msg:Messaging" database="testdb" host="example.local" password="nexj" path="jtds-1.2.2-4.jar" port="1433" unicode="true" user="nexj_qa"/>
           <RelationalDatabaseConnection adapter="MSSQL" dataSource="Conversation" database="testdb" host="example.local" password="nexj" path="jtds-1.2.2-4.jar" port="1433" unicode="true" user="nexj_qa"/>
           <RelationalDatabaseConnection adapter="MSSQL" dataSource="ecr:ECR" database="testdb" host="example.local" password="nexj" path="jtds-1.2.2.4.jar" port="1433" unicode="true" user="nexj_qa"/>
        </DataSourceConnections>
      To migrate from a previous release, you must change the connections to the current format, where multiple data sources can belong to a single database connection. For example:
      <DataSourceConnections>
            <RelationalDatabaseConnection adapter="MSSQL" database="testdb" host="example.local" password="nexj" path="jtds-1.2.2-4.jar" port="1433" unicode="true" user="nexj_user">
               <DataSource name="DefaultRelationalDatabase"/>
               <DataSource name="Conversation"/>
               <DataSource name="ecr:ECR"/>
               <DataSource name="msg:Messaging"/>
               <DataSource name="SessionDatabase"/>
               <DataSource name="StagingDatabase"/>
      </RelationalDatabaseConnection>
    2. On the Data Source Connections tab, if all the data sources reside in the same database, add one relational database connection or select an existing relational database connection.
      Include the following data sources in the database connection:
      • call:Call
      • flow:Flow
      • ilm:LeadManagement
      • rules:Rules
      • uicomp:UIComponent
      For example:
      <DataSourceConnections>
         <RelationalDatabaseConnection adapter="MSSQL" database="enterprise" 
         host="localhost" password="nexj" path="jtds-1.2.2-6.jar" 
         port="1433" unicode="true" user="nexjsa">
            ...
            <DataSource name="call:Call"/>      
            <DataSource name="flow:Flow"/>
            <DataSource name="ilm:LeadManagement"/>
            <DataSource name="rules:Rules"/>
            <DataSource name="uicomp:UIComponent"/>
         </RelationalDatabaseConnection>
      </DataSourceConnections>
      Note: If the data sources reside in multiple databases, add one database connection for each database. Then add each data source to the appropriate database connection.
    3. On the Data Source Connections tab, select Relational Database Connections. On the Advanced subtab, ensure that the Path field points to the correct version of the JDBC driver. For example, jtds-1.2.2-6.jar.
    4. On the Channel Connections tab, add the required channel connections.
      Add the following required channel connections of the MessageQueueConnection channel type:
      • BatchProcessQueue
      • BI_1_BIBulkSync
      • BISyncQueue
      • ErrorQueue
      • LDAPSyncQueue
      • ReportSystemQueue
      • RetryQueue
      • SyncQueue
      For example:
      <MessageQueueConnection channel="BatchProcessQueue" password="nexj" user="nexjsa"/>
      <MessageQueueConnection channel="BI_1_BIBulkSync" password="nexj" user="nexjsa"/>
      <MessageQueueConnection channel="BISyncQueue" password="nexj" user="nexjsa"/>
      <MessageQueueConnection channel="ErrorQueue" password="nexj" user="nexjsa"/>
      <MessageQueueConnection channel="LDAPSyncQueue" password="nexj" user="nexjsa"/>
      <MessageQueueConnection channel="ReportSystemQueue" password="nexj" user="nexjsa"/>
      <MessageQueueConnection channel="RetryQueue" password="nexj" user="nexjsa"/>
      <MessageQueueConnection channel="SyncQueue" password="nexj" user="nexjsa"/>
      
    5. Optional: On the Channel Connections tab, verify that a MailConnection channel connection exits.

      Users can choose to receive two types of notifications of new messages in their conversations: email notifications or toast popup notifications. To enable users to receive email notifications of new messages, ensure that a mail connection channel has been added to the environment file.

      This functionality does not require a dedicated channel. One 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"/> 
    6. On the SOA Connections tab, add the required SOA connections.
      The following is the complete list of new and existing SOA connections required for version 6.1:
      • nexj:act:ActivityPlan:1.0
      • nexj:act:ActTemplate:1.0
      • nexj:act:ApprovalObject:1.0
      • nexj:act:DefaultActTemplate:1.0
      • nexj:act:DefaultServiceRequestTemplate:1.0
      • nexj:act:DocumentService:1.0
      • nexj:act:Task:1.0
      • nexj:call:CallScriptTemplate:1.0
      • nexj:call:InboundCall:1.0
      • nexj:call:InboundCallComponentClient:1.0
      • nexj:crm:AssignmentModel:1.0
      • nexj:crm:Contact:1.0
      • nexj:crm:EntityParticipation:1.0
      • nexj:crm:Opportunity:1.0
      • nexj:crm:RelatedObjectWorkQueue:1.0
      • nexj:crm:UserPerson:1.0
      • nexj:flow:FlowObject:1.0
      • nexj:flow:QuestionnaireService:1.0
      • nexj:flow:SecurityDelegateService:1.0
      • nexj:ilm:DistributeActionCommandClient:1.0
      • nexj:ilm:Lead:1.0
      • nexj:ilm:LeadCallScriptTemplate:1.0
      • nexj:ilm:LeadComponentClient:1.0
      • nexj:leaf:Leaflet:1.0
      • nexj:rules:CreateActivityPlanCommandClient:1.0
      • nexj:rules:CreateTaskCommandClient:1.0
      • nexj:rules:MessageActionCommandClient:1.0
      • nexj:rules:Rule:1.0
      • nexj:rules:SetActionCommandClient:1.0
      • nexj:soa:Audit:1.0
      • nexj:soa:Bulletin:1.0
      • nexj:soa:ConversationService:1.0
      • nexj:soa:DataMatchService:1.0
      • nexj:soa:DataMatchServiceConfiguration:1.0
      • nexj:soa:DesktopBeaconPushService:1.0
      • nexj:soa:DesktopPushService:1.0
      • nexj:soa:DesktopStreamRefreshPushService:1.0
      • nexj:soa:EmailNotificationService:1.0
      • nexj:soa:MobilePushService:1.0
      • nexj:soa:PortletRegistry:1.0
      • nexj:soa:Registry:1.0
      • nexj:soa:SubscriptionEngineService:1.0
      • nexj:soa:UserRegistry:1.0
      • nexj:soa:UserRegistryClient:1.0
      • nexj:ui:ActTemplateComponentClient:1.0
      • nexj:ui:ApprovalPlanStepComponentClient:1.0
      • nexj:ui:ApprovalPlanTemplateComponentClient:1.0
      • nexj:ui:AssignmentModelComponentClient:1.0
      • nexj:ui:AssignmentModelRoleComponentClient:1.0
      • nexj:ui:ClientKYCComponentClient:1.0
      • nexj:ui:DocumentMgrItemComponentClient:1.0
      • nexj:ui:PersonComponentClient:1.0
      • nexj:ui:TaskComponentClient:1.0
      • nexj:ui:UIComponent:1.0
      • nexj:ui:UIComponentClient:1.0
      • nexj:ui:WorkQueueComponentClient:1.0
      For example:
      <SOAConnection auth="basic" binding="context" password="text:nexj" service="nexj:act:ActivityPlan:1.0" user="nexjsa"/>
      <SOAConnection auth="basic" binding="context" password="text:nexj" service="nexj:act:ActTemplate:1.0" user="nexjsa"/>
      <SOAConnection auth="basic" binding="context" password="text:nexj" service="nexj:act:ApprovalObject:1.0" user="nexjsa"/>
      <SOAConnection auth="basic" binding="context" password="text:nexj" service="nexj:act:DefaultActTemplate:1.0" user="nexjsa"/>
      <SOAConnection auth="basic" binding="context" password="text:nexj" service="nexj:act:DefaultServiceRequestTemplate:1.0" user="nexjsa"/>
      <SOAConnection auth="basic" binding="context" password="text:nexj" service="nexj:act:DocumentService:1.0" user="nexjsa"/>
      <SOAConnection auth="basic" binding="context" password="text:nexj" service="nexj:act:Task:1.0" user="nexjsa"/>
      <SOAConnection auth="basic" binding="context" password="text:nexj" service="nexj:call:CallScriptTemplate:1.0" user="nexjsa"/>
      <SOAConnection auth="basic" binding="context" password="text:nexj" service="nexj:call:InboundCall:1.0" user="nexjsa"/>
      <SOAConnection auth="basic" binding="context" password="text:nexj" service="nexj:call:InboundCallComponentClient:1.0" user="nexjsa"/>
      <SOAConnection auth="basic" binding="context" password="text:nexj" service="nexj:crm:AssignmentModel:1.0" user="nexjsa"/>
      <SOAConnection auth="basic" binding="context" password="text:nexj" service="nexj:crm:Contact:1.0" user="nexjsa"/>
      <SOAConnection auth="basic" binding="context" password="text:nexj" service="nexj:crm:EntityParticipation:1.0" user="nexjsa"/>
      <SOAConnection auth="basic" binding="context" password="text:nexj" service="nexj:crm:Opportunity:1.0" user="nexjsa"/>
      <SOAConnection auth="basic" binding="context" password="text:nexj" service="nexj:crm:RelatedObjectWorkQueue:1.0" user="nexjsa"/>
      <SOAConnection auth="basic" binding="context" password="text:nexj" service="nexj:crm:UserPerson:1.0" user="nexjsa"/>
      <SOAConnection auth="basic" binding="context" password="text:nexj" service="nexj:flow:FlowObject:1.0" user="nexjsa"/>
      <SOAConnection auth="basic" binding="context" password="text:nexj" service="nexj:flow:QuestionnaireService:1.0" user="nexjsa"/>
      <SOAConnection auth="basic" binding="context" password="text:nexj" service="nexj:flow:SecurityDelegateService:1.0" user="nexjsa"/>
      <SOAConnection auth="basic" binding="context" password="text:nexj" service="nexj:ilm:DistributeActionCommandClient:1.0" user="nexjsa"/>
      <SOAConnection auth="basic" binding="context" password="text:nexj" service="nexj:ilm:Lead:1.0" user="nexjsa"/>
      <SOAConnection auth="basic" binding="context" password="text:nexj" service="nexj:ilm:LeadCallScriptTemplate:1.0" user="nexjsa"/>
      <SOAConnection auth="basic" binding="context" password="text:nexj" service="nexj:ilm:LeadComponentClient:1.0" user="nexjsa"/>
      <SOAConnection auth="basic" binding="context" password="text:nexj" service="nexj:leaf:Leaflet:1.0" user="nexjsa"/>
      <SOAConnection auth="basic" binding="context" password="text:nexj" service="nexj:rules:CreateActivityPlanCommandClient:1.0" user="nexjsa"/>
      <SOAConnection auth="basic" binding="context" password="text:nexj" service="nexj:rules:CreateTaskCommandClient:1.0" user="nexjsa"/>
      <SOAConnection auth="basic" binding="context" password="text:nexj" service="nexj:rules:MessageActionCommandClient:1.0" user="nexjsa"/>
      <SOAConnection auth="basic" binding="context" password="text:nexj" service="nexj:rules:Rule:1.0" user="nexjsa"/>
      <SOAConnection auth="basic" binding="context" password="text:nexj" service="nexj:rules:SetActionCommandClient:1.0" user="nexjsa"/>
      <SOAConnection auth="basic" binding="context" password="text:nexj" service="nexj:soa:Audit:1.0" user="nexjsa"/>
      <SOAConnection auth="basic" binding="context" password="text:nexj" service="nexj:soa:Bulletin:1.0" user="nexjsa"/>
      <SOAConnection auth="basic" binding="context" password="text:nexj" service="nexj:soa:ConversationService:1.0" user="nexjsa"/>
      <SOAConnection auth="basic" binding="context" password="text:nexj" service="nexj:soa:DataMatchService:1.0" user="nexjsa"/>
      <SOAConnection auth="basic" binding="context" password="text:nexj" service="nexj:soa:DataMatchServiceConfiguration:1.0" user="nexjsa"/>
      <SOAConnection auth="basic" binding="context" password="text:nexj" service="nexj:soa:DesktopBeaconPushService:1.0" user="nexjsa"/>
      <SOAConnection auth="basic" binding="context" password="text:nexj" service="nexj:soa:DesktopPushService:1.0" user="nexjsa"/>
      <SOAConnection auth="basic" binding="context" password="text:nexj" service="nexj:soa:DesktopStreamRefreshPushService:1.0" user="nexjsa"/>
      <SOAConnection auth="basic" binding="context" password="text:nexj" service="nexj:soa:EmailNotificationService:1.0" user="nexjsa"/>
      <SOAConnection auth="basic" binding="context" password="text:nexj" service="nexj:soa:MobilePushService:1.0" user="nexjsa"/>
      <SOAConnection auth="basic" binding="context" password="text:nexj" service="nexj:soa:PortletRegistry:1.0" user="nexjsa"/>
      <SOAConnection auth="basic" binding="context" password="text:nexj" service="nexj:soa:Registry:1.0" user="nexjsa"/>
      <SOAConnection auth="basic" binding="context" password="text:nexj" service="nexj:soa:SubscriptionEngineService:1.0" user="nexjsa"/>
      <SOAConnection auth="basic" binding="context" password="text:nexj" service="nexj:soa:UserRegistry:1.0" user="nexjsa"/>
      <SOAConnection auth="basic" binding="context" password="text:nexj" service="nexj:soa:UserRegistryClient:1.0" user="nexjsa"/>
      <SOAConnection auth="basic" binding="context" password="text:nexj" service="nexj:ui:ActTemplateComponentClient:1.0" user="nexjsa"/>
      <SOAConnection auth="basic" binding="context" password="text:nexj" service="nexj:ui:ApprovalPlanStepComponentClient:1.0" user="nexjsa"/>
      <SOAConnection auth="basic" binding="context" password="text:nexj" service="nexj:ui:ApprovalPlanTemplateComponentClient:1.0" user="nexjsa"/>
      <SOAConnection auth="basic" binding="context" password="text:nexj" service="nexj:ui:AssignmentModelComponentClient:1.0" user="nexjsa"/>
      <SOAConnection auth="basic" binding="context" password="text:nexj" service="nexj:ui:AssignmentModelRoleComponentClient:1.0" user="nexjsa"/>
      <SOAConnection auth="basic" binding="context" password="text:nexj" service="nexj:ui:ClientKYCComponentClient:1.0" user="nexjsa"/>
      <SOAConnection auth="basic" binding="context" password="text:nexj" service="nexj:ui:DocumentMgrItemComponentClient:1.0" user="nexjsa"/>
      <SOAConnection auth="basic" binding="context" password="text:nexj" service="nexj:ui:PersonComponentClient:1.0" user="nexjsa"/>
      <SOAConnection auth="basic" binding="context" password="text:nexj" service="nexj:ui:TaskComponentClient:1.0" user="nexjsa"/>
      <SOAConnection auth="basic" binding="context" password="text:nexj" service="nexj:ui:UIComponent:1.0" user="nexjsa"/>
      <SOAConnection auth="basic" binding="context" password="text:nexj" service="nexj:ui:UIComponentClient:1.0" user="nexjsa"/>
      <SOAConnection auth="basic" binding="context" password="text:nexj" service="nexj:ui:WorkQueueComponentClient:1.0" user="nexjsa"/>
      
      
The connections have now been updated.

After updating the environment file, use the Database Schema Tool in NexJ Studio to issue the create command against your data sources. This generates the appropriate SQL scripts, which 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 against your data sources. If you have the appropriate database access, you can make the changes directly in the database.