Skip to content
Vrinda edited this page Dec 19, 2024 · 11 revisions

For older releases go here

Upgrade DCM4CHEE Archive 5.33.1

Content

Update Database Schema

SQL scripts for updating the database schema from previous versions can be found in directory $DCM4CHEE_ARC/sql. A change in the DB schema is reflected by an incremented second component of the version number (e.g. from 5.32.x to 5.33.y). So one does not need to update the database schema for upgrading from a version which only differs in the third component of the version number (e.g. from 5.33.0 to 5.33.1). For upgrading from an older version which second component of the version number in not the previous number, one has to first update the database schema to the previous version - by applying update scripts for previous versions in the right order - before applying the update script for the current version.

H2

One has to start Wildfly before updating the tables using the H2 console. Access the console at http://localhost:8080/h2console, login and update the database scheme by:

    RUNSCRIPT  FROM '$DCM4CHEE_ARC/sql/h2/update-5.33-h2.sql'

PostgreSQL

    > psql -h localhost <database-name> <user-name> < $DCM4CHEE_ARC/sql/psql/update-5.33-psql.sql

MySQL and MariaDB

    > mysql -u <user-name> -p<user-password> <database-name> < $DCM4CHEE_ARC/sql/mysql/update-5.33-mysql.sql

Firebird

    > isql-fb
    Use CONNECT or CREATE DATABASE to specify a database
    SQL> connect 'localhost:<database-name>'
    CON> user '<user-name>' password '<user-password>';
    SQL> in DCM4CHEE_ARC/sql/firebird/update-5.33-firebird.sql;
    SQL> exit;

DB2

    > su <user-name>
    Password: <user-password>
    > db2 connect to <database-name>
    > db2 -t < $DCM4CHEE_ARC/sql/db2/update-5.33-db2.sql
    > db2 terminate

Oracle

    $ sqlplus <user-name>/<user-password>
    SQL> @$DCM4CHEE_ARC/sql/oracle/update-5.33-oracle.sql

MS SQL Server

Not yet tested

Update LDAP Schema

OpenLDAP

OpenLDAP with slapd.conf configuration file

  1. Replace previous schema files in OpenLDAP schema configuration directory by new versions from DCM4CHEE Archive distribution:

    > cp $DCM4CHEE_ARC/ldap/schema/* /etc/openldap/schema/ [UNIX]
    > copy %DCM4CHEE_ARC%\ldap\schema\* \Program Files\OpenLDAP\schema\ [Windows]
    
  2. Restart slapd:

    > sudo service slapd restart [UNIX]
    

OpenLDAP with dynamic runtime configuration

Update LDAP schemas in OpenLDAP runtime configuration by applying provided LDIF files using OpenLDAP CL utility ldapmodify:

> sudo ldapmodify -Y EXTERNAL -H ldapi:/// -f $DCM4CHEE_ARC/ldap/slapd/dcm4che-modify.ldif
> sudo ldapmodify -Y EXTERNAL -H ldapi:/// -f $DCM4CHEE_ARC/ldap/slapd/dcm4chee-archive-modify.ldif
> sudo ldapmodify -Y EXTERNAL -H ldapi:/// -f $DCM4CHEE_ARC/ldap/slapd/dcm4chee-archive-ui-modify.ldif

OpenDJ

  1. Replace previous schema files in OpenDJ schema configuration directory by new versions from DCM4CHEE Archive distribution:

    > cp $DCM4CHEE_ARC/ldap/opendj/* $OPENDJ_HOME/config/schema/ [UNIX]
    > copy %DCM4CHEE_ARC%\ldap\opendj\* %OPENDJ_HOME%\config\schema\ [Windows]
    
  2. Restart OpenDJ by

    > $OPENDJ_HOME/bin/stop-ds
    > $OPENDJ_HOME/bin/start-ds
    

Apache DS 2.0.0

  1. Delete the ou=objectclasses child entry from the schema entries

    ou=schema
    + cn=dcm4chee-archive-ui
      + ou=objectclasses
    + cn=dcm4chee-archive
      + ou=objectclasses
    + cn=dcm4che
      + ou=objectclasses
    

    before deleting the schema entries itself, using the Delete Entry function of Apache Directory Studio LDAP Browser.

  2. Import new LDAP schema files for Apache DS:

    $DCM4CHEE_ARC/ldap/apacheds/dcm4che.ldif
    $DCM4CHEE_ARC/ldap/apacheds/dcm4chee-archive.ldif
    $DCM4CHEE_ARC/ldap/apacheds/dcm4chee-archive-ui.ldif
    

    using the LDIF import function of Apache Directory Studio LDAP Browser.

Update LDAP Data

  • If one made structural changes - e.g. by adding/removing Network Application Entities or by configuring multiple Archive devices - to the provided default configuration, one has to adjust the provided update-config-VERSION.ldif files in $DCM4CHEE_ARC/ldap according to one's changes, before applying them, using the LDIF import function of Apache Directory Studio LDAP Browser or using LDAP CLI utility ldapmodify of OpenLDAP. Version 5.23.0 onwards, individual ldif files are provided for an update of device and AE specific configuration. To update from an older version than the most-recent previous version, e.g. from 5.31.2 to 5.33.1, one has to apply the update scripts for the previous versions, e.g.:

      > $ cd $DCM4CHEE_ARC/ldap
      > $ ldapmodify -xW -Dcn=admin,dc=dcm4che,dc=org -f 5.32.0/update-AS_RECEIVED-5.32.0.ldif
      > $ ldapmodify -xW -Dcn=admin,dc=dcm4che,dc=org -f 5.32.0/update-DCM4CHEE-5.32.0.ldif
      > $ ldapmodify -xW -Dcn=admin,dc=dcm4che,dc=org -f 5.32.0/update-dev-5.32.0.ldif
      > $ ldapmodify -xW -Dcn=admin,dc=dcm4che,dc=org -f 5.32.0/update-IOCM_EXPIRED-5.32.0
      > $ ldapmodify -xW -Dcn=admin,dc=dcm4che,dc=org -f 5.32.0/update-IOCM_PAT_SAFETY-5.32.0
      > $ ldapmodify -xW -Dcn=admin,dc=dcm4che,dc=org -f 5.32.0/update-IOCM_QUALITY-5.32.0
      > $ ldapmodify -xW -Dcn=admin,dc=dcm4che,dc=org -f 5.32.0/update-IOCM_REGULAR_USE-5.32.0.ldif
      > $ ldapmodify -xW -Dcn=admin,dc=dcm4che,dc=org -f 5.32.0/update-IOCM_WRONG_MWL-5.32.0.ldif
      > $ ldapmodify -xW -Dcn=admin,dc=dcm4che,dc=org -f 5.32.0/update-ui-config-5.32.0.ldif
      > $ ldapmodify -xW -Dcn=admin,dc=dcm4che,dc=org -f 5.32.0/update-WORKLIST-5.32.0.ldif
      > $ ldapmodify -xW -Dcn=admin,dc=dcm4che,dc=org -f 5.33.0/update-AS_RECEIVED-5.33.0.ldif
      > $ ldapmodify -xW -Dcn=admin,dc=dcm4che,dc=org -f 5.33.0/update-DCM4CHEE-5.33.0.ldif
      > $ ldapmodify -xW -Dcn=admin,dc=dcm4che,dc=org -f 5.33.0/update-dev-5.33.0.ldif
      > $ ldapmodify -xW -Dcn=admin,dc=dcm4che,dc=org -f 5.33.0/update-IOCM_REGULAR_USE-5.33.0.ldif
      > $ ldapmodify -xW -Dcn=admin,dc=dcm4che,dc=org -f 5.33.0/update-storescp-5.33.0.ldif
    

    before one can update the LDAP configuration for the current version by:

      > $ ldapmodify -xW -Dcn=admin,dc=dcm4che,dc=org -f 5.33.1/update-AS_RECEIVED-5.33.1.ldif
      > $ ldapmodify -xW -Dcn=admin,dc=dcm4che,dc=org -f 5.33.1/update-DCM4CHEE-5.33.1.ldif
      > $ ldapmodify -xW -Dcn=admin,dc=dcm4che,dc=org -f 5.33.1/update-dev-5.33.1.ldif
      > $ ldapmodify -xW -Dcn=admin,dc=dcm4che,dc=org -f 5.33.1/update-IOCM_REGULAR_USE-5.33.1.ldif
      > $ ldapmodify -xW -Dcn=admin,dc=dcm4che,dc=org -f 5.33.1/update-storescp-5.33.1.ldif
      Enter LDAP Password:
      modifying entry "dicomDeviceName=dcm4chee-arc,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org"
      :
    
  • Update Vendor Data

Update WildFly Deployment

  • Ensure $WILDFLY_HOME/standalone/configuration/keystores location has key.p12 and cacerts.p12 files. Copy these configuration files into the WildFly installation, if not already present:

      > cp $DCM4CHEE_ARC/configuration/keystores/key.p12 $WILDFLY_HOME/standalone/configuration/keystores [UNIX]
      > cp $DCM4CHEE_ARC/configuration/keystores/cacerts.p12 $WILDFLY_HOME/standalone/configuration/keystores [UNIX]
      > xcopy %DCM4CHEE_ARC%\configuration\keystores\key.p12 %WILDFLY_HOME%\standalone\configuration\keystores [Windows]
      > xcopy %DCM4CHEE_ARC%\configuration\keystores\cacerts.p12 %WILDFLY_HOME%\standalone\configuration\keystores [Windows]
        (Select D = directory)
    

    Note: The private key keystores/key.p12 and the trusted CA certificate keystores/cacerts.p12 used in TLS connections are not stored in LDAP.

  • If upgrading from a version older than 5.16.1, it requires complete new setup of Wildfly (version 14+).

  • Update DCM4CHE dcm4chee-arc-light libraries as JBoss modules.

      > cd  $WILDFLY_HOME
      > rm -r modules/org/dcm4che
      > unzip $DCM4CHEE_ARC/jboss-modules/dcm4che-jboss-modules-dcm4chee-arc-light-5.33.1.zip
    
  • Update JClouds libraries as JBoss modules:

      > cd  $WILDFLY_HOME
      > rm -r modules/org/apache/jclouds
      > unzip $DCM4CHEE_ARC/jboss-modules/jclouds-jboss-modules-2.6.0.zip
    
  • (Re-)Start WildFly in standalone mode with the correct configuration file:

      > $WILDFLY_HOME/bin/standalone.sh -c dcm4chee-arc.xml [UNIX]
      > %WILDFLY_HOME%\bin\standalone.bat -c dcm4chee-arc.xml [Windows]
    
  • Undeploy old DCM4CHEE Archive Backend and UI using JBoss CLI, e.g.:

      > $WILDFLY_HOME/bin/jboss-cli.sh -c [UNIX]
      > %WILDFLY_HOME%\bin\jboss-cli.bat -c [Windows]
      [standalone@localhost:9990 /] undeploy dcm4chee-arc-ear-5.33.0-psql.ear
      [standalone@localhost:9990 /] undeploy dcm4chee-arc-ui2-5.33.0.war
    
  • Deploy new DCM4CHEE Archive Backend and UI using JBoss CLI, e.g.:

      [standalone@localhost:9990 /] deploy $DCM4CHEE_ARC/deploy/dcm4chee-arc-ear-5.33.1-psql.ear
      [standalone@localhost:9990 /] deploy $DCM4CHEE_ARC/deploy/dcm4chee-arc-ui2-5.33.1.war
    
  • If upgrading secured version of archive, then also refer Secured Archive Wildfly Upgrade

  • If archive server log contains several occurrences of INFO messages from underlying Wildfly cached connection manager

    14:09:59,341 INFO  [org.jboss.jca.core.connectionmanager.listener.TxConnectionListener] (default task-4) IJ000311: Throwable from unregister connection: java.lang.IllegalStateException: IJ000152: Trying to return an unknown connection: org.jboss.jca.adapters.jdbc.jdk8.WrappedConnectionJDK8@617cc86c
            at [email protected]//org.jboss.jca.core.connectionmanager.ccm.CachedConnectionManagerImpl.unregisterConnection(CachedConnectionManagerImpl.java:408)
            at [email protected]//org.jboss.jca.core.connectionmanager.listener.TxConnectionListener.connectionClosed(TxConnectionListener.java:645)
            .........
    

    Optionally disable these by

      [standalone@localhost:9990 /] /subsystem=datasources/data-source=pacsds:write-attribute(name=use-ccm,value=false)
    

Refer Secured Archive Upgrade, for :

Clone this wiki locally