Upgrading to v37

This article explains the v37 upgrade process and lets you know what you can expect after upgrading.

Follow these steps to upgrade your application to v37.

Upgrading from v35 or earlier

1. Upgrade to v35.

If you are using v34 or earlier, upgrade to v35. See Upgrading to v35 for instructions for your current version. 

The same set of prerequisites applies to v37, as does the content of the “What to expect after upgrading” section unless otherwise noted in this article.

2. Update flows. 

In v35, upgrade any custom flows to use v35 blocks, if you haven’t already. If you’re using “Document Processing” flows from v34 or earlier, migrate to “Document Processing V35.”

3. Retrain all of your models. 

After the v35 application has been upgraded, retrain all of your models.

4. Update Python packages to 3.9.

If you've installed external Python packages, update them to versions that use Python 3.9.

To learn how to update packages, see Developing Flows.

5. Complete submissions from v34.

Using the "Document Processing V35" flow or a custom flow upgraded to v35, complete any submissions created in v34 or earlier.

Do not use flows or models from v34 or earlier to process these submissions. These flows and models will not work in v35 or v37. If you try to process submissions with them, the submissions will halt. 

There is no filter in the application to determine which submissions were created in which versions, but you can look for older submissions by using the submission date and the dates in your upgrade history as a guide. For example, each submission created in v34 or earlier has a Submission Date that predates your upgrade to v35. 

Ensure submissions from v34 or earlier have a Completed status before upgrading to v37. If they are not completed when you upgrade to v37, they will be halted, and you will need to resubmit or recreate them in order for them to be processed. 

6. Install v36 on your instance.

  1. Copy the v36 bundle onto one of your application machines.

  2. Run bash run.sh init (in Docker-based deployments) or sudo bash run.sh init (in Podman-based deployments).

7.  Install v37 on your instance.

  1. Copy the v37 bundle onto one of your application machines.

  2. Run bash run.sh init (in Docker-based deployments) or sudo bash run.sh init (in Podman-based deployments).

  3. Copy the v37 bundle onto the remaining application machines in your instance.

  4. Run bash run.sh (in Docker-based deployments) or sudo bash run.sh (in Podman-based deployments) on the remaining application machines in your instance.

  5. Install the v37 trainer.

Upgrading from v36

Complete the upgrade process by deploying v37 on all machines running the application. You also need to install a v37 trainer after upgrading the application.

What to expect after upgrading

After upgrading to v37, you may notice some changes in your Flow Library. There may also be some temporary slowness in processing Structured documents, as described in the Machine Classification section below. 

Machine Classification

After upgrading, your first submissions with Structured documents might take up to a few hours to complete. The Machine Classification Block uses pre-computed data to classify Structured documents. After upgrading, this precomputed data is invalidated. The system regenerates this data the first time a submission goes through Machine Classification after upgrading. 

If processing submissions with Structured documents takes longer than expected, you should check the logs from the Activity Log section of the Submission Output page. Verify that the Machine Classification task is the one that takes more time than expected.  

SubmissionActivityLog.png

Flows

When upgrading from a previous version of Hyperscience, the system will automatically move your existing flows to v37 and add new flows included in v37. No changes will be made to your pre-v37 flows as part of this process. Submissions will continue to be processed through your default flow (likely "Document Processing V35" or “Document Processing V36”). This flow will be active and deployed in v37.

Any models, flows, and Custom Code Blocks created in v35 or v36 will continue to work in v37. However, flows created in v30-34, including the pre-built "Document Processing" and "Notifications" flows, will not work in v37, and we do not support the use of these flows. While you can use models created in v35 or v36 in v37, you will not be able to retrain them in v37. If you need to retrain them, you will need to train new v37 models.

When migrating your processing to “Document Processing V37,” we recommend testing the migration in a lower environment (e.g., development, UTA) first. After this testing, you can replicate the migration in your production environment.

To migrate your processing to “Document Processing V37”:

  1. Go to your lower environment.

  2. Duplicate the newly-created “Document Processing” flow.

    a. On the Flows page, find the “Document Processing” flow, and click on the flow's menu ( ).

    b. Click Duplicate Flow.

  3. Configure the duplicated flow with the settings and notifications of the “Document Processing” flow you are using to process submissions in your production environment.

  4. Re-train any Identification, Classification, and Transcription models associated with the previous version's flows by clicking the Run training button on the model details page for each model. Doing so ensures that those models are trained on the latest version of the application and are compatible with the new version's flows.

  5. Assign a release to the duplicated “Document Processing” flow by following the steps in Assigning a Release to a Flow.

  6. Deploy the duplicated “Document Processing” flow by following the steps in Managing Flows.

  7. To test the duplicated “Document Processing” flow, manually upload and process a few submissions through this flow.

  8. If you use an integration to upload submissions, change your integration’s target flow UUID to the UUID of the duplicated “Document Processing” flow. You can copy the UUID of your duplicated “Document Processing” flow by clicking the Copy link at the bottom of the Flow Settings sidebar on the left-hand side of the Flow Studio.

  9. Disable the old “Document Processing” flow by following the steps in Managing Flows.

  10. Repeat steps 2-7 in your production environment, or export the newly created flows and models from your lower environment and import them to your higher environment.

If you are using the “Document Processing Notifications” flow, set up “Submission State Notifications V37” to meet your needs.

Flow groups

In v37, we’ve simplified managing flows and their dependent subflows by introducing flow groups. Deploying and disabling flows automatically propagates updates to any dependent subflows, preventing errors and allowing for easier management of the flow-deployment process.

Flow groups in your instance are shown as cards on the top of the Flows page. All of your flows—whether they’re a flow or a subflow—appear below the flow groups. To view this page, click Flows in the left-hand sidebar of the application.

FlowGroupsV37.png

To learn more about flow groups, see Managing Flows.

System-generated flows

When you upgrade to v37, new document-processing and state-notification flows appear alongside the flows that were in your previous version of Hyperscience.

Document Processing V37

The system-generated flows that appear in your v37 instance depend on which versions you’ve previously used or upgraded to. Upon upgrading to v37, a new "Document Processing V37" flow will be added and will be disabled. This flow is an updated version of the "Document Processing" flows included in previous versions of Hyperscience and contains features introduced in v37. You can work with your Hyperscience representative to determine if this updated flow would be beneficial for your business.

If you decide to use the v37 flow, you will need to configure its Input Blocks and Output Blocks.  

Document Processing Notifications

The system will also move your "Document Processing Notifications" flows to v37, which contain Notification Blocks that execute mid-flow. Each of these flows remains unchanged during the upgrade. In addition, a new “Submission State Notifications V37” flow is created during the upgrade process. Contact your Hyperscience representative if you need to enable or disable connections in these flows after upgrading to v37.