Upgrading the conversations and messaging data sources

NexJ Contact version 5.1 introduces the conversation and messaging functionality.

Starting with NexJ Contact version 5.1, two new data sources are needed to store information related to messages and conversations separately from other user data.

If you are migrating NexJ Contact from any version prior to 5.1, you need to define and create these data sources.

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. Depending on your database access levels, either you can create the tables directly from NexJ Studio, using the Data Load Tool or you can generate the scripts for creating tables using the Database Schema Tool and then have a database administrator run the scripts against the database.

To define and create new data sources for storing conversation and messaging data:

  1. In NexJ Studio, add the required new data source connections to the environment or connection file.
    Add two relational database connections, one for data source named Conversation and one for data source named msg:Messaging. For example:
    <RelationalDatabaseConnection adapter="MSSQL"
              dataSource="Conversation" database="crm" host="localhost"
              maxPoolSize="66" password="password" path="jtds-1.2.2-3.jar"
              port="1433" unicode="true" user="username"/>
    
    <RelationalDatabaseConnection adapter="MSSQL"
              dataSource="msg:Messaging" database="crm" host="localhost"
              maxPoolSize="66" password="password" path="jtds-1.2.2-3.jar"
              port="1433" unicode="true" user="username"/> 

    For more information about configuring relational database connections, see Configuring a relational database connection.

  2. Add the required new SOA connections to the environment or connection file.
    Add the following five SOA connections for conversation and messaging services: DesktopBeaconPushService, DesktopPushService, DesktopStreamRefreshPushService, SubscriptionEngineService, and ConversationService. For example:
    
    <SOAConnection address="https://hostname:port/nexj/text"
              auth="basic" binding="trpc" password="text:nexj"
              service="nexj:soa:ConversationService:1.0" user="nexjsa"/>
    
    <SOAConnection address="http://hostname:port/nexj/text"
              auth="basic" binding="context" password="text:nexj"
              service="nexj:soa:DesktopBeaconPushService:1.0" user="nexjsa"/>
    
    <SOAConnection address="http://hostname:port/nexj/text"
              auth="basic" binding="context" password="text:nexj"
              service="nexj:soa:DesktopPushService:1.0" user="nexjsa"/>
    
    <SOAConnection address="http://hostname:port/nexj/text"
              auth="basic" binding="context" password="text:nexj"
              service="nexj:soa:DesktopStreamRefreshPushService:1.0" user="nexjsa"/>
    
    <SOAConnection address="http://hostname:port/nexj/text"
              auth="basic" binding="context" password="text:nexj"
              service="nexj:soa:SubscriptionEngineService:1.0" user="nexjsa"/>
              

    For more information about configuring SOA connections, see Creating SOA connections.

  3. Create the two required data sources, Conversation and msg:Messaging.
    • If you have write access to the database where you want to store conversation and messaging data, use the Data Load Tool in NexJ Studio to create the tables. This usually happens when you are deploying in a test environment.
      1. In NexJ Studio, click the drop-down arrow next to the Run Tool button and select Data Load Tool.
      2. Complete the Data Load Tool dialog as required, but ensure you specify the following information:
        • In the Command field, select recreate - Drops and recreates all tables, then imports the data.
        • In the Data Source field, press the Ctrl button and select Conversation and msg:Messaging.
        • Click the Advanced button. In the VM Arguments field, enter -Dseed.enabled=false on its own line.
      3. Click Run.

      For more information about recreating databases, see Recreating databases.

    • If you do not have write access to the database where you want to store conversation and messaging data, use the Database Schema Tool in NexJ Studio to generate the SQL script to create the tables. You can provide this script to a database administrator with appropriate permissions. This usually happens when you are deploying in a production environment.
      1. In NexJ Studio, click the drop-down arrow next to the Run Tool button and select Database Schema Tool.
      2. Complete the Database Schema Tool dialog as required, but 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 Conversation.
      3. Click Run.
      4. After the dialog closes and the script file has been generated, click the drop-down arrow next to the Run Tool button and select Database Schema Tool.
      5. Complete the Database Schema Tool dialog as required, but 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 msg:Messaging.
      6. Click Run.

      For more information about generating database schemas, see Creating database tables.

The two new data sources have been created. After NexJ Contact has been deployed, data related to conversations and messaging will be stored in these tables in the default relational database.