This article describes how to upgrade an existing installation of Elvis 5 to Elvis 6. Because of the similarities between these versions, the Server and client applications are upgraded during this process while your data, Server configuration and log files are left in place.
The process of upgrading is as follows:
- Creating a backup of the existing installation
- Stop your current server
- Installing Elvis Server
- Configuring Elvis Server
- Reviewing optional steps for the Server
- Starting Elvis Server
- Testing Elvis Server
Before you start
Before you start the upgrading process, please familiarize yourself with the changes that were made in the various Elvis releases by reading through the Release Notes, especially those for the first release of Elvis 6 which lists many of the main differences between Elvis 5 and 6.
1. Creating a backup of the existing installation
Make sure you have a recent backup of your current environment.
Because all Elvis data is stored on the file system, all data in the following Elvis Server folder locations should be backed up:
- Elvis Hot Data
- Elvis Shared Data
- Config
2. Stop your current server
Stop your current Elvis Server from running.
3. Installing Elvis Server
Download the installer from the software download page, run it and follow this instructions on screen. It will automatically detect the existing version and will replace all application files. Your data, configuration and log files will not be touched.
4. Configuring Elvis Server
During the Server installation, a folder named clean-example-config-x.x.x is created in the main Config folder. It contains a clean copy of the latest configuration files.
Use it as a reference for any new configuration options that are available which you might want to make use of.
5. Reviewing optional steps for the Server
Depending on the version you are upgrading from, or the version of the Migration Tool that was used, some additional steps may be required.
Upgrading from a particular version
Review the below information and implement where necessary. Start by the version that you are upgrading from and then verify the information for each newer version.
- When the elvis-shared-data folder is a local folder instead of mounted, add the following setting to node.config.properties:
fileStoreType=local
- When making use of taxonomy, merge the elasticsearch/analysis.json file from the clean-example-config-5.1.1.x with the one in the config folder.
- If no changes were made to this file simply overwrite the original.
- If changes were made, copy the following and place them in the correct group inside the json file:
Tokenizer:
"ancestor_tokenizer" : {
"type" : "PathHierarchy",
"delimiter" : ">"
}
Analyzer:
"taxonomy":{
"type":"custom",
"tokenizer":"ancestor_tokenizer",
"filter":[
"lowercase",
"trim",
"taxonomy_singles_pattern"
]
}
Filter:
"taxonomy_singles_pattern":{
"type":"pattern_capture",
"preserve_original":true,
"patterns":[
"\\s>\\s([^>]+)$"
]
}
- When you have ROLE_EMAIL assigned to a user in internal-user.properties.txt, replace it with ROLE_SHARE, ROLE_SHARE_APPROVE, ROLE_SHARE_UPLOAD.
Some new fields have been added while existing fields have been changed. Update the existing asset index.
Important note before starting the Server after upgrading from Elvis Server 5.3.7 or lower
The analysis.json file has been removed from the default Config/elasticsearch folder. After the upgrade, the analysis.json file will remain in the Config folder but it will block start-up because it is missing the trimAndLowerCase analyzer.
After upgrading from Elvis Server 5.3.7 or lower, do one of the following before starting the Server:
- Remove the file from your Elvis config directory if you did not make any customizations to this file. This will prevent future problems as well.
- If you already have analyzer customizations in place (or when the Server does not start after the upgrade), please contact WoodWing Support to help you reconfigure the analyzers.
Multi-tiered storage
When upgrading from Elvis 5.10 or lower you may run into issues with multi-tiered storage due to a defect in how the order storage-engines are read.
Note: This only applies to storage-engine-config setups where two or more patterns would apply to the same set of files; the files may appear missing.
The 'Recover misplaced asset files' tool can be used to recover assets that are stored in the wrong file store. If an asset is missing the tool will search known file stores for the misplaced asset. When none are found the tool will show a warning in the log for further investigation.
Access it from the Management Console by using one of the following methods:
- http://<yourserver>:<port>/console/#/manual-upgrade
- Management Console > Tools > Manual upgrades
Access it from the Admin pages of Elvis Server through the following URL, and in the menu on the left of the page click Upgrade node/cluster:
http://<yourserver>:<port>/admin
Updating the icons for the metadata flags
Elvis 5.11 introduced new versions of the metadata flag icons.
Some examples of these icons are:
File name | Old version | New version |
---|---|---|
approve | ![]() |
![]() |
bullet_ball_glass_red | ![]() |
![]() |
copyright | ![]() |
![]() |
delete2 | ![]() |
![]() |
label | ![]() |
![]() |
label_broken | ![]() |
![]() |
star_yellow | ![]() |
![]() |
woodwing | ![]() |
![]() |
To make sure that any custom icons are not overwritten, the Elvis installer does not install these new icons. To make use of these new icons, they need to be installed manually.
Step 1. Download the set of new icons and extract them.
Step 2. Place the files in the following location and overwrite the existing files:
<Elvis Server folder>/Library/Elvis Server/Config/plugins/active/internal/elvis_client/flags
Increment indices to apply the new default number of shards
The number of shards for an index by default matches the configured searchNodeCount. This has been changed to improve performance and stability.
The new default is not applied to any existing index until its revision is incremented. It is advised to increment the index revision of all indices after you have upgraded to Elvis 5.14 or later from any older Elvis 5 version. For details see the cluster.searchNodeCount setting in the cluster-config.properties.txt file in the folder named 'clean-example-config-5.14' (located in your Elvis Server/config folder).
When upgrading to Elvis 5.20 or higher directly from Elvis 4, or when you have upgraded from any Elvis 4 version in the past, run the Relations Upgrade tool to rebuild Collections and fix broken asset relations.
Note: Should the process fail, please contact WoodWing Support (customers should do this via their WoodWing Partner).
Access it from the Management Console by using one of the following methods:
- http://<yourserver>:<port>/console/#/manual-upgrade
- Management Console > Tools > Manual upgrades
Access it from the Admin pages of Elvis Server through the following URL, and in the menu on the left of the page click Upgrade node/cluster:
http://<yourserver>:<port>/admin
Additional upgrade steps
- When Elvis 5 is based on a migration from Elvis 4 that was performed by using the Migration Tool version 1.1.27 or older (part of Elvis 5.27.4 or older), relations between Enterprise files and Elvis assets were not correctly set and are therefore incorrectly displayed in the Pro client.
To resolve this, follow the steps as outlined in Rebuilding Enterprise relations in Elvis 6 that were incorrectly set during migration.
- Changes to the REST APIs. Because of improved security measures in the REST API of Elvis 6, all data changing APIs now only accept POST requests, not GET requests. Also, the POST request needs to include a cross-site request forgery (csrf) token. For more information, see Elvis 6 REST API - Performing a POST request with a csrf token.
6. Starting Elvis Server
At this point, Elvis Server is ready to be started.
Important: As part of the upgrade process, Elvis Server will automatically update the index. Depending on the size of the index, this can either take a few moments or it can take some time. Do not restart Elvis Server until this process is finished. Use the Paramedic page of Elvis Server (access Elvis Server > Support Tools > Elasticsearch > Paramedic or use URL localhost:9200/_plugin/paramedic/) to monitor the progress.
7. Testing Elvis Server
Verify that Elvis Server is working properly by using the Pro Client. Perform tasks such as uploading some files, searching for them, downloading or sharing them, or any other tasks that are part of your daily workflow.
Comment
Do you have corrections or additional information about this article? Leave a comment! Do you have a question about what is described in this article? Please contact Support.
0 comments
Please sign in to leave a comment.