From 6e9233ca1b8b3126c8af4dc6dbb89f7aa8ac7f6a Mon Sep 17 00:00:00 2001 From: Andrew Woods Date: Wed, 23 Oct 2019 11:53:27 -0400 Subject: [PATCH] Remove VIVO configuration mechanism that never takes effect ..because it is overwritten by files in `example-config` Resolves: https://github.com/vivo-community/vivo-docker2/issues/8 --- README.md | 2 +- vivo/Dockerfile | 3 - vivo/dockercompose.runtime.properties | 376 -------------------------- vivo/example.applicationSetup.n3 | 140 ---------- 4 files changed, 1 insertion(+), 520 deletions(-) delete mode 100644 vivo/dockercompose.runtime.properties delete mode 100644 vivo/example.applicationSetup.n3 diff --git a/README.md b/README.md index 0739446..7f814af 100644 --- a/README.md +++ b/README.md @@ -23,7 +23,7 @@ Regardless of the usage, you will need to build the images, which require the fo ## VIVO Runtime Example -The example [docker-compose.yml](docker-compose.yml) is a typical installation for trying out a simple VIVO installation in docker. This file starts three containers and uses the standard SDB system with the mariadb backend. This example also shows how a local directory [example-config](example-config) is used to overwrite the default `runtime.properties` as installed by the Dockerfile. Here the root password, and the domain are modified. +The example [docker-compose.yml](docker-compose.yml) is a typical installation for trying out a simple VIVO installation in docker. This file starts three containers and uses the standard SDB system with the mariadb backend. This example also shows how a local directory [example-config](example-config) is used to overwrite the default `runtime.properties` and `applicationSetup.n3` as installed by the Dockerfile. Here the root password, and the domain are modified. ```bash docker-compose up -d diff --git a/vivo/Dockerfile b/vivo/Dockerfile index 0d15290..0a030af 100644 --- a/vivo/Dockerfile +++ b/vivo/Dockerfile @@ -32,8 +32,5 @@ RUN rm -r /usr/local/tomcat/webapps/examples # Set properties # Adjust logging, you can mount over this in docker-compose to further adjust COPY ./log4j.properties /usr/local/tomcat/webapps/VIVO/WEB-INF/classes -WORKDIR /usr/local/VIVO/home/config -COPY ./dockercompose.runtime.properties runtime.properties -COPY ./example.applicationSetup.n3 applicationSetup.n3 RUN export CATALINA_OPTS="-Xms512m -Xmx512m -XX:MaxPermSize=128m" diff --git a/vivo/dockercompose.runtime.properties b/vivo/dockercompose.runtime.properties deleted file mode 100644 index f69f697..0000000 --- a/vivo/dockercompose.runtime.properties +++ /dev/null @@ -1,376 +0,0 @@ -# ----------------------------------------------------------------------------- -# -# VIVO runtime properties -# -# This file is provided as example.runtime.properties. -# -# Save a copy of this file as runtime.properties in your VIVO home directory, -# and edit the properties as needed for your installation. -# -# For more information on specific properties, see the configuration reference -# or installation options section of the technical documentation for the -# version of VIVO you are running: -# https://wiki.duraspace.org/display/VIVO/VIVO+Technical+Documentation -# -# ----------------------------------------------------------------------------- - - -# ----------------------------------------------------------------------------- -# BASIC PROPERTIES -# ----------------------------------------------------------------------------- - - # - # This namespace will be used when generating URIs for objects created in the - # editor. In order to serve linked data, the default namespace must be composed - # as follows (optional elements in parentheses): - # - # scheme + server_name (+ port) (+ servlet_context) + "/individual/" - # - # For example, Cornell's default namespace is: - # - # http://vivo.cornell.edu/individual/ - # -Vitro.defaultNamespace = http://vivo.mydomain.edu/individual/ - - # - # The email address of the root user for the VIVO application. The password - # for this user is initially set to "rootPassword", but you will be asked to - # change the password the first time you log in. - # -rootUser.emailAddress = vivo_root@mydomain.edu - - -# -# Argon2 password hashing parameters for time, memory and parallelism required to -# compute a hash. -# -# A time cost defines the amount of computation realized and therefore the execution -# time, given in a number of iterations. -# A memory cost defines the memory usage, given in kibibytes -# A parallelism degree defines the number of parallel threads -# For determining the optimal values of the parameters for your setup please refer to -# the white paper section 9 -# https://github.com/P-H-C/phc-winner-argon2/blob/master/argon2-specs.pdf -# -argon2.parallelism =1 -argon2.memory = 1024 -argon2.time = 1000 - - # - # The basic parameters for a database connection. Change the end of the - # URL to reflect your database name (if it is not "vitrodb"). Change the username - # and password to match the authorized database user you created. - # -VitroConnection.DataSource.url = jdbc:mysql://mariadb:3306/vitrodb -VitroConnection.DataSource.username = vitrodbUsername -VitroConnection.DataSource.password = vitrodbPassword - - # - # Email parameters which VIVO can use to send mail. If these are left empty, - # the "Contact Us" form will be disabled and users will not be notified of - # changes to their accounts. - # -email.smtpHost = smtp.mydomain.edu -email.replyTo = vivoAdmin@mydomain.edu - - # - # URL of Solr context used in local VIVO search. This will usually consist of: - # scheme + server_name + port + vivo_webapp_name + "solr" - # In the standard installation, the Solr context will be on the same server as VIVO, - # and in the same Tomcat instance. The path will be the VIVO webapp.name (specified - # in build.properties) + "solr" - # Example: - # vitro.local.solr.url = http://localhost:8080/vivosolr - # -vitro.local.solr.url = http://solr:8983/solr/vivocore - - -# ----------------------------------------------------------------------------- -# LINKING USER ACCOUNTS TO PROFILE PAGES -# ----------------------------------------------------------------------------- - - # - # How is a logged-in user associated with a particular Individual? One way is - # for the Individual to have a property whose value is the username of the user. - # This value should be the URI for that property. - # -selfEditing.idMatchingProperty = http://vivo.mydomain.edu/ns#networkId - - -# ----------------------------------------------------------------------------- -# USING AN EXTERNAL AUTHENTICATION SYSTEM -# ----------------------------------------------------------------------------- - - # - # If an external authentication system like Shibboleth or CUWebAuth is to be - # used, this property says which HTTP header will contain the user ID from - # the authentication system. If such a system is not to be used, leave this - # commented out. Consult the installation instructions for more details. - # -#externalAuth.netIdHeaderName = remote_userID - - -# ----------------------------------------------------------------------------- -# TUNING THE DATABASE CONNECTION POOL -# ----------------------------------------------------------------------------- - - # - # The maximum number of active connections in the database connection pool. - # Increase this value to support a greater number of concurrent page requests. - # -VitroConnection.DataSource.pool.maxActive = 40 - - # - # The maximum number of database connections that will be allowed - # to remain idle in the connection pool. Default is 25% - # of the maximum number of active connections. - # -VitroConnection.DataSource.pool.maxIdle = 10 - - -# ----------------------------------------------------------------------------- -# USING A DIFFERENT DATABASE -# ----------------------------------------------------------------------------- - - # - # Parameters to change in order to use VIVO with a database other than - # MySQL. - # -VitroConnection.DataSource.dbtype = MySQL -VitroConnection.DataSource.driver = com.mysql.jdbc.Driver -VitroConnection.DataSource.validationQuery = SELECT 1 - - # Note: the above parameters allow you to change the relational database that - # is used as the back end for Jena SDB. If you want to use a triple store - # other than SDB, you will need to edit applicationSetup.n3. See the - # installation instructions for more details. - - -# ----------------------------------------------------------------------------- -# ADDING OPENSOCIAL GADGETS TO VIVO -# ----------------------------------------------------------------------------- - - # - # For OpenSocial integration - # The base URL of the ORNG Shindig server. Usually, this is the same host and port - # number as VIVO itself, with a context path of "shindigorng". - # -#OpenSocial.shindigURL = http://localhost:8080/shindigorng - - # - # For OpenSocial integration - # The host name and port number of the service that provides security tokens for VIVO and - # Shindig to share. For now, the host name must be the actual host, not "localhost" or "127.0.0.1" - # The port number must be 8777 - # -#OpenSocial.tokenService = myhost.mydomain.edu:8777 - - # - # For OpenSocial integration - # The path to the key file that will be used when generating security tokens for VIVO and - # shindig to share. - # -#OpenSocial.tokenKeyFile = /usr/local/vivo/data/shindig/openssl/securitytokenkey.txt - - # - # For OpenSocial integration - # Only set sandbox to True for dev/test environments. Comment out or set to False in production - # -#OpenSocial.sandbox = True - - -# ----------------------------------------------------------------------------- -# ADDING LANGUAGES TO VIVO -# ----------------------------------------------------------------------------- - - # - # Show only the most appropriate data values based on the Accept-Language - # header supplied by the browser. Default is false if not set. - # -# RDFService.languageFilter = false - - # - # Force VIVO to use a specific language or Locale instead of those - # specified by the browser. This affects RDF data retrieved from the model, - # if RDFService.languageFilter is true. This also affects the text of pages - # that have been modified to support multiple languages. - # -# languages.forceLocale = en_US - - # - # A list of supported languages or Locales that the user may choose to - # use instead of the one specified by the browser. Selection images must - # be available in the i18n/images directory of the theme. This affects - # RDF data retrieved from the model, if RDFService.languageFilter is true. - # This also affects the text of pages that have been modified to support - # multiple languages. - # - # This should not be used with languages.forceLocale, which will override it. - # -# languages.selectableLocales = en_US, es_GO - - -# ----------------------------------------------------------------------------- -# ORCID INTEGRATION -# ----------------------------------------------------------------------------- - -# orcid.clientId = 0000-0000-0000-000X -# orcid.clientPassword = 00000000-0000-0000-0000-000000000000 - - # - # The orcid.webappBaseUrl must end in a front slash (/) - # if it includes a path past the domain and (if required) port. - # -# orcid.webappBaseUrl = http://vivo.mydomain.edu/vivo/ -# orcid.externalIdCommonName = VIVO Cornell Identifier - - # 1.2, 2.0 -# orcid.apiVersion = 2.0 - - # release, sandbox -# orcid.api = sandbox - -# ----------------------------------------------------------------------------- -# OTHER OPTIONS -# ----------------------------------------------------------------------------- - - # Google Maps Key - # --------------- - # To use the Google Maps (e.g. Map of Science), you need to have a key for Google Maps - # See https://developers.google.com/maps/documentation/javascript/get-api-key - # - # When you have a key, uncomment the line below and add it here - -#google.maps.key= - - # AltMetric badges - # ---------------- - # Options to embed AltMetric badges on information resource (e.g. journal article) pages - # See the AltMetric documentation for more imformation about each option: http://api.altmetric.com/embeds.html - # The embed code will use a DOI, or PubMed ID, if present - - # Enable AltMetric badges - # Uncomment and set this to disabled if you don't want AltMetric badges -#resource.altmetric=disabled - - # Display the badge to the left or right of the title (default = right) - # Options: left, right -#resource.altmetric.displayto=right - - # Badge type to display (default = donut) - # Options: See AltMetric documentation - recommended settings: donut, medium-donut -#resource.altmetric.badge-type=donut - - # Hide the badge if there are no mentions (default = true) - # Options: true, false -#resource.altmetric.hide-no-mentions=true - - # Display more details about the score when you hover over the badge (default = right) - # Options, right, left, up, down -#resource.altmetric.badge-popover=right - - # Dsiplay extended details alongside the badge (default = none) -#resource.altmetric.badge-details=right - - # Plum prints - # ---------------- - # Options to embed Plum prints on information resource (e.g. journal article) pages - # The embed code will use a DOI, PubMed ID, ISBN, or OCLC number, if present - - # Enable Plum prints - # Uncomment and set this to disabled if you don't want Plum prints -#resource.plum-print=disabled - - # Display the badge to the left or right of the title (default = right) - # Options: left, right -#resource.plum-print.displayto=right - - # Hide the print if there are no metrics (default = true) - # Options: true, false -#resource.plum-print.hide-when-empty=true - - # Display more details about the score when you hover over the print (default = right) - # Options: right, left, top, bottom, hidden -#resource.plum-print.popover=right - - # Size of the print (default = medium) - # Options: tiny, small, medium, large -#resource.plum-print.size=medium - - # - # When the following flag is set to enabled, the VIVO home page displays a - # global map highlighting the geographical focus of foaf:person individuals. - # -#homePage.geoFocusMaps=enabled - - - # - # VIVO supports the simultaneous use of a full foaf:Person profile page view - # and a "quick" page view that emphasizes the individual's webpage presence. - # Implementing this feature requires an installation to develop a web service - # that captures images of web pages or to use an existing service outside of VIVO. - # -#multiViews.profilePageTypes=enabled - - - # - # Tell VIVO to generate HTTP headers on its responses to facilitate caching the - # profile pages that it creates. - # - # Developers will likely want to leave caching disabled, since a change to a - # Freemarker template or to a Java class would not cause the page to be - # considered stale. - # -http.createCacheHeaders = true - - # - # Absolute path on the server of the Harvester root directory. - # You must include the final slash. - # - # Setting a value for harvester.location indicates that the Harvester is installed at - # this path. This will enable the Harvester functions in the Ingest Tools page. - # -# harvester.location = /usr/local/vivo/harvester/ - - # - # The temporal graph visualization is used to compare different organizations/people - # within an organization on parameters like number of publications or grants. - # By default, the app will attempt to make its best guess at the top level - # organization in your instance. If you're unhappy with this selection, uncomment out - # the property below and set it to the URI of the organization individual you want to - # identify as the top level organization. It will be used as the default whenever the - # temporal graph visualization is rendered without being passed an explicit org. - # For example, to use "Ponce School of Medicine" as the top organization: - # visualization.topLevelOrg = http://vivo.psm.edu/individual/n2862 - # -# visualization.topLevelOrg = http://vivo.mydomain.edu/individual/topLevelOrgURI - - # - # The temporal graph visualization can require extensive machine resources. - # This can have a particularly noticeable impact on memory usage if - # - The organization tree is deep, - # - The number of grants and publications is large. - # VIVO 1.3 release mitigates this problem by the way of a caching mechanism & - # hence we can safely set this to be enabled by default. - # -visualization.temporal = enabled - - # - # Types of individual for which we can create proxy editors. - # If this is omitted, defaults to http://www.w3.org/2002/07/owl#Thing - # -proxy.eligibleTypeList = http://xmlns.com/foaf/0.1/Person, http://xmlns.com/foaf/0.1/Organization - - # - # Default type(s) for Google Refine Reconciliation Service - # The format for this property is id, name; id1, name1; id2, name2 etc. - # For more information, see Service Metadata from this page: - # https://github.com/OpenRefine/OpenRefine/wiki/Reconciliation-Service-Api - # -Vitro.reconcile.defaultTypeList = http://vivoweb.org/ontology/core#Role, core:Role; \ - http://vivoweb.org/ontology/core#AcademicDegree, core:Academic Degree; \ - http://purl.org/NET/c4dm/event.owl#Event, event:Event; \ - http://vivoweb.org/ontology/core#Location, core:Location; \ - http://xmlns.com/foaf/0.1/Organization, foaf:Organization; \ - http://xmlns.com/foaf/0.1/Person, foaf:Person; \ - http://purl.obolibrary.org/obo/IAO_0000030, obo:IAO_0000030 diff --git a/vivo/example.applicationSetup.n3 b/vivo/example.applicationSetup.n3 deleted file mode 100644 index 0d079ad..0000000 --- a/vivo/example.applicationSetup.n3 +++ /dev/null @@ -1,140 +0,0 @@ -# ------------------------------------------------------------------------------ -# -# This file specifies the structure of the Vitro application: which modules -# are used, and what parameters they require. -# -# Most Vitro installations will not need to modify this file. -# -# For most installations, only the settings in the runtime.properties file will -# be changed. -# -# ------------------------------------------------------------------------------ - -@prefix : . -@prefix vitroWebapp: . - -# ---------------------------- -# -# Describe the application by its implementing class and by references to the -# modules it uses. -# - -:application - a vitroWebapp:application.ApplicationImpl , - vitroWebapp:modules.Application ; - :hasSearchEngine :instrumentedSearchEngineWrapper ; - :hasSearchIndexer :basicSearchIndexer ; - :hasImageProcessor :iioImageProcessor ; - :hasFileStorage :ptiFileStorage ; - :hasContentTripleSource :sdbContentTripleSource ; - :hasConfigurationTripleSource :tdbConfigurationTripleSource ; - :hasTBoxReasonerModule :jfactTBoxReasonerModule . - -# ---------------------------- -# -# Image processor module: -# - -:iioImageProcessor - a vitroWebapp:imageprocessor.imageio.IIOImageProcessor , - vitroWebapp:modules.imageProcessor.ImageProcessor . - -# ---------------------------- -# -# File storage module: -# The PairTree-inspired implementation is the only standard option. -# It requires no parameters. -# - -:ptiFileStorage - a vitroWebapp:filestorage.impl.FileStorageImplWrapper , - vitroWebapp:modules.fileStorage.FileStorage . - -# ---------------------------- -# -# Search engine module: -# The Solr-based implementation is the only standard option, but it can be -# wrapped in an "instrumented" wrapper, which provides additional logging -# and more rigorous life-cycle checking. -# - -:instrumentedSearchEngineWrapper - a vitroWebapp:searchengine.InstrumentedSearchEngineWrapper , - vitroWebapp:modules.searchEngine.SearchEngine ; - :wraps :solrSearchEngine . - -:solrSearchEngine - a vitroWebapp:searchengine.solr.SolrSearchEngine , - vitroWebapp:modules.searchEngine.SearchEngine . - -# ---------------------------- -# -# Search indexer module: -# There is only one standard implementation. You must specify the number of -# worker threads in the thread pool. -# - -:basicSearchIndexer - a vitroWebapp:searchindex.SearchIndexerImpl , - vitroWebapp:modules.searchIndexer.SearchIndexer ; - :threadPoolSize "10" . - -# ---------------------------- -# -# Content triples source module: holds data contents -# The SDB-based implementation is the default option. It reads its parameters -# from the runtime.properties file, for backward compatibility. -# -# Other implementations are based on a local TDB instance, a "standard" SPARQL -# endpoint, or a Virtuoso endpoint, with parameters as shown. -# - -:sdbContentTripleSource - a vitroWebapp:triplesource.impl.sdb.ContentTripleSourceSDB , - vitroWebapp:modules.tripleSource.ContentTripleSource . - -#:tdbContentTripleSource -# a vitroWebapp:triplesource.impl.tdb.ContentTripleSourceTDB , -# vitroWebapp:modules.tripleSource.ContentTripleSource ; -# # May be an absolute path, or relative to the Vitro home directory. -# :hasTdbDirectory "tdbContentModels" . - -#:sparqlContentTripleSource -# a vitroWebapp:triplesource.impl.sparql.ContentTripleSourceSPARQL , -# vitroWebapp:modules.tripleSource.ContentTripleSource ; -# # The URI of the SPARQL endpoint for your triple-store. -# :hasEndpointURI "PUT_YOUR_SPARQL_ENDPOINT_URI_HERE" ; -# # The URI to use for SPARQL UPDATE calls against your triple-store. -# :hasUpdateEndpointURI "PUT_THE UPDATE_URI_HERE" . - -#:virtuosoContentTripleSource -# a vitroWebapp:triplesource.impl.virtuoso.ContentTripleSourceVirtuoso , -# vitroWebapp:modules.tripleSource.ContentTripleSource ; -# # The URI where Virtuoso can be accessed: don't include the /sparql path. -# :hasBaseURI "http://localhost:8890" ; -# # The name and password of a Virtuoso account that has the SPARQL_UPDATE role. -# :hasUsername "USERNAME" ; -# :hasPassword "PASSWORD" . - - -# ---------------------------- -# -# Configuration triples source module: holds configuration data and user accounts -# The TDB-based implementation is the only standard option. -# It requires no parameters. -# - -:tdbConfigurationTripleSource - a vitroWebapp:triplesource.impl.tdb.ConfigurationTripleSourceTDB , - vitroWebapp:modules.tripleSource.ConfigurationTripleSource . - -# ---------------------------- -# -# TBox reasoner module: -# The JFact-based implementation is the only standard option. -# It requires no parameters. -# - -:jfactTBoxReasonerModule - a vitroWebapp:tboxreasoner.impl.jfact.JFactTBoxReasonerModule , - vitroWebapp:modules.tboxreasoner.TBoxReasonerModule .