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.
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.
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.
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.
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 following
from <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
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 |