Merge commit '69a45e573a0bae0dde8f661b8b1d7b6c2122366e' into dev-isf
Conflicts: productMods/WEB-INF/filegraph/tbox/geopolitical.tbox.ver1.1-11-18-11.owl productMods/WEB-INF/filegraph/tbox/isDefinedBy-1.5.owl productMods/WEB-INF/filegraph/tbox/scires-1.5.owl productMods/WEB-INF/filegraph/tbox/vivo-bibo-1.5.owl productMods/WEB-INF/filegraph/tbox/vivo-c4o-1.5.owl productMods/WEB-INF/filegraph/tbox/vivo-core-1.5.owl productMods/WEB-INF/filegraph/tbox/vivo-dcelements-1.5.owl productMods/WEB-INF/filegraph/tbox/vivo-dcterms-1.5.owl productMods/WEB-INF/filegraph/tbox/vivo-event-1.5.owl productMods/WEB-INF/filegraph/tbox/vivo-fabio-1.5.owl productMods/WEB-INF/filegraph/tbox/vivo-foaf-1.5.owl productMods/WEB-INF/filegraph/tbox/vivo-pws-1.5.owl productMods/WEB-INF/filegraph/tbox/vivo-skos-1.5.owl productMods/WEB-INF/ontologies/update/oldVersion/geopolitical.tbox.ver1.1-11-18-11.owl productMods/WEB-INF/ontologies/update/oldVersion/isDefinedBy-1.5.owl productMods/WEB-INF/ontologies/update/oldVersion/scires-1.5.owl productMods/WEB-INF/ontologies/update/oldVersion/vivo-bibo-1.5.owl productMods/WEB-INF/ontologies/update/oldVersion/vivo-c4o-1.5.owl productMods/WEB-INF/ontologies/update/oldVersion/vivo-core-1.5.owl productMods/WEB-INF/ontologies/update/oldVersion/vivo-dcelements-1.5.owl productMods/WEB-INF/ontologies/update/oldVersion/vivo-dcterms-1.5.owl productMods/WEB-INF/ontologies/update/oldVersion/vivo-event-1.5.owl productMods/WEB-INF/ontologies/update/oldVersion/vivo-fabio-1.5.owl productMods/WEB-INF/ontologies/update/oldVersion/vivo-foaf-1.5.owl productMods/WEB-INF/ontologies/update/oldVersion/vivo-pws-1.5.owl productMods/WEB-INF/ontologies/update/oldVersion/vivo-skos-1.5.owl productMods/templates/freemarker/body/partials/individual/individual-positions.ftl rdf/abox/filegraph/us-states.rdf rdf/tbox/filegraph/geopolitical.tbox.ver1.1-11-18-11.owl rdf/tbox/filegraph/isDefinedBy-1.5.owl rdf/tbox/filegraph/scires-1.5.owl rdf/tbox/filegraph/vivo-bibo-1.5.owl rdf/tbox/filegraph/vivo-c4o-1.5.owl rdf/tbox/filegraph/vivo-core-1.5.owl rdf/tbox/filegraph/vivo-dcelements-1.5.owl rdf/tbox/filegraph/vivo-dcterms-1.5.owl rdf/tbox/filegraph/vivo-event-1.5.owl rdf/tbox/filegraph/vivo-fabio-1.5.owl rdf/tbox/filegraph/vivo-foaf-1.5.owl rdf/tbox/filegraph/vivo-pws-1.5.owl rdf/tbox/filegraph/vivo-skos-1.5.owl
This commit is contained in:
commit
5c14c1355d
135 changed files with 3010 additions and 607 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -6,3 +6,5 @@
|
|||
/deploy.properties
|
||||
/build.properties
|
||||
/runtime.properties
|
||||
/ontology/public/catalog-v0001.xml
|
||||
|
||||
|
|
|
@ -69,8 +69,10 @@
|
|||
<patternset id="appbase.patterns">
|
||||
<include name="src/**/*" />
|
||||
<include name="lib/**/*" />
|
||||
<include name="rdf/**/*" />
|
||||
<include name="test/**/*" />
|
||||
<include name="themes/**/*" />
|
||||
<include name="languages/**/*" />
|
||||
<include name="config/*.properties" />
|
||||
<include name="config/*.txt" />
|
||||
<include name="config/jarlist/*.txt" />
|
||||
|
|
|
@ -32,6 +32,3 @@ license_file = doc/license.txt
|
|||
# Set to 'full' for a full report, 'short' for a brief statment, or to anything
|
||||
# else for a medium-length summary.
|
||||
report_level = short
|
||||
|
||||
# if true, we are just scanning, not copying.
|
||||
scan_only = true
|
|
@ -316,18 +316,35 @@
|
|||
/usr/local/vivo/home
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
Languages (in addition to American English) that will be built into your
|
||||
VIVO site. The languages must be found in the
|
||||
<code>languages</code> directory of the VIVO distribution.
|
||||
See <a href="https://wiki.duraspace.org/display/VIVO/Building+a+multi-language+VIVO+instance">
|
||||
the VIVO Wiki</a> for more information.
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="odd_row">
|
||||
<td>
|
||||
languages.addToBuild
|
||||
</td>
|
||||
<td>
|
||||
es_MX
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<h3 id="runtime_properties">5. Specify runtime properties </h3>
|
||||
<p>
|
||||
In <a href="#build_properties">Step 4</a>, you defined the location of the Vitro home directory,
|
||||
In <a href="#build_properties">Step 4</a>, you defined the location of the VIVO home directory,
|
||||
by specifying <code>vitro.home</code> in the <code>build.properties</code> file.
|
||||
Create that directory now.
|
||||
</p>
|
||||
<p>
|
||||
At the top level of the VIVO distribution directory, you will find a file called
|
||||
<code>example.runtime.properties</code>. Copy this to the Vitro home directory you have created,
|
||||
<code>example.runtime.properties</code>. Copy this to the VIVO home directory you have created,
|
||||
renaming the copy to <code>runtime.properties</code>.
|
||||
Edit the file to suit your installation, as described in the following table.
|
||||
</p>
|
||||
|
|
|
@ -48,6 +48,8 @@
|
|||
<li><a href="#foafPersonTemplate">The foaf:Person template has been re-located.</a></li>
|
||||
<li><a href="#multiple">Multiple foaf:Person Profile Pages</a></li>
|
||||
<li><a href="#homePage">Home Page Re-design</a></li>
|
||||
<li><a href="#rdffiles">Auto-loaded RDF files move to the Home directory</a></li>
|
||||
<li><a href="#language">Support for additional languages</a></li>
|
||||
<li><a href="#BOGUS">ANYTHING ELSE?</a></li>
|
||||
</ol>
|
||||
</li>
|
||||
|
@ -228,6 +230,163 @@
|
|||
areas of geographic focus.
|
||||
</p>
|
||||
|
||||
<h4 id="rdffiles">Auto-loaded RDF files move to the Home directory</h4>
|
||||
<p>
|
||||
The RDF files that initialize the data model have moved, in both the distribution and
|
||||
the runtime locations.
|
||||
In the distribution, they have been collected in one place, and reorganized to use
|
||||
a more consistent naming scheme. During the build process, they are copied to a
|
||||
location within the VIVO home directory, instead of residing in the webapp itself.
|
||||
</p>
|
||||
<p>
|
||||
If you have modified these RDF files, or added files of your own, you must adjust to
|
||||
the new locations accordingly.
|
||||
|
||||
</p>
|
||||
<h5>Old locations of RDF files</h5>
|
||||
<pre>/WEB-INF/ontologies/app/application.owl
|
||||
/WEB-INF/ontologies/app/aboutPage.n3
|
||||
/WEB-INF/ontologies/app/menu.n3
|
||||
/WEB-INF/ontologies/app/profilePageType.n3
|
||||
/WEB-INF/ontologies/app/loadedAtStartup/displayModelListViews.rdf
|
||||
/WEB-INF/ontologies/app/loadedAtStartup/homePageDataGetters.n3
|
||||
/WEB-INF/ontologies/app/loadedAtStartup/localeSelectionGUI.n3
|
||||
/WEB-INF/ontologies/app/loadedAtStartup/vivoListViewConfig.rdf
|
||||
/WEB-INF/ontologies/app/loadedAtStartup/vivoOrganizationDataGetters.n3
|
||||
/WEB-INF/ontologies/app/loadedAtStartup/vivoSearchProhibited.n3
|
||||
/WEB-INF/ontologies/app/menuload/displayTBOX.n3
|
||||
/WEB-INF/ontologies/app/menuload/displayDisplay.n3
|
||||
/WEB-INF/init-data/initialSiteConfig.rdf
|
||||
/WEB-INF/ontologies/user/abox/geopolitical.ver1.1-11-18-11-individual-labels.rdf
|
||||
/WEB-INF/ontologies/user/abox/vocabularySource-labels.n3
|
||||
/WEB-INF/ontologies/user/tbox/vitro-0.7-annotations.rdf
|
||||
/WEB-INF/ontologies/user/tbox/geopolitical-ver1.1-11-18-11-annotations.rdf
|
||||
/WEB-INF/ontologies/user/tbox/scires-1.5-annotations.rdf
|
||||
/WEB-INF/ontologies/user/tbox/vivo-core-1.5-annotations.rdf
|
||||
/WEB-INF/ontologies/user/tbox/isDefinedBy-1.5-annotations.rdf
|
||||
/WEB-INF/ontologies/user/applicationMetadata/propertygroups.rdf
|
||||
/WEB-INF/ontologies/user/applicationMetadata/classgroups.rdf
|
||||
/WEB-INF/filegraph/abox/us-states.rdf
|
||||
/WEB-INF/filegraph/abox/geopolitical.abox.ver1.1-11-18-11.owl
|
||||
/WEB-INF/filegraph/abox/academicDegree.rdf
|
||||
/WEB-INF/filegraph/abox/documentStatus.owl
|
||||
/WEB-INF/filegraph/abox/continents.n3
|
||||
/WEB-INF/filegraph/abox/vocabularySource.n3
|
||||
/WEB-INF/filegraph/abox/dateTimeValuePrecision.owl
|
||||
/WEB-INF/filegraph/tbox/vitroPublic.owl
|
||||
/WEB-INF/filegraph/tbox/vivo-dcterms-1.5.owl
|
||||
/WEB-INF/filegraph/tbox/scires-1.5.owl
|
||||
/WEB-INF/filegraph/tbox/vivo-core-1.5.owl
|
||||
/WEB-INF/filegraph/tbox/vivo-c4o-1.5.owl
|
||||
/WEB-INF/filegraph/tbox/geopolitical.tbox.ver1.1-11-18-11.owl
|
||||
/WEB-INF/filegraph/tbox/vivo-fabio-1.5.owl
|
||||
/WEB-INF/filegraph/tbox/vivo-skos-1.5.owl
|
||||
/WEB-INF/filegraph/tbox/vivo-event-1.5.owl
|
||||
/WEB-INF/filegraph/tbox/vivo-foaf-1.5.owl
|
||||
/WEB-INF/filegraph/tbox/vitro-0.7.owl
|
||||
/WEB-INF/filegraph/tbox/vivo-pws-1.5.owl
|
||||
/WEB-INF/filegraph/tbox/isDefinedBy-1.5.owl
|
||||
/WEB-INF/filegraph/tbox/vivo-dcelements-1.5.owl
|
||||
/WEB-INF/filegraph/tbox/vivo-bibo-1.5.owl</pre>
|
||||
|
||||
<h5>New locations of RDF files</h5>
|
||||
<pre>rdf/display/firsttime/aboutPage.n3
|
||||
rdf/display/firsttime/application.owl
|
||||
rdf/display/firsttime/menu.n3
|
||||
rdf/display/firsttime/profilePageType.n3
|
||||
rdf/display/everytime/displayModelListViews.rdf
|
||||
rdf/display/everytime/homePageDataGetters.n3
|
||||
rdf/display/everytime/localeSelectionGUI.n3
|
||||
rdf/display/everytime/vivoListViewConfig.rdf
|
||||
rdf/display/everytime/vivoOrganizationDataGetters.n3
|
||||
rdf/display/everytime/vivoSearchProhibited.n3
|
||||
rdf/displayTbox/everytime/displayTBOX.n3
|
||||
rdf/displayDisplay/everytime/displayDisplay.n3
|
||||
rdf/applicationMetadata/firsttime/classgroups.rdf
|
||||
rdf/applicationMetadata/firsttime/initialSiteConfig.rdf
|
||||
rdf/applicationMetadata/firsttime/propertygroups.rdf
|
||||
rdf/abox/firsttime/geopolitical.ver1.1-11-18-11-individual-labels.rdf
|
||||
rdf/abox/firsttime/vocabularySource-labels.n3
|
||||
rdf/abox/filegraph/abox/academicDegree.rdf
|
||||
rdf/abox/filegraph/abox/continents.n3
|
||||
rdf/abox/filegraph/abox/dateTimeValuePrecision.owl
|
||||
rdf/abox/filegraph/abox/documentStatus.owl
|
||||
rdf/abox/filegraph/abox/geopolitical.abox.ver1.1-11-18-11.owl
|
||||
rdf/abox/filegraph/abox/us-states.rdf
|
||||
rdf/abox/filegraph/abox/vocabularySource.n3
|
||||
rdf/tbox/firsttime/geopolitical-ver1.1-11-18-11-annotations.rdf
|
||||
rdf/tbox/firsttime/isDefinedBy-1.5-annotations.rdf
|
||||
rdf/tbox/firsttime/scires-1.5-annotations.rdf
|
||||
rdf/tbox/firsttime/vitro-0.7-annotations.rdf
|
||||
rdf/tbox/firsttime/vivo-core-1.5-annotations.rdf
|
||||
rdf/tbox/filegraph/tbox/geopolitical.tbox.ver1.1-11-18-11.owl
|
||||
rdf/tbox/filegraph/tbox/isDefinedBy-1.5.owl
|
||||
rdf/tbox/filegraph/tbox/scires-1.5.owl
|
||||
rdf/tbox/filegraph/tbox/vitro-0.7.owl
|
||||
rdf/tbox/filegraph/tbox/vitroPublic.owl
|
||||
rdf/tbox/filegraph/tbox/vivo-bibo-1.5.owl
|
||||
rdf/tbox/filegraph/tbox/vivo-c4o-1.5.owl
|
||||
rdf/tbox/filegraph/tbox/vivo-core-1.5.owl
|
||||
rdf/tbox/filegraph/tbox/vivo-dcelements-1.5.owl
|
||||
rdf/tbox/filegraph/tbox/vivo-dcterms-1.5.owl
|
||||
rdf/tbox/filegraph/tbox/vivo-event-1.5.owl
|
||||
rdf/tbox/filegraph/tbox/vivo-fabio-1.5.owl
|
||||
rdf/tbox/filegraph/tbox/vivo-foaf-1.5.owl
|
||||
rdf/tbox/filegraph/tbox/vivo-pws-1.5.owl
|
||||
rdf/tbox/filegraph/tbox/vivo-skos-1.5.owl</pre>
|
||||
<p>
|
||||
If you are using a three-tier build process, you will need to add a single line
|
||||
to the build script so the RDF files will be merged properly across the tiers. So this:
|
||||
<pre><patternset id="appbase.patterns">
|
||||
<include name="src/**/*" />
|
||||
<include name="lib/**/*" />
|
||||
<include name="test/**/*" />
|
||||
<include name="themes/**/*" />
|
||||
<include name="config/*.properties" />
|
||||
<include name="config/*.txt" />
|
||||
<include name="config/jarlist/*.txt" />
|
||||
<include name="config/solr/*" />
|
||||
<include name="context.xml" />
|
||||
</patternset></pre>
|
||||
becomes this:
|
||||
<pre><patternset id="appbase.patterns">
|
||||
<include name="src/**/*" />
|
||||
<include name="lib/**/*" />
|
||||
<include name="rdf/**/*" />
|
||||
<include name="test/**/*" />
|
||||
<include name="themes/**/*" />
|
||||
<include name="config/*.properties" />
|
||||
<include name="config/*.txt" />
|
||||
<include name="config/jarlist/*.txt" />
|
||||
<include name="config/solr/*" />
|
||||
<include name="context.xml" />
|
||||
</patternset></pre>
|
||||
</p>
|
||||
|
||||
<h4 id="language">Support for additional languages</h4>
|
||||
<p>
|
||||
VIVO 1.6 includes limited support for other languages, in addition to American English.
|
||||
This limited support is described as <em>read-only</em> support on <em>public-facing</em>
|
||||
pages.
|
||||
</p>
|
||||
<p>
|
||||
<em>Read-only</em> means that there is no provision for editing multi-language
|
||||
data or displays. Property values, ontology labels, etc. must all be provided in RDF files
|
||||
and ingested or otherwise inserted into the data model. The Page Management user interface
|
||||
does not support maintaining pages in multiple languages.
|
||||
</p>
|
||||
<p>
|
||||
<em>Public-facing</em> means that most of the pages used for site adminstration
|
||||
are only presented in American English.
|
||||
</p>
|
||||
<p>
|
||||
These two pages in the VIVO Wiki describe how to
|
||||
<a href="https://wiki.duraspace.org/display/VIVO/Building+a+multi-language+VIVO+instance">
|
||||
Build VIVO with multiple languages</a> and how to
|
||||
<a href="https://wiki.duraspace.org/display/VIVO/Adding+a+language+to+VIVO">
|
||||
Add a new language to VIVO</a>.
|
||||
</p>
|
||||
|
||||
<h4 id="BOGUS">ANYTHING ELSE?</h4>
|
||||
<p>
|
||||
</p>
|
||||
|
@ -260,7 +419,7 @@
|
|||
</ul>
|
||||
|
||||
|
||||
<h3 id="#upgrade_process">III. Upgrade Instructions</h3>
|
||||
<h3 id="upgrade_process">III. Upgrade Instructions</h3>
|
||||
|
||||
<p>
|
||||
1. Download the new distribution file and unpack it into a new
|
||||
|
@ -268,9 +427,9 @@
|
|||
</p>
|
||||
<p>
|
||||
2. Separate your existing <code>deploy.properties</code> file into two files,
|
||||
as described below. The new <code>build.properties</code> file is stored in
|
||||
the top level of the VIVO distribution directory. The new <code>runtime.properties</code>
|
||||
file is stored in your Vitro home directory.
|
||||
as described below. Store the new <code>build.properties</code> file in
|
||||
the top level of the VIVO distribution directory. Store the new <code>runtime.properties</code>
|
||||
file in your VIVO home directory.
|
||||
<br>
|
||||
</p>
|
||||
<table border='1' bordercolor="#CCCCCC" cellspacing="5">
|
||||
|
@ -307,9 +466,48 @@
|
|||
<p>
|
||||
If you prefer, you may start with <code>example.build.properties</code>
|
||||
and <code>example.runtime.properties</code>, make copies,
|
||||
and edit them to suit your installation.
|
||||
and edit them to suit your installation. Remember, the <code>runtime.properties</code> file
|
||||
goes into your VIVO home directory.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The properties below are new to <code>build.properties</code>. They are optional,
|
||||
so you need not add them unless you want a value other than the default.
|
||||
</p>
|
||||
<p>
|
||||
<!-- runtime.properties table from install.html -->
|
||||
</p>
|
||||
<table border='1' bordercolor="#CCCCCC" cellspacing="5">
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>
|
||||
Property Name
|
||||
</th>
|
||||
<th>
|
||||
Example Value
|
||||
</th>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
Languages (in addition to American English) that will be built into your
|
||||
VIVO site. The languages must be found in the
|
||||
<code>languages</code> directory of the VIVO distribution.
|
||||
See <a href="https://wiki.duraspace.org/display/VIVO/Building+a+multi-language+VIVO+instance">
|
||||
the VIVO Wiki</a> for more information.
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="odd_row blue">
|
||||
<td>
|
||||
languages.addToBuild
|
||||
</td>
|
||||
<td>
|
||||
es_MX
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<p>
|
||||
The properties below are new to <code>runtime.properties</code>. They are optional,
|
||||
so you need not add them, unless you want a value other than the default.
|
||||
|
@ -514,6 +712,11 @@
|
|||
</li>
|
||||
</ul>
|
||||
</blockquote>
|
||||
<p>
|
||||
4. Apply any previous changes you have made to the RDF initialization files.
|
||||
See the section on the <a href="#rdffiles">Auto-loaded RDF files</a>
|
||||
above for more details.
|
||||
</p>
|
||||
<p>
|
||||
5. Stop Apache Tomcat and from your VIVO source directory, run
|
||||
ant
|
||||
|
|
|
@ -37,3 +37,10 @@ webapp.name = vivo
|
|||
# This includes uploaded files (usually images) and the search index.
|
||||
#
|
||||
vitro.home = /usr/local/vivo/home
|
||||
|
||||
#
|
||||
# Additional languages to be built into your VIVO site. The locales specified
|
||||
# here must appear as sub-directories of [vivo]/languages in the distribution.
|
||||
# Find more information on the VIVO Wiki (https://wiki.duraspace.org/display/VIVO).
|
||||
#
|
||||
#languages.addToBuild =
|
||||
|
|
|
@ -7,7 +7,7 @@ about:ABOUTDG
|
|||
"""<h2>Acerca VIVO</h2>
|
||||
<div class=\"pageGroupBody\" id=\"aboutText\"><p>La aplicación VIVO permite el descubrimiento de los investigadores a través de las instituciones. Los participantes en la red se encuentran instituciones con instalaciones locales de VIVO o con la investigación y el descubrimiento de aplicaciones de perfiles que pueden proporcionar datos web compatibles semánticas. Por tanto, la información accesible a través de la búsqueda de VIVO y capacidad de exploración se residir y ser controlado a nivel local, dentro de vivos institucionales o de otras aplicaciones web compatibles con semánticos.</p>
|
||||
|
||||
<p>VIVO es una aplicación web semántica código abierto originalmente desarrollado e implementado en Cornell. Cuando se instala y se rellena con el contenido en una institución, que permite el descubrimiento de la investigación y de becas en todas las disciplinas de esta institución. VIVO compatible con la navegación y una función de búsqueda que devuelve resultados facetas para una rápida recuperación de la información deseada. Contenido en cualquier instalación VIVO local puede mantenerse manualmente o puesto en la base de datos de forma automática de los sistemas locales de registro, tales como recursos humanos, carreras impulsadas, becas, cursos, y bases de datos de la actividad docente.</p>
|
||||
<p>VIVO es una aplicación web semántica código abierto originalmente desarrollado e implementado en Cornell. Cuando se instala y se rellena con el contenido en una institución, que permite el descubrimiento de la investigación y de becas en todas las disciplinas de esta institución. VIVO compatible con la navegación y una función de búsqueda que devuelve resultados facetas para una rápida recuperación de la información deseada. Contenido en cualquier instalación VIVO local puede mantenerse manualmente o puesto en la base de datos de forma automática de los sistemas locales de registro, tales como recursos humanos, becas, cursos, y bases de datos de la actividad docente.</p>
|
||||
|
||||
<p>Ver más información sobre el <a href=\"http://vivoweb.org\">Proyecto VIVO</a>.</p></div>
|
||||
"""@es .
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
Binary file not shown.
BIN
lib/agrovocws-3.0.jar
Normal file
BIN
lib/agrovocws-3.0.jar
Normal file
Binary file not shown.
Binary file not shown.
BIN
lib/ehcache-spring-annotations-1.1.3.jar
Normal file
BIN
lib/ehcache-spring-annotations-1.1.3.jar
Normal file
Binary file not shown.
Binary file not shown.
BIN
lib/htmlparser.jar
Normal file
BIN
lib/htmlparser.jar
Normal file
Binary file not shown.
Binary file not shown.
BIN
lib/owlapi-bin.jar
Normal file
BIN
lib/owlapi-bin.jar
Normal file
Binary file not shown.
BIN
lib/skosapi-3-bin.jar
Normal file
BIN
lib/skosapi-3-bin.jar
Normal file
Binary file not shown.
162
olddeploy.properties
Normal file
162
olddeploy.properties
Normal file
|
@ -0,0 +1,162 @@
|
|||
# -----------------------------------------------------------------------------
|
||||
#
|
||||
# VIVO deployment properties
|
||||
#
|
||||
# This file is provided as example.deploy.properties.
|
||||
#
|
||||
# Save a copy of this file as deploy.properties, and edit the properties as
|
||||
# needed for your deployment.
|
||||
#
|
||||
# -----------------------------------------------------------------------------
|
||||
|
||||
#
|
||||
# This namespace will be used when generating URIs for objects created in the
|
||||
# editor. Change it to reflect your own domain. For example, Cornell's
|
||||
# namespace is http://vivo.cornell.edu/individual/
|
||||
#
|
||||
# Note: it is essential that this namespace end with a trailing slash.
|
||||
#
|
||||
Vitro.defaultNamespace = http://vivo.mannlib.cornell.edu/individual/
|
||||
|
||||
#
|
||||
# Where is the Vitro core directory?
|
||||
# In most deployments, this is set to ./vitro-core (It is not uncommon for this
|
||||
# setting to point elsewhere in development environments).
|
||||
# Examples:
|
||||
# vitro.core.dir = ./vitro-core
|
||||
# vitro.core.dir = ../vitro
|
||||
# vitro.core.dir = /usr/local/vitro/trunk
|
||||
vitro.core.dir = ../vivovitro
|
||||
|
||||
#
|
||||
# The base install directory for your Tomcat server. The VIVO application
|
||||
# will be deployed in the /webapps directory below this base.
|
||||
#
|
||||
tomcat.home = C:/apache/apache-tomcat-7.0.40
|
||||
|
||||
#
|
||||
# The name of the VIVO application. This will be used as the name of the
|
||||
# subdirectory within your Tomcat server's /webapps directory. It also appears
|
||||
# in the URL for the application. For example, http://my.vivo.server/vivo
|
||||
#
|
||||
webapp.name = vivo
|
||||
|
||||
#
|
||||
# The location where the VIVO application will store the data that it creates.
|
||||
# This includes uploaded files (usually images) and the Lucene search index.
|
||||
#
|
||||
vitro.home.directory = C:/Users/hjk54/vivodata
|
||||
|
||||
#
|
||||
# SMTP host which the "Contact Us" form can use to send mail. If this is left
|
||||
# empty, the "Contact Us" form will be disabled.
|
||||
#
|
||||
Vitro.smtpHost =appsmtp.mail.cornell.edu
|
||||
#Added these per Jim's instructions, TO DO: try without smtpHost line
|
||||
email.smtpHost = appsmtp.mail.cornell.edu
|
||||
email.replyTo = hjk54@cornell.edu
|
||||
|
||||
#
|
||||
# The basic parameters for a database connection. Change the end of the
|
||||
# URL to reflect your database name (if it is not "vitro"). Change the username
|
||||
# and password to match the authorized database user you created. Increase the
|
||||
# maximum size of the database connection pool if you need to serve a greater
|
||||
# number of concurrent page requests.
|
||||
#
|
||||
#Test Empty database
|
||||
#VitroConnection.DataSource.url = jdbc:mysql://localhost/testvivo
|
||||
|
||||
VitroConnection.DataSource.url = jdbc:mysql://localhost/vivodb
|
||||
VitroConnection.DataSource.username = vivouser
|
||||
VitroConnection.DataSource.password = vivopass
|
||||
#test migration
|
||||
#VitroConnection.DataSource.url = jdbc:mysql://localhost/migratetest
|
||||
#VitroConnection.DataSource.username = migrateuser
|
||||
#VitroConnection.DataSource.password = migratepassword
|
||||
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
VitroConnection.DataSource.tripleStoreType = SDB
|
||||
|
||||
#
|
||||
# The maximum number of active connections in the database connection pool.
|
||||
# Increase this value to support a greater number of concurrent page requests
|
||||
# with SDB. It is not necessary to adjust this value when using the
|
||||
# RDB configuration.
|
||||
#
|
||||
VitroConnection.DataSource.pool.maxActive = 40
|
||||
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
VitroConnection.DataSource.pool.maxIdle = 10
|
||||
|
||||
#
|
||||
# Parameters to change in order to use VIVO with a database other than
|
||||
# MySQL.
|
||||
#
|
||||
VitroConnection.DataSource.dbtype = MySQL
|
||||
VitroConnection.DataSource.driver = com.mysql.jdbc.Driver
|
||||
VitroConnection.DataSource.validationQuery = SELECT 1
|
||||
|
||||
#
|
||||
# The name of your first admin user for the VIVO application. The password
|
||||
# for this user is initially set to "defaultAdmin", but you will be asked to
|
||||
# change the password the first time you log in.
|
||||
#
|
||||
initialAdminUser = defaultAdmin
|
||||
rootUser.emailAddress = hjk54@cornell.edu
|
||||
#
|
||||
# How is a logged-in user associated with a particular Individual? One way is
|
||||
# for the Individual to have a property whose value is the username of the user.
|
||||
# This value should be the URI for that property.
|
||||
#
|
||||
selfEditing.idMatchingProperty = http://vivo.mannlib.cornell.edu/ns#networkId
|
||||
|
||||
#
|
||||
# If an external authentication system like Shibboleth or CUWebAuth is to be
|
||||
# used, these properties say how the login button should be labeled, and which
|
||||
# HTTP header will contain the user ID from the authentication system. If such
|
||||
# a system is not to be used, leave these commented out. Consult the
|
||||
# installation instructions for more details.
|
||||
#
|
||||
#externalAuth.buttonText = Log in using BearCat Shibboleth
|
||||
#externalAuth.netIdHeaderName = remote_userID
|
||||
|
||||
#
|
||||
# The temporal graph visualization can require extensive machine resources.
|
||||
# This can have a particularly noticable impact on memory usage if
|
||||
# - VIVO is configured to use Jena SDB,
|
||||
# - The organization tree is deep,
|
||||
# - The number of grants and publications is large.
|
||||
# VIVO release 1.2 guards against this impact by disabling the temporal graph
|
||||
# visualization unless the "visualization.temporal" flag is set to "enabled".
|
||||
#
|
||||
# visualization.temporal = enabled
|
||||
|
||||
#
|
||||
# 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:
|
||||
# visualization.topLevelOrg = http://vivo.psm.edu/individual/n2862
|
||||
#
|
||||
# visualization.topLevelOrg = http://vivo.mydomain.edu/individual/topLevelOrgURI
|
||||
|
||||
#
|
||||
# Default type(s) for Google Refine Reconciliation Service
|
||||
# The format for this property is id, name; id1, name1; id2, name2 etc.
|
||||
# See Service Metadata from this page http://code.google.com/p/google-refine/wiki/ReconciliationServiceApi
|
||||
# for more information.
|
||||
Vitro.reconcile.defaultTypeList = http://vivoweb.org/ontology/core#Course, Course; http://vivoweb.org/ontology/core#Grant, Grant; http://aims.fao.org/aos/geopolitical.owl, Location; http://xmlns.com/foaf/0.1/Organization, Organization; http://xmlns.com/foaf/0.1/Person, Person; http://purl.org/ontology/bibo/Article, Publication
|
||||
#solr
|
||||
vitro.local.solr.url = http://localhost:8080/vivosolr
|
|
@ -1,3 +0,0 @@
|
|||
<http://link.informatics.stonybrook.edu/umls> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Thing> .
|
||||
<http://aims.fao.org/aos/agrovoc/agrovocScheme> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Thing> .
|
||||
<http://www.eionet.europa.eu/gemet/gemetThesaurus> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Thing> .
|
|
@ -45,7 +45,7 @@ edu.cornell.mannlib.vitro.webapp.servlet.setup.ThemeInfoSetup
|
|||
|
||||
edu.cornell.mannlib.vitro.webapp.auth.permissions.PermissionRegistry$Setup
|
||||
|
||||
edu.cornell.mannlib.vitro.webapp.auth.permissions.PermissionSetsLoader
|
||||
edu.cornell.mannlib.vitro.webapp.auth.permissions.PermissionSetsSmokeTest
|
||||
|
||||
edu.cornell.mannlib.vitro.webapp.auth.policy.bean.PropertyRestrictionPolicyHelper$Setup
|
||||
|
||||
|
@ -72,6 +72,7 @@ edu.cornell.mannlib.vitro.webapp.search.solr.VivoDocumentModifiers
|
|||
edu.cornell.mannlib.vitro.webapp.search.solr.SolrSetup
|
||||
|
||||
edu.cornell.mannlib.vitro.webapp.controller.freemarker.FreemarkerSetup
|
||||
edu.cornell.mannlib.vitro.webapp.freemarker.config.FreemarkerConfiguration$Setup
|
||||
|
||||
# On shutdown, this will kill the background thread started by Apache Commons File Upload
|
||||
org.apache.commons.fileupload.servlet.FileCleanerCleanup
|
||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 442 B |
|
@ -9,6 +9,7 @@ $(document).ready(function(){
|
|||
|
||||
$.extend(this, urlsBase);
|
||||
$.extend(this, i18nStrings);
|
||||
$.extend(this, geoResearcherCount);
|
||||
|
||||
getGeoJsonForMaps();
|
||||
|
||||
|
@ -368,7 +369,7 @@ $(document).ready(function(){
|
|||
|
||||
function getResearcherCount(area) {
|
||||
|
||||
var researcherCount = 0;
|
||||
var researcherCount = this.geoResearcherCount;
|
||||
var areaCount = 0;
|
||||
var text = "";
|
||||
if ( area == "global" ) {
|
||||
|
@ -383,7 +384,6 @@ $(document).ready(function(){
|
|||
|
||||
$.each(researchAreas.features, function() {
|
||||
if ( this.properties.mapType == area ) {
|
||||
researcherCount = researcherCount + this.properties.html ;
|
||||
areaCount = areaCount + 1;
|
||||
}
|
||||
});
|
||||
|
@ -391,10 +391,16 @@ $(document).ready(function(){
|
|||
if ( areaCount == 1 && text == " states.") {
|
||||
text = " " + i18nStrings.stateString;
|
||||
}
|
||||
if ( researcherCount == 1 ) {
|
||||
researcherText = " " + i18nStrings.researcherString + " " + i18nStrings.inString;
|
||||
}
|
||||
else {
|
||||
researcherText = " " + i18nStrings.researcherInString
|
||||
}
|
||||
|
||||
$('div#researcherTotal').html("<font style='font-size:1.05em;color:#167093'>"
|
||||
+ researcherCount.toString().replace(/(\d+)(\d{3})/, '$1'+','+'$2')
|
||||
+ "</font> " + i18nStrings.researchersInString + " <font style='font-size:1.05em;color:#167093'>"
|
||||
+ researcherCount
|
||||
+ "</font> " + researcherText + " <font style='font-size:1.05em;color:#167093'>"
|
||||
+ areaCount + "</font>" + text);
|
||||
}
|
||||
function appendLegendToLeafletContainer() {
|
||||
|
|
|
@ -69,22 +69,25 @@ $(document).ready(function(){
|
|||
location.hash = location.hash.replace(/\s+/g, '');
|
||||
if ( location.hash.indexOf("map") >= 0 ) {
|
||||
// get the name of the group that contains the geographicFocusOf property.
|
||||
var tabName = $('h3#geographicFocusOf').parent('article').parent('div').attr("id");
|
||||
tabName = tabName.replace("Group","");
|
||||
tabNameCapped = tabName.charAt(0).toUpperCase() + tabName.slice(1);
|
||||
// if the name of the first tab section = tabName we don't have to do anything;
|
||||
// otherwise, select the correct tab and deselect the first one
|
||||
var $firstTab = $('li.clickable').first();
|
||||
if ( $firstTab.text() != tabNameCapped ) {
|
||||
// select the correct tab
|
||||
$('li[groupName="' + tabName + '"]').removeClass("nonSelectedGroupTab clickable");
|
||||
$('li[groupName="' + tabName + '"]').addClass("selectedGroupTab clickable");
|
||||
// deselect the first tab
|
||||
$firstTab.removeClass("selectedGroupTab clickable");
|
||||
$firstTab.addClass("nonSelectedGroupTab clickable");
|
||||
$('section.property-group:visible').hide();
|
||||
// show the selected tab section
|
||||
$('section#' + tabName).show();
|
||||
// if it doesn't exist, don't do anything.
|
||||
if ( $('h3#geographicFocusOf').length ) {
|
||||
var tabName = $('h3#geographicFocusOf').parent('article').parent('div').attr("id");
|
||||
tabName = tabName.replace("Group","");
|
||||
tabNameCapped = tabName.charAt(0).toUpperCase() + tabName.slice(1);
|
||||
// if the name of the first tab section = tabName we don't have to do anything;
|
||||
// otherwise, select the correct tab and deselect the first one
|
||||
var $firstTab = $('li.clickable').first();
|
||||
if ( $firstTab.text() != tabNameCapped ) {
|
||||
// select the correct tab
|
||||
$('li[groupName="' + tabName + '"]').removeClass("nonSelectedGroupTab clickable");
|
||||
$('li[groupName="' + tabName + '"]').addClass("selectedGroupTab clickable");
|
||||
// deselect the first tab
|
||||
$firstTab.removeClass("selectedGroupTab clickable");
|
||||
$firstTab.addClass("nonSelectedGroupTab clickable");
|
||||
$('section.property-group:visible').hide();
|
||||
// show the selected tab section
|
||||
$('section#' + tabName).show();
|
||||
}
|
||||
}
|
||||
// if there is a more link, "click" more to show all the researchers
|
||||
// we need the timeout delay so that the more link can get rendered
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -10,6 +10,9 @@
|
|||
<#if !labelCount??>
|
||||
<#assign labelCount = 0 >
|
||||
</#if>
|
||||
<#if !localesCount??>
|
||||
<#assign localesCount = 1>
|
||||
</#if>
|
||||
<#assign qrCodeIcon = "qr-code-icon.png">
|
||||
<#assign visRequestingTemplate = "foaf-person-2column">
|
||||
<section id="individual-intro" class="vcard person" role="region">
|
||||
|
@ -40,7 +43,7 @@
|
|||
<#else>
|
||||
<h1 class="vcard foaf-person fn" <#if !editable>style="float:left;border-right:1px solid #A6B1B0;"</#if>>
|
||||
<#-- Label -->
|
||||
<@p.label individual editable labelCount/>
|
||||
<@p.label individual editable labelCount localesCount/>
|
||||
</h1>
|
||||
<#-- Display preferredTitle if it exists; otherwise mostSpecificTypes -->
|
||||
<#assign title = propertyGroups.pullProperty("${core}preferredTitle")!>
|
||||
|
|
|
@ -12,6 +12,9 @@
|
|||
<#if !labelCount??>
|
||||
<#assign labelCount = 0 >
|
||||
</#if>
|
||||
<#if !localesCount??>
|
||||
<#assign localesCount = 1>
|
||||
</#if>
|
||||
<#assign qrCodeIcon = "qr-code-icon.png">
|
||||
<#assign individualImage>
|
||||
<@p.image individual=individual
|
||||
|
@ -52,7 +55,7 @@
|
|||
<div id="photo-wrapper">${individualImage}</div>
|
||||
<h1 class="vcard foaf-person fn" <#if !editable>style="float:left;border-right:1px solid #A6B1B0;"</#if>>
|
||||
<#-- Label -->
|
||||
<@p.label individual editable labelCount/>
|
||||
<@p.label individual editable labelCount localesCount/>
|
||||
</h1>
|
||||
<#-- Display preferredTitle if it exists; otherwise mostSpecificTypes -->
|
||||
<#assign title = propertyGroups.pullProperty("${core}preferredTitle")!>
|
||||
|
|
|
@ -0,0 +1,12 @@
|
|||
<#-- $This file is distributed under the terms of the license in /doc/license.txt$ -->
|
||||
|
||||
<#-- Individual profile page template for skos:Concept individuals (extends individual.ftl in vivo)-->
|
||||
|
||||
<#-- Do not show the link for temporal visualization unless it's enabled -->
|
||||
|
||||
<#assign affiliatedResearchAreas>
|
||||
<#include "individual-affiliated-departments.ftl">
|
||||
</#assign>
|
||||
|
||||
<#include "individual.ftl">
|
||||
|
|
@ -0,0 +1,40 @@
|
|||
<#-- $This file is distributed under the terms of the license in /doc/license.txt$ -->
|
||||
<#-- Custom form for managing labels for individuals - specific to VIVO which handles people as well -->
|
||||
<#assign isPersonType = editConfiguration.pageData.isPersonType />
|
||||
<form id="addLabelForm" name="addLabelForm" class="customForm" action="${submitUrl}">
|
||||
<h2>${i18n().add_label}</h2>
|
||||
<#if isPersonType = "true">
|
||||
<p>
|
||||
<label for="firstName">${i18n().first_name} ${requiredHint}</label>
|
||||
<input size="30" type="text" id="firstName" name="firstName" value="${firstNameValue}" />
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<label for="lastName">${i18n().last_name} ${requiredHint}</label>
|
||||
<input size="30" type="text" id="lastName" name="lastName" value="${lastNameValue}" />
|
||||
</p>
|
||||
<#else>
|
||||
<p>
|
||||
<label for="name">${i18n().name_capitalized} ${requiredHint}</label>
|
||||
<input size="30" type="text" id="label" name="label" value="${labelValue}" />
|
||||
</p>
|
||||
</#if>
|
||||
<label for="newLabelLanguage">${i18n().add_label_for_language}</label>
|
||||
<select name="newLabelLanguage" id="newLabelLanguage" >
|
||||
<option value=""<#if !newLabelLanguageValue?has_content> selected="selected"</#if>>${i18n().select_locale}</option>
|
||||
<#if editConfiguration.pageData.selectLocale?has_content>
|
||||
<#assign selectLocale = editConfiguration.pageData.selectLocale />
|
||||
<#list selectLocale as locale>
|
||||
<option value="${locale.code}"<#if newLabelLanguageValue?has_content && locale.code == newLabelLanguageValue> selected="selected"</#if>>${locale.label}</option>
|
||||
</#list>
|
||||
</#if>
|
||||
</select>
|
||||
|
||||
<input type="hidden" name="editKey" id="editKey" value="${editKey}"/>
|
||||
|
||||
<input type="submit" class="submit" id="submit" value="${i18n().save_button}" role="button" role="input" />
|
||||
${i18n().or}
|
||||
<a href="${urls.referringPage}" class="cancel" title="${i18n().cancel_title}" >${i18n().cancel_link}</a>
|
||||
|
||||
<p id="requiredLegend" class="requiredHint">* ${i18n().required_fields}</p>
|
||||
</form>
|
|
@ -0,0 +1,27 @@
|
|||
<#-- $This file is distributed under the terms of the license in /doc/license.txt$ -->
|
||||
<#--VIVO specific errors for person-->
|
||||
<#import "lib-vivo-form.ftl" as lvf>
|
||||
|
||||
<#--Get existing value for specific data literals and uris, in case the form is returned because of an error-->
|
||||
<#assign firstNameValue = lvf.getFormFieldValue(editSubmission, editConfiguration, "firstName")/>
|
||||
<#assign lastNameValue = lvf.getFormFieldValue(editSubmission, editConfiguration, "lastName")/>
|
||||
<#assign labelValue = lvf.getFormFieldValue(editSubmission, editConfiguration, "label")/>
|
||||
<#assign newLabelLanguageValue = lvf.getFormFieldValue(editSubmission, editConfiguration, "newLabelLanguage")/>
|
||||
|
||||
<#if submissionErrors?has_content >
|
||||
<section id="error-alert" role="alert">
|
||||
<img src="${urls.images}/iconAlert.png" width="24" height="24" alert="${i18n().error_alert_icon}" />
|
||||
<p>
|
||||
<#list submissionErrors?keys as errorFieldName>
|
||||
<#if errorFieldName == "firstName">
|
||||
${i18n().enter_first_name}
|
||||
<#elseif errorFieldName == "lastName">
|
||||
${i18n().enter_last_name}
|
||||
<#elseif errorFieldName == "label">
|
||||
${i18n().enter_a_name}
|
||||
</#if>
|
||||
<br />
|
||||
</#list>
|
||||
</p>
|
||||
</section>
|
||||
</#if>
|
|
@ -0,0 +1,4 @@
|
|||
<#-- $This file is distributed under the terms of the license in /doc/license.txt$ -->
|
||||
|
||||
<#--Some values for labels etc. may be different between vitro and other systems -->
|
||||
<#assign returnText = "${i18n().return_to_profile}" />
|
|
@ -0,0 +1,35 @@
|
|||
<#-- $This file is distributed under the terms of the license in /doc/license.txt$ -->
|
||||
<#if departmentsResults?has_content>
|
||||
<#-- is strictly a usability issue so we can refer accurately to "faculty members" within the dept. -->
|
||||
<#assign urlForDetailsPage = "affiliatedDepartments" />
|
||||
<#assign headingText = "${i18n().affiliated_departments}" />
|
||||
<h2 id="facultyResearchAreas" class="mainPropGroup">
|
||||
${headingText}
|
||||
</h2>
|
||||
<ul id="individual-hasResearchArea" role="list">
|
||||
<#assign moreDisplayed = false>
|
||||
<#list departmentsResults as resultRow>
|
||||
<li class="raLink">
|
||||
<a class="raLink" href="${urls.base}/${urlForDetailsPage}?orgURI=${resultRow["dept"]}&raURI=${individual.uri}" title="${i18n().organization}">
|
||||
${resultRow["deptLabel"]}
|
||||
</a>
|
||||
</li>
|
||||
</#list>
|
||||
</ul>
|
||||
</#if>
|
||||
<script>
|
||||
$('a#raMore').click(function() {
|
||||
$('li.raLinkMore').each(function() {
|
||||
$(this).show();
|
||||
});
|
||||
$('li#raMoreContainer').hide();
|
||||
$('li#raLessContainer').show();
|
||||
});
|
||||
$('a#raLess').click(function() {
|
||||
$('li.raLinkMore').each(function() {
|
||||
$(this).hide();
|
||||
});
|
||||
$('li#raMoreContainer').show();
|
||||
$('li#raLessContainer').hide();
|
||||
});
|
||||
</script>
|
|
@ -0,0 +1,25 @@
|
|||
<#-- $This file is distributed under the terms of the license in /doc/license.txt$ -->
|
||||
<#if deptResearchAreas?has_content>
|
||||
<section id="pageList">
|
||||
<#list deptResearchAreas as firstRow>
|
||||
<#assign raLink = "${urls.base}/individual?uri=${firstRow['raURI']}" />
|
||||
<div class="tab">
|
||||
<h2>${firstRow["orgLabel"]}</h2>
|
||||
<p>${i18n().individuals_with_dept(firstRow['raLabel'],raLink)} <a href="${urls.base}/individual?uri=${firstRow["orgURI"]}">${i18n().view_all_individuals_in_dept}</a></p>
|
||||
</div>
|
||||
<#break>
|
||||
</#list>
|
||||
</section>
|
||||
|
||||
<section id="deptResearchAreas">
|
||||
<ul role="list" class="deptDetailsList">
|
||||
<#list deptResearchAreas as resultRow>
|
||||
<li class="deptDetailsListItem">
|
||||
<a href="${urls.base}/individual${resultRow["person"]?substring(resultRow["person"]?last_index_of("/"))}" title="${i18n().person_name}">${resultRow["personLabel"]}</a>
|
||||
</li>
|
||||
</#list>
|
||||
</ul>
|
||||
|
||||
</section>
|
||||
</#if>
|
||||
|
|
@ -3,11 +3,12 @@
|
|||
<section id="pageList">
|
||||
<#list affiliatedResearchAreas as firstRow>
|
||||
<#assign firstOrgLabel = firstRow["orgLabel"]?upper_case />
|
||||
<#assign deptLink = "${urls.base}/individual?uri=${firstRow['orgURI']}" />
|
||||
<#assign i18TextString1 = "" />
|
||||
<#if ( firstOrgLabel?index_of("THE") == 0 ) >
|
||||
<#assign i18TextString1 = "${i18n().individuals_with_researh_area_one(firstRow['orgLabel'])}" />
|
||||
<#assign i18TextString1 = "${i18n().individuals_with_researh_area_one(firstRow['orgLabel'],deptLink)}" />
|
||||
<#else>
|
||||
<#assign i18TextString1 = "${i18n().individuals_with_researh_area_two(firstRow['orgLabel'])}" />
|
||||
<#assign i18TextString1 = "${i18n().individuals_with_researh_area_two(firstRow['orgLabel'],deptLink)}" />
|
||||
</#if>
|
||||
<div class="tab">
|
||||
<h2>${firstRow["raLabel"]}</h2>
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
<#-- List of research areas for the individual -->
|
||||
<#assign researchAreas = propertyGroups.pullProperty("${core}hasResearchArea")!>
|
||||
<#assign concepts = propertyGroups.pullProperty("${core}hasAssociatedConcept")!>
|
||||
<#if researchAreas?has_content> <#-- true when the property is in the list, even if not populated (when editing) -->
|
||||
<#assign localName = researchAreas.localName>
|
||||
<h2 id="${localName}" class="mainPropGroup">
|
||||
|
@ -11,5 +12,5 @@
|
|||
</h2>
|
||||
<ul id="individual-${localName}" role="list" >
|
||||
<@p.objectProperty researchAreas editable />
|
||||
</ul>
|
||||
</ul>
|
||||
</#if>
|
||||
|
|
|
@ -51,6 +51,9 @@
|
|||
<#if existingConcept.vocabURI?has_content && existingConcept.vocabLabel?has_content>
|
||||
(${existingConcept.vocabLabel})
|
||||
</#if>
|
||||
<#if existingConcept.conceptSemanticTypeLabel?has_content>
|
||||
${existingConcept.conceptSemanticTypeLabel}
|
||||
</#if>
|
||||
</span>
|
||||
</span>
|
||||
<a href="${urls.base}/edit/primitiveRdfEdit" class="remove" title="${i18n().remove_capitalized}">${i18n().remove_capitalized}</a>
|
||||
|
@ -95,7 +98,10 @@
|
|||
</p><span id="createOwnOne"> ${i18n().or} <a href="${userDefinedConceptUrl}" title="${i18n().create_own_concept}">${i18n().create_own_concept} </a></span>
|
||||
<input type="hidden" id="conceptNode" name="conceptNode" value=""/> <!-- Field value populated by JavaScript -->
|
||||
<input type="hidden" id="conceptLabel" name="conceptLabel" value="" /> <!-- Field value populated by JavaScript -->
|
||||
<input type="hidden" id="conceptSource" name="conceptSource" value="" /> <!-- Field value populated by JavaScript -->
|
||||
<input type="hidden" id="conceptSource" name="conceptSource" value="" /> <!-- Field value populated by JavaScript -->
|
||||
<input type="hidden" id="conceptSemanticTypeURI" name="conceptSemanticTypeURI" value="" /> <!-- Field value populated by JavaScript -->
|
||||
<input type="hidden" id="conceptSemanticTypeLabel" name="conceptSemanticTypeLabel" value="" /> <!-- Field value populated by JavaScript -->
|
||||
|
||||
<div id="selectedConcept" name="selectedConcept" class="acSelection">
|
||||
<p class="inline">
|
||||
</p>
|
||||
|
|
|
@ -54,6 +54,7 @@ var addConceptForm = {
|
|||
this.externalConceptURI = $('#conceptNode');
|
||||
this.externalConceptLabel = $('#conceptLabel');
|
||||
this.externalConceptSource = $('#conceptSource');
|
||||
this.externalConceptSemanticTypeLabel = $("#conceptSemanticTypeLabel");
|
||||
//remove links
|
||||
this.removeConceptLinks = $('a.remove');
|
||||
this.errors = $('#errors');
|
||||
|
@ -202,7 +203,9 @@ var addConceptForm = {
|
|||
var definedBy = conceptResult.definedBy;
|
||||
var type = conceptResult.type;
|
||||
var uri = conceptResult.uri;
|
||||
return addConceptForm.generateIndividualConceptDisplay(uri, label, definition, type, definedBy, isBestMatch);
|
||||
//this will be null if there are no alternate labels
|
||||
var altLabels = conceptResult.altLabelList;
|
||||
return addConceptForm.generateIndividualConceptDisplay(uri, label, altLabels, definition, type, definedBy, isBestMatch);
|
||||
},
|
||||
//This should now return all best matches in one array and other results in another
|
||||
parseResults:function(resultsArray) {
|
||||
|
@ -236,31 +239,35 @@ var addConceptForm = {
|
|||
}
|
||||
var i;
|
||||
var len = checkedElements.length;
|
||||
var checkedConcept, checkedConceptElement, conceptLabel, conceptSource;
|
||||
var checkedConcept, checkedConceptElement, conceptLabel, conceptSource, conceptSemanticType;
|
||||
var conceptNodes = [];
|
||||
var conceptLabels = [];
|
||||
var conceptSources = [];
|
||||
var conceptSemanticTypes = [];
|
||||
|
||||
checkedElements.each(function() {
|
||||
checkedConceptElement = $(this);
|
||||
checkedConcept = checkedConceptElement.val();
|
||||
conceptLabel = checkedConceptElement.attr("label");
|
||||
conceptSource = checkedConceptElement.attr("conceptDefinedBy");
|
||||
conceptSemanticType = checkedConceptElement.attr("conceptType");
|
||||
conceptNodes.push(checkedConcept);
|
||||
conceptLabels.push(conceptLabel);
|
||||
conceptSources.push(conceptSource);
|
||||
conceptSemanticTypes.push(conceptSemanticType);
|
||||
});
|
||||
this.externalConceptURI.val(conceptNodes);
|
||||
this.externalConceptLabel.val(conceptLabels);
|
||||
this.externalConceptSource.val(conceptSources);
|
||||
this.externalConceptSemanticTypeLabel.val(conceptSemanticTypes);
|
||||
return true;
|
||||
},
|
||||
generateIndividualConceptDisplay: function(cuiURI, label, definition, type, definedBy, isBestMatch) {
|
||||
generateIndividualConceptDisplay: function(cuiURI, label, altLabels, definition, type, definedBy, isBestMatch) {
|
||||
var htmlAdd = "<li class='concepts'>" +
|
||||
"<div class='row'>" +
|
||||
"<div class='column conceptLabel'>" +
|
||||
addConceptForm.generateIndividualCUIInput(cuiURI, label, type, definedBy) +
|
||||
label + addConceptForm.generateIndividualTypeDisplay(type) + "</div>" +
|
||||
addConceptForm.generateIndividualLabelsDisplay(label, altLabels) + addConceptForm.generateIndividualTypeDisplay(type) + "</div>" +
|
||||
addConceptForm.generateIndividualDefinitionDisplay(definition) +
|
||||
addConceptForm.generateBestOrAlternate(isBestMatch) +
|
||||
"</div>" +
|
||||
|
@ -270,6 +277,14 @@ var addConceptForm = {
|
|||
generateIndividualCUIInput:function(cuiURI, label, type, definedBy) {
|
||||
return "<input type='checkbox' name='CUI' value='" + cuiURI + "' label='" + label + "' conceptType='" + type + "' conceptDefinedBy='" + definedBy + "'/>";
|
||||
},
|
||||
//In case there are multiple labels display those
|
||||
generateIndividualLabelsDisplay:function(label, altLabels) {
|
||||
var labelDisplay = label;
|
||||
if(altLabels != null && altLabels.length > 0) {
|
||||
labelDisplay += "<br> [" + altLabels + "]";
|
||||
}
|
||||
return labelDisplay;
|
||||
},
|
||||
generateIndividualTypeDisplay:function(type) {
|
||||
if(type != null && type.length > 0) {
|
||||
return " (" + type + ")";
|
||||
|
|
|
@ -205,3 +205,16 @@ var urlsBase = "${urls.base}";
|
|||
</section>
|
||||
</#macro>
|
||||
|
||||
<#-- retrieves a count, the number of researchers with a geographic focus, -->
|
||||
<#-- and saves it as a js variable to be used by the homePageMaps.js file -->
|
||||
<#macro getGeoResearcherCount>
|
||||
<script>
|
||||
|
||||
<#if researcherCountDG?has_content>
|
||||
<#assign theCount = researcherCountDG[0].count />
|
||||
<#else>
|
||||
<#assign theCount = 0 />
|
||||
</#if>
|
||||
var geoResearcherCount = ${theCount};
|
||||
</script>
|
||||
</#macro>
|
||||
|
|
|
@ -1,3 +1,6 @@
|
|||
<http://link.informatics.stonybrook.edu/umls> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Thing> .
|
||||
<http://aims.fao.org/aos/agrovoc/agrovocScheme> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Thing> .
|
||||
<http://www.eionet.europa.eu/gemet/gemetThesaurus> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Thing> .
|
||||
<http://link.informatics.stonybrook.edu/umls> <http://www.w3.org/2000/01/rdf-schema#label> "UMLS"^^<http://www.w3.org/2001/XMLSchema#string> .
|
||||
<http://aims.fao.org/aos/agrovoc/agrovocScheme> <http://www.w3.org/2000/01/rdf-schema#label> "AGROVOC"^^<http://www.w3.org/2001/XMLSchema#string> .
|
||||
<http://www.eionet.europa.eu/gemet/gemetThesaurus> <http://www.w3.org/2000/01/rdf-schema#label> "GEMET"^^<http://www.w3.org/2001/XMLSchema#string> .
|
|
@ -29,3 +29,23 @@ display:academicDeptsDataGetter
|
|||
|
||||
""" .
|
||||
|
||||
<freemarker:lib-home-page.ftl> display:hasDataGetter display:researcherCountDataGetter .
|
||||
|
||||
display:researcherCountDataGetter
|
||||
a <java:edu.cornell.mannlib.vitro.webapp.utils.dataGetter.SparqlQueryDataGetter> ;
|
||||
display:saveToVar "researcherCountDG" ;
|
||||
display:query """
|
||||
PREFIX geo: <http://aims.fao.org/aos/geopolitical.owl#>
|
||||
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
||||
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
|
||||
PREFIX core: <http://vivoweb.org/ontology/core#>
|
||||
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
|
||||
PREFIX vivoc: <http://vivo.library.cornell.edu/ns/0.1#>
|
||||
|
||||
SELECT DISTINCT (COUNT(?person) AS ?count)
|
||||
WHERE {
|
||||
?person rdf:type foaf:Person .
|
||||
FILTER (EXISTS {?person core:geographicFocus ?focus})
|
||||
}
|
||||
|
||||
""" .
|
82
rdf/display/everytime/vivoConceptDataGetters.n3
Normal file
82
rdf/display/everytime/vivoConceptDataGetters.n3
Normal file
|
@ -0,0 +1,82 @@
|
|||
# $This file is distributed under the terms of the license in /doc/license.txt$
|
||||
|
||||
@prefix owl: <http://www.w3.org/2002/07/owl#> .
|
||||
@prefix display: <http://vitro.mannlib.cornell.edu/ontologies/display/1.1#> .
|
||||
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
|
||||
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
|
||||
@prefix core: <http://vivoweb.org/ontology/core#> .
|
||||
@prefix vivoweb: <http://vivoweb.org/ontology#> .
|
||||
@prefix afn: <http://jena.hpl.hp.com/ARQ/function#> .
|
||||
|
||||
|
||||
#### n3 for research areas ####
|
||||
|
||||
## associate the classes with the datagetter ##
|
||||
|
||||
<http://www.w3.org/2004/02/skos/core#Concept> display:hasDataGetter display:getDepartmentDataGetter .
|
||||
|
||||
## define the datagetter ##
|
||||
|
||||
display:getDepartmentDataGetter
|
||||
a <java:edu.cornell.mannlib.vitro.webapp.utils.dataGetter.SparqlQueryDataGetter>;
|
||||
display:saveToVar "departmentsResults";
|
||||
display:query
|
||||
"""
|
||||
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
||||
PREFIX vivo: <http://vivoweb.org/ontology/core#>
|
||||
PREFIX afn: <http://jena.hpl.hp.com/ARQ/function#>
|
||||
SELECT DISTINCT (str(?departmentLabel) AS ?deptLabel) ?dept
|
||||
WHERE {
|
||||
?individualURI vivo:researchAreaOf ?person .
|
||||
?person vivo:personInPosition ?posn .
|
||||
?posn vivo:positionInOrganization ?dept .
|
||||
?dept rdfs:label ?departmentLabel
|
||||
OPTIONAL { ?posn vivo:dateTimeInterval ?dti
|
||||
OPTIONAL { ?dti vivo:end ?end .
|
||||
?end vivo:dateTime ?endDate
|
||||
}
|
||||
}
|
||||
FILTER ( !bound(?endDate) ||
|
||||
afn:substring(str(?endDate), 0, 4) >= afn:substring(str(afn:now()), 0, 4) )
|
||||
}
|
||||
ORDER BY ?deptLabel
|
||||
""" .
|
||||
|
||||
## detail page for dept research areas ##
|
||||
|
||||
<http://vitro.mannlib.cornell.edu/ns/default#n55553333>
|
||||
a <http://vitro.mannlib.cornell.edu/ontologies/display/1.1#Page> ;
|
||||
<http://vitro.mannlib.cornell.edu/ontologies/display/1.1#hasDataGetter> <http://vitro.mannlib.cornell.edu/ns/default#n55552222> ;
|
||||
<http://vitro.mannlib.cornell.edu/ontologies/display/1.1#requiresBodyTemplate> "individual-affiliated-dept-details.ftl" ;
|
||||
<http://vitro.mannlib.cornell.edu/ontologies/display/1.1#title> "Affiliated Departments" ;
|
||||
<http://vitro.mannlib.cornell.edu/ontologies/display/1.1#urlMapping> "/affiliatedDepartments" .
|
||||
|
||||
<http://vitro.mannlib.cornell.edu/ns/default#n55552222>
|
||||
a <java:edu.cornell.mannlib.vitro.webapp.utils.dataGetter.SparqlQueryDataGetter> ;
|
||||
<http://vitro.mannlib.cornell.edu/ontologies/display/1.1#query>
|
||||
"""
|
||||
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
||||
PREFIX vivo: <http://vivoweb.org/ontology/core#>
|
||||
SELECT DISTINCT (str (?prsnLabel) AS ?personLabel)
|
||||
?person
|
||||
(Str(?researchAreaLabel) AS ?raLabel)
|
||||
(str(?departmentLabel) AS ?orgLabel)
|
||||
?raURI
|
||||
?orgURI
|
||||
WHERE {
|
||||
?orgURI vivo:organizationForPosition ?posn .
|
||||
?orgURI rdfs:label ?orgLabel .
|
||||
?posn vivo:positionForPerson ?person .
|
||||
?person rdfs:label ?prsnLabel .
|
||||
?person vivo:hasResearchArea ?raURI .
|
||||
?raURI rdfs:label ?researchAreaLabel
|
||||
|
||||
}
|
||||
ORDER BY ?personLabel
|
||||
""" ;
|
||||
<http://vitro.mannlib.cornell.edu/ontologies/display/1.1#saveToVar>
|
||||
"deptResearchAreas" .
|
||||
|
||||
|
||||
|
||||
|
|
@ -69,6 +69,7 @@ display:getResearchAreaDataGetter
|
|||
(str(?researchAreaLabel) AS ?raLabel)
|
||||
(str(?organizationLabel) AS ?orgLabel)
|
||||
?raURI
|
||||
?orgURI
|
||||
WHERE {
|
||||
?orgURI vivo:organizationForPosition ?posn .
|
||||
?orgURI rdfs:label ?organizationLabel .
|
||||
|
@ -101,6 +102,7 @@ display:getResearchAreaDataGetter
|
|||
(Str(?researchAreaLabel) AS ?raLabel)
|
||||
(str(?departmentLabel) AS ?orgLabel)
|
||||
?raURI
|
||||
?orgURI
|
||||
WHERE {
|
||||
?orgURI vivo:organizationForPosition ?posn .
|
||||
?orgURI rdfs:label ?orgLabel .
|
|
@ -8,7 +8,7 @@ about:ABOUTDG
|
|||
"""<h2>About VIVO</h2>
|
||||
<div class=\"pageGroupBody\" id=\"aboutText\"><p>The VIVO application enables the discovery of researchers across institutions. Participants in the network include institutions with local installations of VIVO or those with research discovery and profiling applications that can provide semantic web-compliant data. The information accessible through VIVO's search and browse capability will therefore reside and be controlled locally, within institutional VIVOs or other semantic web-compliant applications.</p>
|
||||
|
||||
<p>VIVO is an open source semantic web application originally developed and implemented at Cornell. When installed and populated with content at an institution, it enables the discovery of research and scholarship across disciplines at that institution. VIVO supports browsing and a search function which returns faceted results for rapid retrieval of desired information. Content in any local VIVO installation may be maintained manually or brought into the database in automated ways from local systems of record, such as HR, RBIs, grants, course, and faculty activity databases.</p>
|
||||
<p>VIVO is an open source semantic web application originally developed and implemented at Cornell. When installed and populated with content at an institution, it enables the discovery of research and scholarship across disciplines at that institution. VIVO supports browsing and a search function which returns faceted results for rapid retrieval of desired information. Content in any local VIVO installation may be maintained manually or brought into the database in automated ways from local systems of record, such as human resources, scholarships, grants, course, and faculty activity databases.</p>
|
||||
|
||||
<p>See more information on the <a href=\"http://vivoweb.org\">VIVO Project</a>.</p></div>
|
||||
"""@en ;
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue