2011-01-14 19:11:35 +00:00
|
|
|
|
<!DOCTYPE html>
|
|
|
|
|
<html lang="en">
|
|
|
|
|
<head>
|
|
|
|
|
<meta charset="utf-8" />
|
2011-02-10 04:23:54 +00:00
|
|
|
|
<title>VIVO Release 1 V1.2 Installation Guide</title>
|
2011-02-10 02:23:06 +00:00
|
|
|
|
<link rel="stylesheet" href="./css/doc.css" media="screen" />
|
2011-01-14 19:11:35 +00:00
|
|
|
|
</head>
|
|
|
|
|
<body>
|
2011-02-03 21:27:34 +00:00
|
|
|
|
<div id="branding" role="banner">
|
2011-01-14 19:11:35 +00:00
|
|
|
|
<h1 class="vivo-logo"><a href="/"><span class="displace">VIVO</span></a></h1>
|
2011-02-03 21:27:34 +00:00
|
|
|
|
</div>
|
2011-01-14 19:11:35 +00:00
|
|
|
|
<!-- Start of content -->
|
|
|
|
|
<div id="wrapper-content" role="main">
|
2011-02-01 22:12:26 +00:00
|
|
|
|
<h1>VIVO Release 1 V1.2 Installation Guide</h1>
|
2011-01-16 00:00:10 +00:00
|
|
|
|
<small>
|
2011-02-16 16:28:59 +00:00
|
|
|
|
February 16, 2011
|
2011-01-16 00:00:10 +00:00
|
|
|
|
</small>
|
2011-01-14 19:11:35 +00:00
|
|
|
|
<toc>
|
|
|
|
|
<ul>
|
|
|
|
|
<li>
|
|
|
|
|
<a href="#announcement">Release announcement for V1.2</a>
|
|
|
|
|
</li>
|
|
|
|
|
<li>
|
|
|
|
|
<a href="#installation">Installation process for V1.2</a>
|
|
|
|
|
</li>
|
|
|
|
|
</ul>
|
|
|
|
|
</toc>
|
|
|
|
|
<!-- Release Announcement --><h2 id="announcement">Release anouncement for V1.2</h2>
|
|
|
|
|
<p>
|
2011-02-16 16:28:59 +00:00
|
|
|
|
The VIVO 1.2 release incorporates major changes throughout the application -
|
|
|
|
|
notably a new templating system to support more versatile page rendering, plus
|
|
|
|
|
improvements to address scalability. The release also features a new personal
|
|
|
|
|
visualization option covering grants as well as publications. The VIVO Harvester
|
|
|
|
|
library has also been significantly improved and expanded in scope for its 1.0
|
|
|
|
|
release through the VIVO SourceForge project at
|
|
|
|
|
<a href="http://sourceforge.net/projects/vivo">http://sourceforge.net/projects/vivo</a>.
|
2011-02-09 23:28:12 +00:00
|
|
|
|
</p>
|
|
|
|
|
<h4>Templating system for page generation, navigation, and theming</h4>
|
|
|
|
|
<p>
|
2011-02-16 16:28:59 +00:00
|
|
|
|
A fresh installation of VIVO 1.2 looks strikingly different, with the introduction
|
|
|
|
|
of a new default theme which takes advantage of the navigation and browse features
|
|
|
|
|
delivered by the templating system. Individual pages now offer inline navigation to
|
|
|
|
|
streamline viewing of expanded personal and organizational profiles, as well as
|
|
|
|
|
improved content layout and organization. New browse controls on the home page and
|
|
|
|
|
menu pages help to provide an immediate overview of the size and range of content
|
|
|
|
|
and quick access down to the individual person, organization, research feature, or
|
|
|
|
|
event.
|
2011-02-09 23:28:12 +00:00
|
|
|
|
</p>
|
|
|
|
|
<h4>Storage model</h4>
|
|
|
|
|
<p>
|
2011-02-16 16:28:59 +00:00
|
|
|
|
While server memory capacity has increased significantly in recent years, VIVO's reliance
|
|
|
|
|
on in-memory caching of RDF data had put limits on the ultimate scalability of VIVO instances
|
|
|
|
|
and potentially increased the cost of servers required to support VIVO.
|
2011-02-09 23:28:12 +00:00
|
|
|
|
</p>
|
|
|
|
|
<p>
|
2011-02-16 16:28:59 +00:00
|
|
|
|
With version 1.2, VIVO has been converted to optionally use Jena's SPARQL database (SDB)
|
|
|
|
|
subsystem. SDB significantly reduces the baseline memory footprint, allowing VIVO installations
|
|
|
|
|
to scale well beyond what has previously been possible.
|
2011-02-09 23:28:12 +00:00
|
|
|
|
</p>
|
|
|
|
|
<h4>New visualizations</h4>
|
|
|
|
|
<p>
|
2011-02-16 16:28:59 +00:00
|
|
|
|
Visualizations of networks of co-authors are now complemented by visualizations of co-investigators
|
|
|
|
|
on grants, with similar interactivity and options for export as images or data.
|
2011-02-09 23:28:12 +00:00
|
|
|
|
</p>
|
|
|
|
|
<h4>Ontology</h4>
|
|
|
|
|
<p>
|
2011-02-10 04:23:54 +00:00
|
|
|
|
VIVO 1.2 includes a new ontology module representing research
|
2011-02-10 18:37:48 +00:00
|
|
|
|
resources including biological specimens, human studies, instruments,
|
|
|
|
|
organisms, protocols, reagents, and research opportunities. This module
|
|
|
|
|
is aligned with the top-level ontology classes and properties from the
|
2011-02-09 23:28:12 +00:00
|
|
|
|
NIH-funded <a href="https://www.eagle-i.org/home/">eagle-i Project</a>.
|
|
|
|
|
</p>
|
|
|
|
|
<h3>Associated VIVO releases</h3>
|
|
|
|
|
<h4>VIVO Harvester</h4>
|
|
|
|
|
<p>
|
2011-02-16 16:28:59 +00:00
|
|
|
|
The Harvester development team is releasing version 1.0 of the VIVO Harvester library shortly
|
|
|
|
|
following the release of VIVO 1.2. The Harvester is an extensible data ingest and updating
|
|
|
|
|
framework with sample configurations for loading PubMed publication, grants, and human resources
|
|
|
|
|
data. Pre-release versions of the Harvester are available at
|
|
|
|
|
<a href="http://sourceforge.net/projects/vivo">http://sourceforge.net/projects/vivo</a>.
|
2011-02-09 23:28:12 +00:00
|
|
|
|
</p>
|
|
|
|
|
<hr><!-- Page break --><!-- Installation process for V1.2 --><h2 id="installation">Installation process for V1.2</h2>
|
2011-01-14 19:11:35 +00:00
|
|
|
|
<p>
|
2011-02-01 22:12:26 +00:00
|
|
|
|
This document is a summary of the VIVO installation process. This
|
|
|
|
|
and other documentation can be found on the <a href="http://vivoweb.org/support">support page</a>
|
2011-01-14 19:11:35 +00:00
|
|
|
|
at <a href="http://vivoweb.org">VIVOweb.org</a>
|
|
|
|
|
</p>
|
|
|
|
|
<ul>
|
|
|
|
|
<li>
|
2011-02-09 23:28:12 +00:00
|
|
|
|
These instructions assume that you are performing a clean
|
2011-02-10 04:23:54 +00:00
|
|
|
|
install, including emptying an existing database and removing a
|
|
|
|
|
previous installation from the Tomcat webapps directory. Product
|
|
|
|
|
functionality may not be as expected if you install over an existing
|
2011-02-01 22:12:26 +00:00
|
|
|
|
installation of an earlier version.
|
2011-01-14 19:11:35 +00:00
|
|
|
|
</li>
|
|
|
|
|
<li>
|
2011-02-01 22:12:26 +00:00
|
|
|
|
If you are going to upgrade an existing service, please consult
|
|
|
|
|
the upgrade.txt in this directory.
|
2011-01-14 19:11:35 +00:00
|
|
|
|
</li>
|
|
|
|
|
</ul>
|
|
|
|
|
<p>
|
2011-02-09 23:28:12 +00:00
|
|
|
|
VIVO Developers: If you are working on the VIVO source code from
|
|
|
|
|
Subversion, the instructions are slightly different. Please consult
|
2011-02-01 22:12:26 +00:00
|
|
|
|
developers.txt in this directory.
|
2011-01-14 19:11:35 +00:00
|
|
|
|
</p>
|
|
|
|
|
<toc>
|
|
|
|
|
<h3>Steps to Installation</h3>
|
2011-01-16 00:00:10 +00:00
|
|
|
|
<ol class="roman1">
|
2011-01-14 19:11:35 +00:00
|
|
|
|
<li>
|
|
|
|
|
<a href="#required_software">Install required software</a>
|
|
|
|
|
</li>
|
|
|
|
|
<li>
|
|
|
|
|
<a href="#create_database">Create an empty MySQL database</a>
|
|
|
|
|
</li>
|
|
|
|
|
<li>
|
|
|
|
|
<a href="#download_code">Download the VIVO Application Source</a>
|
|
|
|
|
</li>
|
2011-02-09 23:28:12 +00:00
|
|
|
|
<li>
|
2011-02-10 04:23:54 +00:00
|
|
|
|
<a href="#triple_store">Choose Triple Store</a>
|
2011-02-09 23:28:12 +00:00
|
|
|
|
</li>
|
2011-01-14 19:11:35 +00:00
|
|
|
|
<li>
|
|
|
|
|
<a href="#deploy_properties">Specify deployment properties</a>
|
|
|
|
|
</li>
|
|
|
|
|
<li>
|
|
|
|
|
<a href="#deploy">Compile and deploy</a>
|
|
|
|
|
</li>
|
|
|
|
|
<li>
|
2011-02-01 22:12:26 +00:00
|
|
|
|
<a href="#tomcat_settings">Set Tomcat JVM parameters and
|
|
|
|
|
security limits</a>
|
2011-01-14 19:11:35 +00:00
|
|
|
|
</li>
|
|
|
|
|
<li>
|
|
|
|
|
<a href="#start_tomcat">Start Tomcat</a>
|
|
|
|
|
</li>
|
|
|
|
|
<li>
|
|
|
|
|
<a href="#add_rdf">Log in and add RDF data</a>
|
|
|
|
|
</li>
|
|
|
|
|
<li>
|
2011-02-01 22:12:26 +00:00
|
|
|
|
<a href="#contact_email">Set the Contact Email Address (if
|
|
|
|
|
using "Contact Us" form)</a>
|
2011-01-14 19:11:35 +00:00
|
|
|
|
</li>
|
|
|
|
|
<li>
|
|
|
|
|
<a href="#tomcat_connector">Setup Apache Tomcat Connector</a>
|
|
|
|
|
</li>
|
|
|
|
|
<li>
|
|
|
|
|
<a href="#pellet">Configure Pellet Reasoner</a>
|
|
|
|
|
</li>
|
|
|
|
|
<li>
|
2011-02-01 22:12:26 +00:00
|
|
|
|
<a href="#external_auth">Using an External Authentication
|
|
|
|
|
System with VIVO</a>
|
2011-01-14 19:11:35 +00:00
|
|
|
|
</li>
|
|
|
|
|
<li>
|
|
|
|
|
<a href="#installation_check">Was the installation successful?</a>
|
|
|
|
|
</li>
|
|
|
|
|
</ol>
|
|
|
|
|
</toc>
|
|
|
|
|
<h3 id="required_software">I. Install required software </h3>
|
|
|
|
|
<p>
|
2011-02-01 22:12:26 +00:00
|
|
|
|
Before installing VIVO, make sure that the following software is
|
|
|
|
|
installed on the desired machine:
|
2011-01-14 19:11:35 +00:00
|
|
|
|
</p>
|
|
|
|
|
<ul>
|
|
|
|
|
<li>
|
|
|
|
|
Java (SE) 1.6 or higher, <a href="http://java.sun.com">http://java.sun.com</a>
|
2011-02-01 22:12:26 +00:00
|
|
|
|
(Not OpenJDK)
|
2011-01-14 19:11:35 +00:00
|
|
|
|
</li>
|
|
|
|
|
<li>
|
|
|
|
|
Apache Tomcat 6.x or higher, <a href="http://tomcat.apache.org">http://tomcat.apache.org</a>
|
|
|
|
|
</li>
|
|
|
|
|
<li>
|
|
|
|
|
Apache Ant 1.7 or higher, <a href="http://ant.apache.org">http://ant.apache.org</a>
|
|
|
|
|
</li>
|
|
|
|
|
<li>
|
2011-02-09 23:28:12 +00:00
|
|
|
|
MySQL 5.1 or higher*, <a href="http://www.mysql.com">http://www.mysql.com</a>
|
2011-01-14 19:11:35 +00:00
|
|
|
|
</li>
|
|
|
|
|
</ul>
|
|
|
|
|
<p>
|
2011-02-10 17:09:09 +00:00
|
|
|
|
Be sure to set up the environment variables for <code java_home="">JAVA_HOME</code>
|
2011-01-16 00:00:10 +00:00
|
|
|
|
and <code>ANT_HOME</code>
|
2011-02-09 23:28:12 +00:00
|
|
|
|
and add the executables to your path per
|
|
|
|
|
your operating system and installation directions from the software
|
2011-02-10 17:09:09 +00:00
|
|
|
|
support websites.
|
2011-01-14 19:11:35 +00:00
|
|
|
|
</p>
|
2011-02-09 23:28:12 +00:00
|
|
|
|
<p>
|
|
|
|
|
* Note that VIVO 1.2 will not run on older versions of MySQL that may have worked
|
|
|
|
|
with 1.1.1. Be sure to run VIVO 1.2 with MySQL 5.1 or higher. Using unsupported
|
|
|
|
|
versions may result in strange error messages related to table formatting or other
|
|
|
|
|
unexpected problems.
|
|
|
|
|
</p>
|
2011-01-14 19:11:35 +00:00
|
|
|
|
<h3 id="create_database">II. Create an empty MySQL database </h3>
|
|
|
|
|
<p>
|
2011-01-16 00:00:10 +00:00
|
|
|
|
Decide on a database name, username, and password. Log into your
|
|
|
|
|
MySQL server and create a new database in MySQL that uses <code>UTF-8
|
2011-02-09 23:28:12 +00:00
|
|
|
|
encoding</code>. You will need these values for Step IV when you
|
|
|
|
|
configure the deployment properties. At the MySQL command line you can
|
2011-02-01 22:12:26 +00:00
|
|
|
|
create the database and user with these commands substituting your
|
2011-02-09 23:28:12 +00:00
|
|
|
|
values for <code>dbname</code>, <code>username</code>, and <code>password</code>.
|
|
|
|
|
Most
|
2011-02-01 22:12:26 +00:00
|
|
|
|
of
|
|
|
|
|
the time, the hostname will equal <code>localhost</code>.
|
2011-01-14 19:11:35 +00:00
|
|
|
|
</p>
|
2011-02-10 04:23:54 +00:00
|
|
|
|
<pre> CREATE DATABASE dbname CHARACTER SET utf8;<br></pre>
|
2011-01-14 19:11:35 +00:00
|
|
|
|
<p>
|
2011-02-01 22:12:26 +00:00
|
|
|
|
Grant access to a database user. For example:
|
2011-01-14 19:11:35 +00:00
|
|
|
|
</p>
|
2011-02-10 04:23:54 +00:00
|
|
|
|
<pre> GRANT ALL ON dbname.* TO 'username'@'hostname' IDENTIFIED BY 'password';<br></pre>
|
2011-01-14 19:11:35 +00:00
|
|
|
|
<p>
|
2011-02-01 22:12:26 +00:00
|
|
|
|
Keep track of the database name, username, and password for Step
|
|
|
|
|
IV.
|
2011-01-14 19:11:35 +00:00
|
|
|
|
</p>
|
|
|
|
|
<h3 id="download_code">III. Download the VIVO Application Source
|
|
|
|
|
<br>
|
|
|
|
|
</h3>
|
|
|
|
|
<p>
|
2011-01-16 00:00:10 +00:00
|
|
|
|
Download the VIVO application source as either <code>rel-1.2.zip</code>
|
|
|
|
|
or <code>rel-1.2.gz</code>
|
2011-02-01 22:12:26 +00:00
|
|
|
|
file and unpack it on your web server:
|
|
|
|
|
<br>
|
2011-01-14 19:11:35 +00:00
|
|
|
|
<a href="http://vivoweb.org/download">http://vivoweb.org/download</a>
|
|
|
|
|
</p>
|
2011-02-10 04:23:54 +00:00
|
|
|
|
<h3 id="triple_store">IV. Choose Triple Store</h3>
|
2011-02-09 23:28:12 +00:00
|
|
|
|
<p>
|
2011-02-10 04:23:54 +00:00
|
|
|
|
VIVO 1.2 offers a choice of two triple store technologies: in-memory models backed by
|
2011-02-10 17:09:09 +00:00
|
|
|
|
Jena's legacy relational database store (RDB), and Jena's SPARQL database (SDB). RDB was
|
2011-02-10 04:23:54 +00:00
|
|
|
|
used by VIVO 1.1.1 and earlier. This mode offers fast response, but only by caching the
|
|
|
|
|
entire RDF model in the server's main memory. The memory available to VIVO limits the
|
|
|
|
|
number of RDF statements that may be stored.
|
|
|
|
|
</p>
|
|
|
|
|
<p>
|
|
|
|
|
SDB mode caches only a fraction of the RDF data in memory. Most queries are issued directly
|
|
|
|
|
against the underlying database. This allows VIVO installations to display data from large
|
|
|
|
|
RDF models while requiring only a small amount of server memory to run the application.
|
|
|
|
|
There is a tradeoff in response time: pages make take slightly longer to load in SDB mode,
|
|
|
|
|
and performance will depend on the configuration parameters of the database server.
|
|
|
|
|
Additionally, advanced OWL reasoning (not enabled by default in either mode) is not possible
|
|
|
|
|
in SDB mode. With SDB, only the default set of inferences (inferred rdf:type statements) are
|
|
|
|
|
generated, though they are generated as soon as data is edited rather than in a background process.
|
|
|
|
|
</p>
|
|
|
|
|
<p>
|
|
|
|
|
Though a VIVO installation may be switched back and forth between RDB and SDB mode by changing
|
|
|
|
|
a configuration property and redeploying the application, it is important to note that data
|
|
|
|
|
added in one mode will not typically appear in the other. The exception is when a system is
|
|
|
|
|
first switched from RDB mode to SDB mode. In this case, the data from the RDB store will be
|
|
|
|
|
automatically migrated to SDB.
|
2011-02-09 23:28:12 +00:00
|
|
|
|
</p>
|
|
|
|
|
<h3 id="deploy_properties">V. Specify deployment properties </h3>
|
2011-01-14 19:11:35 +00:00
|
|
|
|
<p>
|
2011-01-16 00:00:10 +00:00
|
|
|
|
At the top level of the unpacked distribution, copy the file <code>example.deploy.properties</code>
|
2011-02-01 22:12:26 +00:00
|
|
|
|
to a file named simply <code>deploy.properties</code>. This file sets
|
|
|
|
|
several properties used in compilation and deployment.
|
2011-01-14 19:11:35 +00:00
|
|
|
|
</p>
|
|
|
|
|
<p>
|
|
|
|
|
<em>Windows:</em>
|
2011-02-09 23:28:12 +00:00
|
|
|
|
For those installing on Windows operating
|
|
|
|
|
system, include the windows drive and use the forward slash "/" and not
|
2011-02-01 22:12:26 +00:00
|
|
|
|
the back slash "\" in the directory locations, e.g. <code>c:/tomcat</code>.
|
2011-01-14 19:11:35 +00:00
|
|
|
|
</p>
|
|
|
|
|
<p>
|
|
|
|
|
<em>External authentication:</em>
|
2011-02-09 23:28:12 +00:00
|
|
|
|
If you want to use an external
|
|
|
|
|
authentication system like Shibboleth or CUWebAuth, you will need to
|
2011-02-01 22:12:26 +00:00
|
|
|
|
set two additional properties in this file. See the section below
|
|
|
|
|
entitled <a href="#external_auth">Using an External Authentication
|
|
|
|
|
System with VIVO</a>.
|
2011-01-14 19:11:35 +00:00
|
|
|
|
</p>
|
|
|
|
|
<table>
|
2011-02-01 22:12:26 +00:00
|
|
|
|
<tbody>
|
|
|
|
|
<tr>
|
|
|
|
|
<th>
|
|
|
|
|
Property Name
|
|
|
|
|
</th>
|
|
|
|
|
<th>
|
|
|
|
|
Example Value
|
|
|
|
|
</th>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td colspan="2">
|
|
|
|
|
Default namespace: VIVO installations make their
|
|
|
|
|
RDF resources available for harvest using linked data. Requests for RDF
|
|
|
|
|
resource URIs redirect to HTML or RDF representations as specified by
|
|
|
|
|
the client. To make this possible, VIVO's default namespace must have
|
2011-02-10 17:09:09 +00:00
|
|
|
|
a certain structure and begin with the public web address of the VIVO
|
2011-02-01 22:12:26 +00:00
|
|
|
|
installation. For example, if the web address of a VIVO installation is
|
|
|
|
|
"http://vivo.example.edu/" the default namespace must be set to
|
|
|
|
|
"http://vivo.example.edu/individual/" in order to support linked data.
|
|
|
|
|
Similarly, if VIVO is installed at "http://www.example.edu/vivo" the
|
|
|
|
|
default namespace must be set to
|
2011-02-10 04:23:54 +00:00
|
|
|
|
"http://www.example.edu/vivo/individual/"<h5>* The namespace must end with
|
|
|
|
|
"individual/" (including the trailing slash).</h5>
|
2011-02-01 22:12:26 +00:00
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr class="odd_row">
|
|
|
|
|
<td>
|
|
|
|
|
Vitro.defaultNamespace
|
|
|
|
|
</td>
|
|
|
|
|
<td>
|
|
|
|
|
http://vivo.mydomain.edu/individual/
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td colspan="2">
|
2011-02-09 23:28:12 +00:00
|
|
|
|
Directory where Vitro code is located. In most
|
|
|
|
|
deployments, this is set to ./vitro-core (It is not uncommon for this
|
2011-02-01 22:12:26 +00:00
|
|
|
|
setting to point elsewhere in development environments).
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr class="odd_row">
|
|
|
|
|
<td>
|
|
|
|
|
vitro.core.dir
|
|
|
|
|
</td>
|
|
|
|
|
<td>
|
|
|
|
|
./vitro-core
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td colspan="2">
|
|
|
|
|
Directory where tomcat is installed.
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr class="odd_row">
|
|
|
|
|
<td>
|
|
|
|
|
tomcat.home
|
|
|
|
|
</td>
|
|
|
|
|
<td>
|
|
|
|
|
/usr/local/tomcat
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td colspan="2">
|
|
|
|
|
Name of your VIVO application.
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr class="odd_row">
|
|
|
|
|
<td>
|
|
|
|
|
webapp.name
|
|
|
|
|
</td>
|
|
|
|
|
<td>
|
|
|
|
|
vivo
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td colspan="2">
|
2011-04-04 16:35:13 +00:00
|
|
|
|
Directory where the VIVO application will store the data that it creates.
|
|
|
|
|
This includes uploaded files (usually imageS) and the Lucene search index.
|
2011-02-10 17:09:09 +00:00
|
|
|
|
Be sure this directory exists and is writable by the user who
|
2011-02-01 22:12:26 +00:00
|
|
|
|
the Tomcat service is running as.
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr class="odd_row">
|
|
|
|
|
<td>
|
2011-04-04 16:35:13 +00:00
|
|
|
|
vitro.home.directory
|
2011-02-01 22:12:26 +00:00
|
|
|
|
</td>
|
|
|
|
|
<td>
|
2011-04-04 16:35:13 +00:00
|
|
|
|
/usr/local/vivo/data
|
2011-02-01 22:12:26 +00:00
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td colspan="2">
|
2011-02-09 23:28:12 +00:00
|
|
|
|
Specify an SMTP host that the form will use for
|
|
|
|
|
sending e-mail (Optional). If this is left blank, the contact form will
|
2011-02-01 22:12:26 +00:00
|
|
|
|
be hidden and disabled.
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr class="odd_row">
|
|
|
|
|
<td>
|
|
|
|
|
Vitro.smtpHost
|
|
|
|
|
</td>
|
|
|
|
|
<td>
|
|
|
|
|
smtp.servername.edu
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td colspan="2">
|
|
|
|
|
Specify the JDBC URL of your database. Change
|
2011-02-10 17:09:09 +00:00
|
|
|
|
the end of the URL to reflect your database name (if it is not "vivo").
|
2011-02-01 22:12:26 +00:00
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr class="odd_row">
|
|
|
|
|
<td>
|
|
|
|
|
VitroConnection.DataSource.url
|
|
|
|
|
</td>
|
|
|
|
|
<td>
|
|
|
|
|
jdbc:mysql://localhost/vivo
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td colspan="2">
|
|
|
|
|
Change the username to match the authorized user
|
|
|
|
|
you created in MySQL.
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr class="odd_row">
|
|
|
|
|
<td>
|
|
|
|
|
VitroConnection.DataSource.username
|
|
|
|
|
</td>
|
|
|
|
|
<td>
|
|
|
|
|
username
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td colspan="2">
|
|
|
|
|
Change the password to match the password you
|
|
|
|
|
created in MySQL.
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr class="odd_row">
|
|
|
|
|
<td>
|
|
|
|
|
VitroConnection.DataSource.password
|
|
|
|
|
</td>
|
|
|
|
|
<td>
|
|
|
|
|
password
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td colspan="2">
|
2011-02-09 23:28:12 +00:00
|
|
|
|
Specify the Jena triple store technology to use.
|
|
|
|
|
SDB is Jena's SPARQL database; this setting allows RDF data to scale
|
2011-02-01 22:12:26 +00:00
|
|
|
|
beyond the limits of the JVM heap. Set to RDB to use the older Jena RDB
|
|
|
|
|
store with in-memory caching.
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr class="odd_row">
|
|
|
|
|
<td>
|
|
|
|
|
VitroConnection.DataSource.tripleStoreType
|
|
|
|
|
</td>
|
|
|
|
|
<td>
|
|
|
|
|
SDB
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td colspan="2">
|
2011-02-09 23:28:12 +00:00
|
|
|
|
Specify the maximum number of active connections
|
|
|
|
|
in the database connection pool to support the anticipated number of
|
2011-02-01 22:12:26 +00:00
|
|
|
|
concurrent page requests. It is not necessary to adjust this value when
|
|
|
|
|
using the RDB configuration.
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr class="odd_row">
|
|
|
|
|
<td>
|
|
|
|
|
VitroConnection.DataSource.pool.maxActive
|
|
|
|
|
</td>
|
|
|
|
|
<td>
|
|
|
|
|
40
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td colspan="2">
|
2011-02-09 23:28:12 +00:00
|
|
|
|
Specify the maximum number of database
|
|
|
|
|
connections that will be allowed to remain idle in the connection pool.
|
2011-02-01 22:12:26 +00:00
|
|
|
|
Default is 25% of the maximum number of active connections.
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr class="odd_row">
|
|
|
|
|
<td>
|
|
|
|
|
VitroConnection.DataSource.pool.maxIdle
|
|
|
|
|
</td>
|
|
|
|
|
<td>
|
|
|
|
|
10
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td colspan="2">
|
2011-02-09 23:28:12 +00:00
|
|
|
|
Change the dbtype setting to use a database
|
2011-02-10 04:23:54 +00:00
|
|
|
|
other than MySQL. Otherwise, leave this value unchanged. Possible
|
|
|
|
|
values are DB2, derby, HSQLDB, H2, MySQL, Oracle, PostgreSQL, and
|
|
|
|
|
SQLServer. Refer to http://openjena.org/wiki/SDB/Databases_Supported
|
2011-02-01 22:12:26 +00:00
|
|
|
|
for additional information.
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr class="odd_row">
|
|
|
|
|
<td>
|
|
|
|
|
VitroConnection.DataSource.dbtype
|
|
|
|
|
</td>
|
|
|
|
|
<td>
|
|
|
|
|
MySQL
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td colspan="2">
|
2011-02-09 23:28:12 +00:00
|
|
|
|
Specify a driver class name to use a database
|
|
|
|
|
other than MySQL. Otherwise, leave this value unchanged. This JAR file
|
2011-02-01 22:12:26 +00:00
|
|
|
|
for this driver must be added to the the webapp/lib directory within
|
|
|
|
|
the vitro.core.dir specified above.
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr class="odd_row">
|
|
|
|
|
<td>
|
|
|
|
|
VitroConnection.DataSource.driver
|
|
|
|
|
</td>
|
|
|
|
|
<td>
|
|
|
|
|
com.mysql.jdbc.Driver
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td colspan="2">
|
2011-02-09 23:28:12 +00:00
|
|
|
|
Change the validation query used to test
|
|
|
|
|
database connections only if necessary to use a database other than
|
2011-02-01 22:12:26 +00:00
|
|
|
|
MySQL. Otherwise, leave this value unchanged.
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr class="odd_row">
|
|
|
|
|
<td>
|
|
|
|
|
VitroConnection.DataSource.validationQuery
|
|
|
|
|
</td>
|
|
|
|
|
<td>
|
|
|
|
|
SELECT 1
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td colspan="2">
|
2011-02-09 23:28:12 +00:00
|
|
|
|
Specify the name of your first admin user for
|
|
|
|
|
the VIVO application. This user will have an initial temporary password
|
2011-02-01 22:12:26 +00:00
|
|
|
|
of 'defaultAdmin'. You will be prompted to create a new password on
|
|
|
|
|
first login.
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr class="odd_row">
|
|
|
|
|
<td>
|
|
|
|
|
initialAdminUser
|
|
|
|
|
</td>
|
|
|
|
|
<td>
|
|
|
|
|
defaultAdmin
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td colspan="2">
|
2011-02-09 23:28:12 +00:00
|
|
|
|
The URI of a property that can be used to
|
|
|
|
|
associate an Individual with a user account. When a user logs in with a
|
2011-02-01 22:12:26 +00:00
|
|
|
|
name that matches the value of this property, the user will be
|
|
|
|
|
authorized to edit that Individual.
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr class="odd_row">
|
|
|
|
|
<td>
|
|
|
|
|
selfEditing.idMatchingProperty
|
|
|
|
|
</td>
|
|
|
|
|
<td>
|
|
|
|
|
http://vivo.mydomain.edu/ns#networkId
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
2011-02-10 16:19:48 +00:00
|
|
|
|
<tr>
|
|
|
|
|
<td colspan="2">
|
|
|
|
|
The temporal graph visualization can require extensive machine resources.
|
|
|
|
|
This can have a particularly noticable impact on memory usage if
|
|
|
|
|
<ul>
|
2011-02-10 18:37:48 +00:00
|
|
|
|
<li>
|
|
|
|
|
VIVO is configured to use Jena SDB,
|
|
|
|
|
</li>
|
|
|
|
|
<li>
|
|
|
|
|
The organization tree is deep,
|
|
|
|
|
</li>
|
|
|
|
|
<li>
|
|
|
|
|
The number of grants and publications is large.
|
|
|
|
|
</li>
|
2011-02-10 16:19:48 +00:00
|
|
|
|
</ul>
|
2011-02-16 16:28:59 +00:00
|
|
|
|
The VIVO developers are working to make this visualization more efficient.
|
|
|
|
|
In the meantime, VIVO release 1.2 guards against this impact by disabling
|
|
|
|
|
the temporal graph visualization unless the "visualization.temporal" flag
|
|
|
|
|
is set to "enabled". To enable it, uncomment the line for this setting.
|
2011-02-10 16:19:48 +00:00
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr class="odd_row">
|
|
|
|
|
<td>
|
|
|
|
|
visualization.temporal
|
|
|
|
|
</td>
|
|
|
|
|
<td>
|
|
|
|
|
enabled
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
2011-02-01 22:12:26 +00:00
|
|
|
|
<tr>
|
|
|
|
|
<td colspan="2">
|
|
|
|
|
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:
|
|
|
|
|
<br>
|
|
|
|
|
<span style="font-style: italic;">visualization.topLevelOrg =
|
|
|
|
|
http://vivo.psm.edu/individual/n2862</span>
|
|
|
|
|
<br>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr class="odd_row">
|
|
|
|
|
<td>
|
|
|
|
|
visualization.topLevelOrg
|
|
|
|
|
</td>
|
|
|
|
|
<td>
|
|
|
|
|
http://vivo-trunk.indiana.edu/individual/topLevelOrgURI
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
</tbody>
|
2011-01-14 19:11:35 +00:00
|
|
|
|
</table>
|
2011-02-09 23:28:12 +00:00
|
|
|
|
<h3 id="deploy">VI. Compile and deploy</h3>
|
2011-01-14 19:11:35 +00:00
|
|
|
|
<p>
|
2011-02-01 22:12:26 +00:00
|
|
|
|
At the command line, from the top level of the unpacked
|
|
|
|
|
distribution directory, type:
|
|
|
|
|
</p>
|
|
|
|
|
<pre> ant all<br> </pre>
|
|
|
|
|
<p>
|
|
|
|
|
to build VIVO and deploy to Tomcat's webapps directory.
|
|
|
|
|
</p>
|
2011-02-09 23:28:12 +00:00
|
|
|
|
<h3 id="tomcat_settings">VII. Set Tomcat JVM parameters and security
|
2011-02-01 22:12:26 +00:00
|
|
|
|
limits</h3>
|
|
|
|
|
<p>
|
2011-02-09 23:28:12 +00:00
|
|
|
|
Currently, VIVO copies the contents of your RDF database into
|
|
|
|
|
memory in order to serve Web requests quickly (the in-memory copy and
|
2011-02-10 17:09:09 +00:00
|
|
|
|
the underlying database are kept in synch as edits are performed).
|
2011-02-01 22:12:26 +00:00
|
|
|
|
</p>
|
|
|
|
|
<p>
|
2011-02-09 23:28:12 +00:00
|
|
|
|
VIVO will require more memory than that allocated to Tomcat by
|
|
|
|
|
default. With most installations of Tomcat, the "setenv.sh" or
|
2011-02-01 22:12:26 +00:00
|
|
|
|
"setenv.bat" file in Tomcat's bin directory is a convenient place to
|
|
|
|
|
set the memory parameters.
|
|
|
|
|
<br>
|
|
|
|
|
For example:
|
|
|
|
|
</p>
|
|
|
|
|
<pre> export CATALINA_OPTS="-Xms2048m -Xmx1024m -XX:MaxPermSize=128m"<br> </pre>
|
|
|
|
|
<p>
|
2011-02-10 04:23:54 +00:00
|
|
|
|
This sets Tomcat to allocate an initial heap of 2048 megabytes, a
|
|
|
|
|
maximum heap of 1024 megabytes, and a PermGen space of 128 megs. 1024
|
2011-02-09 23:28:12 +00:00
|
|
|
|
megabytes is a minimum practical heap size for production installations
|
|
|
|
|
storing data for large academic institutions, and additional heap space
|
2011-02-01 22:12:26 +00:00
|
|
|
|
is preferable. For testing with small sets of data, 256m to 512m should
|
|
|
|
|
be sufficient.
|
|
|
|
|
</p>
|
|
|
|
|
<p>
|
|
|
|
|
If an OutOfMemoryError is encountered during VIVO execution, it can
|
|
|
|
|
be remedied by increasing the heap parameters and restarting Tomcat.
|
|
|
|
|
</p>
|
|
|
|
|
<p>
|
2011-02-09 23:28:12 +00:00
|
|
|
|
Security limits: VIVO is a multithreaded web application that may
|
|
|
|
|
require more threads than are permitted under your Linux installation's
|
2011-02-01 22:12:26 +00:00
|
|
|
|
default configuration. Ensure that your installation can support the
|
|
|
|
|
required number of threads by making the following edits to <code>/etc/security/limits.conf</code>:
|
|
|
|
|
</p>
|
|
|
|
|
<pre> apache hard nproc 400<br> tomcat6 hard nproc 1500 <br> </pre>
|
2011-02-09 23:28:12 +00:00
|
|
|
|
<h3 id="start_tomcat">VIII. Start Tomcat </h3>
|
2011-02-01 22:12:26 +00:00
|
|
|
|
<p>
|
|
|
|
|
Most Tomcat installations can be started by running <code>startup.sh</code>
|
|
|
|
|
or <code>startup.bat</code>
|
2011-02-09 23:28:12 +00:00
|
|
|
|
in Tomcat's bin directory. Point your
|
|
|
|
|
browser to "http://localhost:8080/vivo/" to test the application. If
|
2011-02-01 22:12:26 +00:00
|
|
|
|
Tomcat does not start up, or the VIVO application is not visible, check
|
|
|
|
|
the <code>catalina.out</code>
|
|
|
|
|
file in Tomcat's logs directory.
|
|
|
|
|
</p>
|
2011-02-09 23:28:12 +00:00
|
|
|
|
<h3 id="add_rdf">IX. Log in and add RDF data </h3>
|
2011-02-01 22:12:26 +00:00
|
|
|
|
<p>
|
2011-02-09 23:28:12 +00:00
|
|
|
|
If the startup was successful, you will see a welcome message
|
|
|
|
|
informing you that you have successfully installed VIVO. Click the "Log
|
2011-02-01 22:12:26 +00:00
|
|
|
|
in" link near the upper right corner. Log in with the <code>initialAdminUser</code>
|
|
|
|
|
username you set up in Step IV. The initial password for the <code>initialAdminUser</code>
|
|
|
|
|
account is "defaultAdmin" (without the quotes). On first login, you
|
|
|
|
|
will be prompted to select a new password and verify it a second time.
|
|
|
|
|
</p>
|
|
|
|
|
<p>
|
2011-02-10 04:23:54 +00:00
|
|
|
|
After verifying your new password, you will be presented with a
|
|
|
|
|
menu of editing options. Here you can create OWL classes, object
|
2011-02-09 23:28:12 +00:00
|
|
|
|
properties, data properties, and configure the display of data.
|
2011-02-10 04:23:54 +00:00
|
|
|
|
Currently, any classes you wish to make visible on your website must be
|
2011-02-10 17:09:09 +00:00
|
|
|
|
part of a class group, and there are a number of visibility and display
|
2011-02-10 04:23:54 +00:00
|
|
|
|
options available for each ontology entity. VIVO comes with a core VIVO
|
2011-02-01 22:12:26 +00:00
|
|
|
|
ontology, but you may also upload other ontologies from an RDF file.
|
|
|
|
|
</p>
|
|
|
|
|
<p>
|
2011-02-10 04:23:54 +00:00
|
|
|
|
Under the "Advanced Data Tools" click "Add/Remove RDF Data." Note
|
|
|
|
|
that Vitro currently works best with OWL-DL ontologies and has only
|
2011-02-09 23:28:12 +00:00
|
|
|
|
limited support for pure RDF data. You can enter a URL pointing to the
|
2011-02-10 17:09:09 +00:00
|
|
|
|
RDF data you wish to load or upload from a file on your local machine.
|
2011-02-01 22:12:26 +00:00
|
|
|
|
Ensure that the "add RDF" radio button is selected. You will also
|
|
|
|
|
likely want to check "create classgroups automatically."
|
|
|
|
|
</p>
|
|
|
|
|
<p>
|
|
|
|
|
Clicking the "Index" tab in the navigation bar at the top right of
|
|
|
|
|
the page will show a simple index of the knowledge base.
|
|
|
|
|
</p>
|
|
|
|
|
<p>
|
|
|
|
|
See more documentation for configuring VIVO, ingesting data, and
|
|
|
|
|
manually adding data at <a href="http://vivoweb.org/support">http://vivoweb.org/support</a>.
|
|
|
|
|
</p>
|
2011-02-09 23:28:12 +00:00
|
|
|
|
<h3 id="contact_email">X. Set the Contact Email Address (if using
|
2011-02-01 22:12:26 +00:00
|
|
|
|
"Contact Us" form)</h3>
|
2011-01-14 19:11:35 +00:00
|
|
|
|
<p>
|
|
|
|
|
If you have configured your application to use the "Contact Us"
|
2011-02-09 23:28:12 +00:00
|
|
|
|
feature in Step IV (<code>Vitro.smtpHost</code>), you will also need to
|
|
|
|
|
add an email address to the VIVO application. This is the email
|
2011-02-10 17:09:09 +00:00
|
|
|
|
to which the contact form will submit. It can be a list server or an
|
2011-02-01 22:12:26 +00:00
|
|
|
|
individual's email address.
|
2011-01-14 19:11:35 +00:00
|
|
|
|
</p>
|
|
|
|
|
<p>
|
2011-02-09 23:28:12 +00:00
|
|
|
|
Log in as a system administrator. Navigate to the "Site Admin"
|
2011-02-10 04:23:54 +00:00
|
|
|
|
table of contents (link in the right side of the header). Go to "Site
|
|
|
|
|
Information" (under "Site Configuration"). In the "Site Information
|
|
|
|
|
Editing Form," enter a functional email address in the field "Contact
|
2011-02-10 17:09:09 +00:00
|
|
|
|
Email Address" and submit the change.
|
2011-01-14 19:11:35 +00:00
|
|
|
|
</p>
|
|
|
|
|
<p>
|
2011-02-10 17:09:09 +00:00
|
|
|
|
If you set the <code>Vitro.smtpHost</code>
|
2011-02-09 23:28:12 +00:00
|
|
|
|
in Step IV and do NOT
|
2011-02-10 17:09:09 +00:00
|
|
|
|
provide an email address in this step, your users will receive a java
|
2011-02-01 22:12:26 +00:00
|
|
|
|
error in the interface.
|
2011-01-14 19:11:35 +00:00
|
|
|
|
</p>
|
2011-02-09 23:28:12 +00:00
|
|
|
|
<h3 id="tomcat_connector">XI. Set up Apache Tomcat Connector </h3>
|
2011-01-14 19:11:35 +00:00
|
|
|
|
<p>
|
2011-02-09 23:28:12 +00:00
|
|
|
|
It is recommended that a Tomcat Connector such as mod_jk be used to
|
|
|
|
|
ensure that the site address does not include the port number (e.g.
|
2011-02-01 22:12:26 +00:00
|
|
|
|
8080) and an additional reference to the Tomcat context name (e.g.
|
|
|
|
|
/vivo).
|
2011-01-14 19:11:35 +00:00
|
|
|
|
</p>
|
|
|
|
|
<p>
|
|
|
|
|
This will make VIVO available at "http://example.com" instead of
|
|
|
|
|
"http://example.com:8080/vivo"
|
|
|
|
|
</p>
|
|
|
|
|
<p>
|
|
|
|
|
Using the mod_jk connector allows for communication between Tomcat
|
2011-02-01 22:12:26 +00:00
|
|
|
|
and the primary web server. The <a href="http://tomcat.apache.org/connectors-doc/generic_howto/quick.html">Quick
|
|
|
|
|
Start
|
|
|
|
|
HowTo</a>
|
|
|
|
|
on the Apache site describes the minimum server
|
|
|
|
|
configurations for several popular web servers.
|
2011-01-14 19:11:35 +00:00
|
|
|
|
</p>
|
|
|
|
|
<p>
|
2011-01-16 00:00:10 +00:00
|
|
|
|
After setting up the mod_jk connector above, you will need to
|
2011-02-09 23:28:12 +00:00
|
|
|
|
modify the Tomcat's server.xml (located in <code>[tomcat root]/conf/</code>)
|
2011-02-10 04:23:54 +00:00
|
|
|
|
to
|
|
|
|
|
respond
|
|
|
|
|
to requests from Apache via the connector. Look for the
|
2011-02-01 22:12:26 +00:00
|
|
|
|
<connector> directive and add the following properties:
|
2011-01-14 19:11:35 +00:00
|
|
|
|
</p>
|
2011-02-01 22:12:26 +00:00
|
|
|
|
<pre> connectionTimeout="20000" maxThreads="320" keepAliveTimeout="20000" <br> </pre>
|
2011-01-14 19:11:35 +00:00
|
|
|
|
<p>
|
2011-02-01 22:12:26 +00:00
|
|
|
|
Note: the value for maxThreads (320) is equal to the value for
|
|
|
|
|
MaxClients in the apache's <code>httpd.conf</code>
|
2011-01-16 00:00:10 +00:00
|
|
|
|
file.
|
2011-01-14 19:11:35 +00:00
|
|
|
|
</p>
|
|
|
|
|
<p>
|
2011-01-16 00:00:10 +00:00
|
|
|
|
Locate the <code><Host name="localhost"...></code>
|
2011-02-01 22:12:26 +00:00
|
|
|
|
directive
|
|
|
|
|
and update as follows:
|
|
|
|
|
</p>
|
2011-02-10 04:23:54 +00:00
|
|
|
|
<pre>
|
|
|
|
|
<Host name="localhost" appBase="webapps"<br>
|
|
|
|
|
DeployOnStartup="false"<br>
|
|
|
|
|
unpackWARs="true" autoDeploy="false"<br>
|
|
|
|
|
xmlValidation="false" xmlNamespaceAware="false"><br> <br>
|
|
|
|
|
<Alias>example.com</Alias><br>
|
|
|
|
|
<Context path=""<br>
|
|
|
|
|
docBase="/usr/local/tomcat/webapps/vivo"<br>
|
|
|
|
|
reloadable="true"<br>
|
|
|
|
|
cookies="true" ><br>
|
|
|
|
|
<Manager pathname="" /><br>
|
|
|
|
|
<Environment type="java.lang.String" override="false" <br>
|
|
|
|
|
name="path.configuration" <br>
|
|
|
|
|
value="deploy.properties"<br>
|
|
|
|
|
/><br>
|
|
|
|
|
</Context><br>
|
|
|
|
|
...
|
|
|
|
|
</pre>
|
2011-02-09 23:28:12 +00:00
|
|
|
|
<h3 id="pellet">XII. Configure Pellet Reasoner </h3>
|
2011-01-14 19:11:35 +00:00
|
|
|
|
<p>
|
2011-02-10 04:23:54 +00:00
|
|
|
|
This optional configuration step is only applicable to VIVO installations
|
2011-02-10 18:37:48 +00:00
|
|
|
|
running in RDB mode (See section <a href="triple_store">Choose Triple Store</a>
|
|
|
|
|
for details).
|
|
|
|
|
VIVO uses the Pellet engine to perform reasoning, which runs in the
|
|
|
|
|
background at startup and also when the knowledge base is edited. VIVO
|
|
|
|
|
continues serving pages while the reasoner continues working; when the
|
|
|
|
|
reasoner finishes, the new inferences appear. Inferred statements are
|
|
|
|
|
cached in a database graph so that they are available immediately when
|
2011-02-01 22:12:26 +00:00
|
|
|
|
VIVO is restarted.
|
|
|
|
|
</p>
|
|
|
|
|
<p>
|
2011-02-09 23:28:12 +00:00
|
|
|
|
By default, Pellet is fed only an incomplete view of your ontology
|
2011-02-10 04:23:54 +00:00
|
|
|
|
and only certain inferences are materialized. These include rdf:type,
|
|
|
|
|
rdfs:subClassOf, owl:equivalentClass, and owl:disjointWith. This mode
|
|
|
|
|
is typically suitable for ontologies with a lot of instance data. If
|
2011-02-01 22:12:26 +00:00
|
|
|
|
you would like to keep the default mode, skip to the next step.
|
|
|
|
|
</p>
|
|
|
|
|
<p>
|
2011-02-09 23:28:12 +00:00
|
|
|
|
To enable "complete" OWL inference (materialize all significant
|
|
|
|
|
entailed statements), open "vitro-core/webapp/config/web.xml" and
|
2011-02-01 22:12:26 +00:00
|
|
|
|
search for PelletReasonerSetup.
|
|
|
|
|
</p>
|
|
|
|
|
<p>
|
2011-02-09 23:28:12 +00:00
|
|
|
|
Then change the name of the listener class to
|
|
|
|
|
PelletReasonerSetupComplete. Because "complete" reasoning can be very
|
2011-02-01 22:12:26 +00:00
|
|
|
|
resource intensive, there is also an option to materialize nearly all
|
|
|
|
|
inferences except owl:sameAs and owl:differentFrom.
|
|
|
|
|
</p>
|
|
|
|
|
<p>
|
2011-02-09 23:28:12 +00:00
|
|
|
|
This is enabled by specifying PelletReasonerSetupPseudocomplete.
|
|
|
|
|
For ontologies with large numbers of individuals, this mode can offer
|
2011-02-01 22:12:26 +00:00
|
|
|
|
enormous performance improvements over the "complete" mode.
|
|
|
|
|
</p>
|
|
|
|
|
<p>
|
2011-02-09 23:28:12 +00:00
|
|
|
|
Finally, a class called
|
|
|
|
|
PelletReasonerSetupPseudocompleteIgnoreDataproperties is provided to
|
2011-02-01 22:12:26 +00:00
|
|
|
|
improve performance on ontologies with large literals where data
|
|
|
|
|
property entailments are not needed.
|
|
|
|
|
</p>
|
2011-02-09 23:28:12 +00:00
|
|
|
|
<h3 id="external_auth">XIII. Using an External Authentication System
|
2011-02-01 22:12:26 +00:00
|
|
|
|
with VIVO </h3>
|
|
|
|
|
<p>
|
|
|
|
|
</p>
|
|
|
|
|
<p>
|
|
|
|
|
VIVO can be configured to work with an external authentication
|
|
|
|
|
system like Shibboleth or CUWebAuth.
|
|
|
|
|
</p>
|
|
|
|
|
<p>
|
2011-02-09 23:28:12 +00:00
|
|
|
|
VIVO must be accessible only through an Apache HTTP server. The
|
|
|
|
|
Apache server will be configured to invoke the external authentication
|
2011-02-01 22:12:26 +00:00
|
|
|
|
system. When the user completes the authentication, the Apache server
|
|
|
|
|
will pass a network ID to VIVO, to identify the user.
|
2011-01-14 19:11:35 +00:00
|
|
|
|
</p>
|
2011-02-01 22:12:26 +00:00
|
|
|
|
<p>
|
2011-02-09 23:28:12 +00:00
|
|
|
|
If VIVO has an account for that user, the user will be logged in
|
|
|
|
|
with the privileges of that account. In the absence of an account, VIVO
|
2011-02-01 22:12:26 +00:00
|
|
|
|
will try to find a page associated with the user. If such a page is
|
|
|
|
|
found, the user can log in to edit his own profile information.
|
|
|
|
|
</p>
|
|
|
|
|
<h4>Configuring the Apache server</h4>
|
|
|
|
|
<p>
|
|
|
|
|
Your institution will provide you with instructions for setting up
|
|
|
|
|
the external authentication system. The Apache server must be
|
|
|
|
|
configured to secure a page in VIVO. When a user reaches this secured
|
|
|
|
|
page, the Apache server will invoke the external authentication system.
|
|
|
|
|
</p>
|
|
|
|
|
<p>
|
|
|
|
|
For VIVO, this secured page is named: <code>/loginExternalAuthReturn</code>
|
|
|
|
|
</p>
|
|
|
|
|
<p>
|
|
|
|
|
When your instructions call for the location of the secured page,
|
|
|
|
|
this is the value you should use.
|
|
|
|
|
</p>
|
|
|
|
|
<h4>Configuring VIVO</h4>
|
|
|
|
|
<p>
|
|
|
|
|
To enable external authentication, VIVO requires three values in
|
|
|
|
|
the <code>deploy.properties</code>
|
|
|
|
|
file.
|
|
|
|
|
</p>
|
|
|
|
|
<ul>
|
|
|
|
|
<li>
|
|
|
|
|
<h5>The name of the HTTP header that will hold the external user's
|
|
|
|
|
network ID.</h5>
|
2011-02-10 18:37:48 +00:00
|
|
|
|
<p>
|
|
|
|
|
When a user completes the authentication process, the Apache server
|
|
|
|
|
will put the user's network ID into one of the headers of the HTTP
|
|
|
|
|
request. The instructions from your institution should tell you which
|
|
|
|
|
header is used for this purpose.
|
|
|
|
|
</p>
|
2011-02-01 22:12:26 +00:00
|
|
|
|
<p>
|
|
|
|
|
You need to tell VIVO the name of that HTTP header. Insert a
|
2011-02-10 18:37:48 +00:00
|
|
|
|
line like this in the deploy.properties file:
|
2011-02-01 22:12:26 +00:00
|
|
|
|
</p>
|
|
|
|
|
<pre>externalAuth.netIdHeaderName = [the header name]</pre>
|
2011-02-10 18:37:48 +00:00
|
|
|
|
<p>
|
|
|
|
|
For example:
|
|
|
|
|
</p>
|
|
|
|
|
<pre>externalAuth.netIdHeaderName = remote_userID</pre>
|
2011-02-01 22:12:26 +00:00
|
|
|
|
</li>
|
|
|
|
|
<li>
|
|
|
|
|
<h5>The text for the Login button.</h5>
|
|
|
|
|
To start the authentication process, the user will click on a button in
|
|
|
|
|
the VIVO login form. You need to tell VIVO what text should appear in
|
|
|
|
|
that button.
|
|
|
|
|
<p>
|
|
|
|
|
Put a line like this in the deploy.properties file:
|
|
|
|
|
externalAuth.buttonText = [the text for your login button] For example:
|
|
|
|
|
</p>
|
|
|
|
|
<pre>externalAuth.buttonText = Log in using BearCat Shibboleth</pre>
|
2011-02-10 18:37:48 +00:00
|
|
|
|
<p>
|
|
|
|
|
The VIVO login form will display a button labelled "Log in using
|
|
|
|
|
BearCat Shibboleth".
|
|
|
|
|
</p>
|
2011-02-01 22:12:26 +00:00
|
|
|
|
</li>
|
|
|
|
|
<li>
|
2011-02-10 18:37:48 +00:00
|
|
|
|
<h5>Associating a User with a profile page.</h5>
|
|
|
|
|
<p>
|
|
|
|
|
If VIVO has an account for the user, the user will be given the
|
|
|
|
|
privileges assigned to that account.
|
|
|
|
|
</p>
|
2011-02-01 22:12:26 +00:00
|
|
|
|
<p>
|
2011-02-09 23:28:12 +00:00
|
|
|
|
In addition, VIVO will try to associate the user with a profile
|
2011-02-10 04:23:54 +00:00
|
|
|
|
page, so the user may edit his own profile data. VIVO will search the
|
|
|
|
|
data model for a person with a property that matches the User’s network
|
|
|
|
|
ID. You need to tell VIVO what property should be used for matching.
|
2011-02-01 22:12:26 +00:00
|
|
|
|
Insert a line like this in the deploy.properties file:
|
|
|
|
|
</p>
|
|
|
|
|
<pre>selfEditing.idMatchingProperty = [the URI of the property]</pre>
|
2011-02-10 18:37:48 +00:00
|
|
|
|
<p>
|
|
|
|
|
For example:
|
|
|
|
|
</p>
|
|
|
|
|
<pre>selfEditing.idMatchingProperty = http://vivo.mydomain.edu/ns#networkId</pre>
|
2011-02-01 22:12:26 +00:00
|
|
|
|
</li>
|
|
|
|
|
</ul>
|
2011-02-09 23:28:12 +00:00
|
|
|
|
<h3 id="installation_check">XIV. Was the installation successful? </h3>
|
2011-01-14 19:11:35 +00:00
|
|
|
|
<p>
|
2011-02-01 22:12:26 +00:00
|
|
|
|
If you have completed the previous steps, you have good indications
|
|
|
|
|
that the installation was successful.
|
2011-01-14 19:11:35 +00:00
|
|
|
|
</p>
|
|
|
|
|
<ul>
|
|
|
|
|
<li>
|
2011-02-01 22:12:26 +00:00
|
|
|
|
Step VII showed that Tomcat recognized the webapp, and that the
|
|
|
|
|
webapp was able to present the initial page.
|
2011-01-14 19:11:35 +00:00
|
|
|
|
</li>
|
|
|
|
|
<li>
|
2011-02-01 22:12:26 +00:00
|
|
|
|
Step VIII verified that you can log in to the administrator
|
|
|
|
|
account.
|
2011-01-14 19:11:35 +00:00
|
|
|
|
</li>
|
|
|
|
|
</ul>
|
|
|
|
|
<p>
|
2011-02-01 22:12:26 +00:00
|
|
|
|
Here is a simple test to see whether the ontology files were
|
|
|
|
|
loaded:
|
2011-01-14 19:11:35 +00:00
|
|
|
|
</p>
|
|
|
|
|
<ul>
|
|
|
|
|
<li>
|
2011-02-10 04:23:54 +00:00
|
|
|
|
Click on the "Index" link on the upper right, below the logo.
|
|
|
|
|
You should see a "locations" section, with links for "Country" and
|
|
|
|
|
"Geographic Location." The index is built in a background thread, so on
|
|
|
|
|
your first login, you may see an empty index instead. Refresh the page
|
2011-02-09 23:28:12 +00:00
|
|
|
|
periodically to see whether the index will be populated. This may take
|
|
|
|
|
some time: with VIVO installed on a modest laptop computer, loading the
|
2011-02-01 22:12:26 +00:00
|
|
|
|
ontology files and building the index took more than 5 minutes from the
|
|
|
|
|
time that Tomcat was started.
|
2011-01-14 19:11:35 +00:00
|
|
|
|
</li>
|
|
|
|
|
<li>
|
2011-02-01 22:12:26 +00:00
|
|
|
|
Click on the "Country" link. You should see an alphabetical list
|
|
|
|
|
of the countries of the world.
|
2011-01-14 19:11:35 +00:00
|
|
|
|
</li>
|
|
|
|
|
</ul>
|
|
|
|
|
<p>
|
2011-02-01 22:12:26 +00:00
|
|
|
|
Here is a test to see whether your system is configured to serve
|
|
|
|
|
linked data:
|
2011-01-14 19:11:35 +00:00
|
|
|
|
</p>
|
|
|
|
|
<ul>
|
|
|
|
|
<li>
|
2011-02-01 22:12:26 +00:00
|
|
|
|
Point your browser to the home page of your website, and click
|
|
|
|
|
the "Log in" link near the upper right corner. Log in with the <code>initialAdminUser</code>
|
|
|
|
|
username you set up in Step IV. If this is your first time logging in,
|
|
|
|
|
you will be prompted to change the password.
|
2011-01-14 19:11:35 +00:00
|
|
|
|
</li>
|
|
|
|
|
<li>
|
2011-02-09 23:28:12 +00:00
|
|
|
|
After you have successfully logged in, click "site admin" in the
|
|
|
|
|
upper right corner. In the drop down under "Data Input" select "Faculty
|
2011-02-01 22:12:26 +00:00
|
|
|
|
Member(core)" and click the "Add individual of this class" button.
|
2011-01-14 19:11:35 +00:00
|
|
|
|
</li>
|
|
|
|
|
<li>
|
2011-02-09 23:28:12 +00:00
|
|
|
|
Enter the name "test individual" under the field "Individual
|
|
|
|
|
Name," scroll to the bottom, and click "Create New Record." You will be
|
2011-02-01 22:12:26 +00:00
|
|
|
|
taken to the "Individual Control Panel." Make note of the value of the
|
2011-02-10 18:37:48 +00:00
|
|
|
|
field "URI" - it will be used in the next step.
|
2011-01-14 19:11:35 +00:00
|
|
|
|
</li>
|
|
|
|
|
<li>
|
2011-02-09 23:28:12 +00:00
|
|
|
|
Open a new web browser or browser tab to the page <a href="http://marbles.sourceforge.net/">http://marbles.sourceforge.net/</a>.
|
2011-02-10 04:23:54 +00:00
|
|
|
|
In
|
|
|
|
|
the
|
|
|
|
|
pink box on that page enter the URI of the individual you
|
2011-02-01 22:12:26 +00:00
|
|
|
|
created in the previous step and click "open."
|
2011-01-14 19:11:35 +00:00
|
|
|
|
</li>
|
|
|
|
|
<li>
|
2011-02-10 04:23:54 +00:00
|
|
|
|
In the resulting page search for the URI of the "test
|
|
|
|
|
individual." You should find it towards the bottom of the page next to
|
2011-02-09 23:28:12 +00:00
|
|
|
|
a red dot followed by "redirect (303)." This indicates that you are
|
|
|
|
|
successfully serving linked RDF data. If the URI of the "test
|
2011-02-01 22:12:26 +00:00
|
|
|
|
individual" is followed by "failed (400)" you are not successfully
|
|
|
|
|
serving linked data.
|
2011-01-14 19:11:35 +00:00
|
|
|
|
</li>
|
|
|
|
|
</ul>
|
|
|
|
|
<p>
|
|
|
|
|
Finally, test the search index.
|
|
|
|
|
</p>
|
|
|
|
|
<ul>
|
|
|
|
|
<li>
|
2011-02-09 23:28:12 +00:00
|
|
|
|
Type the word "Australia" into the search box, and click on the
|
2011-02-10 04:23:54 +00:00
|
|
|
|
Search button.You should see a page of results, with links to countries
|
|
|
|
|
that border Australia, individuals that include Australia, and to
|
|
|
|
|
Australia itself. To trigger the search index, you can log in as a site
|
2011-02-01 22:12:26 +00:00
|
|
|
|
administrator and go to "http://your-vivo-url/SearchIndex".
|
2011-01-14 19:11:35 +00:00
|
|
|
|
</li>
|
|
|
|
|
</ul>
|
|
|
|
|
</div>
|
|
|
|
|
<!-- #wrapper-content -->
|
2011-02-10 02:23:06 +00:00
|
|
|
|
<div id="footer" role="contentinfo">
|
2011-02-10 04:23:54 +00:00
|
|
|
|
<p class="copyright">
|
|
|
|
|
<small>
|
|
|
|
|
©2011
|
|
|
|
|
All Rights Reserved | <a class="terms" href="/termsOfUse">Terms of Use</a>
|
|
|
|
|
</small>
|
|
|
|
|
| Powered
|
|
|
|
|
by <a class="powered-by-vivo" href="http://vivoweb.org" target="_blank"><strong>VIVO</strong></a>
|
|
|
|
|
</p>
|
|
|
|
|
<div id="nav" role="navigation">
|
|
|
|
|
<ul id="footer-nav" role="list">
|
|
|
|
|
<li role="listitem">
|
|
|
|
|
<a href="http://vivoweb.org/about">About</a>
|
|
|
|
|
</li>
|
|
|
|
|
<li role="listitem">
|
|
|
|
|
<a href="http://vivoweb.org/contact">Contact Us</a>
|
|
|
|
|
</li>
|
|
|
|
|
<li role="listitem">
|
|
|
|
|
<a href="http://www.vivoweb.org/support" target="blank">Support</a>
|
|
|
|
|
</li>
|
|
|
|
|
</ul>
|
|
|
|
|
</nav>
|
|
|
|
|
</div>
|
2011-01-14 19:11:35 +00:00
|
|
|
|
</body>
|
|
|
|
|
</html>
|