When upgrading from UnifiedViews 2.X to 3.X, you have to also upgrade DPUs. Without upgrading the DPUs, you can still view pipeline configurations, but you cannot execute pipelines.

If you only used Core DPUs, please follow the "Batch upgrade of existing DPUs with the DPUs supporting UV 3.X".

If you have also custom DPUs, you need to upgrade them first. In this case, please follow "Upgrading Custom DPUs".Then please follow "Batch upgrade of existing DPUs with the DPUs supporting UV 3.X".

If you need to selectively upgrade just few DPUs, you can follow "Manual upgrade of existing DPUs with the DPUs supporting UV 3.X"

 

 

Manual upgrade of existing DPUs with the DPUs supporting UV 3.X

Go to user interface of UnifiedViews, DPU Templates, find the DPU you would like to replace. Click on "Replace". 

Batch upgrade of existing DPUs with the DPUs supporting UV 3.X

Prerequisite:

Steps:

  1. Put the JAR files of the DPUs, you would like to import or replace to a single folder, e.g. "dpus".
    1. You can download core DPUs for UnifiedViews 3.0 from Maven nexus repository
    2. If you would like to upgrade custom DPUs, you may find these under "target" folder of each DPU
  2. Download and open batch-replace-dpu.sh
    1. Adjust REST_API_URL, so that it contains URL of your UnifiedViews instance 
    2. Adjust MASTER_USER, so that it contains username for the UnifiedViews REST API (can be obtained from config.properties of frontend, key "master.api.user")
    3. Adjust MASTER_PASS, so that it contains password for the UnifiedViews REST API (can be obtained from config.properties of frontend, key "master.api.password")
  3. Check that the REST API of UnifiedViews is running
    1. e.g. by accessing http://localhost:8080/master/api/1/pipelines
      1. You should get as a result: {"errorMessage":"Request is not authorized.","technicalMessage":"Basic authentication from request header is missing or incorrect."}
      2. If you get 404 as the result, than please check that the web application with REST API is properly deployed
  4. Run sh batch-replace-dpu.sh {path to the folder with the DPUs}
    1. e.g. sh batch-replace-dpu.sh ./dpus

 

Adjusting Custom DPUs: 

  1. Maven pom.xml file of your DPU has to refer to the v 3.X of the uv-pom-dpu project:

    <parent>
        <groupId>eu.unifiedviews</groupId>
        <artifactId>uv-pom-dpu</artifactId>
        <version>3.X.X</version>
        <relativePath />
    </parent>
  2. Please increase the version of your DPU (You should prepare new major version, so if you had version 1.2.3, you should now go to 2.0.0)
    1. Do not forget to also document the change in the CHANGELOG of the DPU.
  3. If your DPU uses directly the outdated sesame API (org.openrdf.sesame packages), please update the DPU classes as introduced in the official migration guide
    1. You can check that by searching for "org.openrdf.sesame" in your project files. If it finds something, you have to migrated to rdf4j based on the official migration guide (usually easy and involves just renaming packages/dependencies)
    2. Other notes: Rdf4j Migration
  4. Build your DPU
    1. Note: If you would like to prepare the DPU Jar for UnifiedViews running still Java7, you have to also build that DPU using Java7

Other notes

Your UV 3.X installation should also support use of UnifiedViews 2.X DPUs, but only when constructing the pipelines/configuring them. You are not able to run any pipeline with a DPU using 2.X UV DPU API. 

For that, please check that: 

 

TODO: If you install from docker, the replacement of Core DPUs may be done for you automatically. Docker adjustment is needed!