vivo/doc/upgrade-1.2.html

720 lines
31 KiB
HTML
Raw Normal View History

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>VIVO</title>
<link rel="stylesheet" href="./css/doc.css" />
</head>
<body>
<header id="branding" role="banner">
<h1 class="vivo-logo"><a href="/"><span class="displace">VIVO</span></a></h1>
</header>
<!-- Start of content -->
<div id="wrapper-content" role="main">
<h1>VIVO Release 1 v1.2 Upgrade Guide</h1>
<small>
January 28, 2011 - Upgrading from Release 1 v1.1 to Release 1 v1.2
</small>
<blockquote>
<b>Missing pieces and fixes</b>
<ul>
<li>
Link to install pdf online at SF
</li>
<li>
Add config table from install d/t so many new vars.
</li>
<li>
</li>
</ul>
</blockquote>
<toc>
<ul>
<li>
<a href="#announcement">Release announcement for V1.2</a>
</li>
<li>
<a href="#upgrade">Upgrade process for V1.2</a>
</li>
</ul>
</toc>
<p>
This document provides a short description of the steps involved in upgrading your
installation of VIVO from Release 1, Version 1.1 to Version 1.2. This and other
documentation can be found on the <a href="http://vivoweb.org/support">support page</a>
at <a href="http://vivoweb.org">VIVOweb.org</a>
</p>
<p>
If you need to do a fresh install, please consult <a href="VIVO_Release-1-v1.2_Installation_Guide.pdf">VIVO Release 1 v1.2 Installation Guide</a>
or the install.html file located in the <code>doc</code>
directoy of the VIVO source code distribution.
</p>
<!-- Release Announcement --><h2 id="announcement">Release anouncement for V1.2</h2>
<p>
Text from the wiki page
</p>
<!-- Upgrade process for V1.2 --><h2 id="upgrade">Upgrade process for V1.2</h2>
</p>
<toc>
<ol class="roman1">
<li>
<a href="#preparation">Before Performing the Upgrade</a>
</li>
<li>
<a href="#upgrade_process">The Upgrade Process</a>
</li>
<li>
<a href="#ontology">Ontology Upgrade</a>
</li>
<ol class="roman2">
<li>
<a href="#verify_ontology_upgrade">Verify Ontology upgrade process</a>
</li>
<li>
<a href="#ontology_knowledge_base">Ontology knowledge base manual review</a>
</li>
</ol>
<li>
<a href="#theme">Theme Modifications</a>
</li>
</ol>
</toc>
<h3 id="preparation">I. Before Performing the Upgrade</h3>
<p>
Please ensure that backups are created of the:
</p>
<ul style="list-style-type:square;">
<li>
Tomcat webapps directory
</li>
<li>
Original source directory
</li>
<li>
MySQL database (mysqldump)
</li>
</ul>
<p>
The upgrade process is similar to the original install process with the following
EXCEPTIONS:
</p>
<ul>
<li>
DO NOT reinstall MySQL or recreate the MySQL database. Please ensure that
you back-up the MySQL database.
</li>
<li>
It is not necessary to add RDF data.
</li>
<li>
First-time login of the administrator account after the upgrade
process is complete will use the password previously set, NOT the
default password used on the first login after the initial installation.
</li>
<li>
The first time Apache Tomcat starts up after the upgrade, it will
initiate a process that modifies the knowledge base to align the data
with the revised ontology. See the section on the <a href="ontology">Ontology Upgrade</a>
below for more information.
</li>
</ul>
<h3 id="upgrade_process">The Upgrade Process</h3>
<p>
1. Download the new distribution file and unpack it into a new source
directory.
</p>
<p>
2. Create deploy.properties, using the same values as in your previous
installation and set values for the new variables. The following table
shows the default properties for deploy.properties with new V1.2 properties in
<span class="blue">blue</span>.
<!-- deploy.properties table from install.html -->
<table>
<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 certain structure and begin with the public
web address of the VIVO 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 "http://www.example.edu/vivo/individual/"
<h4>* The namespace must end with "individual/" (including the trailing slash).</h4>
</td>
</tr>
<tr class="odd_row">
<td>
Vitro.defaultNamespace
</td>
<td>
http://vivo.mydomain.edu/individual/
</td>
</tr>
<tr>
<td colspan="2">
Directory where Vitro code is located. In most deployments, this is set to
./vitro-core, but it commonly points elsewhere during development.
</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">
Directory where uploaded files will be stored. You must create this directory ahead of time.
</td>
</tr>
<tr class="odd_row">
<td>
upload.directory
</td>
<td>
/usr/local/vivo/data/uploads
</td>
<tr>
<td colspan="2">
Directory where the Lucene search index will be built. Depending on your
permissions and who Tomcat is running as, you may need to create this directory
ahead of time.
</td>
</tr>
<tr class="odd_row">
<td>
LuceneSetup.indexDir
</td>
<td>
/usr/local/vivo/data/luceneIndex
</td>
</tr>
<tr>
<td colspan="2">
Specify an SMTP host that the form will use for sending e-mail (Optional). If
this is left blank, the contact form will 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 the end of theURL to reflect
your database name (if it is not "vivo").
</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">
Specify the Jena triple store technology to use. SDB is Jena's
SPARQL database; this setting allows RDF data to scale 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 blue">
<td>
VitroConnection.DataSource.tripleStoreType
</td>
<td>
SDB
</td>
</tr>
<tr>
<td colspan="2">
Specify the maximum number of active connections in the database
connection pool to support the anticipated number of concurrent
page requests. It is not necessary to adjust this value when
using the RDB configuration.
</td>
</tr>
<tr class="odd_row blue">
<td>
VitroConnection.DataSource.pool.maxActive
</td>
<td>
40
</td>
</tr>
<tr>
<td colspan="2">
Specify 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.
</td>
</tr>
<tr class="odd_row blue">
<td>
VitroConnection.DataSource.pool.maxIdle
</td>
<td>
10
</td>
</tr>
<tr>
<td colspan="2">
Change the dbtype setting to use a database 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
for additional information.
</td>
</tr>
<tr class="odd_row blue">
<td>
VitroConnection.DataSource.dbtype
</td>
<td>
MySQL
</td>
</tr>
<tr>
<td colspan="2">
Specify a driver class name to use a database other than MySQL.
Otherwise, leave this value unchanged.
This JAR file for this driver must be added to the the <code>webapp/lib</code>
directory within the vitro.core.dir specified above.
</td>
</tr>
<tr class="odd_row blue">
<td>
VitroConnection.DataSource.driver
</td>
<td>
com.mysql.jdbc.Driver
</td>
</tr>
<tr>
<td colspan="2">
Change the validation query used to test database connections
only if necessary to use a database other than MySQL.
Otherwise, leave this value unchanged.
</td>
</tr>
<tr class="odd_row blue">
<td>
VitroConnection.DataSource.validationQuery
</td>
<td>
SELECT 1
</td>
</tr>
<tr>
<td colspan="2">
Specify the name of your first admin user for the VIVO application.
This user will have an initial temporary password 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">
The name of a property that can be used to associate an Individual
with a user account. When a user logs in with a name that matches
the value of this property, the user will be authorized to editthat Individual.
</td>
</tr>
<tr class="odd_row blue">
<td>
selfEditing.idMatchingProperty
</td>
<td>
http://vivo.mydomain.edu/ns#networkId
</td>
</tr>
<tr>
<td colspan="2">
Temporal Graph Visualization is used to compare different
organizations/people within an organization on different parameters like
number of publications, grants. This parameter will be used as a default
in case a URI is not provided. It will be also used whenever this
visualization is to be rendered for top level organization.
In absence of this parameter a SPARQL query will be fired which will
attempt to provide a top level organization. The name of a property that
can be used to associate an Individual with a user account. When a user
logs in with a name that matches the value of this property, the user
will be authorized to edit that Individual.
</td>
</tr>
<tr class="odd_row blue">
<td>
visualization.topLevelOrg
</td>
<td>
http://vivo-trunk.indiana.edu/individual/topLevelOrgURI
</td>
</tr>
</table>
</p>
<p>
3. Apply any previous changes you have made to the new source directory.
<blockquote>
<strong>Special notes regarding source files</strong>
<ul>
<li>
This process assumes any changes made to the application were made in
the source directory and deployed, and were not made directly within
the Tomcat webapps directory.
</li>
<li>
In many cases, simply copying the modified files from your original
source directory will not work since the files on which they are based
have changed. It will be necessary to inspect the new source files and
add any changes to them at that time.
</li>
<li>
NIH-funded VIVO Implmentations will need to apply the Google Analytics Tracking
Code (GATC) to <code>googleAnalytics.ftl</code>
in the theme:<pre>[new_source_directory]/themes/[theme_dir]/templates/googleAnalytics.ftl</pre>
A sample <code>googleAnalytics.ftl</code>
is included in the built-in theme. This file
serves only as an example, and you must replace the tracking code shown
with your institution's own tracking code.
For additional information about the GATC for the NIH-funded VIVO
implementation sites and a copy your institution's tracking code, see the <a href="https://confluence.cornell.edu/display/ennsrd/Google+Analytics+for+UI">VIVO Google Analytics wiki page</a>.
</li>
<li>
If you had used the <code>vivo/contrib/FLShibboleth</code>
code in your previous release,
you should stop using it. Consult <code>install.html</code>
or <a href="VIVO_Release-1-v1.2_Installation_Guide.pdf">VIVO Release 1 v1.2 Installation Guide</a>
on "Using an External Authentication System with VIVO".
</li>
</ul>
</blockquote>
</p>
<p>
4. If you had modified <code>web.xml</code>
to configure the Pellet Reasoner (as described
in the installation instructions), repeat that modification.
</p>
<p>
5. Stop Apache Tomcat and run ant by typing: <code>ant all</code>
</p>
<p>
6. Start Apache Tomcat and log in to VIVO.
</p>
<h3 id="ontology">III. Ontology Changes</h3>
<h4>A. Verify Ontology upgrade process</h4>
<p>
After Apache Tomcat is started, these files should be reviewed to
verify that the automated upgrade process was executed
successfully.&nbsp; The ontology alignment process will create the
following files in the Tomcat <code>webapps/vivo/WEB-INF directory</code>:
</p>
<dl>
<dt>
<code>ontologies/update/logs/knowledgeBaseUpdate.log</code>
</dt>
<dd>
A log of a summary of updates that were made to the knowledge base and
notes about some recommended manual reviews. This file should end with
"Successfully finished processing ontology changes".
</dd>
</dl>
<dl>
<dt>
<code>ontologies/update/logs/knowledgeBaseUpdate.error.log</code>
</dt>
<dd>
A log of errors that were encountered during the upgrade process. This
file should be empty if the upgrade was successful.
</dd>
</dl>
<dl>
<dt>
<code>ontologies/update/changedData/removedData.n3</code>
</dt>
<dd>
An N3 file containing all the statements that were removed from the
knowledge base.
</dd>
</dl>
<dl>
<dt>
<code>ontologies/update/changedData/addedData.n3</code>
</dt>
<dd>
An N3 file containing all the statements that were added to the
knowledge base.
</dd>
</dl>
<h4>B. Ontology knowledge base manual review</h4>
<p>
Changes to the VIVO core ontology may require corresponding
modifications of the knowledge base instance data and local ontology
extensions.
</p>
<p>
When Apache Tomcat starts up following the upgrade, it will initiate a
process to examine the knowledge base and apply necessary changes. Not
all of the modifications that may be required can be automated, so
manual review of the knowledge base is recommended after the automated
upgrade process. The automated process will make only the following
types of changes:
</p>
<dl>
<dt>
Class or Property renaming
</dt>
<dd>
All references to the class (in the subject or object position) will be
updated to the new name. References to the property will be updated to
the new name.
</dd>
</dl>
<dl>
<dt>
Class or Property deletion
</dt>
<dd>
All individuals in a deleted class will be removed.
<br>
All statements using a deleted property will be changed to use the
nearest available superproperty. If there is no available superproperty
then the statement will be deleted from the knowledge base. Note that
all removed and added data is recorded in the files in the changedData
directory.
</dd>
</dl>
<dl>
<dt>
Property addition
</dt>
<dd>
If a newly added property is the inverse of a previously existing
property, the inverse of any statements using the pre-existing property
will be asserted.
</dd>
</dl>
<dl>
<dt>
Annotation property default values
</dt>
<dd>
If a site has modified the value of a vitro annotation (such as
displayRankAnnot or displayLimitAnnot) so that it is no longer using
the default, then that setting will be left unchanged.
<br>
If a site is using the default value of a vitro annotation, and the
default has been changed in the new version of the ontology, then the
new default value will be propagated to the knowledge base.
</dd>
</dl>
<h3>IV. Theme Changes</h3>
<p>
VIVO 1.2 comes with a new theme called "wilma" that uses the FreeMarker template
engine for generating web pages. The theme is located in /vivo/themes/wilma and
the FreeMarker files have an ftl (for FreeMarker Template Language) extension.
</p>
<p>
Follow step A or B below, whichever is applicable to your site:
</p>
<p>
A. If you did not create a customized theme for your site in V1.0 or V1.1, but used
the vivo-basic theme in its original directory, you need not take any
action in order to convert your site to the VIVO 1.1 theme.
</p>
<h1>I THINK THIS SECTION NEEDS MAJOR CHANGING AND I NEED HELP WITH IT, Por Favor</h1>
<p>
B. If you created your own theme directory in VIVO 1.1, follow the steps below
under sections "Templates," "Stylesheets," and "Site Icons" to upgrade your
theme to VIVO 1.2.
</p>
<dl>
<dt>
1. Templates
</dt>
<dd>
<dl>
<dt>
a. Copy the directory <code>/vivo/themes/vivo-basic/templates</code>
into your theme directory <code>/vivo/themes/[your-theme-name]</code>.
</dt>
<dd>
</dd>
<dt>
b. Follow step i or ii below, whichever is applicable to your theme.
</dt>
<dd>
<ol class="roman2">
<li>
If you did not apply any customizations to the JSPs in your VIVO
1.0 theme, then you do not need to apply any additional changes
to the VIVO 1.1 theme templates during the upgrade process.
</li>
<li>
<p>
If you did apply customizations to the JSPs in your VIVO 1.0
theme,you will need to hand-replicate those modifications in the
new theme template files.
</p>
<p>
The theme template content that was previously contained in
three JSP files is now contained in five FTL files. The
correspondence between the 1.0 JSPs and the 1.1 FTLs is as
follows:
</p>
<pre>
identity.jsp => identity.ftl
menu.jsp => menu.ftl and search.ftl
footer.jsp => footer.ftl and googleAnalytics.ftl
</pre>
<p>
<code>googleAnalytics.ftl</code>
is the file to which you add your site's Google Analytics Tracking
Code (see section II).
</p>
<p>
Because the FreeMarker Template Language uses many syntactic
conventions that will be familiar to template authors from JSP
or other common templating systems, the translation of your JSP
changes into the new FTLs should be relatively straightforward.
</p>
<p>
Consult the FreeMarker Template Author's Guide at <a href="http://freemarker.org/docs/dgui.html">http://freemarker.org/docs/dgui.html</a>
and the Reference at <a href="http://freemarker.org/docs/ref.html">http://freemarker.org/docs/ref.html</a>
for complete documentation of the syntax and available built-in constructs. Template
authors need not be concerned with the Programmer's Guide or Java API documentation.
</p>
</li>
</ol>
</dd>
<dt>
c. Remove the jsp directory from your themes directory.
</dt>
<dd>
</dd>
</dl>
</dd>
<dt>
2. Stylesheets
</dt>
<dd>
VIVO 1.1 includes changes to vivo-basic stylesheets. If you modified
styles in your VIVO 1.0 theme, you will not be able to simply copy the
1.0 stylesheets into your 1.1 theme, because you will then lose 1.1
style upgrades that your theme should pick up. Instead, you should
use the vivo-basic 1.1 stylesheets as a starting point, and manually
merge your 1.0 style modifications in as needed.
</dd>
<dt>
3. Site Icons
</dt>
<dd>
Copy the site icons from your 1.1 theme into the site_icons folder in
your 1.2 theme.
</dd>
</dl>
</div>
<!-- end of content -->
<footer role="contentinfo">
<p class="copyright">
<small>
&copy;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>
<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>
</footer>
</body>
</html>