Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

VIVO-1443: Decouple VIVO build from installation #3034

Open
chenejac opened this issue Feb 7, 2018 · 8 comments · May be fixed by vivo-project/Vitro#479 or #4017
Open

VIVO-1443: Decouple VIVO build from installation #3034

chenejac opened this issue Feb 7, 2018 · 8 comments · May be fixed by vivo-project/Vitro#479 or #4017

Comments

@chenejac
Copy link
Contributor

chenejac commented Feb 7, 2018

Andrew Woods (Migrated from VIVO-1443) said:

This task is to decouple the Maven build process: mvn clean install, from the installation process.

Building VIVO should run the unit and integration tests as well as generate artifacts that can subsequently be installed.

Draft installation requirements:

  • VIVO should be able to be deployed by dropping vivo.war into a servlet container (e.g. Tomcat)
  • On startup, VIVO should create ${VIVO_HOME}, if it does not exist
  • On startup, VIVO configure Solr's schema, if it is not already configured
  • System administrators should be able to enable i18n languages via runtime configuration files
  • VIVO should only load i18n triples that are associated with enabled i18n languages
  • Developers should be able to use a three-tier build to create a vivo.war for advanced customization
@chenejac
Copy link
Contributor Author

Andrew Woods said:

Notes:

  • Ensure two webapps are created
    ** solr
    ** vivo
  • Auto-create VIVO-home on install of war
    ** first install prompts for mysql credentials
    ** or have an in-memory
  • For development process
    ** support jetty:run

Notes revisited (2019-05-17):

  • No longer need to consider vivosolr (will be externalized)
    ** VIVO project to only produce a vivo.war artifact
  • Configuration/Home files can be extracted into Vitro-home and VIVO-home Github projects
    ** TAR artifact can be distributed/installed independently or installed by mvn
  • For development process
    ** support jetty:run

@chenejac
Copy link
Contributor Author

Graham Triggs said:

The pom.xml in the installer project is designed to do nothing if you do not provide any of the configuration that is in the (example-)settings.xml.

Additionally, if you run Maven with the installer profile de-activated (-P!installer), then it wont include that project.

In either case, Maven will generate artifacts that are then installed in the local Maven repository.

But in most cases, if you are doing full source builds, it is better to be working in a single reactor, otherwise you quickly run into a confusion as to whether you are using up to date assets, assets from Maven central, etc.

@chenejac
Copy link
Contributor Author

@chenejac
Copy link
Contributor Author

chenejac commented Oct 23, 2020

Andrew Woods said:

Guidelines for iteration on this task after 2020-10-23 conversation with Brian and Benjamin.

  • / Rename example.runtime.properties and example.applicationSetup.n3 to: default.runtime.properties and default.applicationSetup.n3
    ** / Start-up logic should use files with no prefix first, then fall back on files with "default" prefix
    ** / Consider consistent naming approach to developer-settings... but not activating by default
  • / Remove logic for looking for config files in parent of the "config" directory
  • Remove support for including "settings.xml" during build
  • / On start-up, files in "home-files.tar" should be copied into VIVO_HOME, whether or not files already exist in that directory
  • / Primary mechanism for passing arguments into VIVO on start-up is through the "context.xml" file
    ** / The "context.xml" file should include: app-name (which also determines the log name), root user address, default namespace
    ** / The above details that overlap with elements in runtime.properties should be removed from runtime.properties
  • Potentially move the "themes" into the "home-files.tar"

@chenejac
Copy link
Contributor Author

Andrew Woods said:

With the exception of moving the "themes" into the "home-files.tar", the other sub-tasks listed above are not included in the previous pull-requests:

@chenejac
Copy link
Contributor Author

Andrew Woods said:

The additions to pr-VIVO-197 and pr-Vitro-192 work well.
As does: vivo-community/vivo-custom-webapp#2 (with some minor comments)

@chenejac
Copy link
Contributor Author

chenejac commented Feb 5, 2021

Andrew Woods said:

Resolved with:

..and supported with: https://github.com/vivo-community/vivo-custom-webapp

@chenejac
Copy link
Contributor Author

chenejac commented Mar 22, 2021

Brian Lowe said:

War deployment reverted with commits
7773db3
and
vivo-project/Vitro@e4e0a7d.

To be further discussed for next release in order to ensure that existing custom installations are not left behind.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment