How to Upgrade to yuuvis RAD 6.0
Before you start:
Update to latest 5.20 hotfix
If your system was initially installed with product version 4.12 or earlier, make sure you have updated the service-manager to the latest hotfix (component version 5.20.14 or higher) and successfully started it at least once before upgrading to 6.x.
- Stop the Elasticsearch 6.3.0 service.
- Stop the 5.x dms-service.
- Stop the 5.x service-manager service.
Elasticsearch 6.3.0 → 7.2.1
- Stop the Elasticsearch 6.3.0 service.
- If the data directory is located inside the installation path of Elasticsearch 6.3.0, move it outside and/or make a backup.
- Backup the <elasticsearch>\config\elasticsearch.yml file.
- Uninstall Elasticsearch 6.3.0.
- Install Elasticsearch 7.2.1 as described here: Installation Guide Version 6.0
- Before you start the service:
Transfer custom settings from the backed-up elasticsearch.yml file to the newly installed file.
Elasticsearch 7.x Breaking Changes
Please note the breaking changes introduced with Elasticsearch 7.x as described here: https://www.elastic.co/guide/en/elasticsearch/reference/7.x/breaking-changes-7.0.html
If you have a multi-node cluster, pay special attention to the consequences that result from the Discovery changes:- The setting "discovery.zen.minimum_master_nodes" does not apply anymore. Instead define "cluster.initial_master_nodes" with an array of all master eligible node-names (e.g ["nodename1", "nodename2", "nodename3"]).
To be able to do this, you need to give each node a unique name using the "node.name" setting. - Although still valid, you should rename "discovery.zen.ping.unicast.hosts" to "discovery.seed_hosts" for future compatibility.
- The setting "discovery.zen.minimum_master_nodes" does not apply anymore. Instead define "cluster.initial_master_nodes" with an array of all master eligible node-names (e.g ["nodename1", "nodename2", "nodename3"]).
- If needed, move the data directory to the desired location.
- Make sure the "path.data" property points to the (moved) data directory of Elasticsearch 6.3.0.
- Start the service and check that the cluster state is green and contains the yuuvis indices.
- Make sure you have initialized the elasticsearch users and entered the password of the elastic user into <service-manager>\config\application-es.yml.
dms-service 5.x → core-service 6.0
- Stop the dms-service.
- If the data-directory (containing the WORK and/or ARCHIVE directories) is located inside the installation path of the dms-service, move it outside and/or make a backup.
- Make a backup of the following files/folders
- <dms-service>\standalone\configuration\standalone-full-ha.xml
- AD-Sync configuration files (e.g <dms-service>\standalone\configuration\ldapsync)
- Custom files under <dms-service>\standalone\configuration\bpm-script-api
- Operation report files (e.g. <dms-service>\standalone\tmp\jas-operations\reports)
- Open the service-wrapper GUI by executing the <dms-service>\bin\enaio_red_dms-servicew.exe (or yuuvis_rad_dms-servicew.exe) file
- Backup/write down the settings under Java → Java Options
- Uninstall the dms-service
- Install the core-service as described here: Installation Guide Version 6.0 → be sure to select "no" when asked if a new database structure and base configuration should be created.
- Move the backed-up data directory back to its original location.
(Alternatively, you can choose a new location but then you have to adapt the path in the Media section of the management-studio as the very first action after the first startup.) - To restore the backed-up configuration, follow these steps:
- If you have made changes to the default logging settings or the default database connection pool sizes, compare the backed-up standalone-full-ha.xml file with the newly installed one and reapply your changes.
- If you have custom bpm script api files, create the folder <core-service>\standalone\configuration\bpm-script-api and copy them into it.
- Move or copy the AD-Sync and operation report folders back to their relative location under the new core-service installation path.
- Open the service-wrapper GUI by executing the <core-service>\bin\yuuvis_rad_core-servicew.exe file and compare the Java → Java Options settings. Reapply custom settings that do not belong to the JBoss or Java Runtime Environment.
While in the GUI, make sure you have adapted the Initial/Maximum Pool Size Setting and the logging configuration to your desired values. - Start the service and check the log file for a successful startup which is indicated by the "yuuvis" ascii art.
- If you are using the AD-Sync operation: After startup of all components, open the AD-Sync operation in the management-studio and adapt the path to the AD-Sync configuration file to the new location.
service-manager 5.x → service-manager 6.0
- As of yuuvis® RAD 6.0, the status service is obsolete and needs to be manually removed:
- Stop the service-manager service.
- Run the service-manager 6.0 setup to upgrade to 6.0 but do not yet start the service at the end of the setup.
- Delete the following folder and all its contents: <service-manager>\apps\statusservice
- Edit the <service-manager>\config\servicewatcher-sw.yml file and delete the entire statusservice section.
- Edit the <service-manager>\config\gateway-prod.yml file and delete the 'status' endpoint
- Open the <service-manager>\config\gateway-prod.yml file
- Delete the 'sse' endpoint - i.e. remove the following two lines (if they exist)
" - name: 'sse'"
" url: 'http://inbox/api/sse'"
- Delete the 'sse' endpoint - i.e. remove the following two lines (if they exist)
- Open the <service-manager>\config\application-dbs.yml file
- Add the line "enaio.db.schema: <db-schema-name>" (if not existent yet)
Replace <db-schema-name> with the name of the schema of the yuuvis database. (The default values are "dbo" for mssql, "public" for postgres, the username for oracle.) - Add the following two lines (if not existent yet):
spring.jpa.properties.hibernate.dialect: '<dialect>'
spring.jpa.properties.hibernate.default_schema: ${enaio.db.schema}
Replace "<dialect>" with one of the following values matching your database (independent of version):- MSSQL: org.hibernate.dialect.SQLServer2008Dialect
- PostgreSQL: org.hibernate.dialect.PostgreSQL9Dialect
- Oracle: org.hibernate.dialect.Oracle10gDialect
- Add the line "enaio.db.schema: <db-schema-name>" (if not existent yet)
- With yuuvis® RAD 6.0 and Elasticsearch 7.2.1, the security settings switched from an IP-Whitelist filter (using the intrafind plugin) to a password-based authentication included in Elasticsearch.
As a result, you will not find the intrafind.yml file in the <elasticsearch>\config folder anymore and the therein configured IP-Whitelist rules do not apply anymore.
Instead, when installing Elasticsearch you have to initialize predefined users with a password as described in Installation Guide Version 6.0.
If you have not done so in the Elasticsearch section (see above) already, do the following:- Open the <elasticsearch>\config\built-in.usr file and copy the password of the 'elastic' user.
Open the <service-manager>\config\application-es.yml file and insert the following lines at the end of the file (or update the password if the lines are already there):
application-es.ymlelasticsearch.user: elastic elasticsearch.password: <elastic-password>
Replace "<elastic-password>" with the password copied from elastic user.
- If you have a custom client, remember to (manually) update the @eo-sdk/core component version in the package.json file to the current 6.x version. A simple eo update will not suffice. Refer to https://www.npmjs.com/package/@eo-sdk/core for the current version.
- Start the service.
- After startup, the index service will begin to migrate the autocomplete index to the current version. This is done automatically. No manual steps are necessary. However, the elasticsearch servers will be under heavy load for the time of the migration. On average, a speed of 2 million entries per hour can be expected.
The services.log will show entries like the following when it starts:
index.7291 : INDEXING : Created new index named autocomplete_3
index.7291 : c.o.s.index.service.dao.DocumentDao : reindex completed: false
index.7291 : c.o.s.index.service.dao.DocumentDao : <xyz> documents should be processed.
and when finished:
index.7291 : c.o.s.index.service.dao.DocumentDao : Reindex is completed.
index.7291 : c.o.services.index.service.dao.AdminDao : Update refresh interval to 1s was successful
index.7291 : c.o.services.index.service.dao.AdminDao : Refresh index autocompletered
- As of yuuvis® RAD 6.0, the status service is obsolete and needs to be manually removed:
yuuvis® RAD designer 5.x → yuuvis® RAD designer 6.0
yuuvis® RAD designer 6.0 has a separate installer. You can uninstall yuuvis® RAD designer 5.x at any time, before or after installing yuuvis® RAD designer 6.0. The settings of yuuvis® RAD designer 5.x can be applied to the new version the first time you start yuuvis® RAD designer 6.0. Even if yuuvis® RAD designer 5.x was already uninstalled.
yuuvis® RAD AD-Sync 5.x → yuuvis® RAD AD-Sync 6.0
yuuvis® RAD AD-Sync 6.0 has a new setting which controls what happens with users that were imported from Active Directory to the yuuvis® RAD system, have made changes to objects in the DMS and are then deleted from AD. Such users cannot be deleted in yuuvis® RAD (their data is necessary in order to show the history of DMS objects) and will be moved to a configurable group, using the setting <deactivatedobjectsparent name="groupWhereSuchUsersShouldBeMoved" />. The setting applies only to user-group synchronization. In case that this type of synchronization is used, the following steps need to be followed:
- Manually create a group for these users in management-studio, for instance DeletedFromAD
- Add the deactivatedobjectsparent option to usergroup-synchronization-config, for instance: <deactivatedobjectsparent name="DeletedFromAD" />