This documentation relates to an old version of VIVO, version 1.8.x. Looking for another version? See all documentation.
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.
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). Example files for VIVO 1.5 are attached here:
The main difference in these files is the presence of nihvivo.dir. This attribute points to where VIVO is for the build. There are two standard ways to setup VIVO, for development or deployment.
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.
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.
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.