Upgrade Verj.io Server from V5.x to V5.6

 

This document describes the procedure to upgrade the Verj.io Server from any V5.x version to V5.6. If you are upgrading from a V4.x system, you must upgrade to V5.5 first.

Overview

Verj.io V5.6 is a landmark release in that it introduces a new file system layout for the installation that will enable future upgrades to be performed automatically. This new file system layout provides separation between the Verj.io distribution files which should not be changed by customers (the installation file system), and any customer configurable files (the userdata file system). Future upgrades will work by replacing the Verj.io distribution files.

This release, and all future Verj.io releases, will always include the latest stable version of Tomcat and Java. Customers are recommended, where possible, to use these distributed Tomcat and Java versions rather than use their own.

In this upgrade, the new file system layout is installed and any configuration files that have been made in previous releases are manually copied to the userdata file system. This is a one-off exercise required only for this upgrade, and enables future upgrades to be handled automatically.

Note on reading and writing files

Customer applications that read or write files directly to/from the file system using relative paths e.g. ../../folder1 may need to be changed. The reason is that all relative file paths are resolved relative to the serverís working directory which is tomcat/bin within the installation file system. The problem is that this file system will be replaced by a future Verj.io upgrade. Starting from this release, customers are recommended to store any such application files in the userdata file system which can be accessed using the Javascript services.file.getUserDataApplicationPath() method.

Installation

1.      Install Verj.io Server V5.6 into a new directory. Do not install this on top of an existing Verj.io system.

See the ReadMe file for download links.

 

1.      Start the new server, wait a minute or so while it initializes, then shut it down again. If youíve installed the server on a Windows system and taken all the defaults, a Windows service named VerjioServer has been installed and started, so you will just need to stop the service at this point.

2.      Copy configuration files from the previous version. All copy operations should replace existing files where applicable.

In the instructions below:

        <userdata> is the userdata location for the new V5.6 Server, specified as part of the installation. The default location on Windows is C:/Verjio/UserData/Server.

        <verjioServerOldHome> refers to the UfsServer folder of the old V5.x system e.g. C:/Verjio/5_5/VerjioServer/UfsServer

        <webappOldHome> refers to the root of the Verj.io web application in the old V5.x system e.g. C:/Verjio/5_5/VerjioServer/UfsServer/tomcat/webapps/ebase

 

Instructions:

        Copy the ebaseConf folder from <webappOldHome> to <userdata>/apps/ebase

        If youíve added any application server managed database connections to the old system then edit file <verjioServerOldHome>/tomcat/conf/Catalina/localhost/<webappname>.xml, extract the database connection XML elements, and add them to <userdata>/tomcat/conf/Catalina/localhost/ebase.xml. Do not copy the entire xxx.xml file from the old system.

        Delete the UFS folder from <userdata>/DB

        Copy the UFS folder from <verjioServerOldHome>/DB to <userdata>/DB

        Copy any JDBC drivers that you have added, from <verjioStudioOldHome>/tomcat/lib to <userdata>/tomcat/lib

        If youíve made any changes to the distributed web.xml file in <webappOldHome>/WEB-INF e.g. setting JavaMelody or CORS security, extract your changes and add them to the web.xml file in <userdata>/apps/ebase/webapp/WEB-INF.

        Copy any additional web resource files and folders that you have added or changed, from <webappOldHome> to <userdata>/apps/ebase/webapp. Any of the ufs* configurable files at the root of <webappOldHome> that you have changed should be included in this copy e.g. ufs_timeout_page_htm. Donít copy any of the standard folders shipped in the Verj.io ebase webapp (see <installation directory>/Server/webapp).

        Copy the contents of <webappOldHome>/samples/logon to <userdata>/apps/ebase/webapp/samples/logon

        Copy the followingfrom <webappOldHome>/WEB-INF/classes to <userdata>/apps/ebase/ebaseConf

o       UfsSetup.properties

o       log4j.xml

o       ebaseCache.xml

o       Graphing.properties

        Copy any additional files that you have added from <webappOldHome>/WEB-INF/classes to <userdata>/apps/ebase/webapp/WEB-INF/classes

        Copy any additional jar/zip files that you have added from <webappOldHome>/WEB-INF/lib to <userdata>/apps/ebase/webapp/WEB-INF/lib. See Appendix 1 for a list of standard jar files shipped with the system Ė any files in this list or with the same prefix as a file in this list should not be copied.

        Copy the contents of <verjioStudioOldHome>/generatedfiles to <userdata>/apps/ebase/generatedfiles.

        Copy the contents of <verjioStudioOldHome>/generatedpdfs to <userdata>/apps/ebase/generatedpdfs.

        Copy any velocity templates from <verjioStudioOldHome>/velocityTemplates to <userdata>/apps/ebase/velocityTemplates.

        If folder <verjioStudioOldHome>/Backups exists in the old system, copy it to <userdata>/apps/ebase.

        If folder <verjioStudioOldHome>/Deployments exists in the old system, copy it to <userdata>/apps/ebase.

        If the workspace for your existing system is located within the Verj.io file system e.g. at the default location of ../VerjioServer/workspace (this can be checked in <webappOldHome>/ebaseConf/workspace.properties), then:

o       Delete the contents of <userdata>/apps/ebase/workspace (this empties the new V5.6 systemís workspace)

o       Copy the contents of your existing workspace to <userdata>/apps/ebase/workspace

        Edit the property files in <userdata>/apps/ebase/ebaseConf and change any references to relative paths in the properties in the table below. All references to file locations within the old systemís file system should be changed. You do not need to change any references to any file locations outside of the old systemís file system. Ignore any properties or property files that donít exist in your system.

 

File

Property

New value

Comment

workspace.properties

workspace.location

workspace

Change this only if you have copied your existing workspace as described above

server.properties

Ufs.logDirName

logs

 

server.properties

Ufs.auditLogDirName

logs

 

server.properties

Ufs.pdfDirectoryName

generatedpdfs

 

server.properties

Ufs.fileDirectoryName

generatedfiles

 

server.properties

Ufs.printFontsDirectroy

printFonts

If this property exists and contains a relative file path, copy the fonts to <userdata>/apps/ebase/printFonts

deploy.properties

deployment.location

deployments

 

deploy.properties

backup.location

backups

 

velocity.properties

template.location

velocityTemplates

Add this property

velocity.properties

file.resource.loader.path

 

Remove this property

 

The following properties in server.properties can be ignored: Ufs.fileAccessRoot, Ufs.executableDir.

 

        If your old server has a Java trust store configured, copy the trust store file to <userdata>/security and rename it to truststore.

        Restart the server at this point to test the changes made so far Ė by starting the Windows service or running one of the verjio_server.exe/bat/sh files in the Server directory of your new V5.6 installation.

        Rename the web application. The new V5.6 installation has created a web application named ebase. If your old system is using a different name, rename the new systemís web application as follows:

o       Shutdown the server again

 

Support

Please contact Ebase Technology if you require any assistance.

 

email:support@ebasetech.com

Tel:     +44 (0)1767 654 987

 

Appendix 1: Shipped jar files in WEB-INF/lib

 

This appendix contains a list of the jar files shipped with the Verj.io system in WEB-INF/lib. Files with the same name or with a common prefix should not be copied into the corresponding WEB-INF/lib userdata folder.

 

 

Jar File

activation-1.1.jar

annotations-api-6.0.20.jar

apns-1.0.0.Beta6.jar

barcode4J-light.jar

bson-3.5.0.jar

castor-0.9.5-xml.jar

commons-beanutils_1.7.0.jar

commons-codec-1.9.jar

commons-collections-3.2.2.jar

commons-fileupload-1.3.1.jar

commons-httpclient-3.0.jar

commons-io-2.4.jar

commons-lang-2.4.jar

commons-logging-1.1.1.jar

commons-math3-3.1.jar

cos_26122008.jar

cxf-2.3.1.jar

DKIMforJavaMail.jar

ebaseCustomResource.jar

ebaseWebapp.jar

ehcache-core-2.4.2.jar

Flyingsaucer-9-120131eb.jar

guava-19.0.jar

httpclient-4.5.1.jar

httpcore-4.4.3.jar

icu4j_4_2_1_1.jar

images.jar

iText-2.1.7.jar

jackson-annotations-2.4.5.jar

jackson-core-2.4.5.jar

jackson-databind-2.4.5.jar

jackson-dataformat-xml-2.4.5.jar

jackson-dataformat-yaml-2.4.5.jar

Javaftpapi.jar

java-ipv6.jar

javamail-1.5.0.jar

Javamelody-1.76.0.jar

javassist-3.18.2.jar

jaxb-api-2.2.1.jar

jaxb-impl-2.2.1.1.jar

jaxen-1.1.1e.jar

jcommon-1.0.9.jar

jdom-1.0.jar

jfreechart-1.0.5.jar

jrobin-1.5.9.1.jar

jsass-5.7.3.jar

JSON-java-20160212.jar

jsoup-1.11.3.jar

log4j-1.2.16.jar

logkit-1.0.1.jar

lucene-analyzers-common-6.2.1.jar

lucene-core-6.2.1jar

lucene-highlighter-6.2.1.jar

lucene-memory-6.2.1.jar

lucene-queryparser-6.2.1.jar

mongodb-driver-3.5.0.jar

mongodb-driver-core-3.5.0.jar

msv.jar

oro.jar

rhinojs-1.7.11_Ebase_22072019.jar

saaj-api-1.3.jar

saaj-impl-1.3.2.jar

slf4j-api-1.6.1.jar

slf4j-log4j12-1.6.1.jar

stax2-api-3.0.1.jar

stax-api-1.0.1.jar

swagger-core-1.5.8.jar

swagger-models-1.5.8.jar

tagsoup-1.2.1.jar

ufs.jar

velocity-1.7.jar

woodstox-core-asl-4.0.8.jar

wsdl4j-1.6.1.jar

wss4j-1.5.8.jar

xfire-core-1.2.6.jar

xfire-java5-1.2.6.jar

xfire-ws-security-1.2.6.jar

xmlbeans-3.0.2.jar

XmlSchema-1.4.7.jar

xmlsec-1.3.0.jar