Deploying Releases of Canvas Technology Platform

  1. Ensure that you have correct information on the environment details of your application, such as:
    1. Canvas Technology Platform
    2. Application server
    3. Database server
    4. Canvas Studio schema name
    5. Context root of your application
    6. Application ID of your application

  2. Ensure that you have downloaded the correct patch release of Canvas Technology (CT) Platform.
    The Canvas patch release package shall contain the following:
    • CT JARs
      • CTFull.jar
      • CTResources.jar
      • CTLogging-Log4j-1x.jar
      • CTLogging-Log4j-2x.jar
      • CTRIAFramework.zip
    • Canvas Studio WAR (If any Studio issues are fixed)
      • expertctstudio.war
      • Canvas Studio DB scripts
      • JBOSS modules (If JBOSS app server is being used by your application)
    • Incremental DB scripts (If any DB structural changes)

         3.  Extract the downloaded patch release package.

Deploying the latest patch release of Canvas Technology

To deploy the latest patch release of Canvas Technology, perform the following steps: 
         1.  Update Canvas Platform JARs:
                 a. In your project (application) folder, open the existing CTResources.JAR and copy the CanvasApplicationContext.JSON file.

The CTResources.JAR will be available in the dependencies folder of your project (application) that was created using the Canvas Setup Wizard.

                 b. Paste the copied CanvasApplicationContext.JSON file inside the latest extracted CTResources.JAR of the Canvas patch release.

The CanvasApplicationContext.JSON file in your project (application) folder must have the details of your application. For example:

[
 {
  "contextRoot": "ctmodelhouse", // application context root
  "applicationId": "MODELHOUSE", // same application ID given for executing DB script during initial Canvas setup
  "displayName": "ModelHouse", // application display name
  "isService": "N" // Retain the value ‘N’ for monolith application
 }
]

                  c. Copy the extracted CT JARs and replace the existing CT JARs in your project (application) folder.

Updating the Studio WAR

  1. Update Canvas Studio WAR:
    The Canvas Studio WAR is provided when any issues in Canvas Studio is fixed. To update the Canvas Studio WAR perform the following steps:
    1. In your project (application) folder, open the existing Canvas Studio WAR (expertctstudio.war) and copy the CanvasApplicationContext.JSON file in the CTResources.JAR (expertctstudio.war\WEB-INF\lib\CTResources.jar\CanvasApplicationContext.JSON).
    2. Paste the copied CanvasApplicationContext.JSON file inside the latest extracted CTResources.JAR of the Canvas Studio WAR (expertctstudio.war).
      The CanvasApplicationContext.JSON file in the Canvas Studio WAR must first have the details of your application and then Canvas Studio respectively. For example:

      [
       {
        "contextRoot": "ctmodelhouse", // application context root
        "applicationId": "MODELHOUSE", // same application ID given for executing DB script during initial Canvas setup
        "displayName": "ModelHouse", // application display name
        "isService": "N" // Retain the value 'N' for monolith application
       }, 
      
      // DO NOT CHANGE THE FOLLOWING CT STUDIO DETAILS:
       {
        "contextRoot": "expertctstudio", // CT Studio context root
        "applicationId": "CTSTUDIO", // CT Studio application ID
        "displayName": "CT-STUDIO", // CT Studio display name
        "isService": "N" // CT Studio monolith
       }
      ] 
    3. Ensure the correct DB details of your application are provided in the CT_FW_DATABASE_VENDOR and DB_VENDOR properties in the ctstudiodatabaseconfig.properties inside the latest Canvas Studio WAR (expertctstudio.war\WEB-INF\lib\expertctstudioResource.jar\ctstudiodatabaseconfig.properties). For example:

      CT_FW_DATABASE_VENDOR=oracle
      DB_VENDOR=oracle 
    4. Check the correct work folder paths (OS-specific) are provided in the CT_WORK_FOLDER_PATH and CT_WORK_CENTRALIZED_FOLDER_PATH properties in the ctstudioImplementation.properties in the latest Canvas Studio WAR (expertctstudio.war\WEB-INF\libexpertctstudioResource.jar\ ctstudioImplementation.properties).
    5. Copy the latest Canvas Studio WAR and replace the existing WAR in your project (application) folder.
    6. If using JBOSS application server, you must replace the existing Canvas Studio folder with the latest from the Canvas release package. For example, ../jboss-eap-8.0\modules\com\intellectdesign\thirdparty\expertctstudio.

Executing DB and Incremental Scripts    

  1. Run Canvas Studio DB Scripts

    1. Open the config.txt file in the DB script folder in the Canvas release package and ensure to have the correct values for the APP_LIST property. For example, ..\ Studio\canvasSetup_oracle.zip\bin\config.txt.

      CTSTUDIO_SCHEMA=EXPERT // Provide the existing CT Studio schema name
      CTSTUDIO_PASSWORD=EXPERT // Provide the CT Studio schema password 
      
      APP_LIST=ctstudio // Remove references to modelhouse 

      If you execute the DB scripts in a development environment, proceed to the next step or else, proceed to step c.

    2. In the same config.txt file, specify the connection URL of the database environment. For example: 

      CONN=//10.10.9.68:1521/SIR14482 

      After specifying the connection URL of the database environment, make sure to comment the DBA User ID and DBA Password in the config.txt file. For example: 

      #DBA_ID=sys as sysdba // DBA User ID
      #DBA_PASSWORD=Welcome01 // DBA Password 
    3. Save the changes to the config.txt file.
    4. Execute the appropriate run file (run.bat or run.sh).

  2. Run Incremental DB scripts

    1. Open the incremental DB script file and ensure that the application ID is correctly mentioned. If suppose, there are references to ‘Modelhouse’, ensure to replace those with your application ID.
    2. Execute the incremental DB script on the target schema that stores the metadata of the Canvas components.
    3. Execute the CT_TRACK_DML.sql on the target schema that stores the metadata of the Canvas components.

  3. Restart the application and DB servers and check if the application and Canvas Studio are launched properly.
    1. To troubleshoot any application launch issues, check the log files in the respective log folder of the application server. Canvas log files will have the prefix, “CanvasConfig”. For example, 'CanvasConfig_20200709112724_tomcat_expertstudio.log’.


  • If the latest release revision is 19.1.7.11 19679 and above, refer to the following:

Perform the following steps to use the CT release as-is without the need to update the CanvasApplicationContext.json file in the CTResources.jar.

  1. Update web.xml in the application WAR:

Example, File Location...\webapps\ctmodelhouse\WEB-INF\web.xml

The following snippet provides the sample values of the necessary elements and attributes that are to be configured within web.xml.

<context-param>
<param-name>appId</param-name>
<param-value>MODELHOUSE</param-value>
</context-param>

The param name should remain unchanged. Only "appId" should be used.

If the context-param attribute is already present in the web.xml for a different param-name, the new context-param attribute has to be added after that to configure the value of appId.

Refer to the following snippet for sample values of the necessary elements and attributes that are to be configured within web.xml.

<context-param>
<param-name>ModelHouseInitializeBundle</param-name>
<param-value>MyImplementation</param-value>
</context-param>

<context-param>
<param-name>appId</param-name>
<param-value>MODELHOUSE</param-value>
</context-param>