With every newer version of Helical Insight being launched there might be a need to upgrade Helical Insight to the later versions. This blog will provide step by step guide to upgrade Helical Insight to the later version while keeping all the work and customization’s intact as per the previous version of Helical Insight. We will discuss in detail how we can upgrade Helical Insight from lower versions to higher when Helical Insight might be running either on jetty server or tomcat server. While upgrading the first and foremost important thing will be to take the backup of the existing work done in Helical Insight application which we will be discussing in detail. We are discussing the two use cases where helical Insight’s server can be jetty server or tomcat server.
I. Follow these steps in case you are using Helical Insight on jetty server:
Changes required in Jetty server:
- Rename the existing ‘hi’ folder in the installation directory to ‘hi-previous’.
- Now execute the Helical Insight jar file in cmd using the command. Go to the location where jar is placed in cmd.
command : java -jar “Jarfilename.jar” - In the installation path we will see that ‘hi’ folder got created.
- From hi-repository of previous server files please copy and replace the corresponding files in the upgraded version’s ‘hi’ folder as follows:
- global-connections.xml at path: \hi-repository\System\Admin
- Copy all the Drivers at path: \hi-repository\System\Drivers
- Reports from previous hi-repository to the new hi-repository file. In this case copy all the files and folders (make sure folder structure is intact) except ‘system’ folder from previous ‘hi-repository’ to the the new ‘hi-repository’.
- Deploy the hdi.license from the folder of previous version at path: < hi>\jetty\work\jetty-0.0.0.0-8085-hi-ee.war-_hi-ee-any-\webapp in the folder of newer version.
Follow below steps to update the user and organisations data in the newer version of Helical Insight:
- From ‘hi-previous’ folder copy the ‘db’ folder.
- Delete the existing ‘db’ folder present in the recently installed ‘hi’ folder.
- Paste the ‘db’ folder copied in step 1 to the newer ‘hi’ folder.
II. Follow these steps in case you are using Helical Insight on tomcat server:
- Extract the jar file of helical Insight. Copy the hi-ee.war file. Also unzip the hi-repository.zip file.
- Take backup of hi-ee folder in the path:/helical-insight/apache-tomcat-7/webapps. Delete the existing hi-ee folder after taking backup.
-
Copy the hi-ee.war file from the the extracted file to the apache tomcats webapps folder.
Location: C:\apache-tomcat-7.0.69\webappsNOTE: In your case location of the webapps folder may be different based on the apache tomcat Installation directory.
- Now restart the Apache Tomcat to extract the helical insight hi-ee.war file, after extracting it will create hi-ee folder. hi-ee folder structure is as below.
- Copy the ‘system’ folder from the extracted hi-repository folder mentioned in step1.
- Replace the ‘system’ folder in the previous ‘hi-repository’ folder with the ‘system’ folder from previous step.
- From hi-repository of previous server files please copy and replace the corresponding files in the upgraded version’s ‘system’ folder as follows:
- global-connections.xml at path: \hi-repository\System\Admin
- Copy all the Drivers at path: \hi-repository\System\Drivers
- Deploy the hdi.license from the folder of previous version at path:/helical-insight/apache-tomcat-7/webapps.
Part 1: Installing Helical Insight HI Repository:
-
Get the hi-repository.zip file and extract the zip file to any desired location.
Here, location of the extracted hi-repository is “E:\hi-ee\hi-repository” as shown above.
- Configuration of HI-Repository
- Editing the file setting.xml present in the hi-repository in any text editor.
Location: *\hi-repository\System\Admin\setting.xml
Find the tag <efwSolution><\efwSolution> in setting.xml file and set the value to HIRepositoryPath\hi-repository.
Example: <efwSolution>E:\\hi-ee\\hi-repository<\efwSolution>
For Linux: If you have copied the hi-repository in /home/user/hi-ee then path would be like this
<efwSolution>/home/user/hi-ee/hi-repository</efwSolution>
- Editing the file setting.xml present in the hi-repository in any text editor.
-
Updating the Base URL of the Helical Insight in setting.xml Find the tag <BaseUrl><\BaseUrl>. You need to set this value to the ip/domain configuration along with the hi-ee path.
For example, if you have placed the tomcat in www.yourdomain.com/hi-ee then the base URL will be <BaseUrl>http://www.yourdomain.com/hi-ee/hi.html<\BaseUrl>. In case of IP based configuration base URL may be in the below format:
http://<yourip>:<port>/hi-ee
Example:<BaseUrl>http://localhost:8080/hi-ee/hdi.html<\BaseUrl>
- Editing the connection details for sample reports:
Go to Admin folder of the hi-repository and Open globalConnections.xml in edit mode and Inside the file, find the element <hikariDataSource>, then find these tags
<jdbcUrl>, <userName>,<password>, and configure the default value for these tags based on your settings.Location: *\hi-ee\hi-repository\System\Admin
- Open the application-context.xml file in any text editor and configure the database, which the Helical Insight Application (hi-ee) is going to store and retrieve the user credentials i.e the credentials of users who will use this application as well as organization,role, profile information. The same database will also be used to enhance the application performance by storing cache related information.
Location: {TOMCAT_HOME}\webapps\hi-ee\WEB-INF\classes\application-context.xml Now configure the Bean class of HikariDataSource for driver class name, jdbcURL, username and password.
Example:
<bean class="com.zaxxer.hikari.HikariDataSource" destroy-method="close" id="dataSource"> <property name="driverClassName" value="com.mysql.jdbc.Driver"/> <property name="jdbcUrl" value="jdbc:mysql://localhost:3306/hiee"/> <property name="username" value="hiuser"/> <property name="password" value="hiuser"/> </bean>
- Configuring the hibernate Dialect for the Data Source, here we are using MySql so we have to provide the MySql dialect. Replace the Derby dialect with Mysql Dialect.
<prop key=”hibernate.dialect”>org.hibernate.dialect.MySQLDialect</prop>
Since we are using the MySql database, we have to add Mysql Connector jar in Helical Insight lib directory: Location of the Helical Insight Lib directory:C:\apache-tomcat-7.0.69\webapps\WEB-INF\lib Download URL for the MySQL connector:
http://central.maven.org/maven2/mysql/mysql-connector-java/5.1.6/mysql-connector-java-5.1.6.jar
Part 2: Configuration of Helical Insight Application for Apache tomcat:
A) Configuration of project.properties file for setting.xml file path.
Open {TOMCAT_HOME}\webapps\hi-ee\WEB-INF\classes\project.properties file with any text editor. Example: C:\Helical Insight\apache-tomcat-7\webapps\hi\WEB-INF\classes\project.properties Find
settingPath parameter and replace it with the location of setting.xml which is present in hi-repository System directory.
Format: settingPath = {setting.xml Location}
Example: settingPath = E:\hi-repository\System\Admin\setting.xml
Description: This parameter indicates location of setting.xml file, which comes under hi-repository directory. This setting.xml file consists of helical insight server settings.
B) Configuration of project.properties file for schedulerPath file path.
Find schedulerPath parameter and replace the default value with a value where you want the application to store scheduling related data.
Format: schedulerPath = {scheduling.xml location}
Example: schedulerPath = E:\hi-repository\System\scheduling.xml
Description: scheduling.xml file contains information of scheduled reports and related data. The same way as described above, change the value of pluginPath parameter to a directory named Plugins inside System directory.
Format: pluginPath = {Plugins location}
Example: pluginPath= E:\EFW_hdidev\System\Admin\Plugins
D)
C) Configuration of Helical Insight Log file Location.
Open log4j.properties file in any text editor and find log4j.appender.file.File parameter and replace the default value with location where you want to place logs of the application.
Location: {TOMCAT_HOME}\webapps\hi-ce\WEB-INF\classes\log4j.properties
Example: log4j.appender.file.File=D:\\hi-repository\\System\\debugLogs.log
Part 3: Configuration of the Helical Insight Database:
Part 4: Running the Helical Insight Application over Apache Tomcat with MySql
Following the above steps complete the installation of the helical insight on Apache Tomcat Server.
Restart your application server(Preferred) or reload the hi application in your application server manager. After that, you should be able to use the application by opening the browser and accessing at the below URL:
URL: http://{Your Server}:{Port}/hi-ee/hdi.html
Example:http://local:8080/hi-ee/hdi.html
Note: In case there are any customisations done in settings.xml, validations.xml, jsp files for white labelling … etc files then you can take backup of these files and again restore in the newer version which you have installed. It may or might not work based on the kind of changes done and the newer functionalities which has been introduced. In case if it does not work then compare the respective files in both the versions and make the changes accordingly.