Skip to content

Upgrading from MDW 5.5

donaldoakes edited this page Oct 25, 2018 · 15 revisions

1. Container

TODO

2. Database

RDBMS

For runtime state persistence MDW 6 uses a relational database (MySQL, MariaDB or Oracle), just like MDW 5.5. However, document storage has been externalized in MDW 6 and so a data conversion step is needed for in-flight workflow continuation. Execute this upgrade script to update the data model and migrate document data: /master/mdw/database/mysql/upgrade_from_mdw55.sql.

If you're using the Embedded DB option for local development, deleting the data directory on your hard drive will cause the database to be automatically recreated with the MDW 6 tables (and you'll lose any existing data).

MongoDB

A key advantage of MDW 6 is the option to use a special-purpose document store instead of the old RDBMS CLOB technique. In the absence of any MongoDB configuration in mdw.properties, MDW will store document values as CLOBS in the column DOCUMENT_CONTENT.CONTENT. This is convenient in situations like local development where you may not wish to install MongoDB. If you have MongoDB, you can set mdw.mongodb.host and mdw.mongodb.port, to tell MDW to use this docstore option.

3. Java

  • MDW 6 requires Java 1.8, so update your Tomcat Runtime Environment in Eclipse if it's on something older.
    Also change your Gradle or Maven build configuration and Eclipse JRE and project facets to use Java 1.8.
  • Many Java packages and classes from mdw-common have been renamed from MDW 5.5 to streamline the code and more accurately represent its purpose. You can use Eclipse refactoring and "Organize Imports" to lessen the pain of changing your code to reference these renamed resources.

4. Configuration

  • To indicate development mode, previously you set the system property -DruntimeEnv=dev in your Tomcat startup config. For MDW 6 this system property changes to -Dmdw.runtime.env=dev
  • Web access is now controlled by access.yaml. As a starting point you can copy this from here: /master/mdw/config/access.yaml.
    Then remove mdw.dev.user from your mdw.properties and instead set devUser in access.yaml.

5. Custom Web

  • JSF customization is no longer supported in MDW 6. Custom web assets under mdw-hub should use the HTML5/ReactJS extensibility techniques. If your MDW 5.5 project includes mdw-admin package customization, this package should be renamed to mdw-hub to take effect in MDW 6.

6. Designer

  • Designer is deprecated in favor of MDW Studio. If your project contains old-style assets, you should use Designer one last time to upgrade to mdw6-style assets as described below.
  • MDW 6 uses package.yaml meta files instead of the old package.json. After converting any old-style assets as described below, use the MDW CLI to convert package.json files: mdw convert --packages.
  • Create a project.yaml file in the root of your workflow project.

7. Transitioning to VCS Asset Persistence

  • Any MDW application upgrading to Release 5.5 can take advantage of VCS asset persistence. Beyond the steps outlined in the MDW 5.5 Upgrade Guide, the following additional steps are required.

  • Designer:

    • Export your latest workflow packages to XML (Right-click in Process Explorer > Export > Workflow Package).
    • In your workflow project edit the file .settings/com.centurylink.mdw.plugin.xml to include the repository element:
      <mdw-workflow> 
      ...
        <repository provider="Git"/>
      </mdw-workflow>
    • Close all open processes/assets, and click the Refresh toolbar button in Process Explorer (or just restart Eclipse).
    • When you expand your project in Process Explorer, you'll notice your workflow packages no longer appear. This is because Designer wants to load them from the file system rather than the database. Import the MDW base and hub packages, and then the package XML files you exported in step 1.
    • Commit and push your project contents to your Git repository.
  • Server:

    • Add the following to your MDW properties:
    mdw.asset.location=c:/workspaces/dons/mdwdemo/src/main/workflow
    mdw.git.local.path=c:/workspaces/dons/mdwdemo
    mdw.git.remote.url=http://&lt;githost&gt;/mdwdemo.git
    mdw.git.branch=master
    
    • Run your server in the usual way.
    • For Dev Integration environments on Linux, execute the MDW Install Utility MDW Install Utility to pull your assets from Git into mdw.git.location.