Create vivo/home on application start-up (#192)

* Create vivo/home on application start-up

- Add logic for untarring vivo-home

Related to: https://jira.lyrasis.org/browse/VIVO-1443

* Require runtime.properties and applicationSetup.n3 be in 'config/' dir

Related to: https://jira.lyrasis.org/browse/VIVO-1443

* Support loading config files with or without 'default' prefix
* Prioritize without the prefix

Related to: https://jira.lyrasis.org/browse/VIVO-1443

* Add leading slash to location of vivo-home.tar resource path
* This allows for deployment in both Tomcat and Jetty

Related to: https://jira.lyrasis.org/browse/VIVO-1443

* Ensure VIVO_HOME is populated whether it is empty or not

Related to: https://jira.lyrasis.org/browse/VIVO-1443

* Require common properties to be in JNDI

Properties include:
- vitro/home
- vitro/appName
- vitro/rootUserAddress
- vitro/defaultNamespace

Related to: https://jira.lyrasis.org/browse/VIVO-1443

* VIVO-1443: non destructive vivo home untarring (#2)

* Upgrade Jena version to 3.16.0 (#196)

Related to: https://jira.lyrasis.org/browse/VIVO-1943

* remove example-settings.xml
* update home directory untar non-destructive
* checksum digest to retain modified files
* compare checksum from digest with existing file
* overwrite files that have not changed
* add command to manually generate checksum digest
* simplify parsing checksum digest using pattern

Co-authored-by: Andrew Woods <awoods@lyrasis.org>
Co-authored-by: Andrew Woods <awoods@duraspace.org>

* not overwrite existing file if same as tar entry (#3)

* Upgrade Jena version to 3.16.0 (#196)

Related to: https://jira.lyrasis.org/browse/VIVO-1943

* remove example-settings.xml
* update home directory untar non-destructive
* checksum digest to retain modified files
* compare checksum from digest with existing file
* overwrite files that have not changed
* add command to manually generate checksum digest
* simplify parsing checksum digest using pattern
* do not overwrite file if same as already exists

Co-authored-by: Andrew Woods <awoods@lyrasis.org>
Co-authored-by: Andrew Woods <awoods@duraspace.org>

* Update log messages for clarity

Co-authored-by: Andrew Woods <awoods@duraspace.org>
Co-authored-by: William Welling <wwelling@library.tamu.edu>
Co-authored-by: Gross, Benjamin <benjamin.gross@clarivate.com>
This commit is contained in:
Andrew Woods 2021-02-05 11:58:37 -05:00 committed by GitHub
parent 936305be2a
commit 8b9a7484b3
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
13 changed files with 412 additions and 139 deletions

View file

@ -1,98 +0,0 @@
#
# -----------------------------------------------------------------------------
#
# Runtime properties for developer mode.
#
# If the developer.properties file is present in the config sub-directory of
# your VIVO home directory, it will be loaded as VIVO starts up, taking effect
# immediately.
#
# Each of these properties can be set or changed while VIVO is running, but it
# can be convenient to set them in advance.
#
# WARNING: Some of these options can seriously degrade performance. They should
# not be enabled in a production instance of VIVO.
#
# For more information go to
# https://wiki.duraspace.org/display/VIVO/The+Developer+Panel
#
# -----------------------------------------------------------------------------
#
#------------------------------------------------------------------------------
# General options
#------------------------------------------------------------------------------
# developer.enabled = false
# developer.permitAnonymousControl = false
#------------------------------------------------------------------------------
# Freemarker
#------------------------------------------------------------------------------
# developer.defeatFreemarkerCache = false
# developer.insertFreemarkerDelimiters = false
#------------------------------------------------------------------------------
# Page configuration
#------------------------------------------------------------------------------
# developer.pageContents.logCustomListView = false
# developer.pageContents.logCustomShortView = false
#------------------------------------------------------------------------------
# Internationalization
#------------------------------------------------------------------------------
# developer.i18n.defeatCache = false
# developer.i18n.logStringRequests = false
#------------------------------------------------------------------------------
# Logging SPARQL queries
#------------------------------------------------------------------------------
# developer.loggingRDFService.enable = false
# developer.loggingRDFService.stackTrace = false
# developer.loggingRDFService.queryRestriction = .*
# developer.loggingRDFService.stackRestriction = .*
#------------------------------------------------------------------------------
# Logging Search indexing
#------------------------------------------------------------------------------
# developer.searchIndex.enable = false
# developer.searchIndex.showDocuments = false
# developer.searchIndex.uriOrNameRestriction = .*
# developer.searchIndex.documentRestriction = .*
# developer.searchIndex.logIndexingBreakdownTimings = false
# developer.searchIndex.suppressModelChangeListener = false
# developer.searchDeletions.enable = false
#------------------------------------------------------------------------------
# Logging Search queries
#------------------------------------------------------------------------------
# developer.searchEngine.enable = false
# developer.searchEngine.addStackTrace = false
# developer.searchEngine.addResults = false
# developer.searchEngine.queryRestriction = .*
# developer.searchEngine.stackRestriction = .*
#------------------------------------------------------------------------------
# Logging policy decisions (authorization)
#------------------------------------------------------------------------------
# developer.authorization.logDecisions.enable = false
# developer.authorization.logDecisions.addIdentifiers = false
# developer.authorization.logDecisions.skipInconclusive = false
# developer.authorization.logDecisions.actionRestriction = false
# developer.authorization.logDecisions.userRestriction = false
# developer.authorization.logDecisions.policyRestriction = false