Skip to content

Installation guide

Marten edited this page Dec 21, 2023 · 26 revisions

Option 1 - As Web application

Installation prerequisites

  • For Harvester 2.7.1, we have upgraded the h2 version. To upgrade to the new Harvester and keep your current brokers/tasks:
    • Export tasks from your existing deployed Harvester
    • Rename the harvester database (see jdbc.url in hrv.properties file for the location and name)
    • Deploy Harvester 2.7.1
    • Start the web application and import the saved brokers/tasks
  • For Harvester 2.7.0, if you install this version on a machine where an earlier version was hosted, you will need to rename the h2 database or put it in a different location. The 2.6.5 h2 database cannot be used with 2.7.0.
  • A Java Application Server such as Tomcat 9.x installed if you want to use Harvester as a web application
  • A Geoportal 2.6.x instance if you plan to harvest to Geoportal 2.x
  • Harvester 2.6.4 was tested with AdoptOpenJDK 11, Tomcat 9.0.29 and ElasticSearch 7.5.0, it should work with other similar versions.
  • Harvester 2.6.5 was tested with AdoptOpenJDK 11, Tomcat 9.0.29 and ElasticSearch 7.9.3, it should work with other similar versions as well.

Installation steps

  • Deploy harvester.war to Tomcat (e.g. drop harvester.war into Tomcat webapps folder)
  • Restart Tomcat if necessary
  • Open Harvester application (e.g. http://localhost:8080/harvester)
  • Run quick smoke test by following steps in Quick start guide

Custom configuration - security

Starting from 2.6.1, you can configure various authentication options such as simple, LDAP in Harvester. To turn on security

  • In harvester\WEB-INF\web.xml:20 – uncomment springSecurityFilterChain filter
  <filter>
   <filter-name>springSecurityFilterChain</filter-name>
   <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
   <async-supported>true</async-supported>
 </filter>
 <filter-mapping>
   <filter-name>springSecurityFilterChain</filter-name>
   <url-pattern>/*</url-pattern>
   <dispatcher>ERROR</dispatcher>
   <dispatcher>REQUEST</dispatcher>
 </filter-mapping>
  • In harvester\hrv\ui\main\templates\Header.html, change “display” style from "none" to "block"
  • Decide upon minimum permission required to access application (default: PUBLISHER), and update value in harvester\WEB-INF\classes\config\app-security.xml accordingly.
   <security:intercept-url pattern="/login.html" access="permitAll" />
   <security:intercept-url pattern="/**" access="hasRole('PUBLISHER')" />

Configure harvester to work in a disconnected environment

  • Setup a local instance of ArcGIS JavaScript API
  • Setup a local instance of ArcGIS geometry service that is shared with everyone
  • Update ..\harvester\WEB-INF\classes\config\hrv.properties
    • Replace url for geometry service
geometry.service.url=http://servername/arcgis/rest/services/Utilities/Geometry/GeometryServer
  • Update ..\harvester\index.html
before:
   ...
   <link rel="stylesheet" href="https://js.arcgis.com/3.22/esri/themes/calcite/dijit/calcite.css">
   <link rel="stylesheet" href="https://js.arcgis.com/3.22/esri/themes/calcite/esri/esri.css">
   ...
   <script src="//js.arcgis.com/3.22/"></script>
   ...
   <body class="calcite">
after:
   ...
   <link rel="stylesheet" href="http://servername/arcgis_js_api/library/3.22/3.22/dijit/themes/claro/claro.css">	
   <link rel="stylesheet" href="http://servername/arcgis_js_api/library/3.22/3.22/esri/css/esri.css">
   ...
   <script src="//servername/arcgis_js_api/library/3.22/3.22/"></script>
   ...    
   <body class="claro">    
   

Option 2 - As stand alone application

Prerequisites

  • AdoptOpenJDK 11

Installation steps