This article explains the v36 upgrade process and lets you know what you can expect after upgrading.
Changes to the upgrade process for v36
The upgrade process for v36 differs from the process used for previous versions, as you must upgrade to v35 before upgrading to v36. While on v35, you need to complete all submissions that were created in v34 or earlier.
Why the upgrade process is different for v36
Hyperscience v35 and earlier depend on Python 3.7, which will not receive security updates after June 2023. In order for us to continue delivering security updates, we have updated our Python dependency to Python 3.9. To make the transition between Python versions as seamless as possible, we have made upgrading to v35 a required step in the upgrade process for v36.
Follow these steps to upgrade your application to v36.
1. Upgrade to v35.
See Upgrading to v35 for instructions for your current version.
The same set of prerequisites applies to v36, as well as the content of the “What to expect after upgrading” section unless otherwise noted in this article.
2. Update flows to v35.
In v35, upgrade any custom flows to use v35 blocks.
3. Retrain all of your models.
After 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 or earlier.
Complete any submissions created with flows from v34 or earlier.
Flows and models from v34 or earlier will not work in v36 or later. 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 v36. If they are not completed when you upgrade to v36, they will likely be halted, and you will need to resubmit or recreate them in order for them to be processed.
6. Install v36 on your instance.
Complete the upgrade process by deploying v36 on all machines running the application. You also need to install a v36 trainer after upgrading the application.
What to expect after upgrading
After upgrading to v36, you may notice some changes in your Flow Library. There may also be some 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 precomputed 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.
Flows
When upgrading from a previous version of Hyperscience, the system will automatically move your existing flows to v36 and add new flows included in v36. No changes will be made to your pre-v36 flows as part of this process. Submissions will continue to be processed through your default flow (likely "Document Processing V35"). This flow will be active and deployed in v36.
Any models, flows, and Custom Code Blocks created in v35 will continue to work in v36. However, flows created in v30-34, including the pre-built "Document Processing" and "Notifications" flows, will not work in v36, and we do not support the use of these flows. While you can use models created in v35 in v36, you will not be able to retrain them in v36. If you need to retrain them, you will need to train new v36 models.
When migrating your processing to “Document Processing V36,” 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 V36”:
Go to your lower environment.
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.Configure the duplicated flow with the configuration settings and notifications of the “Document Processing” flow you are using to process submissions in your production environment.
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.
Assign a release to the duplicated “Document Processing” flow by following the steps in Assigning a Release to a Flow.
Deploy the duplicated “Document Processing” flow by following the steps in Managing Flows.
To test the duplicated “Document Processing” flow, manually upload and process a few submissions through this flow.
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.
Disable the old “Document Processing” flow by following the steps in Managing Flows.
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.
System-generated flows
When you upgrade to v36, new "Document Processing" and "Submission State Notification" flows appear alongside the flows that were in your previous version of Hyperscience.
Document Processing V36
A new "Document Processing V36" 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 v36. 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 new flow, you will need to add Input Blocks and Output Blocks to it, as they are not included by default.
Document Processing Notifications
The system will also move your "Document Processing Notifications" flows to v36, which contain Notification Blocks that execute mid-flow. Each of these flows remains unchanged during the upgrade. In addition, a new “Submission State Notifications V36” 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 v36.