Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Info
titleDraft

This page is being updated written for 1.9 10 and Maven. Check back for more.


Table of Contents

...

Excerpt

Add a third layer to the VIVO distribution, to keep all of your modifications in one place.

The three tiered build is very simple. In a standard two tier build VIVO replaces anything that is in Vitro as it adds its own special files to the mix. In a three tier we replace anything in Vitro or VIVO with the files that we want to add or modify for our version of VIVO. This allows us to point at newer VIVO versions without modifying the files within.

There is a significant change in the process in that 1.9 has moved from using ANT to MAVEN.

The method in this document has been copied from the EarthCollab work at: https://github.com/NCAR/2014-EarthCube-BuildingBlocks-EnablingCollaboration-14402930-vivo-source

The files that differ from a regular VIVO build (other than the ones you are adding and changing) are the build.xml and build.properties file (deploy.properties in 1.5 and earlier).

There are two standard ways to setup VIVO, for development or deployment.

Development

With development, you want to look at your VIVO against the VIVO and Vitro sources. This means getting the source for each project from the git repository.

Your deploy.properties then points at the individual repositories.  When you build it pulls the three repositories together and sends them as a single package to Tomcat.

Image Removed

Deployment

In deployment you have just your third tier and the released source for VIVO. In that released source is the vitro code that goes with the latest release of VIVO. Your deploy.properties for a deployment build will need to point to the internal vitro-core folder for the vitro code.

Image Removed

Project template

If you would like to get started with the three tired build process, there is a project template on Github that includes the necessary build.xml, build.properties and directory structure.  This template uses Git submodules to pull in VIVO and Vitro from the main vivo-project repository.  

 

Overview

VIVO can be customized in many ways.  Most sites customize the interface using themes.  See Creating a custom theme.  Many sites create ontology extensions to introduce local terminology. See Adding Additional Ontologies to VIVO.  Sites can add custom configurations for the Data Distribution API (see Data Distribution API), providing custom APIs returning data you specify in formats you specify at web addresses you specify.  

In each case, files distributed with VIVO are replaced or added.   The process described here uses a Maven custom installer to replace and add your files to those distributed with VIVO.

Maven Custom Installer

Example – Custom Theme

Example – Local Ontology

Example – Data Distribution API

...