From 086587e78e49c77f9d860211208191ec43055acd Mon Sep 17 00:00:00 2001 From: Holly Mistlebauer Date: Fri, 13 Dec 2013 12:53:03 -0500 Subject: [PATCH 01/28] Holly's final 1.6 changes, she hopes --- .../suites/AddPublications/AddArticle.html | 33 ++++---- .../DeleteValidationStuff.html | 78 ++++++++++++++++++- .../AddPublications/SearchPublications.html | 20 ++--- .../AddPublications/ValidateFields.html | 70 +++++++---------- .../AddRoles/AddFacultyMemberRoles2.html | 5 ++ .../suites/AddRoles/AddLibrarianRoles1.html | 22 +----- .../CheckMapOfScience/AddPublications.html | 6 +- .../CheckMapOfScience/AddPublications2.html | 32 +++++++- .../CheckVisualizations/AddPublications.html | 6 +- .../CheckVisualizations/AddTestFaculty.html | 5 -- .../TestTemporalGraphs.html | 7 +- 11 files changed, 177 insertions(+), 107 deletions(-) diff --git a/utilities/acceptance-tests/suites/AddPublications/AddArticle.html b/utilities/acceptance-tests/suites/AddPublications/AddArticle.html index 734e3f87..023a40be 100644 --- a/utilities/acceptance-tests/suites/AddPublications/AddArticle.html +++ b/utilities/acceptance-tests/suites/AddPublications/AddArticle.html @@ -680,24 +680,29 @@ link=Furter, Frank + + verifyTextPresent + 2010 + + verifyElementPresent link=Child Development - verifyTextPresent - 298 + verifyElementPresent + css=a[title="name"] verifyTextPresent - 344 + Children verifyTextPresent - 2010 + Games @@ -725,6 +730,16 @@ ABC111222333 + + verifyTextPresent + 298 + + + + verifyTextPresent + 344 + + verifyTextPresent 29 @@ -735,16 +750,6 @@ Supplement - - verifyTextPresent - Children - - - - verifyTextPresent - Games - - clickAndWait diff --git a/utilities/acceptance-tests/suites/AddPublications/DeleteValidationStuff.html b/utilities/acceptance-tests/suites/AddPublications/DeleteValidationStuff.html index 1f7f7f10..9e125ac3 100644 --- a/utilities/acceptance-tests/suites/AddPublications/DeleteValidationStuff.html +++ b/utilities/acceptance-tests/suites/AddPublications/DeleteValidationStuff.html @@ -560,12 +560,12 @@ clickAndWait - link=Kids Now Conference + link=Kids Now! assertTitle - Kids Now Conference + Kids Now! @@ -860,12 +860,12 @@ clickAndWait - link=Kids Now Conference + link=Kids Now! assertTitle - Kids Now Conference + Kids Now! @@ -1058,6 +1058,76 @@ Index of Contents + + clickAndWait + link=Global Citation Count + + + + assertTitle + Global Citation Count + + + + clickAndWait + link=99 + + + + assertTitle + 99 + + + + clickAndWait + link=Edit this individual + + + + assertTitle + Individual Control Panel + + + + clickAndWait + //input[@value='Edit This Individual'] + + + + assertTitle + Individual Editing Form + + + + click + name=_delete + + + + assertConfirmation + Are you SURE you want to delete this individual? If in doubt, CANCEL. + + + + waitForPageToLoad + 5000 + + + + assertTitle + VIVO Site Administration + + + + clickAndWait + link=Index + + + + assertTitle + Index of Contents + + refreshAndWait 10000 diff --git a/utilities/acceptance-tests/suites/AddPublications/SearchPublications.html b/utilities/acceptance-tests/suites/AddPublications/SearchPublications.html index 5a1744e9..b94cdaa5 100644 --- a/utilities/acceptance-tests/suites/AddPublications/SearchPublications.html +++ b/utilities/acceptance-tests/suites/AddPublications/SearchPublications.html @@ -89,16 +89,6 @@ link=Nintendo Case Studies - - verifyTextPresent - Nintendo O.K. for Kids Chapter - - - - verifyElementPresent - link=Nintendo O.K. for Kids - - verifyTextPresent Nintendo: Good or Bad for Kids? Book @@ -109,6 +99,16 @@ link=Nintendo: Good or Bad for Kids? + + verifyTextPresent + Nintendo O.K. for Kids Chapter + + + + verifyElementPresent + link=Nintendo O.K. for Kids + + verifyTextPresent Child Development Concept diff --git a/utilities/acceptance-tests/suites/AddPublications/ValidateFields.html b/utilities/acceptance-tests/suites/AddPublications/ValidateFields.html index 36f7fde8..62ebb566 100644 --- a/utilities/acceptance-tests/suites/AddPublications/ValidateFields.html +++ b/utilities/acceptance-tests/suites/AddPublications/ValidateFields.html @@ -1102,7 +1102,7 @@ type - name + id=label Kids Now! @@ -1264,7 +1264,7 @@ type - name + id=label Kids Now Conference Proceedings @@ -1335,7 +1335,7 @@ type - name + id=label Nintendo: Good or Bad for Kids? @@ -1814,6 +1814,11 @@ link=Cancel + + pause + 10000 + + assertTitle Nintendo O.K. for Kids @@ -1897,23 +1902,8 @@ select - id=typeOfNew - label=Book (bibo) - - - clickAndWait - id=offerCreate - - - - assertTitle - Edit - - - - type - id=name - Nintendo: Good or Bad for Kids? + id=objectVar + label=Nintendo: Good or Bad for Kids? clickAndWait @@ -2074,10 +2064,10 @@ type - id=name - Kids Now C + id=label + Kids No - + click id=ui-active-menuitem @@ -2171,7 +2161,7 @@ type - id=name + id=label 99 @@ -2297,10 +2287,10 @@ type - id=name + id=label Kids Now C - + click id=ui-active-menuitem @@ -2470,7 +2460,7 @@ type - id=name + id=label Kids Today @@ -2526,7 +2516,7 @@ type - id=name + id=label Kids of the 21st Century @@ -2566,7 +2556,7 @@ type - id=name + id=label Children Today @@ -2607,7 +2597,7 @@ verifyElementPresent - link=Mouse, Minnie + css=a[title="editor name"] @@ -2665,11 +2655,6 @@ link=United States of America - - verifyElementPresent - link=Kids Now Conference - - verifyElementPresent link=Kids Now! @@ -2677,12 +2662,12 @@ verifyElementPresent - link=Kids Now Conference + css=#presentedAt-Event-List > li > a[title="name"] verifyElementPresent - link=Kids Now! + css=#RO_0002353-BFO_0000015-List > li > a[title="name"] @@ -2716,8 +2701,8 @@ - verifyTextPresent - 99 + verifyElementPresent + link=99 @@ -2851,6 +2836,11 @@ Concept (1) + + verifyTextPresent + Global Citation Count (1) + + clickAndWait @@ -2880,7 +2870,7 @@ click - css=li.nonSelectedGroupTab.clickable + //div[@id='wrapper-content']/ul/li[6] diff --git a/utilities/acceptance-tests/suites/AddRoles/AddFacultyMemberRoles2.html b/utilities/acceptance-tests/suites/AddRoles/AddFacultyMemberRoles2.html index 134db85d..176ca609 100644 --- a/utilities/acceptance-tests/suites/AddRoles/AddFacultyMemberRoles2.html +++ b/utilities/acceptance-tests/suites/AddRoles/AddFacultyMemberRoles2.html @@ -1173,6 +1173,11 @@ VIVO + + pause + 5000 + + verifyElementPresent link=Faculty, Jane diff --git a/utilities/acceptance-tests/suites/AddRoles/AddLibrarianRoles1.html b/utilities/acceptance-tests/suites/AddRoles/AddLibrarianRoles1.html index b0b98552..db37034b 100644 --- a/utilities/acceptance-tests/suites/AddRoles/AddLibrarianRoles1.html +++ b/utilities/acceptance-tests/suites/AddRoles/AddLibrarianRoles1.html @@ -541,7 +541,7 @@ click - css=li.nonSelectedGroupTab.clickable + //div[@id='wrapper-content']/ul/li[18] @@ -575,11 +575,6 @@ - - click - //div[@id='wrapper-content']/ul/li[10] - - clickAndWait xpath=(//img[@alt='add'])[33] @@ -687,11 +682,6 @@ - - click - //div[@id='wrapper-content']/ul/li[10] - - clickAndWait xpath=(//img[@alt='add'])[33] @@ -799,11 +789,6 @@ - - click - //div[@id='wrapper-content']/ul/li[10] - - verifyTextPresent Carroll College Consultant 2010 - @@ -825,11 +810,6 @@ - - click - //div[@id='wrapper-content']/ul/li[10] - - clickAndWait xpath=(//img[@alt='add'])[34] diff --git a/utilities/acceptance-tests/suites/CheckMapOfScience/AddPublications.html b/utilities/acceptance-tests/suites/CheckMapOfScience/AddPublications.html index 2e5e8c27..7c0f3ea3 100644 --- a/utilities/acceptance-tests/suites/CheckMapOfScience/AddPublications.html +++ b/utilities/acceptance-tests/suites/CheckMapOfScience/AddPublications.html @@ -323,7 +323,7 @@ type - id=name + id=label Alcohol @@ -832,7 +832,7 @@ type - id=name + id=label Alcohol And Alcoholism @@ -1094,7 +1094,7 @@ type - id=name + id=label ALCOHOL RESEARCH & HEALTH diff --git a/utilities/acceptance-tests/suites/CheckMapOfScience/AddPublications2.html b/utilities/acceptance-tests/suites/CheckMapOfScience/AddPublications2.html index 6844e37b..3a5d3e64 100644 --- a/utilities/acceptance-tests/suites/CheckMapOfScience/AddPublications2.html +++ b/utilities/acceptance-tests/suites/CheckMapOfScience/AddPublications2.html @@ -334,7 +334,7 @@ type - id=name + id=label DRINKY POOS @@ -440,11 +440,21 @@ name=view-type + + pause + 5000 + + click id=first-filter + + pause + 5000 + + waitForTextPresent Explore activity @@ -506,6 +516,11 @@ id=second-filter + + pause + 5000 + + verifyTextPresent Brain Research @@ -521,6 +536,11 @@ //tr[@id='DISCIPLINE-5']/td[3] + + pause + 5000 + + verifyTextPresent 100.0 @@ -532,11 +552,21 @@ id=first-filter + + pause + 5000 + + click css=td..sorting_2 + + pause + 5000 + + verifyTextPresent Neurotoxicology diff --git a/utilities/acceptance-tests/suites/CheckVisualizations/AddPublications.html b/utilities/acceptance-tests/suites/CheckVisualizations/AddPublications.html index 863fb834..3527acdc 100644 --- a/utilities/acceptance-tests/suites/CheckVisualizations/AddPublications.html +++ b/utilities/acceptance-tests/suites/CheckVisualizations/AddPublications.html @@ -193,7 +193,7 @@ type - name + label Putnam @@ -415,7 +415,7 @@ type - name + label Childhood Today @@ -714,7 +714,7 @@ type - name + label Game World 2005 diff --git a/utilities/acceptance-tests/suites/CheckVisualizations/AddTestFaculty.html b/utilities/acceptance-tests/suites/CheckVisualizations/AddTestFaculty.html index 424fd925..c9dfbe79 100644 --- a/utilities/acceptance-tests/suites/CheckVisualizations/AddTestFaculty.html +++ b/utilities/acceptance-tests/suites/CheckVisualizations/AddTestFaculty.html @@ -107,11 +107,6 @@ - - selectWindow - null - - clickAndWait css=header > #ARG_2000028 > a.add-ARG_2000028 > img.add-individual diff --git a/utilities/acceptance-tests/suites/CheckVisualizations/TestTemporalGraphs.html b/utilities/acceptance-tests/suites/CheckVisualizations/TestTemporalGraphs.html index 20a7f319..d37cddfe 100644 --- a/utilities/acceptance-tests/suites/CheckVisualizations/TestTemporalGraphs.html +++ b/utilities/acceptance-tests/suites/CheckVisualizations/TestTemporalGraphs.html @@ -859,7 +859,7 @@ click - //div[@id='wrapper-content']/ul/li[16] + //div[@id='wrapper-content']/ul/li[14] @@ -887,11 +887,6 @@ College of Human Ecology - - selectWindow - null - - click css=li.nonSelectedGroupTab.clickable From 10beb8d560477a79a3639bf095c7e4cf11c9c0f4 Mon Sep 17 00:00:00 2001 From: Holly Mistlebauer Date: Fri, 13 Dec 2013 14:34:06 -0500 Subject: [PATCH 02/28] Holly made the final, final RC 6 test case changes --- .../suites/MultiLabels/DeleteTestFaculty.html | 8 +- .../suites/MultiLabels/ManageLabels.html | 43 ++++- .../suites/MultiLabels/TestMultipleLabels.txt | 4 +- .../OpenSocialGadgets/CheckGadgets.html | 5 + .../ShortViews/CreateTestDepartments.html | 2 +- .../ShortViews/DeleteTestDepartments.html | 9 +- .../SparqlUpdateApi/EnableSparqlUpdateApi.n3 | 8 + .../suites/SparqlUpdateApi/TestSparqlApi.html | 163 ++++++++++++++++++ 8 files changed, 232 insertions(+), 10 deletions(-) create mode 100644 utilities/acceptance-tests/suites/SparqlUpdateApi/EnableSparqlUpdateApi.n3 create mode 100644 utilities/acceptance-tests/suites/SparqlUpdateApi/TestSparqlApi.html diff --git a/utilities/acceptance-tests/suites/MultiLabels/DeleteTestFaculty.html b/utilities/acceptance-tests/suites/MultiLabels/DeleteTestFaculty.html index 059952ba..0112f9a2 100644 --- a/utilities/acceptance-tests/suites/MultiLabels/DeleteTestFaculty.html +++ b/utilities/acceptance-tests/suites/MultiLabels/DeleteTestFaculty.html @@ -81,7 +81,7 @@ Person - + clickAndWait link=Faculty Member @@ -94,12 +94,12 @@ clickAndWait - link=Furter, Frank + link=Test Label 2 assertTitle - Furter, Frank + Test Label 2 @@ -112,7 +112,7 @@ Individual Control Panel - + clickAndWait //input[@value="Edit This Individual"] diff --git a/utilities/acceptance-tests/suites/MultiLabels/ManageLabels.html b/utilities/acceptance-tests/suites/MultiLabels/ManageLabels.html index 86d59d2f..76743a9d 100644 --- a/utilities/acceptance-tests/suites/MultiLabels/ManageLabels.html +++ b/utilities/acceptance-tests/suites/MultiLabels/ManageLabels.html @@ -60,6 +60,11 @@ + + pause + 5000 + + clickAndWait link=Furter, Frank @@ -121,12 +126,48 @@ css=#showCancelOnly > a.cancel - + click link=Remove + + verifyTextNotPresent + Furter, Frank Edit Remove + + + + verifyTextPresent + Test Label 1 Edit Remove + + + + verifyTextPresent + Test Label 2 Edit Remove + + + + + clickAndWait + css=#showCancelOnly > a.cancel + + + + assertTitle + Test Label 1 + + + + clickAndWait + css=a.add-label > img.add-individual + + + + assertTitle + Edit + + click link=Remove diff --git a/utilities/acceptance-tests/suites/MultiLabels/TestMultipleLabels.txt b/utilities/acceptance-tests/suites/MultiLabels/TestMultipleLabels.txt index 7b5ee0ce..5f28d807 100644 --- a/utilities/acceptance-tests/suites/MultiLabels/TestMultipleLabels.txt +++ b/utilities/acceptance-tests/suites/MultiLabels/TestMultipleLabels.txt @@ -1,3 +1,3 @@ - "Test Label 1" . - "Test Label 2" . + "Test Label 1" . + "Test Label 2" . diff --git a/utilities/acceptance-tests/suites/OpenSocialGadgets/CheckGadgets.html b/utilities/acceptance-tests/suites/OpenSocialGadgets/CheckGadgets.html index fbe9731e..caaf7ed8 100644 --- a/utilities/acceptance-tests/suites/OpenSocialGadgets/CheckGadgets.html +++ b/utilities/acceptance-tests/suites/OpenSocialGadgets/CheckGadgets.html @@ -132,6 +132,11 @@ Furter, Frank Faculty Member + + pause + 5000 + + verifyTextPresent diff --git a/utilities/acceptance-tests/suites/ShortViews/CreateTestDepartments.html b/utilities/acceptance-tests/suites/ShortViews/CreateTestDepartments.html index acf6fcad..c6eb8756 100644 --- a/utilities/acceptance-tests/suites/ShortViews/CreateTestDepartments.html +++ b/utilities/acceptance-tests/suites/ShortViews/CreateTestDepartments.html @@ -127,7 +127,7 @@ type - id=name + id=label Building A diff --git a/utilities/acceptance-tests/suites/ShortViews/DeleteTestDepartments.html b/utilities/acceptance-tests/suites/ShortViews/DeleteTestDepartments.html index 7feddd78..02fe0884 100644 --- a/utilities/acceptance-tests/suites/ShortViews/DeleteTestDepartments.html +++ b/utilities/acceptance-tests/suites/ShortViews/DeleteTestDepartments.html @@ -205,14 +205,19 @@ Index of Contents + + selectWindow + null + + clickAndWait - link=Campus + link=Building assertTitle - Campus + Building diff --git a/utilities/acceptance-tests/suites/SparqlUpdateApi/EnableSparqlUpdateApi.n3 b/utilities/acceptance-tests/suites/SparqlUpdateApi/EnableSparqlUpdateApi.n3 new file mode 100644 index 00000000..dc389c21 --- /dev/null +++ b/utilities/acceptance-tests/suites/SparqlUpdateApi/EnableSparqlUpdateApi.n3 @@ -0,0 +1,8 @@ +@prefix rdfs: . +@prefix auth: . +@prefix simplePermission: . +@prefix displayByRole: . +@prefix editByRole: . + +auth:ADMIN + auth:hasPermission simplePermission:UseSparqlUpdateApi ; diff --git a/utilities/acceptance-tests/suites/SparqlUpdateApi/TestSparqlApi.html b/utilities/acceptance-tests/suites/SparqlUpdateApi/TestSparqlApi.html new file mode 100644 index 00000000..dfef47ac --- /dev/null +++ b/utilities/acceptance-tests/suites/SparqlUpdateApi/TestSparqlApi.html @@ -0,0 +1,163 @@ + + +

Test the SPARQL API

+ +
+ Get RDF + + +
+ +
+ +
+ +
+ Get RDF + + +
+ +
+ +
+ +
+ + +
+ +
+ +
+ +
+ +
+ +
+ +
+ + +
+ +
+ +
+ +
+ + +
+ +
+ +
+ +
+ + +
+ +
+ +
+ +
+ + + +
+ +
+ + +
+ +
+ +
+ +
+ + +
+ +
+ +
+ +
+200 Success
+400 Failed to parse SPARQL update
+400 SPARQL update must specify a GRAPH URI.
+403 username/password combination is not valid
+403 Account is not authorized
+405 Method not allowed
+500 Unknown error
+
+ From 82b408861c2a17da976dd69b1d6955a9d9bf2d98 Mon Sep 17 00:00:00 2001 From: Holly Mistlebauer Date: Fri, 13 Dec 2013 15:19:09 -0500 Subject: [PATCH 03/28] Holly made some additional minor test case changes after testing VIVO-645 against develop--testing for 1.6 is now completed. --- .../suites/CreatePeople/AddFacultyInfo.html | 4 +-- .../CreatePeople/DeleteFacultyInfo.html | 18 +++++------ .../suites/CreatePeople/EditFacultyInfo.html | 30 +++++++------------ .../CreatePeople/SearchFacultyInfo.html | 4 +-- 4 files changed, 23 insertions(+), 33 deletions(-) diff --git a/utilities/acceptance-tests/suites/CreatePeople/AddFacultyInfo.html b/utilities/acceptance-tests/suites/CreatePeople/AddFacultyInfo.html index 6c0f91c0..5fb6dc66 100644 --- a/utilities/acceptance-tests/suites/CreatePeople/AddFacultyInfo.html +++ b/utilities/acceptance-tests/suites/CreatePeople/AddFacultyInfo.html @@ -984,7 +984,7 @@ select id=typeOfNew - label=Protocol (obo) + label=Technique (obo) clickAndWait @@ -1019,7 +1019,7 @@ select id=typeOfNew - label=Protocol (obo) + label=Technique (obo) clickAndWait diff --git a/utilities/acceptance-tests/suites/CreatePeople/DeleteFacultyInfo.html b/utilities/acceptance-tests/suites/CreatePeople/DeleteFacultyInfo.html index 37ad3880..0d323319 100644 --- a/utilities/acceptance-tests/suites/CreatePeople/DeleteFacultyInfo.html +++ b/utilities/acceptance-tests/suites/CreatePeople/DeleteFacultyInfo.html @@ -133,7 +133,7 @@ waitForPageToLoad - 10000 + 20000 @@ -148,7 +148,7 @@ waitForPageToLoad - 10000 + 20000 @@ -323,7 +323,7 @@ waitForPageToLoad - 10000 + 20000 @@ -338,7 +338,7 @@ waitForPageToLoad - 10000 + 20000 @@ -1288,7 +1288,7 @@ verifyTextPresent - Protocol (2) + Technique (2) @@ -2984,12 +2984,12 @@ clickAndWait - link=Protocol + link=Technique assertTitle - Protocol + Technique @@ -3054,12 +3054,12 @@ clickAndWait - link=Protocol + link=Technique assertTitle - Protocol + Technique diff --git a/utilities/acceptance-tests/suites/CreatePeople/EditFacultyInfo.html b/utilities/acceptance-tests/suites/CreatePeople/EditFacultyInfo.html index 98d9d6a8..d5a19b52 100644 --- a/utilities/acceptance-tests/suites/CreatePeople/EditFacultyInfo.html +++ b/utilities/acceptance-tests/suites/CreatePeople/EditFacultyInfo.html @@ -106,6 +106,11 @@ link=Remove + + pause + 5000 + + assertTitle Edit @@ -176,6 +181,11 @@ Edit + + pause + 5000 + + select name=urlType @@ -431,26 +441,6 @@ Faculty, Jane - - clickAndWait - css=#relatedBy-AwardReceipt-List > li > a.edit-relatedBy > img.edit-individual - - - - assertTitle - Edit - - - - clickAndWait - link=Cancel - - - - assertTitle - Faculty, Jane - - clickAndWait css=#relatedBy-AwardReceipt-List > li > a.delete-relatedBy > img.delete-individual diff --git a/utilities/acceptance-tests/suites/CreatePeople/SearchFacultyInfo.html b/utilities/acceptance-tests/suites/CreatePeople/SearchFacultyInfo.html index 32685cdc..536f31c5 100644 --- a/utilities/acceptance-tests/suites/CreatePeople/SearchFacultyInfo.html +++ b/utilities/acceptance-tests/suites/CreatePeople/SearchFacultyInfo.html @@ -448,7 +448,7 @@ verifyTextPresent - JF Feeding Protocol + JF Feeding Technique @@ -478,7 +478,7 @@ verifyTextPresent - JF Feeding Revised Protocol + JF Feeding Revised Technique From d889016ce996694d563d906560ab652a9aab85e5 Mon Sep 17 00:00:00 2001 From: tworrall Date: Mon, 16 Dec 2013 11:57:02 -0500 Subject: [PATCH 04/28] minor css tweak for style consistency --- .../edit/forms/defaultAddMissingIndividualForm.ftl | 2 +- themes/wilma/css/wilma.css | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/productMods/templates/freemarker/edit/forms/defaultAddMissingIndividualForm.ftl b/productMods/templates/freemarker/edit/forms/defaultAddMissingIndividualForm.ftl index 3f59ff78..5e16e93e 100644 --- a/productMods/templates/freemarker/edit/forms/defaultAddMissingIndividualForm.ftl +++ b/productMods/templates/freemarker/edit/forms/defaultAddMissingIndividualForm.ftl @@ -75,7 +75,7 @@

or - ${i18n().cancel_link} + ${i18n().cancel_link}

diff --git a/themes/wilma/css/wilma.css b/themes/wilma/css/wilma.css index c3f89181..38e8523a 100644 --- a/themes/wilma/css/wilma.css +++ b/themes/wilma/css/wilma.css @@ -368,6 +368,11 @@ form.deleteForm { padding-top: 1em; border-top: 1px dotted #e3e9e9; } +form.editForm span { + color: #c00; + font-weight: normal; + font-size: small; +} form h3.delete-entry { padding-right: .8em; display: inline; From ef9fd69285b354e86428892474546344709c79cf Mon Sep 17 00:00:00 2001 From: tworrall Date: Wed, 18 Dec 2013 11:50:51 -0500 Subject: [PATCH 05/28] put the page type select element into a separate template --- .../individual/individual--foaf-person-2column.ftl | 9 +-------- .../individual/individual-profilePageTypes.ftl | 11 +++++++++++ 2 files changed, 12 insertions(+), 8 deletions(-) create mode 100644 productMods/templates/freemarker/body/partials/individual/individual-profilePageTypes.ftl diff --git a/productMods/templates/freemarker/body/individual/individual--foaf-person-2column.ftl b/productMods/templates/freemarker/body/individual/individual--foaf-person-2column.ftl index 712f5b33..63a2f065 100644 --- a/productMods/templates/freemarker/body/individual/individual--foaf-person-2column.ftl +++ b/productMods/templates/freemarker/body/individual/individual--foaf-person-2column.ftl @@ -74,14 +74,7 @@ <#include "individual-iconControls.ftl"> <#if editable && profilePageTypesEnabled > -
style="top:55px" > - -

${i18n().profile_type}

- -
+ <#include "individual-profilePageTypes.ftl"> diff --git a/productMods/templates/freemarker/body/partials/individual/individual-profilePageTypes.ftl b/productMods/templates/freemarker/body/partials/individual/individual-profilePageTypes.ftl new file mode 100644 index 00000000..addd10c0 --- /dev/null +++ b/productMods/templates/freemarker/body/partials/individual/individual-profilePageTypes.ftl @@ -0,0 +1,11 @@ +<#-- $This file is distributed under the terms of the license in /doc/license.txt$ --> + +<#-- profile page type select element on individual 2-column profile page --> + +
style="top:55px" > +

${i18n().profile_type}

+ +
From f5a8c5a7e6c49b175b8074b0ef601af5063a4ee5 Mon Sep 17 00:00:00 2001 From: tworrall Date: Thu, 19 Dec 2013 10:05:31 -0500 Subject: [PATCH 06/28] data getter sparql queries in the n3 files were using a technique that apparently is no longer supported; updated those and corresponding templates. --- .../individual-affiliated-dept-details.ftl | 50 +++++++-------- ...individual-affiliated-res-area-details.ftl | 64 +++++++++---------- .../individual-dept-res-area-details.ftl | 48 +++++++------- .../everytime/vivoConceptDataGetters.n3 | 6 +- .../everytime/vivoOrganizationDataGetters.n3 | 6 +- 5 files changed, 88 insertions(+), 86 deletions(-) diff --git a/productMods/templates/freemarker/body/partials/individual/individual-affiliated-dept-details.ftl b/productMods/templates/freemarker/body/partials/individual/individual-affiliated-dept-details.ftl index 3cb68d26..cff1400b 100644 --- a/productMods/templates/freemarker/body/partials/individual/individual-affiliated-dept-details.ftl +++ b/productMods/templates/freemarker/body/partials/individual/individual-affiliated-dept-details.ftl @@ -1,25 +1,25 @@ -<#-- $This file is distributed under the terms of the license in /doc/license.txt$ --> -<#if deptResearchAreas?has_content> -
- <#list deptResearchAreas as firstRow> - <#assign raLink = "${urls.base}/individual?uri=${firstRow['raURI']}" /> -
-

${firstRow["orgLabel"]}

-

${i18n().individuals_with_dept(firstRow['raLabel'],raLink)} ${i18n().view_all_individuals_in_dept}

-
- <#break> - -
- -
- - -
- - +<#-- $This file is distributed under the terms of the license in /doc/license.txt$ --> +<#if deptResearchAreas?has_content> +
+ <#list deptResearchAreas as firstRow> + <#assign raLink = "${urls.base}/individual?uri=${firstRow['ra']}" /> +
+

${firstRow["orgLabel"]}

+

${i18n().individuals_with_dept(firstRow['raLabel'],raLink)} ${i18n().view_all_individuals_in_dept}

+
+ <#break> + +
+ +
+ + +
+ + diff --git a/productMods/templates/freemarker/body/partials/individual/individual-affiliated-res-area-details.ftl b/productMods/templates/freemarker/body/partials/individual/individual-affiliated-res-area-details.ftl index f3c6e1d9..3f9771a3 100644 --- a/productMods/templates/freemarker/body/partials/individual/individual-affiliated-res-area-details.ftl +++ b/productMods/templates/freemarker/body/partials/individual/individual-affiliated-res-area-details.ftl @@ -1,32 +1,32 @@ -<#-- $This file is distributed under the terms of the license in /doc/license.txt$ --> -<#if affiliatedResearchAreas?has_content> -
- <#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'],deptLink)}" /> - <#else> - <#assign i18TextString1 = "${i18n().individuals_with_researh_area_two(firstRow['orgLabel'],deptLink)}" /> - -
-

${firstRow["raLabel"]}

-

${i18TextString1} ${i18n().view_all_individuals_in_area}

-
- <#break> - -
- -
- - -
- - +<#-- $This file is distributed under the terms of the license in /doc/license.txt$ --> +<#if affiliatedResearchAreas?has_content> +
+ <#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'],deptLink)}" /> + <#else> + <#assign i18TextString1 = "${i18n().individuals_with_researh_area_two(firstRow['orgLabel'],deptLink)}" /> + +
+

${firstRow["raLabel"]}

+

${i18TextString1} ${i18n().view_all_individuals_in_area}

+
+ <#break> + +
+ +
+ + +
+ + diff --git a/productMods/templates/freemarker/body/partials/individual/individual-dept-res-area-details.ftl b/productMods/templates/freemarker/body/partials/individual/individual-dept-res-area-details.ftl index 6310f571..7e4b60d6 100644 --- a/productMods/templates/freemarker/body/partials/individual/individual-dept-res-area-details.ftl +++ b/productMods/templates/freemarker/body/partials/individual/individual-dept-res-area-details.ftl @@ -1,24 +1,24 @@ -<#-- $This file is distributed under the terms of the license in /doc/license.txt$ --> -<#if deptResearchAreas?has_content> -
- <#list deptResearchAreas as firstRow> -
-

${firstRow["raLabel"]}

-

${i18n().faculty_with_researh_area(firstRow["deptLabel"])} ${i18n().view_all_faculty_in_area}

-
- <#break> - - -
- - -
- - -
+<#-- $This file is distributed under the terms of the license in /doc/license.txt$ --> +<#if deptResearchAreas?has_content> +
+ <#list deptResearchAreas as firstRow> +
+

${firstRow["raLabel"]}

+

${i18n().faculty_with_researh_area(firstRow["orgLabel"])} ${i18n().view_all_faculty_in_area}

+
+ <#break> + + +
+ + +
+ + +
diff --git a/rdf/display/everytime/vivoConceptDataGetters.n3 b/rdf/display/everytime/vivoConceptDataGetters.n3 index 9f004fa0..367cc672 100644 --- a/rdf/display/everytime/vivoConceptDataGetters.n3 +++ b/rdf/display/everytime/vivoConceptDataGetters.n3 @@ -65,8 +65,8 @@ display:getDepartmentDataGetter ?person (Str(?researchAreaLabel) AS ?raLabel) (str(?departmentLabel) AS ?orgLabel) - ?raURI - ?orgURI + ?ra + ?org WHERE { ?orgURI vivo:relatedBy ?posn . ?posn a vivo:Position . @@ -76,6 +76,8 @@ display:getDepartmentDataGetter ?person rdfs:label ?prsnLabel . ?person vivo:hasResearchArea ?raURI . ?raURI rdfs:label ?researchAreaLabel + BIND(?raURI AS ?ra) + BIND(?orgURI AS ?org) } ORDER BY ?personLabel diff --git a/rdf/display/everytime/vivoOrganizationDataGetters.n3 b/rdf/display/everytime/vivoOrganizationDataGetters.n3 index 89466c5d..581c8fb7 100644 --- a/rdf/display/everytime/vivoOrganizationDataGetters.n3 +++ b/rdf/display/everytime/vivoOrganizationDataGetters.n3 @@ -107,9 +107,8 @@ display:getResearchAreaDataGetter SELECT DISTINCT (str (?prsnLabel) AS ?personLabel) ?person (Str(?researchAreaLabel) AS ?raLabel) - (str(?departmentLabel) AS ?orgLabel) - ?raURI - ?orgURI + (str(?organizationLabel) AS ?orgLabel) + ?ra WHERE { ?orgURI vivo:relatedBy ?posn . ?posn a vivo:Position . @@ -119,6 +118,7 @@ display:getResearchAreaDataGetter ?person rdfs:label ?prsnLabel . ?person vivo:hasResearchArea ?raURI . ?raURI rdfs:label ?researchAreaLabel + BIND(?raURI AS ?ra) } ORDER BY ?personLabel From 97095eeaba327d3b038d20c24e3f12b8bdf9ebbe Mon Sep 17 00:00:00 2001 From: tworrall Date: Thu, 19 Dec 2013 10:36:42 -0500 Subject: [PATCH 07/28] data getter sparql queries in the n3 files were using a technique that apparently is no longer supported; updated those and corresponding templates. --- .../individual/individual-affiliated-res-area-details.ftl | 2 +- rdf/display/everytime/vivoOrganizationDataGetters.n3 | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/productMods/templates/freemarker/body/partials/individual/individual-affiliated-res-area-details.ftl b/productMods/templates/freemarker/body/partials/individual/individual-affiliated-res-area-details.ftl index 3f9771a3..c4fed45b 100644 --- a/productMods/templates/freemarker/body/partials/individual/individual-affiliated-res-area-details.ftl +++ b/productMods/templates/freemarker/body/partials/individual/individual-affiliated-res-area-details.ftl @@ -3,7 +3,7 @@
<#list affiliatedResearchAreas as firstRow> <#assign firstOrgLabel = firstRow["orgLabel"]?upper_case /> - <#assign deptLink = "${urls.base}/individual?uri=${firstRow['orgURI']}" /> + <#assign deptLink = "${urls.base}/individual?uri=${firstRow['org']}" /> <#assign i18TextString1 = "" /> <#if ( firstOrgLabel?index_of("THE") == 0 ) > <#assign i18TextString1 = "${i18n().individuals_with_researh_area_one(firstRow['orgLabel'],deptLink)}" /> diff --git a/rdf/display/everytime/vivoOrganizationDataGetters.n3 b/rdf/display/everytime/vivoOrganizationDataGetters.n3 index 581c8fb7..133b6545 100644 --- a/rdf/display/everytime/vivoOrganizationDataGetters.n3 +++ b/rdf/display/everytime/vivoOrganizationDataGetters.n3 @@ -72,8 +72,8 @@ display:getResearchAreaDataGetter ?person (str(?researchAreaLabel) AS ?raLabel) (str(?organizationLabel) AS ?orgLabel) - ?raURI - ?orgURI + ?ra + ?org WHERE { ?orgURI vivo:relatedBy ?posn . ?posn a vivo:Position . @@ -83,6 +83,8 @@ display:getResearchAreaDataGetter ?person rdfs:label ?prsnLabel . ?person vivo:hasResearchArea ?raURI . ?raURI rdfs:label ?researchAreaLabel + BIND(?raURI AS ?ra) + BIND(?orgURI AS ?org) } ORDER BY ?personLabel """ ; From 76d79c5e538cfe68e9ffcba7b6b7d7376d976979 Mon Sep 17 00:00:00 2001 From: tworrall Date: Thu, 19 Dec 2013 13:33:10 -0500 Subject: [PATCH 08/28] minor js tweak; would not have been a blocker issue --- productMods/js/homePageMaps.js | 36 +++++++++++++++++++++++++++------- 1 file changed, 29 insertions(+), 7 deletions(-) diff --git a/productMods/js/homePageMaps.js b/productMods/js/homePageMaps.js index 01908fd3..fd08151d 100644 --- a/productMods/js/homePageMaps.js +++ b/productMods/js/homePageMaps.js @@ -5,6 +5,7 @@ $(document).ready(function(){ var globalMapBuilt = false; var countryMapBuilt = false; var localMapBuilt = false; + var legendIsVisible = false; var researchAreas = { "type": "FeatureCollection", "features": []}; var geoResearcherCount = "0"; @@ -412,13 +413,15 @@ $(document).ready(function(){ function getResearcherCount(area) { + var localResearcherCount = 0; var areaCount = 0; + var displayCount = ""; var text = ""; if ( area == "global" ) { text = " " + i18nStrings.countriesAndRegions; } else if ( area == "country" ) { - text = " " + i18nStrings.stateString; + text = " " + i18nStrings.statesString; } else { text = " " + i18nStrings.statewideLocations; @@ -426,6 +429,7 @@ $(document).ready(function(){ $.each(researchAreas.features, function() { if ( this.properties.mapType == area ) { + localResearcherCount = localResearcherCount + this.properties.html ; areaCount = areaCount + 1; } }); @@ -433,27 +437,45 @@ $(document).ready(function(){ if ( areaCount == 1 && text == " states.") { text = " " + i18nStrings.stateString; } - if ( geoResearcherCount == 1 ) { - researcherText = " " + i18nStrings.researcherString + " " + i18nStrings.inString; + + if ( area == "global" ) { + if ( geoResearcherCount == 1 ) { + researcherText = " " + i18nStrings.researcherString + " " + i18nStrings.inString; + } + else { + researcherText = " " + i18nStrings.researchersString + " " + i18nStrings.inString; + } + + displayCount = geoResearcherCount; } else { - researcherText = " " + i18nStrings.researchersString + if ( localResearcherCount == 1 ) { + researcherText = " " + i18nStrings.researcherString + " " + i18nStrings.inString; + } + else { + researcherText = " " + i18nStrings.researchersString + " " + i18nStrings.inString; + } + + displayCount = localResearcherCount; } $('div#researcherTotal').html("" - + geoResearcherCount + + displayCount + " " + researcherText + " " + areaCount + "" + text); } function appendLegendToLeafletContainer() { - var htmlString = "
  • " + if ( !this.legendIsVisible ) { + var htmlString = "
    • " + "" + i18nStrings.regionsString + "" + i18nStrings.countriesString + "
    • " + i18nStrings.regionsString 
                         + "" + i18nStrings.regionsString + "
    "; - $('div.leaflet-control-container').append(htmlString); + $('div.leaflet-control-container').append(htmlString); + this.legendIsVisible = true; + } } }); From 7be66f9748e42ccf4c72190d4e23d7ac5d733343 Mon Sep 17 00:00:00 2001 From: tworrall Date: Fri, 20 Dec 2013 13:27:21 -0500 Subject: [PATCH 09/28] encode urls being used as parameters --- .../individual-affiliated-departments.ftl | 70 ++++++++-------- .../individual-affiliated-research-areas.ftl | 80 +++++++++---------- 2 files changed, 75 insertions(+), 75 deletions(-) diff --git a/productMods/templates/freemarker/body/partials/individual/individual-affiliated-departments.ftl b/productMods/templates/freemarker/body/partials/individual/individual-affiliated-departments.ftl index 59a6f9b8..7370afdc 100644 --- a/productMods/templates/freemarker/body/partials/individual/individual-affiliated-departments.ftl +++ b/productMods/templates/freemarker/body/partials/individual/individual-affiliated-departments.ftl @@ -1,35 +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}" /> -

    - ${headingText} -

    - - - +<#-- $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}" /> +

    + ${headingText} +

    + + + diff --git a/productMods/templates/freemarker/body/partials/individual/individual-affiliated-research-areas.ftl b/productMods/templates/freemarker/body/partials/individual/individual-affiliated-research-areas.ftl index d0a3ab8a..aa76a095 100644 --- a/productMods/templates/freemarker/body/partials/individual/individual-affiliated-research-areas.ftl +++ b/productMods/templates/freemarker/body/partials/individual/individual-affiliated-research-areas.ftl @@ -1,40 +1,40 @@ -<#-- $This file is distributed under the terms of the license in /doc/license.txt$ --> -<#if researchAreaResults?has_content> - <#-- If the organization is an Academic Department, we use a different datagetter and detail page. This --> - <#-- is strictly a usability issue so we can refer accurately to "faculty members" within the dept. --> - <#assign urlForDetailsPage = "affiliatedResearchAreas" /> - <#assign headingText = "${i18n().affiliated_research_areas}" /> - <#if individual.mostSpecificTypes?seq_contains("Academic Department")> - <#assign urlForDetailsPage = "deptResearchAreas" /> - <#assign headingText = "${i18n().faculty_research_areas}" /> - -

    - ${headingText} -

    - - - +<#-- $This file is distributed under the terms of the license in /doc/license.txt$ --> +<#if researchAreaResults?has_content> + <#-- If the organization is an Academic Department, we use a different datagetter and detail page. This --> + <#-- is strictly a usability issue so we can refer accurately to "faculty members" within the dept. --> + <#assign urlForDetailsPage = "affiliatedResearchAreas" /> + <#assign headingText = "${i18n().affiliated_research_areas}" /> + <#if individual.mostSpecificTypes?seq_contains("Academic Department")> + <#assign urlForDetailsPage = "deptResearchAreas" /> + <#assign headingText = "${i18n().faculty_research_areas}" /> + +

    + ${headingText} +

    + + + From 03548ae64c7da2cef4534287dc30653b9ccb5123 Mon Sep 17 00:00:00 2001 From: j2blake Date: Fri, 20 Dec 2013 17:11:30 -0500 Subject: [PATCH 10/28] VIVO-617 Adjust the client code to use the new file upload tools. --- .../harvester/FileHarvestController.java | 33 +++++++++++-------- 1 file changed, 20 insertions(+), 13 deletions(-) diff --git a/src/edu/cornell/mannlib/vitro/webapp/controller/harvester/FileHarvestController.java b/src/edu/cornell/mannlib/vitro/webapp/controller/harvester/FileHarvestController.java index 95fc2314..6ba3f55a 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/controller/harvester/FileHarvestController.java +++ b/src/edu/cornell/mannlib/vitro/webapp/controller/harvester/FileHarvestController.java @@ -20,13 +20,11 @@ import java.util.Set; import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.ServletOutputStream; -import javax.servlet.UnavailableException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.xml.parsers.DocumentBuilderFactory; import org.apache.commons.fileupload.FileItem; -import org.apache.commons.fileupload.servlet.ServletFileUpload; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.json.JSONException; @@ -44,7 +42,6 @@ import edu.cornell.mannlib.vitro.webapp.controller.freemarker.responsevalues.Exc import edu.cornell.mannlib.vitro.webapp.controller.freemarker.responsevalues.ResponseValues; import edu.cornell.mannlib.vitro.webapp.controller.freemarker.responsevalues.TemplateResponseValues; import edu.cornell.mannlib.vitro.webapp.filestorage.backend.FileStorageSetup; -import edu.cornell.mannlib.vitro.webapp.filestorage.uploadrequest.FileUploadServletRequest; public class FileHarvestController extends FreemarkerHttpServlet { @@ -130,6 +127,18 @@ public class FileHarvestController extends FreemarkerHttpServlet { @Override + public long maximumMultipartFileSize() { + return 1024 * 1024; + } + + + @Override + public boolean stashFileSizeException() { + return true; + } + + + @Override protected ResponseValues processRequest(VitroRequest vreq) { try { cleanUpOldSessions(); @@ -259,7 +268,7 @@ public class FileHarvestController extends FreemarkerHttpServlet { throws IOException, ServletException { try { - boolean isMultipart = ServletFileUpload.isMultipartContent(request); + boolean isMultipart = new VitroRequest(request).isMultipart(); String mode = request.getParameter(PARAMETER_MODE); if(isMultipart) doFileUploadPost(request, response); @@ -292,16 +301,14 @@ public class FileHarvestController extends FreemarkerHttpServlet { try { VitroRequest vreq = new VitroRequest(request); - //parse request for uploaded file - int maxFileSize = 1024 * 1024; - FileUploadServletRequest req = FileUploadServletRequest.parseRequest(vreq, maxFileSize); - if(req.hasFileUploadException()) { - Exception e = req.getFileUploadException(); - new ExceptionVisibleToUser(e); + //check that the parsing was successful + if(vreq.hasFileSizeException()) { + Exception e = vreq.getFileSizeException(); + throw new ExceptionVisibleToUser(e); } //get the job parameter - String jobParameter = req.getParameter(PARAMETER_JOB); + String jobParameter = vreq.getParameter(PARAMETER_JOB); //get the location where we want to save the files (it will end in a slash), then create a File object out of it String path = getUploadPath(vreq); @@ -311,7 +318,7 @@ public class FileHarvestController extends FreemarkerHttpServlet { // still have the same session ID and therefore the upload directory is unchanged. Thus we must clear the // upload directory if it exists (a "first upload" parameter, initialized to "true" but which gets set to // "false" once the user starts uploading stuff is used for this). - String firstUpload = req.getParameter(PARAMETER_FIRST_UPLOAD); //clear directory on first upload + String firstUpload = vreq.getParameter(PARAMETER_FIRST_UPLOAD); //clear directory on first upload if(firstUpload.toLowerCase().equals("true")) { if(directory.exists()) { File[] children = directory.listFiles(); @@ -329,7 +336,7 @@ public class FileHarvestController extends FreemarkerHttpServlet { FileHarvestJob job = getJob(vreq, jobParameter); //get the files out of the parsed request (there should only be one) - Map> fileStreams = req.getFiles(); + Map> fileStreams = vreq.getFiles(); if(fileStreams.get(PARAMETER_UPLOADED_FILE) != null && fileStreams.get(PARAMETER_UPLOADED_FILE).size() > 0) { //get the individual file data from the request From 96de00b737e8d3107ad81e39d8bb6b3ce62ea37c Mon Sep 17 00:00:00 2001 From: j2blake Date: Sat, 4 Jan 2014 14:40:26 -0500 Subject: [PATCH 11/28] Make DeveloperSettings a singleton, and other improvements. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit By making it a singleton, we do need an explicit Setup operation. However, it means that we can refer to the settings in client code that doesn’t have access to a request or to the ServletContext. Other refactorings to simplify the logic or make it more scalable. --- productMods/WEB-INF/resources/startup_listeners.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/productMods/WEB-INF/resources/startup_listeners.txt b/productMods/WEB-INF/resources/startup_listeners.txt index 72b4075e..ce0c70b5 100644 --- a/productMods/WEB-INF/resources/startup_listeners.txt +++ b/productMods/WEB-INF/resources/startup_listeners.txt @@ -11,6 +11,8 @@ edu.cornell.mannlib.vitro.webapp.config.ConfigurationPropertiesSetup edu.cornell.mannlib.vitro.webapp.config.ConfigurationPropertiesSmokeTests +edu.cornell.mannlib.vitro.webapp.utils.developer.DeveloperSettings$Setup + edu.cornell.mannlib.vitro.webapp.config.RevisionInfoSetup edu.cornell.mannlib.vitro.webapp.email.FreemarkerEmailFactory$Setup From d3dab78fa350782374ed1a4deeba5efdae947d78 Mon Sep 17 00:00:00 2001 From: tworrall Date: Tue, 7 Jan 2014 15:31:35 -0500 Subject: [PATCH 12/28] changed a selector name to make it less specific and to apply to a heading in more than one circumstance --- productMods/css/individual/individual-quick-view.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/productMods/css/individual/individual-quick-view.css b/productMods/css/individual/individual-quick-view.css index 74229dbc..2343fd35 100644 --- a/productMods/css/individual/individual-quick-view.css +++ b/productMods/css/individual/individual-quick-view.css @@ -60,7 +60,7 @@ section#qv-share-contact { overflow:visible; clear:left; } -h2#preferredTitle { +section#label-title h2 { color: #5E6363; font-size: 1em; font-weight: bold; From 1d0f2a917c58703f969548d13b57e96ee972ab87 Mon Sep 17 00:00:00 2001 From: j2blake Date: Thu, 9 Jan 2014 17:27:30 -0500 Subject: [PATCH 13/28] VIVO-662 Remove duplicate rows from the SPARQL query results. Two rows are considered to be duplicates if they have the same authorshipURI or the same authorURI. --- .../generators/AddAuthorsToInformationResourceGenerator.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddAuthorsToInformationResourceGenerator.java b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddAuthorsToInformationResourceGenerator.java index 681ad650..a91f9075 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddAuthorsToInformationResourceGenerator.java +++ b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddAuthorsToInformationResourceGenerator.java @@ -378,6 +378,7 @@ public class AddAuthorsToInformationResourceGenerator extends VivoBaseGenerator } catch (Exception e) { log.error(e, e); } + authorships = QueryUtils.removeDuplicatesMapsFromList(authorships, "authorShipURI", "authorURI"); log.debug("authorships = " + authorships); return getAuthorshipInfo(authorships); } From 5d64c5acc40f0a01f404e8f25a0061d4d3e8f326 Mon Sep 17 00:00:00 2001 From: tworrall Date: Tue, 14 Jan 2014 11:13:58 -0500 Subject: [PATCH 14/28] ensure that longer titles wrap to a second line --- .../body/individual/individual--foaf-person-2column.ftl | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/productMods/templates/freemarker/body/individual/individual--foaf-person-2column.ftl b/productMods/templates/freemarker/body/individual/individual--foaf-person-2column.ftl index 63a2f065..09a64f23 100644 --- a/productMods/templates/freemarker/body/individual/individual--foaf-person-2column.ftl +++ b/productMods/templates/freemarker/body/individual/individual--foaf-person-2column.ftl @@ -61,8 +61,12 @@ <@p.verboseDisplay title /> <#list title.statements as statement> - ${statement.preferredTitle} - <@p.editingLinks "${title.localName}" "${title.name}" statement editable title.rangeUri /> + <#if !editable > +
    ${statement.preferredTitle}
    + <#else> + ${statement.preferredTitle} + <@p.editingLinks "${title.localName}" "${title.name}" statement editable title.rangeUri /> + <#-- If preferredTitle is unpopulated, display mostSpecificTypes --> From c77ab86961d04da3d632d8a99d25782d3b5a6698 Mon Sep 17 00:00:00 2001 From: j2blake Date: Wed, 15 Jan 2014 15:32:44 -0500 Subject: [PATCH 15/28] Fix a typo in the properties table. --- doc/install.html | 2 +- doc/upgrade-1.6.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/install.html b/doc/install.html index da498f2d..35bc4506 100644 --- a/doc/install.html +++ b/doc/install.html @@ -891,7 +891,7 @@ issuing SPARQL queries that read data, and its URI for issuing SPARQL UPDATE com - MultiViews.profilePageTypes=disabled + multiViews.profilePageTypes=disabled disabled diff --git a/doc/upgrade-1.6.html b/doc/upgrade-1.6.html index f655c068..9ef2a3ae 100644 --- a/doc/upgrade-1.6.html +++ b/doc/upgrade-1.6.html @@ -658,7 +658,7 @@ - MultiViews.profilePageTypes + multiViews.profilePageTypes disabled From 36087a25c0668931758f842d3aa62961769aea89 Mon Sep 17 00:00:00 2001 From: j2blake Date: Tue, 21 Jan 2014 18:14:09 -0500 Subject: [PATCH 16/28] Convert install instructions and upgrade instructions to Wiki pages and PDF. --- config/example.runtime.properties | 441 +++++----- doc/README.txt | 19 + doc/css/doc.css | 255 ------ doc/developers.txt | 45 - doc/images/VIVO-logo.png | Bin 6780 -> 0 bytes doc/images/header-background.png | Bin 53284 -> 0 bytes doc/install.html | 1370 ----------------------------- doc/other_servlet_containers.html | 254 ------ doc/release.html | 242 ----- doc/setting_up_orng.html | 807 ----------------- doc/upgrade-1.0.txt | 198 ----- doc/upgrade-1.1.1.txt | 136 --- doc/upgrade-1.1.txt | 371 -------- doc/upgrade-1.2.html | 895 ------------------- doc/upgrade-1.3.html | 1324 ---------------------------- doc/upgrade-1.4.html | 815 ----------------- doc/upgrade-1.5.html | 403 --------- doc/upgrade-1.6.html | 919 ------------------- doc/upgrades.html | 56 -- example.build.properties | 62 +- 20 files changed, 300 insertions(+), 8312 deletions(-) create mode 100644 doc/README.txt delete mode 100644 doc/css/doc.css delete mode 100644 doc/developers.txt delete mode 100644 doc/images/VIVO-logo.png delete mode 100644 doc/images/header-background.png delete mode 100644 doc/install.html delete mode 100644 doc/other_servlet_containers.html delete mode 100644 doc/release.html delete mode 100644 doc/setting_up_orng.html delete mode 100644 doc/upgrade-1.0.txt delete mode 100644 doc/upgrade-1.1.1.txt delete mode 100644 doc/upgrade-1.1.txt delete mode 100644 doc/upgrade-1.2.html delete mode 100644 doc/upgrade-1.3.html delete mode 100644 doc/upgrade-1.4.html delete mode 100644 doc/upgrade-1.5.html delete mode 100644 doc/upgrade-1.6.html delete mode 100644 doc/upgrades.html diff --git a/config/example.runtime.properties b/config/example.runtime.properties index 27d28184..3034e0dc 100644 --- a/config/example.runtime.properties +++ b/config/example.runtime.properties @@ -9,140 +9,277 @@ # # ----------------------------------------------------------------------------- -# -# This namespace will be used when generating URIs for objects created in the -# editor. In order to serve linked data, the default namespace must be composed -# as follows (optional elements in parentheses): -# -# scheme + server_name (+ port) (+ servlet_context) + "/individual/" -# -# For example, Cornell's default namespace is: -# -# http://vivo.cornell.edu/individual/ -# + +# ----------------------------------------------------------------------------- +# BASIC PROPERTIES +# ----------------------------------------------------------------------------- + + # + # This namespace will be used when generating URIs for objects created in the + # editor. In order to serve linked data, the default namespace must be composed + # as follows (optional elements in parentheses): + # + # scheme + server_name (+ port) (+ servlet_context) + "/individual/" + # + # For example, Cornell's default namespace is: + # + # http://vivo.cornell.edu/individual/ + # Vitro.defaultNamespace = http://vivo.mydomain.edu/individual/ -# -# URL of Solr context used in local VIVO search. This will usually consist of: -# scheme + server_name + port + vivo_webapp_name + "solr" -# In the standard installation, the Solr context will be on the same server as VIVO, -# and in the same Tomcat instance. The path will be the VIVO webapp.name (specified -# above) + "solr" -# Example: -# vitro.local.solr.url = http://localhost:8080/vivosolr -vitro.local.solr.url = http://localhost:8080/vivosolr + # + # The email address of the root user for the VIVO application. The password + # for this user is initially set to "rootPassword", but you will be asked to + # change the password the first time you log in. + # +rootUser.emailAddress = vivo_root@mydomain.edu -# -# Email parameters which VIVO can use to send mail. If these are left empty, -# the "Contact Us" form will be disabled and users will not be notified of -# changes to their accounts. -# -email.smtpHost = smtp.mydomain.edu -email.replyTo = vivoAdmin@mydomain.edu - -# -# The basic parameters for a database connection. Change the end of the -# URL to reflect your database name (if it is not "vitrodb"). Change the username -# and password to match the authorized database user you created. -# + # + # The basic parameters for a database connection. Change the end of the + # URL to reflect your database name (if it is not "vitrodb"). Change the username + # and password to match the authorized database user you created. + # VitroConnection.DataSource.url = jdbc:mysql://localhost/vitrodb VitroConnection.DataSource.username = vitrodbUsername VitroConnection.DataSource.password = vitrodbPassword -# -# The maximum number of active connections in the database connection pool. -# Increase this value to support a greater number of concurrent page requests. -# + # + # Email parameters which VIVO can use to send mail. If these are left empty, + # the "Contact Us" form will be disabled and users will not be notified of + # changes to their accounts. + # +email.smtpHost = smtp.mydomain.edu +email.replyTo = vivoAdmin@mydomain.edu + + # + # URL of Solr context used in local VIVO search. This will usually consist of: + # scheme + server_name + port + vivo_webapp_name + "solr" + # In the standard installation, the Solr context will be on the same server as VIVO, + # and in the same Tomcat instance. The path will be the VIVO webapp.name (specified + # above) + "solr" + # Example: + # vitro.local.solr.url = http://localhost:8080/vivosolr + # +vitro.local.solr.url = http://localhost:8080/vivosolr + + +# ----------------------------------------------------------------------------- +# LINKING USER ACCOUNTS TO PROFILE PAGES +# ----------------------------------------------------------------------------- + + # + # 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.mydomain.edu/ns#networkId + + +# ----------------------------------------------------------------------------- +# USING AN EXTERNAL AUTHENTICATION SYSTEM +# ----------------------------------------------------------------------------- + + # + # If an external authentication system like Shibboleth or CUWebAuth is to be + # used, this property says which HTTP header will contain the user ID from + # the authentication system. If such a system is not to be used, leave this + # commented out. Consult the installation instructions for more details. + # +#externalAuth.netIdHeaderName = remote_userID + + +# ----------------------------------------------------------------------------- +# TUNING THE DATABASE CONNECTION POOL +# ----------------------------------------------------------------------------- + + # + # The maximum number of active connections in the database connection pool. + # Increase this value to support a greater number of concurrent page requests. + # 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. -# + # + # 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. -# + +# ----------------------------------------------------------------------------- +# USING A DIFFERENT DATA STORE +# ----------------------------------------------------------------------------- + + # + # 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 -# -# Optional URI of a SPARQL endpoint from which VIVO should display data. -# If set, VIVO will use this endpoint as its triple store instead of the -# SDB database. -# + # + # Optional URI of a SPARQL endpoint from which VIVO should display data. + # If set, VIVO will use this endpoint as its triple store instead of the + # SDB database. + # #VitroConnection.DataSource.endpointURI = -# -# Optional URI to use for modifying the above endpoint via SPARQL UPDATE. -# This setting is only necessary if the endpoint does not support updates via -# its main URI. (This may be done for access control purposes.) -# If the endpointURI above is not set, this setting has no effect. -# + # + # Optional URI to use for modifying the above endpoint via SPARQL UPDATE. + # This setting is only necessary if the endpoint does not support updates via + # its main URI. (This may be done for access control purposes.) + # If the endpointURI above is not set, this setting has no effect. + # #VitroConnection.DataSource.updateEndpointURI = -# -# The email address of the root user for the VIVO application. The password -# for this user is initially set to "rootPassword", but you will be asked to -# change the password the first time you log in. -# -rootUser.emailAddress = vivo_root@mydomain.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.mydomain.edu/ns#networkId +# ----------------------------------------------------------------------------- +# ADDING OPENSOCIAL GADGETS TO VIVO +# ----------------------------------------------------------------------------- -# -# If an external authentication system like Shibboleth or CUWebAuth is to be -# used, this property says which HTTP header will contain the user ID from -# the authentication system. If such a system is not to be used, leave this -# commented out. Consult the installation instructions for more details. -# -#externalAuth.netIdHeaderName = remote_userID + # + # For OpenSocial integration + # The base URL of the ORNG Shindig server. Usually, this is the same host and port + # number as VIVO itself, with a context path of "shindigorng". + # +#OpenSocial.shindigURL = http://localhost:8080/shindigorng -# -# The temporal graph visualization can require extensive machine resources. -# This can have a particularly noticeable impact on memory usage if -# - The organization tree is deep, -# - The number of grants and publications is large. -# VIVO 1.3 release mitigates this problem by the way of a caching mechanism & -# hence we can safely set this to be enabled by default. -# -visualization.temporal = enabled + # + # For OpenSocial integration + # The host name and port number of the service that provides security tokens for VIVO and + # Shindig to share. For now, the host name must be the actual host, not "localhost" or "127.0.0.1" + # The port number must be 8777 + # +#OpenSocial.tokenService = myhost.mydomain.edu:8777 -# -# 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 + # + # For OpenSocial integration + # The path to the key file that will be used qwhen generating security tokens for VIVO and + # shindig to share. + # +#OpenSocial.tokenKeyFile = /usr/local/vivo/data/shindig/openssl/securitytokenkey.txt -# -# Absolute path on the server of the Harvester root directory. -# You must include the final slash. -# Setting a value for harvester.location indicates that the Harvester is installed at -# this path. This will enable the Harvester functions in the Ingest Tools page. -# + # + # For OpenSocial integration + # Only set sandbox to True for dev/test environments. Comment out or set to False in production + # +#OpenSocial.sandbox = True + + +# ----------------------------------------------------------------------------- +# ADDING LANGUAGES TO VIVO +# ----------------------------------------------------------------------------- + + # + # Show only the most appropriate data values based on the Accept-Language + # header supplied by the browser. Default is false if not set. + # +# RDFService.languageFilter = false + + # + # Force VIVO to use a specific language or Locale instead of those + # specified by the browser. This affects RDF data retrieved from the model, + # if RDFService.languageFilter is true. This also affects the text of pages + # that have been modified to support multiple languages. + # +# languages.forceLocale = en_US + + # + # A list of supported languages or Locales that the user may choose to + # use instead of the one specified by the browser. Selection images must + # be available in the i18n/images directory of the theme. This affects + # RDF data retrieved from the model, if RDFService.languageFilter is true. + # This also affects the text of pages that have been modified to support + # multiple languages. + # + # This should not be used with languages.forceLocale, which will override it. + # +# languages.selectableLocales = en_US, es_GO + + +# ----------------------------------------------------------------------------- +# OTHER OPTIONS +# ----------------------------------------------------------------------------- + + # + # When the following flag is set to enabled, the VIVO home page displays a + # global map highlighting the geographical focus of foaf:person individuals. + # For information on the maps, refer to this wiki page: + # https://wiki.duraspace.org/display/VIVO/Home+Page+Customizations#HomePageCustomizations-TheGeographicFocusMap + # +#homePage.geoFocusMaps=enabled + + + # + # VIVO supports the simultaneous use of a full foaf:Person profile page view + # and a "quick" page view that emphasizes the individual's webpage presence. + # Implementing this feature requires an installation to develop a web service + # that captures images of web pages or to use an existing service outside of VIVO. + # + # For more information on implementing multiple profile pages, refer to this + # wiki page: https://wiki.duraspace.org/display/VIVO/Multiple+foaf%3APerson+Profile+Pages. + # +#multiViews.profilePageTypes=enabled + + + # + # Tell VIVO to generate HTTP headers on its responses to facilitate caching the + # profile pages that it creates. + # + # For more information, see this wiki page: + # https://wiki.duraspace.org/display/VIVO/Use+HTTP+caching+to+improve+performance + # + # Developers will likely want to leave caching disabled, since a change to a + # Freemarker template or to a Java class would not cause the page to be + # considered stale. + # +# http.createCacheHeaders = true + + # + # Absolute path on the server of the Harvester root directory. + # You must include the final slash. + # + # Setting a value for harvester.location indicates that the Harvester is installed at + # this path. This will enable the Harvester functions in the Ingest Tools page. + # # harvester.location = /usr/local/vivo/harvester/ -# -# 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. + # + # 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 + + # + # The temporal graph visualization can require extensive machine resources. + # This can have a particularly noticeable impact on memory usage if + # - The organization tree is deep, + # - The number of grants and publications is large. + # VIVO 1.3 release mitigates this problem by the way of a caching mechanism & + # hence we can safely set this to be enabled by default. + # +visualization.temporal = enabled + + # + # Types of individual for which we can create proxy editors. + # If this is omitted, defaults to http://www.w3.org/2002/07/owl#Thing + # +proxy.eligibleTypeList = http://xmlns.com/foaf/0.1/Person, http://xmlns.com/foaf/0.1/Organization + + # + # Default type(s) for Google Refine Reconciliation Service + # The format for this property is id, name; id1, name1; id2, name2 etc. + # For more information, see Service Metadata from this page: + # http://code.google.com/p/google-refine/wiki/ReconciliationServiceApi + # Vitro.reconcile.defaultTypeList = http://vivoweb.org/ontology/core#Role, core:Role; \ http://vivoweb.org/ontology/core#AcademicDegree, core:Academic Degree; \ http://purl.org/NET/c4dm/event.owl#Event, event:Event; \ @@ -150,91 +287,3 @@ Vitro.reconcile.defaultTypeList = http://vivoweb.org/ontology/core#Role, core:Ro http://xmlns.com/foaf/0.1/Organization, foaf:Organization; \ http://xmlns.com/foaf/0.1/Person, foaf:Person; \ http://purl.obolibrary.org/obo/IAO_0000030, obo:IAO_0000030 - -# -# Types of individual for which we can create proxy editors. -# If this is omitted, defaults to http://www.w3.org/2002/07/owl#Thing -# -proxy.eligibleTypeList = http://xmlns.com/foaf/0.1/Person, http://xmlns.com/foaf/0.1/Organization - -# -# Show only the most appropriate data values based on the Accept-Language -# header supplied by the browser. Default is false if not set. -# -# RDFService.languageFilter = false - -# -# Force VIVO to use a specific language or Locale instead of those -# specified by the browser. This affects RDF data retrieved from the model, -# if RDFService.languageFilter is true. This also affects the text of pages -# that have been modified to support multiple languages. -# -# languages.forceLocale = en_US - -# -# A list of supported languages or Locales that the user may choose to -# use instead of the one specified by the browser. Selection images must -# be available in the i18n/images directory of the theme. This affects -# RDF data retrieved from the model, if RDFService.languageFilter is true. -# This also affects the text of pages that have been modified to support -# multiple languages. -# -# This should not be used with languages.forceLocale, which will override it. -# -# languages.selectableLocales = en_US, es_GO - -# -# Tell VIVO to generate HTTP headers on its responses to facilitate caching the -# profile pages that it creates. -# -# For more information, see -# https://wiki.duraspace.org/display/VIVO/Use+HTTP+caching+to+improve+performance -# -# Developers will likely want to leave caching disabled, since a change to a -# Freemarker template or to a Java class would not cause the page to be -# considered stale. -# -# http.createCacheHeaders = true - -# -# For OpenSocial integration -# The base URL of the ORNG Shindig server. Usually, this is the same host and port -# number as VIVO itself, with a context path of "shindigorng". -# -#OpenSocial.shindigURL = http://localhost:8080/shindigorng - -# -# For OpenSocial integration -# The host name and port number of the service that provides security tokens for VIVO and -# Shindig to share. For now, the host name must be the actual host, not "localhost" or "127.0.0.1" -# The port number must be 8777 -# -#OpenSocial.tokenService = myhost.mydomain.edu:8777 - -# -# For OpenSocial integration -# The path to the key file that will be used qwhen generating security tokens for VIVO and -# shindig to share. -# -#OpenSocial.tokenKeyFile = /usr/local/vivo/data/shindig/openssl/securitytokenkey.txt - -# -# For OpenSocial integration -# Only set sandbox to True for dev/test environments. Comment out or set to False in production -# -#OpenSocial.sandbox = True - -# MultiViews -# VIVO supports the simultaneous use of a full foaf:Person profile page view and a "quick" page -# view that emphasizes the individual's webpage presence. Implementing this feature requires an -# installation to develop a web service that captures images of web pages or to use an existing -# service outside of VIVO. For more information on implementing multiple profile pages, refer to -# this wiki page: https://wiki.duraspace.org/display/VIVO/Multiple+foaf%3APerson+Profile+Pages. -#multiViews.profilePageTypes=enabled - -# Geo Focus Maps -# When the following flag is set to enabled, the VIVO home page displays a global map highlighting the -# geographical focus of foaf:person individuals. For information on the maps, refer to this wiki page: -# https://wiki.duraspace.org/display/VIVO/Home+Page+Customizations#HomePageCustomizations-TheGeographicFocusMap -#homePage.geoFocusMaps=enabled - diff --git a/doc/README.txt b/doc/README.txt new file mode 100644 index 00000000..561f6a3e --- /dev/null +++ b/doc/README.txt @@ -0,0 +1,19 @@ +Welcome to VIVO! +====================== + +If you obtained this file from a distributed release of VIVO, you should +find these files in this directory: + + VIVO Installation Instructions.pdf + Instructions for installing VIVO on your machine, including + a simple installation and several options. + + Upgrade Instructions for VIVO release 1.6.pdf + Instructions for migrating a VIVO installation from release + 1.5 to release 1.6 + +If these files are not present, or to obtain the latest version of the +instructions, go to: + + https://wiki.duraspace.org/display/VIVO/VIVO+Documentation + \ No newline at end of file diff --git a/doc/css/doc.css b/doc/css/doc.css deleted file mode 100644 index 9939bc6d..00000000 --- a/doc/css/doc.css +++ /dev/null @@ -1,255 +0,0 @@ -/* $This file is distributed under the terms of the license in /doc/license.txt$ */ -@charset "UTF-8"; -/* CSS Document */ -/* Tell the browser to render HTML 5 elements as block */ -header, -toc, -hgroup, -section, -nav, -article, -aside, -footer{ - display: block; -} -time{ - font-weight: normal; -} -html, -body{ - margin: 0; - padding: 0; - height: 100%; /* needed for container min-height */ - font-family: 'Arimo', "Lucida Sans Unicode","Lucida Grande", Geneva, helvetica, sans-serif; - font-size: 1em; - height: auto !important; /* real browsers */ - height: 100%; /* IE6: treaded as min-height*/; - min-height: 100%; /* real browsers */ - margin: 0 auto; -} -body{ - background: #f3f3f0 url(../images/header-background.png) center 0 no-repeat; -} -/* h1,h2,h3,h4,h5,h6 ------> */ -h1 { - padding: 8px 0 6px 0; - margin: 0; - font-size: 1.5em; -} -h2 { - padding: 8px 0 6px 0; - margin: 0; - font-size: 1.4em; - color: #2485ae; -} -h2 a{ - color: #2485ae; -} -h2 a:link, h2 a:visited{ - text-decoration: underline; -} -h2 a:hover, h2 a:active{ - text-decoration: none; -} -h3{ - padding: 8px 0 6px 0; - margin: 0; - font-size: 1.2em; - color: #2485ae; -} -h4{ - padding: 4px 0 4px 0; - margin: 0; - font-size: 1.1em; - color: #000000; -} -h5{ - padding: 3px 0 2px 0; - margin: 0; - font-size: 1em; - color: #2485ae; -} - -a { - text-decoration: underline; - color: #2485ae; -} - -a:visited { - text-decoration: underline; - color: #5e6363; -} - -code, pre { - font-size: 1.1em; -} - -blockquote { - padding: 5px; - font-size: .9em; - background-color: #EEEEEE; -} - -/* HEADER ------> */ -#branding { - position: relative; - width: 970px; - height: 114px; - margin: 0 auto; -} -/* BRANDING ------> */ -h1.vivo-logo { - position: absolute; - width: 442px; - height: 59px; - top: 28px; - left: 0; - background: url(../images/VIVO-logo.png) 0 0 no-repeat; -} - -h1.vivo-logo a { - display: block; - width: 386px; - height: 59px; -} - -/* WRAPPER CONTENT------> */ -#wrapper-content { - clear: both; - width: 930px; - margin: 0 auto; - background: #fff; - min-height: 550px; - padding: 20px; -} - -/* TOC -------> */ -ol { - margin: 0 0 10px 10px; -} - -/* TABLE --------> */ -table { - margin: 10px auto; - border-width: 1px; - border-spacing: 2px; - border-style: outset; - border-color: gray; - border-collapse: collapse; -} - -th { - border-width: 1px; - padding: 4px; - border-style: inset; - border-color: white; - background: #2485ae; - color: #FFFFFF; -} - -td { - border-width: 1px; - padding: 4px 4px 4px 6px; - border-style: inset; - border-color: #EEEEEE; - -moz-border-radius: 0px 0px 0px 0px; -} - -tr { - background: #EEEEEE; -} - -tr.odd_row { - background: #FFFFFF; - border-bottom: 1px solid #999999; - font-weight: bold; -} - -/* FOOTER------> */ -div#footer { - clear: both; - width: 970px; - height: 88px; - margin: 0 auto; - font-size: 0.7em; - color: #4e5051; - background-color: #fff; -} -div#footer p.copyright { - float: left; - padding-top: 50px; - padding-left: 30px; - width: 500px; -} -ul#footer-nav { - float: right; - list-style: none; - width: 300px; - height: 20px; - margin: 0; - padding: 0; - padding-top: 50px; - padding-right: 20px; -} -ul#footer-nav li { - float: left; - display: block; - padding-left: 10px; - padding-right: 10px; - border-right: 1px solid #c9c8c8; -} -ul#footer-nav li:last-child { - border-right: none -} -#footer-nav a { - color: #4e5051 -} -#footer-nav a:hover { - color: #09C; - text-decoration: none; -} -a.terms { - color: #09C; - text-decoration: none; -} -a.terms:hover { - color: #4e5051; - text-decoration: none; -} -a.powered-by-vivo { - color: #09C; - text-decoration: none; -} -a.powered-by-vivo:hover { - color: #4e5051; - text-decoration: none; -} - -/* GENERAL STYLE------> */ -p{ - margin-bottom: 1.3em; -} - -/* MISCELLANEOUS ------> */ -.blue{ - color: #2485ae; -} -.grey{ - color: #5e6363; -} -.green{ - color: #b2d15a; -} - -.displace { - position: absolute; - left: -9999px; -} - -ol.roman1 { - list-style-type: upper-roman; -} - -ol.roman2 { - list-style-type: lower-roman; -} diff --git a/doc/developers.txt b/doc/developers.txt deleted file mode 100644 index 4a564aca..00000000 --- a/doc/developers.txt +++ /dev/null @@ -1,45 +0,0 @@ - -------------------------------------------------------------------------------- - -Instructions for VIVO developers - -------------------------------------------------------------------------------- - -If you are working from the VIVO distribution files, you should follow the -instructions in "install.html", in this directory. - -------------------------------------------------------------------------------- - -If you are working from the VIVO source files, checked out from the Git -repository, then your working area does not contain the "vitro-core" directory. - -Follow these steps: - - 1) In the VIVO working area, create build.properties as a copy of - example.build.properties - - 2) Check out the Vitro source files from Git into a separate working - area. - - 3) Modify build.properties (created in step 1) so vitro.core.dir points to - the Vitro working area (created in step 2). For example: - vitro.core.dir = ../vitro - - 4) Follow the instructions in "install.html" to complete the installation, - omitting step 3. - -------------------------------------------------------------------------------- -Answers to Frequently Asked Questions: -------------------------------------------------------------------------------- - -Q: I'm running VIVO in Tomcat on a MacIntosh. When I upload an image file, a - strange icon appears in the dock. What's up with that? - -A: The image processing code in VIVO uses javax.imageio.ImageIO, which in turn - uses code in the java.awt package. By default, this package will open a work - area on your screen, producing this icon even though no visible window is - created. - - You can prevent this by editing {tomcat}/conf/setenv.sh, and adding the - "java.awt.headless" option. For example, - export CATALINA_OPTS="-Xms1024m -Xmx1024m -XX:MaxPermSize=64m -Djava.awt.headless=true" diff --git a/doc/images/VIVO-logo.png b/doc/images/VIVO-logo.png deleted file mode 100644 index 9f8f29376f34f01dcb8343ab50682ee200af4d93..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6780 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 U&g|0P?<9b#vX)Y%g8AG30p9!r-2eap diff --git a/doc/images/header-background.png b/doc/images/header-background.png deleted file mode 100644 index 69388a3c73b975ecd15f5d99b18d1ccb2e642186..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 53284 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 WROFgUC*xxyka?c2elF{r5}E)tR;*$G diff --git a/doc/install.html b/doc/install.html deleted file mode 100644 index da498f2d..00000000 --- a/doc/install.html +++ /dev/null @@ -1,1370 +0,0 @@ - - - - - - VIVO Release V1.6 Installation Guide - - - - - -
    -

    VIVO Release V1.6 Installation Guide

    -
    - October 9, 2013 -
    - -

    - This document is a summary of the VIVO installation - process. For information about this release, consult - the VIVO v1.6 Release - Announcement. This and other documentation can be found on - the support - page at VIVOweb.org. -

    -

    - These instructions assume that you are performing a clean - install, including emptying an existing database, emptying the VIVO - home directory, and removing a previous installation from the Tomcat - webapps directory. Product functionality may not be as expected if you - install over an existing installation of an earlier version. -

    - If you are going to upgrade an existing service, please consult - the latest upgrade file in this directory. -

    - Other servlet containers: If you want to use a servlet container - other than Tomcat, please consult - instructions for other servlet containers in this directory. -

    - VIVO Developers: If you are working on the VIVO source code from - Subversion, the instructions are slightly different. Please consult - developers.txt in this directory. -

    - -

    Where does VIVO live on your computer?

    -

    - Before beginning the installation, let's look at the four locations - on your computer that will hold VIVO. -

    -

    The VIVO distribution directory

    -

    - This is created when you unpack the VIVO distribution file - (see Step 3, below). This is where you will - create your build.properties file (see Step - 4, below), and where you will make any modifications to the VIVO - theme or code. You can create this wherever you choose. -

    -

    VIVO inside Tomcat

    -

    - When you run the build script to compile and deploy VIVO - (see Step 5, below), the files will be deployed to a - directory inside Tomcat. This is the actual executing code for VIVO, - but you won’t need to look at it or change it. If you need to change - VIVO, make the changes in the distribution directory, and run the build - script again. Tell the build script where to find Tomcat by setting tomcat.home - in the build.properties file (see Step 4, - below). -

    -

    The VIVO home directory

    -

    - This directory contains the runtime configuration properties for VIVO. - VIVO will also use this area to store some of its data. Uploaded - image files are stored here, and the Solr home directory is stored here also. - You can create this wherever you choose. Tell VIVO where to find the - home directory by setting vitro.home - in the build.properties file (see Step 4, - below). You must create this directory before starting VIVO, - you must create the runtime.properties file in this directory - (see Step 6, below), and you - must ensure that Tomcat has permission to read and write to this - directory when it runs. -

    -

    The MySQL database

    -

    - By default, nearly all of the data that you enter into VIVO will be - stored in MySQL. The actual location of this data depends on what - system you have, and on how you install MySQL (see Step 1, below). but you won’t need to - know the location. You will access the data through VIVO, or - occasionally through the MySQL client application. -

    -

    Optional external triple store

    -

    - VIVO can configured to use a different triple store for the bulk of its semantic data, so long as this triple store supports Web-based use of the SPARQL language to query and modify its data. If you elect to use a separate triple store, note that VIVO's MySQL database is -still required for basic configuration and user account data. In order to connect VIVO to an -external triple store, you will need to know two URIs: the store's endpoint URI for -issuing SPARQL queries that read data, and its URI for issuing SPARQL UPDATE commands. These URIs are typically kept separate in order to make it easier to secure the triple store against unauthorized edits. With Sesame, for example, the update URI is usually the query endpoint URI with "/statements" appended. You will need to know these two URIs later when you specify runtime properties. -

    - -

    Steps to Installation

    -
      -
    1. - Install required software -
    2. -
    3. - Create an empty MySQL database -
    4. -
    5. - Download the VIVO Application Source -
    6. -
    7. - Specify build properties -
    8. -
    9. - Compile and deploy -
    10. -
    11. - Specify runtime properties -
    12. -
    13. - Configure Tomcat -
    14. -
    15. - Start Tomcat -
    16. -
    17. - Log in and add RDF data -
    18. -
    19. - Set the Contact Email Address (if - using "Contact Us" form) -
    20. -
    21. - Set up Apache HTTPD -
    22. -
    23. - Using an External Authentication - System with VIVO -
    24. -
    25. - Using VIVO as an OpenSocial platform -
    26. -
    27. - Was the installation successful? -
    28. -
    29. - Review the VIVO Terms of Use -
    30. -
    -
    -

    1. Install required software

    -

    - Before installing VIVO, make sure that the following software is - installed on the desired machine: -

    - -

    - Be sure to set up the environment variables for JAVA_HOME - and ANT_HOME - and add the executables to your path per - your operating system and installation directions from the software - support websites. -

    -

    - The following browsers are supported for this release -

    -
      -
    • - Mac: -
        -
      • Chrome 30.0.1599.69 and above
      • -
      • FireFox 3.6.28, 10.0.12, 24
      • -
      • Opera 12.02
      • -
      • Safari 5.0.3
      • -
      -
    • -
    • - PC: -
        -
      • Chrome 25.1364.2 and above
      • -
      • FireFox 10.0.12, 24
      • -
      • Internet Explorer 8, 9, 10
      • -
      • Opera 12.02
      • -
      -
    • -
    - -

    2. Create an empty MySQL database

    -

    - Decide on a database name, username, and password. Log into your - MySQL server and create a new database in MySQL that uses UTF-8 - encoding. You will need these values for Step IV when you - configure the deployment properties. At the MySQL command line you can - create the database and user with these commands substituting your - values for dbname, username, and password. - Most - of - the - time, the hostname will equal localhost. -

    -
                    CREATE DATABASE dbname CHARACTER SET utf8;
    -

    - Grant access to a database user. For example: -

    -
                    GRANT ALL ON dbname.* TO 'username'@'hostname' IDENTIFIED BY 'password';
    -

    - Keep track of the database name, username, and password for Step - IV. -

    -

    3. Download the VIVO Application Source -
    -

    -

    - Download the VIVO application source as either rel-1.6.zip - or rel-1.6.gz - file and unpack it on your web server: -
    - http://vivoweb.org/download -

    -

    4. Specify build properties

    -

    - At the top level of the VIVO distribution directory, - copy the file example.build.properties - to a file named simply build.properties. - Edit the file to suit your installation, as described in the following table. -

    -

    - These properties are used in compilation and deployment. - They will be incorporated into VIVO when it is compiled in - Step 5. If you want to change these properties at - a later date, you will need to stop Tomcat, repeat Step 5, - and restart Tomcat. -

    -

    - Windows: - For those installing on Windows operating - system, include the windows drive and use the forward slash "/" and not - the back slash "\" in the directory locations, e.g. c:/tomcat. -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - Property Name - - Example Value -
    - Directory where Vitro code is located. In most - deployments, this is set to ./vitro-core (It is not uncommon for this - setting to point elsewhere in development environments). -
    - vitro.core.dir - - ./vitro-core -
    - Directory where tomcat is installed. -
    - tomcat.home - - /usr/local/tomcat -
    - Name of your VIVO application. -
    - webapp.name - - vivo -
    - Directory where the VIVO application will store - the data that it creates. This includes uploaded files (usually images) - and the Solr search index. Be sure this directory exists and is - writable by the Tomcat service. -
    - vitro.home - - /usr/local/vivo/home -
    - Languages (in addition to American English) that will be built into your - VIVO site. The languages must be found in the - languages directory of the VIVO distribution. - See - the VIVO Wiki for more information. -
    - languages.addToBuild - - es_MX -
    - These values are used when deploying VIVO as an OpenSocial container - and integrating with OpenSocial gadgets - (see Step 13, below). If you are creating - a VIVO installation that does not use OpenSocial gadgets, these values are omitted. -
    - OpenSocial.shindigURL
    - OpenSocial.tokenService
    - OpenSocial.tokenKeyFile
    - OpenSocial.sandbox -
    -   -
    - -

    5. Compile and deploy

    -

    - In Step 4, you defined the location of the VIVO home directory, - by specifying vitro.home in the build.properties file. - Create that directory now. -

    -

    - At the command line, from the top level of the VIVO distribution - directory, type: -

                    ant all            
    - to build VIVO and deploy to Tomcat's webapps directory. -

    -

    - The build script may run for as much as five minutes, - and creates more than 100 lines of output. - The process comprises several steps: -

      -
    • collecting the source files from the distribution directory,
    • -
    • compiling the Java source code,
    • -
    • compiling and running unit tests,
    • -
    • preparing the Solr search engine,
    • -
    • deploying VIVO and Solr to Tomcat.
    • -
    -

    -

    - The output of the build may include a variety of warning messages. - The Java compiler may warn of code that is outdated. - Unit tests may produce warning messages, - and some tests may be ignored if they do not produce consistent results. -

    -
    - BUILD SUCCESSFUL
    Total time: 1 minute 49 seconds -
    -

    - If the output ends with a success message, the build was successful. - Proceed to the next step. -

    -
    - BUILD FAILED
    Total time: 35 seconds -
    -

    - If the output ends with a failure message, the build has failed. - Find the cause of the failure, fix the problem, and run the script again. -

    - -

    6. Specify runtime properties

    -

    - The build process in Step 5 created a file called example.runtime.properties - in your VIVO home directory (vitro.home in the build.properties file). - Rename this file to runtime.properties, and - edit the file to suit your installation, as described in the following table. -

    -

    - These properties are loaded when VIVO starts up. If you want to change these - properties at a later date, you will need to restart Tomcat for them to take - effect. You will not need to repeat Step 5. -

    -

    - Windows: - For those installing on Windows operating - system, include the windows drive and use the forward slash "/" and not - the back slash "\" in the directory locations, e.g. c:/tomcat. -

    -

    - External authentication: - If you want to use an external - authentication system like Shibboleth or CUWebAuth, you will need to - set an additional property in this file. See the step below - entitled Using an External Authentication - System with VIVO. -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - Property Name - - Example Value -
    - 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 a - 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/"
    * The namespace must end with "individual/" (including the - trailing slash).
    -
    - Vitro.defaultNamespace - - http://vivo.mydomain.edu/individual/ -
    - URL of Solr context used in local VIVO search. - Should consist of:
        scheme + servername + port + vivo_webapp_name + "solr"
    - In the standard installation, the Solr context will be on the same - server as VIVO, and in the same Tomcat instance. The path will be the - VIVO webapp.name (specified above) + "solr" -
    - vitro.local.solr.url - - http://localhost:8080/vivosolr -
    - Specify an SMTP host that the application will - use for sending e-mail (Optional). If this is left blank, the contact - form will be hidden and disabled, and users will not be notified of - changes to their accounts. -
    - email.smtpHost - - smtp.servername.edu -
    - Specify an email address which will appear as - the sender in e-mail notifications to users (Optional). If a user - replies to the notification, this address will receive the reply. If a - user's e-mail address is invalid, this address will receive the error - notice. If this is left blank, users will not be notified of changes to - their accounts. -
    - email.replyTo - - vivoAdmin@my.domain.edu -
    - Specify the JDBC URL of your database. Change - the end of the URL to reflect your database name (if it is not "vivo"). -
    - VitroConnection.DataSource.url - - jdbc:mysql://localhost/vivo -
    - Change the username to match the authorized user - you created in MySQL. -
    - VitroConnection.DataSource.username - - username -
    - Change the password to match the password you - created in MySQL. -
    - VitroConnection.DataSource.password - - password -
    - 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. -
    - VitroConnection.DataSource.pool.maxActive - - 40 -
    - 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. -
    - VitroConnection.DataSource.pool.maxIdle - - 10 -
    - 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. -
    - VitroConnection.DataSource.dbtype - - MySQL -
    - 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 webapp/lib directory within - the vitro.core.dir specified above. -
    - VitroConnection.DataSource.driver - - com.mysql.jdbc.Driver -
    - Change the validation query used to test - database connections only if necessary to use a database other than - MySQL. Otherwise, leave this value unchanged. -
    - VitroConnection.DataSource.validationQuery - - SELECT 1 -
    - Set the endpointURI only if you wish to store semantic data in an external triple store instead of MySQL. Enter the URI of the triple store's SPARQL endpoint for querying data. -
    - VitroConnection.DataSource.endpointURI -
    - Set the updateEndpointURI only if you wish to store semantic data in an external triple store instead of MySQL. Enter the URI at which the triple store responds to SPARQL UPDATE requests. This setting is only necessary if the triple store does not support updates via its main URI. If the endpointURI above is not set, this setting has no effect. -
    - VitroConnection.DataSource.updateEndpointURI -
    - Specify the email address of the root user - account for the VIVO application. This user will have an initial - temporary password of 'rootPassword'. You will be prompted to create a - new password on first login. -

    - NOTE: The root user account has access to all data and all - operations in VIVO. Data views may be surprising when logged in as the - root user. It is best to create a Site Admin account to use for every - day administrative tasks. -

    -
    - rootUser.emailAddress - - vivoAdmin@my.domain.edu -
    - The URI 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 - (the value of the property must be either a String literal or an untyped literal). -
    - selfEditing.idMatchingProperty - - http://vivo.mydomain.edu/ns#networkId -
    - If an external authentication system like Shibboleth or CUWebAuth is to be - used, this property says which HTTP header will contain the user ID from - the authentication system. If such a system is not to be used, - leave this commented out. -
    - externalAuth.netIdHeaderName - - remote_userID -
    - The temporal graph visualization can require - extensive machine resources. This can have a particularly noticable - impact on memory usage if -
      -
    • - The organization tree is deep, -
    • -
    • - The number of grants and publications is large. -
    • -
    - VIVO V1.4 (and later) mitigates this problem by the way of a caching - mechanism and hence we can safely set this to be enabled by default. -
    - 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-trunk.indiana.edu/individual/topLevelOrgURI -
    - An absolute file path, pointing to the root directory of the Harvester utility. - You must include the final slash. -
    - harvester.location - - /usr/local/vivo/harvester/ -
    - Types of individual for which we can create proxy editors. - If this is omitted, defaults to http://www.w3.org/2002/07/owl#Thing -
    - proxy.eligibleTypeList - - http://xmlns.com/foaf/0.1/Person, http://xmlns.com/foaf/0.1/Organization -
    - Tell VIVO to generate HTTP headers on its responses to facilitate caching the - profile pages that it creates. This can improve performance, but it can also - result in serving stale data. Default is false if not set. - For more information, see the VIVO wiki page: - - Use HTTP caching to improve performance -
    - http.createCacheHeaders - - true -
    - Show only the most appropriate data values based on the Accept-Language - header supplied by the browser. Default is false if not set. -
    - RDFService.languageFilter - - false -
    - Force VIVO to use a specific language or Locale instead of those - specified by the browser. - This affects RDF data retrieved from the model, if RDFService.languageFilter is true. - This also affects the text of pages that have been modified to support multiple languages. -
    - languages.forceLocale - - en_US -
    - A list of supported languages or Locales that the user may choose to - use instead of the one specified by the browser. Selection images must - be available in the i18n/images directory of the theme. - This affects RDF data retrieved from the model, if RDFService.languageFilter is true. - This also affects the text of pages that have been modified to support multiple languages. -
    - languages.selectableLocales - - en, es, fr_FR -
    - On the VIVO home page, display a global map highlighting the geographical focus - of foaf:person individuals. The default is enabled. -
    - homePage.geoFocusMaps = enabled - - enabled -
    - MultiViews for foaf:person profile pages. - VIVO supports the simultaneous use of a full foaf:Person profile page view - and a "quick" page view that emphasizes the individual's own webpage presence. - Implementing this feature requires an installation to develop a web service - that captures images of web pages or to use an existing service outside of VIVO, - usually for a small fee. - The default is disabled. -
    - MultiViews.profilePageTypes=disabled - - disabled -
    - -

    7. Configure Tomcat

    -

    Set JVM parameters

    -

    - VIVO copies small sections of your RDF database into - memory in order to serve Web requests quickly (the in-memory copy and - the underlying database are kept in synch as edits are performed). -

    -

    - VIVO may require more memory than that allocated to Tomcat by - default. With most installations of Tomcat, the "setenv.sh" or - "setenv.bat" file in Tomcat's bin directory is a convenient place to - set the memory parameters. If this file does not exist in Tomcat's - bin directory, you can create it. -
    - For example: -

    -
                        export CATALINA_OPTS="-Xms512m -Xmx512m -XX:MaxPermSize=128m"
    -

    - This sets Tomcat to allocate an initial heap of 512 megabytes, a - maximum heap of 512 megabytes, and a PermGen space of 128 megs. Lower - values may suffice, especially for small test installations. -

    -

    - If an OutOfMemoryError is encountered during VIVO execution, it can - be remedied by increasing the heap parameters and restarting Tomcat. -

    -

    Set security limits

    -

    - VIVO is a multithreaded web application that may - require more threads than are permitted under your - Linux installation's default configuration. Ensure - that your installation can support the required number - of threads by making the following edits - to /etc/security/limits.conf: -

    -
                        apache	hard	nproc	400
    tomcat6 hard nproc 1500
    -

    Set URI encoding

    -

    - In order for VIVO on Tomcat to correctly handle for international characters, - you must configure Tomcat to conform to the URI standard by - accepting percent-encoded UTF-8. -

    -

    - Edit Tomcat's conf/server.xml and add the following attribute to each of the - Connector elements: URIEncoding="UTF-8". -

    -
    -                    <Server ...>
    -                      <Service ...>
    -                        <Connector ... URIEncoding="UTF-8"/>
    -                          ...
    -                        </Connector>
    -                      </Service>
    -                    </Server>
    -            
    -

    - Note: some versions of Tomcat already include this attribute as the default. -

    -

    Take care when creating Context elements

    -

    - Each of the webapps in the VIVO distribution (VIVO and - Solr) includes a "context fragment" file, containing - some of the deployment information for that webapp. -

    -

    - Tomcat allows you to override these context fragments - by adding Context elements to "server.xml". If you - decide to do this, be sure that your new Context - element includes the necessary deployment parameters - from the overridden context fragment. -

    -

    - See Step 11 below, - for an example of overriding the VIVO context fragment. -

    - -

    8. Start Tomcat

    -

    - Most Tomcat installations can be started by running startup.sh - or startup.bat in Tomcat's bin directory. Point your - browser to http://localhost:8080/vivo - to test the application. -

    -

    - On start up VIVO will run some diagnostic tests. If a - problem is detected the normal VIVO pages will redirect - to a startup status page describing the problem. You - can stop tomcat, attempt to fix the problem and - proceed from Step 5. If the problem is not serious, the - startup status page may offer a continue link which - will allow you to use VIVO in spite of the problems. - -

    - If Tomcat does not start up, or the VIVO application - is not visible, check the files in Tomcat's logs - directory. Error messages are commonly found - in tomcat/logs/catalina.out - or tomcat/logs/vivo.all.log - or tomcat/logs/localhost.log -

    -

    9. Log in and add RDF data

    -

    - If the startup was successful, you will see a welcome - message informing you that you have successfully - installed VIVO. Click the "Log in" link near the upper - right corner. Log in with - the rootUser.emailAddress you set up in - Step IV. The initial password for the root account is - "rootPassword" (without the quotes). On first login, - you will be prompted to select a new password and - verify it a second time. When login is complete, the - search index is checked and, if it is empty, øa full - index build will be triggered in the background, in - order to ensure complete functionality throughout the - site. -

    -

    - After logging in, you will be presented with a menu of - editing options. Here you can create OWL classes, - object properties, data properties, and configure the - display of data. Currently, any classes you wish to - make visible on your website must be part of a class - group and any individual must have an rdfs:label. - There are a number of visibility and display options - available for classes and properites. VIVO comes with a - core VIVO ontology, but you may also upload other - ontologies from an RDF file. -

    -

    - Under the "Advanced Data Tools" click "Add/Remove RDF - Data." Note that Vitro currently works best with - OWL-DL ontologies and has only limited support for - pure RDF data. You can enter a URL pointing to the - RDF data you wish to load or upload from a file on - your local machine. Ensure that the "add RDF" radio - button is selected. You will also likely want to check - "create classgroups automatically." -

    -

    - Clicking the "Index" tab in the navigation bar at the top right of - the page will show a simple index of the knowledge base. -

    -

    - See more documentation for configuring VIVO, ingesting data, and - manually adding data at http://vivoweb.org/support. -

    -

    10. Set the Contact Email Address (if using - "Contact Us" form)

    -

    - If you have configured your application to use the "Contact Us" - feature in Step IV (email.smtpHost), you will also need to - add an email address to the VIVO application.  This is the email - to which the contact form will submit. It can be a list server or an - individual's email address. -

    -

    - Log in as a system administrator. Navigate to the "Site Admin" - 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 - Email Address" and submit the change. -

    -

    - If you set the email.smtpHost - in Step IV and do NOT - provide an email address in this step, your users will receive a java - error in the interface. -

    -

    11. Set up HTTPD

    - -

    - It is recommended to run an Apache HTTPD web server to accept requests - and then proxy them to the VIVO Tomcat context. This will make Vitro - available at "http://example.com" instead of "http://example.com:8080/vitro". - It will also allow the use of external authentication. -

    -

    - Setup HTTPD to send all of the requests that it receives to Tomcat's AJP - connector. This can be done in HTTPD 2.x with a simple directive in httpd.conf: -

    -
         ProxyPass / ajp://localhost:8009/ 

    -

    - Modify the <Host> in Tomcat server.xml (located in [tomcat root]/conf/) - so that the context path is empty to allow VIVO to be servred from the root path. - Locate the <Host name="localhost"...> directive and update as follows: -

    -
                  <Host name="localhost" appBase="webapps"
    -                       DeployOnStartup="false"
    -                       unpackWARs="true" autoDeploy="false"
    -                       xmlValidation="false" xmlNamespaceAware="false">
    -                   
    -                   <Alias>example.com</Alias>
    -                   
    -                   <Context path=""
    -                           docBase="/usr/local/tomcat/webapps/vitro"
    -                           reloadable="true"
    -                           cookies="true" >
    -                   
    -                       <Manager pathname="" />
    -                   </Context>
    -                  
    -                   ...
    -            
    -

    - After setting up the above, it is recommended that you modify the Tomcat AJP connector - parameters in server.xml. Look for the <connector> directive and add the - following properties: -

    -
        connectionTimeout="20000" maxThreads="320" keepAliveTimeout="20000" 

    -

    - Note: the value for maxThreads (320) is equal or greater than the value for - MaxClients in the apache's httpd.conf file. -

    - -

    12. Using an External Authentication System - with VIVO

    -

    -

    -

    - VIVO can be configured to work with an external authentication - system like Shibboleth or CUWebAuth. -

    -

    - VIVO must be accessible only through an Apache HTTP server. The - Apache server will be configured to invoke the external authentication - system. When the user completes the authentication, the Apache server - will pass a network ID to VIVO, to identify the user. -

    -

    - 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 - 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. -

    -

    Configuring the Apache server

    -

    - 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. -

    -

    - For VIVO, this secured page is named: /loginExternalAuthReturn -

    -

    - When your instructions call for the location of the secured page, - this is the value you should use. -

    -

    Configuring VIVO

    -

    - To enable external authentication, VIVO requires three values in - the runtime.properties - file. -

    -
      -
    • -
      The name of the HTTP header that will hold the external user's - network ID.
      -

      - 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. -

      -

      - You need to tell VIVO the name of that HTTP header. Insert a - line like this in the runtime.properties file: -

      -
      externalAuth.netIdHeaderName = [the header name]
      -

      - For example: -

      -
      externalAuth.netIdHeaderName = remote_userID
      -
    • -
    • -
      The text for the Login button.
      - 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. -

      - In your theme, add a line to the all.properties file, - like this one: -

      external_login_text = [the text for your login button]
      - For example: -
      external_login_text = Log in using BearCat Shibboleth
      - The VIVO login form will display a button labelled "Log in - using BearCat Shibboleth". -

      -

      - If your site supports additional languages, add lines to the corresponding files. - For example, all_es.properties might contain this line: -

      external_login_text = Entrar usando Shibboleth GatoOso
      -

      -
    • -
    • -
      Associating a User with a profile page.
      -

      - VIVO will try to associate the user with a profile - 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 (the value of the property must be either a String literal or an - untyped literal). You need to tell VIVO what property should be used - for matching. Insert a line like this in the runtime.properties file: -

      -
      selfEditing.idMatchingProperty = [the URI of the property]
      -

      - For example: -

      -
      selfEditing.idMatchingProperty = http://vivo.mydomain.edu/ns#networkId
      -
    • -
    - -

    13. Using VIVO as an OpenSocial platform

    -

    - VIVO now supports an extension of the OpenSocial API, - known as Open Research Networking Gadgets, or ORNG (pronounced "ORNG") - (see http://www.opengadgets.org/index.html). -

    -

    - Configuring VIVO to support ORNG requires several steps, including - additions to the VIVO properties, modifications to Tomcat, creating a - security key for safe network operations, and running a build script. -

    -

    - For instructions, consult the file - setting_up_orng.html in this directory. -

    - -

    14. Was the installation successful?

    -

    - If you have completed the previous steps, you have good indications - that the installation was successful. -

    -
      -
    • - Step 8 showed that Tomcat recognized the webapp, and that the - webapp was able to present the initial page. -
    • -
    • - Step 9 verified that you can log in to the administrator - account. -
    • -
    -

    - The startup status will indicate if the basic - configuration of the system was successful. It can be - accessed from siteAdmin -> Startup status. -

    -

    - Here is a simple test to see whether the ontology files were - loaded: -

    -
      -
    • - 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 - periodically to see whether the index will be populated. This may take - some time: with VIVO installed on a modest laptop computer, loading the - ontology files and building the index took more than 5 minutes from the - time that Tomcat was started. -
    • -
    • - Click on the "Country" link. You should see an alphabetical list - of the countries of the world. -
    • -
    -

    - Here is a test to see whether your system is configured to serve - linked data: -

    -
      -
    • - 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 rootUser.emailAddress - you set up in Step IV. If this is your first time logging in, you will - be prompted to change the password. -
    • -
    • - After you have successfully logged in, click "site admin" in the - upper right corner. In the drop down under "Data Input" select "Faculty - Member(core)" and click the "Add individual of this class" button. -
    • -
    • - Enter the name "test individual" under the field "Individual - Name," scroll to the bottom, and click "Create New Record." You will be - taken to the "Individual Control Panel." Make note of the value of the - field "URI" - it will be used in the next step. -
    • -
    • - Open a new web browser or browser tab to the - page http://marbles.sourceforge.net/. - In the pink box on that page enter the URI of the - individual you created in the previous step and - click "open." -
    • -
    • - In the resulting page search for the URI of the "test - individual." You should find it towards the bottom of the page next to - a red dot followed by "redirect (303)." This indicates that you are - successfully serving linked RDF data. If the URI of the "test - individual" is followed by "failed (400)" you are not successfully - serving linked data. -
    • -
    -

    - Finally, test the search index. -

    -
      -
    • - Type the word "Australia" into the search box, and - click on the 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 administrator and go - to Site Admin -> Rebuild search - index. -
    • -
    -

    15. Review the VIVO Terms of Use

    -

    - VIVO comes with a "Terms of Use" statement linked from the footer. - The "Site Name" you assign in the "Site Information" form under the Site Admin - area will be inserted into the "Terms of Use" - statement. If you want to edit the text content more than just the - "Site Name", the file can be found here: -

    [vivo_source_dir]/vitro-core/webapp/web/templates/freemarker/body/termsOfUse.ftl
    -

    -

    - Your "Terms of Use" statement is also referenced in the Linked Open Data (RDF) - that your site produces, so you should be sure that it accurately reflects - the way that your data may be used. -

    -

    - Be sure to make the changes in your source files and deploy them to your - tomcat so you don't lose your changes next time you deploy for another reason. -

    -

    Next Step ...

    -

    - Now that you have VIVO up and running, please go read the Site Administrator's Guide. -

    -
    - - - - diff --git a/doc/other_servlet_containers.html b/doc/other_servlet_containers.html deleted file mode 100644 index 9106d737..00000000 --- a/doc/other_servlet_containers.html +++ /dev/null @@ -1,254 +0,0 @@ - - - - - - Using VIVO with other servlet containers - - - - -
    -

    Using VIVO with other servlet containers

    -
    - January 3, 2013 -
    - -

    - The default installation process for VIVO tells how to build and deploy VIVO - into a Tomcat servlet container. This document tells how to build VIVO so it can be used - in any servlet container that supports the Java Servlet 2.4 Specification. -

    -

    - This process will produce: -

      -
    • a WAR file for the VIVO application,
    • -
    • a WAR file for the Solr application,
    • -
    • a TAR file for the Solr home directory, configured to work with VIVO.
    • -
    - These artifacts can then be installed into a servlet container (or more than one), - and configured to work together. -

    -

    - The configuration includes the customary runtime.properties file in the - Vitro home directory. It also requires items that tell the VIVO application - and the Solr application how to find their respective home directories. These - items are specific to the servlet container. However, they - are described so you can translate them to your container of choice. -

    -

    - Note: earlier releases of VIVO used a single deploy.properties file - to specify both build properties and runtime properties. This file has now been - split into build.properties and runtime.properties -

    -

    - Start by reading the customary - instructions for installing VIVO, taking note of the Tomcat-specific sections. - This document will consist mostly of comparisons to those instructions. -

    - - -

    Creating a container-neutral VIVO

    -
      -
    1. - Before the build -
    2. -
    3. - Running the build script -
    4. -
    5. - Deploying Solr -
    6. -
    7. - Deploying VIVO -
    8. -
    -
    - -

    1. Before the build

    -

    Required software

    -

    - Tomcat is not required. You can use any servlet container - that supports the Java Servlet 2.4 Specification. -

    - -

    Logging properties for VIVO

    -

    - The logging properties for VIVO are determined by the file - [vitro-core]/webapp/config/log4j.properties. - (Note: if debug.log4j.properties exists, - it will override log4j.properties). -

    -

    - Notice how the location of the log file is determined: -

    log4j.appender.AllAppender.File=$${catalina.home}/logs/${webapp.name}.all.log
    - The filename of the log file is based on the webapp.name property - found in the build.properties file. This substitution is made during - the build process. The path to the log file is based on the system property - catalina.home which is set by Tomcat at runtime. -

    -

    - You will likely want to change this line -- making it an absolute path, or - basing it on some other system property. - Notice that ant will substitute properties such as - ${webapp.name} during the build process. The name of a system property - requires a second dollar sign, e.g. $${catalina.home} to protect it from ant. - Ant will remove the second dollar sign, but will not try to substitute - a value for the property. At runtime, when Log4J reads the properties file, - it will substitute the matching system property. -

    - -

    Logging properties for Solr

    -

    - The logging properties for Solr are determined by the file - [vitro-core]/webapp/config/solr/logging.properties. -

    -

    - As with VIVO, the location of the log file is based on the system property - catalina.home which is set by Tomcat at runtime. -

    org.apache.juli.FileHandler.directory = ${catalina.base}/logs
    - Note that only one dollar sign is used, since Ant does not attempt to - substitute properties in this file. -

    -

    - The syntax of the Solr logging properties is different from the syntax for VIVO. - This is because VIVO uses Log4J as a back end for the Commons Logging framework, - while Solr uses JULI as a back end for SLF4J. -

    -

    - Note: Solr is able to do this because Tomcat provides the JULI framework by default. - Other servlet containers may require JULI to be installed. If you encounter this as an issue, please - share your experience with the VIVO Development mailing list (vivo-dev-all@lists.sourceforge.net), - so we can improve our distribution. -

    - -

    The build.properties file

    -

    - The standard installation instructions specify that these properties - are required in build.properties -

      -
    • vitro.core.dir
    • -
    • webapp.name
    • -
    • tomcat.home
    • -
    • vitro.home -- note that this was vitro.home.directory - in previous releases
    • -
    - However, if you are building with ant distribute, then only these are required: -
      -
    • vitro.core.dir
    • -
    • webapp.name
    • -
    - tomcat.home is ignored by the distribute target. - You may choose to specify vitro.home in build.properties, - or later, when you deploy VIVO (see Deploying VIVO). - If you specify vitro.home in build.properties, you can override - it when you deploy, but you will receive a warning when VIVO starts, saying that vitro.home - has been specified twice. -

    - -

    2. Running the build script

    -

    - To build VIVO for other servlet containers, you will use one of these commands: -

      -
    • ant distribute -- to incorporate changes since your previous build.
    • -
    • ant clean distribute -- to do a full build from scratch
    • -
    -

    -

    - The build will produce a file named distribution.tar.gz, in the .build - sub-directory of your VIVO distribution directory. This compressed archive contains these files: -

      -
    • vivo.war -- a WAR file for the main VIVO application.
    • -
    • vivosolr.war -- a WAR file for the Solr application.
    • -
    • solrhome.tar -- a Solr home directory that is configured for use with VIVO.
    • -
    - The WAR files will be deployed to your servlet container. They may be renamed as desired when deployed. - The TAR file will be unpacked to become your Solr home directory. -

    - -

    3. Deploying Solr

    -

    - The Solr application is packaged in vivosolr.war - (see Running the build script). Deploy this file - as required by your servlet container. The filename is not significant, - and the file may be renamed as required by your container. -

    -

    - The Solr home directory is packaged in solrhome.tar - (see Running the build script). Create a Solr - home directory on your machine, and unpack this file into that - directory. It is customary to use a solr sub-directory in your - Vitro home directory, but this is not required. Note that the Solr home directory - will contain VIVO's search index, so it may grow to be quite large. -

    -

    - You must tell Solr where to find the home directory. You can use one of two - methods: -

      -
    1. Set the sytem property solr.solr.home to the path of - your Solr home directory.
    2. -
    3. Set a JNDI value at java:comp/env/solr/home to the - path of your Solr home directory. For servlet containers, a JNDI - prefix of java:comp/env/ is assumed for all environment - entries, so you will likely just specify a value for solr/home. -
    4. -
    - Which of these methods should you use? In general, it is easier to set a - system property than an environment entry. However, a system property - applies across the entire servlet container. If you want to deploy - two instances of Solr in the same container, you will need to use environment - entries to give each instance its own home directory. -

    -

    - The Solr application must be authorized to read and write to the Solr home directory. -

    - - -

    4. Deploying VIVO

    -

    - The VIVO application is packaged in vivo.war - (see Running the build script). Deploy this file - as required by your servlet container. The filename is not significant, - and the file may be renamed as required by your container. -

    -

    - You must create a Vitro home directory. - You must create a runtime.properties file in the Vitro home directory. - The contents of this file are exactly as specified in the standard installaion - instructions. Pay attention to the value of vitro.local.solr.url. - This must point to the base of the Solr application, as you have deployed it. -

    -

    - You must tell VIVO where to find the Vitro home directory. - If you did not specify this in build.properties, you can use - one of two methods: -

      -
    1. Set the sytem property vitro.vitro.home to the path of - your Vitro home directory.
    2. -
    3. Set a JNDI value at java:comp/env/vitro/home to the - path of your Vitro home directory. For servlet containers, a JNDI - prefix of java:comp/env/ is assumed for all environment - entries, so you will likely just specify a value for vitro/home. -
    4. -
    - Which of these methods should you use? In general, it is easier to set a - system property than an environment entry. However, a system property - applies across the entire servlet container. If you want to deploy - two instances of VIVO in the same container, you will need to use environment - entries to give each instance its own home directory. -

    -

    - The VIVO application must be authorized to read and write to the Vitro home directory. -

    -

    - Note: Session object in VIVO are not serializable, and therefore cannot be - made persistent. The standard build process tells Tomcat not to attempt to - persist Sessions. You may need to set a similar configuration option in your - servlet container. -

    -
    - - - \ No newline at end of file diff --git a/doc/release.html b/doc/release.html deleted file mode 100644 index 0433b784..00000000 --- a/doc/release.html +++ /dev/null @@ -1,242 +0,0 @@ - - - - - - -VIVO Release 1 V1.5 Announcement - - - - - - -
    -

    VIVO Release 1 V1.5 Announcement

    - July 11, 2012 - -
      - -
    -
    - -
    -

    - Overview -

    -

    VIVO 1.5 introduces a number of new features addressing - extensibility and interoperability, reasoning, page customization, - and a first step toward internationalization. VIVO's profile - management has been improved with a number of new custom forms, and - there are significant improvements to ontology browsing and editing.

    - -

    The VIVO 1.5 development cycle has also included extensive - design work on features anticipated for implementation beginning - with version 1.6, including increased modularity, the introduction - of a separate ontology for display and editing controls, and the - addition of a graphical ontology class expression editor.

    - -

    - Extensibility -

    -

    Since version 1.2, VIVO’s use of the Jena Semantic Web - framework (1) has allowed implementation sites to use any database - supported by Jena, including MySQL, PostgreSQL, and Oracle. VIVO - Release 1.5 extends this flexibility a major step further by making - it much easier to extend VIVO to use any triple store, and include - an experimental feature that supports connecting to any triple store - that exposes a SPARQL endpoint that supports SPARQL update. Initial - tests with Sesame are quite promising.

    - -

    - VIVO - is now an OpenSocial container -

    -

    The OpenSocial standard (2) defines a web-based container - environment for hosting third-party components in a web application - and provides a set of common application programming interfaces for - developing these components by leveraging the Google Gadgets (3) - framework. Eric Meeks and colleagues at the University of - California–San Francisco and other institutions have developed - OpenSocial gadgets designed to work with RDF expressed using the - VIVO ontology. For VIVO 1.5, Eric has adapted the Apache Shindig (4) - OpenSocial reference implementation to communicate with VIVO and - collaborated with the VIVO development team in extending VIVO itself - to support OpenSocial gadgets referencing data in VIVO or bringing - additional data to VIVO based on page being viewed.

    - -

    - Reasoning -

    -

    The simple reasoner built into VIVO now has support for sameAs - reasoning to allow joint display of statements associated with two - URIs that have been asserted or inferred to be sameAs each other. - The VIVO reasoner will also now maintain inverse property statements - based on presence or absence of inverse property declarations in an - ontology. Although the VIVO application has previously added and - removed property inverse statements during interactive editing, this - feature had been requested to simplify the preparation of data for - ingest with the VIVO Harvester or other tools. Recomputing - inferences will trigger the reasoner to supply any missing inverse - property statements.

    - -

    - New page types -

    -

    The VIVO 1.5 release expands the flexibility of VIVO as a web - application by adding additional dynamic content features. Sites may - create arbitrary HTML pages or web pages that display the results of - SPARQL queries and link to those from any template in the - application; these new pages may optionally be top-level menu pages - and may include multiple sections featuring the results of - parameterized SPARQL queries and static HTML content as well as data - filtered by class group and type. New page specifications are - typically paired with page template modifications to provide the - desired level of control over display of dynamic content. These - changes significantly augment VIVO's native reporting capabilities - and enable sites to demonstrate aggregation, interconnectivity, and - network effects in VIVO data. Queries and report templates will be - useful to share across sites and a SPARQL resource page has already - been established on the VIVO wiki (5).

    - -

    - Customized - short views -

    -

    Site maintainers may also customize the way that individuals - are displayed on VIVO index pages, browse pages, or search results - - all without modifying the basic VIVO code. Custom templates, - populated by custom queries, can be assigned to classes of - individuals in any of these contexts.

    - -

    - Language - filter -

    - -

    VIVO 1.5 will respect a user's browser language preference - setting and filter labels and data property text strings to only - display values matching that language setting whenever versions in - multiple languages are available. This is an important first step - toward internationalization of the VIVO application, an effort we - expect to continue in future releases.

    - -

    - Improved - editing -

    -

    VIVO 1.5 includes new forms to simplify entry and editing of - awards, advising relationships, and additional types of - publications. Forms make greater use of autocomplete functionality, - and very large pick lists are converted to autocomplete - functionality by the application on the fly.

    - -

    - Improved - Map of Science visualization -

    -

    VIVO's Map of Science visualizations benefit from improved - labeling and color coding as well as additional explanation; the - maps also now support dynamic interchange between discipline and - sub-discipline sliders.

    - -

    - Ontology - changes -

    -

    - Ontology changes from 1.4 to 1.5 include identifying primary job - appointments, modeling citation information for publications, and - adding new types of publications to better align with PubMed. - Changes for each release are documented on the VIVO wiki on - Sourceforge at http://sourceforge.net/apps/mediawiki/vivo/index.php?title=Ontology. -

    - -

    - The VIVO ontology is now available via the Bioportal (http://www.bioontology.org/bioportal), an open - repository of ontologies hosted by the National Center for - Biomedical Ontology. -

    - -

    - Acknowledgements -

    - -

    This release represents the work of the entire VIVO team and - contributions of feature requests, requirements development and - design, ontology design reviews, software development, and testing - from the larger VIVO open source community.

    - -

    The VIVO project is funded by the National Institutes of - Health, U24 RR029822, "VIVO: Enabling National Networking of - Scientists".

    - -

    - References -

    - -
      -
    1. http://jena.apache.org/
    2. -
    3. http://docs.opensocial.org/display/OS/Home
    4. -
    5. https://developers.google.com/gadgets/
    6. -
    7. http://shindig.apache.org/
    8. -
    9. http://sourceforge.net/apps/mediawiki/vivo/index.php?title=SPARQL_Resources
    10. -
    - -
    - - - - - - - diff --git a/doc/setting_up_orng.html b/doc/setting_up_orng.html deleted file mode 100644 index 9eb99459..00000000 --- a/doc/setting_up_orng.html +++ /dev/null @@ -1,807 +0,0 @@ - - - - - - Setting up VIVO to use OpenSocial Gadgets - - - - - -
    -

    Setting up VIVO to use OpenSocial Gadgets

    - - Instructions for connecting VIVO and Open Research Networking Gadgets - -

    - This document contains instructions on how to configure your VIVO - installation to use OpenSocial gadgets. -

    -

    - VIVO uses an extension of the OpenSocial protocols called - Open Research Networking Gadgets, or ORNG. - ORNG is a project of the Clinical & Translational Science Institute at the - University of California, San Francisco. - You can find out more about the ORNG project at their web site, - http://www.opengadgets.org/index.html -

    -

    - ORNG supports gadgets using a modified version of Apache Shindig. - These instructions tell you how to install the Shindig-ORNG web application, - and how to configure it to work with VIVO. -

    -

    - Note: these instructions assume that you will be installing VIVO on Tomcat - using the standard installation procedure. VIVO does not yet support ORNG - on containers other than Tomcat. -

    - -
    -

    Table of Contents

    - -
      -
    1. Installing and Configuring -
        -
      1. Create database tables and procedures
      2. -
      3. Create configuration directory and key file
      4. -
      5. Modify Tomcat settings
      6. -
      7. Configure VIVO
      8. -
      9. Run the deployment script
      10. -
      11. Does it work?
      12. -
      -
    2. -
    3. Changing the gadget configurations -
        -
      1. The orng_apps database table
      2. -
      3. The orng_app_views database table
      4. -
      -
    4. -
    5. Additional Considerations -
        -
      1. Re-running the deployment script
      2. -
      3. Resetting the gadget cache
      4. -
      5. Issues with Linked Open Data
      6. -
      7. Disabling the OpenSocial gadgets
      8. -
      -
    6. -
    -
    -
    - -

    I. Installing and Configuring

    - -

    I.i. Create database tables and procedures

    -

    - Shindig-ORNG uses several database tables in MySQL to store its data: - which gadgets appear on which pages, how large are the gadgets, - what information applies to each individual, and more. - Shindig-ORNG also creates stored procedures in MySQL. These are small - pieces of code that simplify the use of the database tables. -

    -

    - In the VIVO distribution directory, a file called - vitro-core/opensocial/shindig_orng_tables.sql - contains SQL commands that create the tables and - stored procedures for Shindig-ORNG to use. -

    -

    - Tell MySQL to process this file with a command like this: -

    mysql -u username -p database < sql_file
    - So, if your current directory is the VIVO distibution directory, and your - VIVO database is vivoDb and your MySQL user account is vivoUser, - then you might use the command this way: -
    mysql -u vivoUser -p vivoDb < vitro-core/opensocial/shindig_orng_tables.sql
    - MySQL will prompt you for the password for your MySQL user account, and then - process the file. -

    -

    - You may want to start your gadget collection with some example gadgets - that have been developed by the ORNG group. The file called - vitro-core/opensocial/shindig_example_gadgets.sql - contains SQL commands that will add these gadgets to your system's configuration. -

    -

    - If you want to load these example gadgets, you can use a command similar to the previous one: -

    mysql -u vivoUser -p vivoDb < vitro-core/opensocial/shindig_example_gadgets.sql
    - As before, MySQL will prompt you for the password for your MySQL user account, and then - process the file. -

    - -

    I.ii. Create configuration directory and key file

    -

    - In your VIVO home directory, create a directory called shindig. - Under that, create directories called conf and openssl. - Your VIVO home directory will look something like this: -

         [VIVO home directory]
    -      |
    -      |--shindig
    -      |   |
    -      |   |--conf
    -      |   |
    -      |   |--openssl
    -      |
    -      |--solr
    -      |
    -      |--uploads
    -

    - -

    - Shindig-ORNG uses an encryption key to insure that the communication - between the gadget and the server is secure. - You should create a file that contains the encryption key, - and store that file in the shindig/openssl directory that you created. -

    -

    - On Unix-based systems (like Linux or Mac OS X), this command will create - an encryption key from a random seed: -

    dd if=/dev/random bs=32 count=1 | openssl base64 > [key-file]
    - For example, if your VIVO home directory is /usr/local/vivo/data, - you might use the command this way: -
    dd if=/dev/random bs=32 count=1 | openssl base64 > /usr/local/vivo/data/shindig/openssl/securitytokenkey.txt
    -

    -

    - If your VIVO installation is installed on a machine that runs Microsoft Windows, - you will need to find another way to create an encryption key. - The easiest way might be to find a Unix-based machine, - issue the command above, and copy the resulting file to your Windows machine. -

    - -

    I.iii. Modify Tomcat settings

    -

    - The Shindig-ORNG application must know where to find the configuration file that you created in - Step I. - It must also know its own URL, so that URL can be inserted into the gadgets. -

    -

    - This information is provided through startup parameters in Tomcat. - With most installations of Tomcat, the "setenv.sh" or - "setenv.bat" file in Tomcat's bin directory is a convenient place to - set these parameters. - If this file does not exist in Tomcat's bin directory, you can create it. -

    -

    - Here is an example of the setenv.sh file, showing only the Shindig-ORNG requirements: -

    export CLASSPATH=/usr/local/vivo/data/shindig/conf
    -export CATALINA_OPTS="-Dshindig.host=localhost -Dshindig.port=8080"
    -

    -

    - Here is the equivalent file for an installation in Windows. -

    set CLASSPATH=C:\vivo\data\shindig\conf
    -set CATALINA_OPTS=-Dshindig.host=localhost -Dshindig.port=8080
    -

    -

    - This assumes that your setenv file was empty before starting this process, - and that you used the default location for the Shindig-ORNG configuration file in Step I. - In fact, it's more common for the setenv file to contain other parameters besides - those used for Shindig-ORNG. In that case, it might look more like this: -

    export CLASSPATH=/usr/local/vivo/data/shindig/conf
    -export CATALINA_OPTS="-Dshindig.host=localhost -Dshindig.port=8080 -Djava.awt.headless=true -Xms1024m -Xmx1024m -XX:MaxPermSize=128m"
    -

    -

    - Or, for Windows: -

    set CLASSPATH=C:\vivo\data\shindig\conf
    -set CATALINA_OPTS=-Dshindig.host=localhost -Dshindig.port=8080 -Djava.awt.headless=true -Xms1024m -Xmx1024m -XX:MaxPermSize=128m
    -

    - -

    I.iv Configure VIVO

    -

    - In the VIVO distribution directory, the file called build.properties - contains configuration options for the VIVO application. - You must set some additional parameters so VIVO will be able to communicate with Shindig-ORNG. -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - Property Name - - Example Value -
    - The base URL that VIVO will use when contacting the Shindig-ORNG application. - Usually, this is the same host and port number as VIVO itself, - with a context path of shindigorng -
    OpenSocial.shindigURLhttp://localhost:8080/shindigorng
    - The host name and port number of the Token Service that Shindig-ORNG creates. - Note that a value of localhost or 127.0.0.1 will not work. - You must provide the actual host name of your machine, followed by :8777 -
    OpenSocial.tokenServicemyhost.mydomain.edu:8777
    - The path to a key file that will be used to generate security tokens. This is the - file that was created in Step I of this process. -
    OpenSocial.tokenKeyFile/usr/local/vivo/data/shindig/openssl/securitytokenkey.txt
    - -

    I.v. Run the deployment script

    -

    - At the command line, from the top level of the VIVO distribution - directory, type: -

                    ant orng
    - to configure the Shindig-ORNG application and deploy it to Tomcat's webapps directory. -

    -

    - You must restart Tomcat so the main VIVO application will load the new settings - in runtime.properties. -

    - -

    I.vi Does it work?

    - -

    Startup tests

    - -

    - Start VIVO, and verify that you can see VIVO's home page in a browser. -

    -

    - On startup, VIVO runs a series of self-diagnostics, or "smoke tests". If these tests find - any problems with the OpenSocial configuration, you will see a warning message instead of - the VIVO home page. -

    -

    - Some of VIVO's "smoke tests" are run after the startup is finished, and may take up to a minute - to complete. If one of these tests fails, you will see the warning message as you - navigate from one VIVO page to the next. -

    -

    - If one of the OpenSocial tests fails, you may continue to use VIVO, but it is - likely that no gadgets will be shown. - You can review the warning message by selecting the "Startup Status" - link from the "Site Admin" page. -

    - -

    Search page

    - -

    - If you loaded the example gadgets, you should be able to see the "Google Search" gadget on the - Search Results page in VIVO. -

    -

    - Every VIVO installation comes with a geographic data model, so type "Chile" in the search box, - and view the results. Near the bottom of the page, you should see the "OpenSocial" section heading, - and beneath it, a gadget offering "Full Text Search Results". This gadget does a google search - at UCSF, using the search term that you entered. Again, this gadget is just an example, to show - what is possible with OpenSocial gadgets and VIVO. -

    -

    - The first time you bring up the search page, it may take several seconds for the gadget to - appear. After the first time, the gadget response should be much faster. -

    - -

    Profile page

    - -

    - If your VIVO installation contains profiles of people, you can see several gadgets on their - profile pages. You must be logged in to VIVO, with authority to edit the profile you are - viewing. -

    -

    - Go to a personal profile page in VIVO. If you loaded the example gadgets, you will see - the "OpenSocial" section heading above the property lists, with an assortment of - example gadgets available for experimentation. -

    -

    - As with the search page, the first appearance of the gadgets may be slow. -

    - -

    Troubleshooting

    - -

    - If the gadgets do not appear as you expect, look for these symptoms, - and check for the corresponding possible causes. -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    SymptomsPossible causes
    -
      -
    • - The "OpenSocial" heading does not appear on Individual page or in search results. -
    • -
    • - Tomcat log files do not contain errors. -
    • -
    -
    -
      -
    • - VIVO was not re-deployed with ant deploy after the OpenSocial - values were set in build.properties -
    • -
    -
    -
      -
    • - Gadgets do not appear on Individual page or in search results. -
    • -
    • - Tomcat "localhost" log file contains an error message: -
      Unable to load properties: shindigorng.properties
      -
    • -
    -
    -
      -
    • Configuration file is not correctly named.
    • -
    • Tomcat's setenv file does not specify the correct CLASSPATH
    • -
    -
    -
      -
    • - Dialog box appears in the browser with the message: - "Error 500 reading application data: internalError" -
    • -
    • - Tomcat "catalina" log file contains an error message: -
      java.sql.SQLException: Access denied for user
      -
    • -
    -
    -
      -
    • - Configuration file contains incorrect value for one or more of these: -
        -
      • orng.dbURL
      • -
      • orng.dbUser
      • -
      • orng.dbPassword
      • -
      -
    • -
    -
    -
      -
    • - "Smoke tests" fail at startup. -
      Token key file for Shindig does not exist
      -
    • -
    • - Pages that display gadgets "hang" in the browser. -
    • -
    • - Tomcat "localhost" log file contains error messages, including: -
      com.google.inject.CreationException: Guice creation errors
      -
    • -
    -
    -
      -
    • - OpenSocial.tokenKeyFile is not set in build.properties, - or the file does not exist at the specified location. -
    • -
    -
    -
      -
    • - Gadgets do not appear on Individual page or in search results -
    • -
    • - vivo.all.log contains an error message: -
      MySQLSyntaxErrorException: Table 'vivo.orng_apps' doesn't exist
      -
    • -
    -
    -
      -
    • - MySQL does not contain the shindig tables. -
      shindig_orng_tables.sql
      was not processed. -
    • -
    -
    -
      -
    • - Gadgets do not appear on Individual page or in search results -
    • -
    • - vivo.all.log contains an error message: -
      java.net.ConnectException: Connection refused
      -
    • -
    -
    -
      -
    • - In build.properties, OpenSocial.tokenService is not set correctly. -
    • -
    -
    - -

    II. Changing the gadget configurations

    - -

    - VIVO will look at tables in MySQL to determine what gadgets should be made available, - where they should appear, how big they will be, and much more. - At this time, VIVO doesn't provide a user interface to edit the contents of these tables. - Administrators will need to use a MySQL admin client, or SQL commands, to set these - parameters. -

    -

    - The tables are named orng_apps and orng_app_views, - and are described in the following sections. -

    - -

    II.i The orng_apps database table

    -

    - This table acts as a dictionary of the available gadgets. - It includes the name and ID of the gadget and where the source code is stored on the web. -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    FieldTypeUsage
    appidint(11) - Identifies the gadget. - In particular, this will be used to determine which rows in the - orng_app_views table should apply to this gadget. -
    namevarchar(255) - A user-friendly name for the gadget. - This will be displayed in the gadget's "Title Bar". -
    urlvarchar(255) - The location where the gadget's contents and behavior are defined. -
    PersonFilterIDint(11)deprecated - usually set to NULL
    enabledtinyint(1) - If set to 0, this gadget will never be displayed. - If set to 1, it is displayed according to the rules in the orng_app_views table. -
    channelsvarchar(255)Keywords that identify the communication channels between the gadget and VIVO.
    - -

    II.ii The orng_app_views database table

    - -

    - This table tells how, where, and when to display the gadgets that are described in orng_apps. - Each row in this table is a "view", describing a single gadget and the rules that determine whether - the gadget will be displayed on a particular page. -

    - -

    - Note: If a gadget is described and enabled in the orng_apps table, but has no records in the - orng_app_views table, the gadget will be displayed without restriction on all ORNG-enabled - pages. This can be helpful when developing a new gadget. To avoid this, either -

      -
    • remove the gadget from orng_apps, or
    • -
    • set the enabled flag in orng_apps to 0, or
    • -
    • create a rule for the gadget in orng_app_views.
    • -
    -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    FieldTypeUsage
    appidint(11) - Determines which gadget in orng_apps is affected by this rule. -
    viewer_reqchar(1) - What requirements must the viewer satisfy in order to see this view? -
      -
    • - NULL -- There are no requirements on the viewer. -
    • -
    • - 'U' -- The viewer must be logged in to VIVO. -
    • -
    • - 'R' -- The viewer must be logged in, and must be registered as a user of this gadget. -
    • -
    -
    owner_reqchar(1) - What requirements must the owner of this page satisfy in order to see this view? -
      -
    • - NULL -- There are no requirements on the owner of the page. -
    • -
    • - 'R' -- The owner of the page must choose to display this gadget to the public. -
    • -
    • - 'S' -- The viewer must be the owner of the page being viewed. -
    • -
    -
    pagevarchar(50) - What page does this rule apply to? - A single gadget might have several views, but no more than one view per page. - Recognized values are -
      -
    • - individual -- The profile page of an individual, when it is not in "edit" mode. - This applies when the viewer is not logged in, or does not have the right to edit the profile page. -
    • -
    • - individual-EDIT-MODE -- The profile page of an individual, when it is in "edit" mode. - This applies when the viewer is logged in as an administrator or other privileged user, or - as the owner of the profile page. -
    • -
    • - search -- The search results page. -
    • -
    • - gadgetDetails -- A page that contains only the selected gadget. This usually occurs when - the user clicks on an icon or a link that expands the gadget to full-page mode. -
    • -
    -
    viewvarchar(50) - What is the view-mode of the gadget? These are defined as part of the OpenSocial standards. -
      -
    • - profile -- The "standard" view, commonly used on the profile page of an individual -
    • -
    • - small -- The "condensed" view. -
    • -
    • - home -- The view which allows the user to change the gadget's settings. -
    • -
    • - canvas -- The "expanded", commonly used when the gadget is the only thing on a page. -
    • -
    -
    closed_widthint(11) - How wide is the gadget when it is closed? (in pixels) -
    open_widthint(11) - How wide is the gadget when it is open? (in pixels) -
    start_closedtinyint(1) - When the page is first loaded, is the gadget open or closed (1 = closed, 0 = open) -
    chromeIdvarchar(50) - The gadget will be displayed on the page inside a <div> with this id. - Note: the page must contain this <div> and its contents - will be replaced with this gadget (or gadgets). -
    display_orderint(11) - If more than one gadget has the same chromeId, they will be displayed in order by this field. -
    - - -

    III. Additional Considerations

    - -

    - Some things to be aware of when working with OpenSocial gadgets. -

    - -

    III.i. Re-running the deployment script

    - -

    - The OpenSocial framework relies on several of the settings in the build.properties and runtime.properties files, - in addition to the ones that are explicitly linked to it. -

    -

    - Each time you change the settings in build.properties or runtime.properties, you should re-deploy - the framework with -

              ant orng
    -

    - -

    III.ii. Resetting the gadget cache

    -

    - For efficiency, VIVO reads the gadget configuration only when it starts up. VIVO keeps - a copy of the database tables in memory, for efficiency. -

    -

    - This means that if you change the gadget configuration in the database tables, you must - either tell VIVO to read the tables again. Direct your browser to - the orng/clearcache page within VIVO. For example, -

            http://localhost:8080/vivo/orng/clearcache
    - VIVO will re-read the gadget configuration, and display the VIVO home page. -

    -

    - You can achieve the same effect by restarting VIVO. -

    - -

    III.iii. Issues with Linked Open Data

    - -

    - TBD -

    - -

    III.iv. Disabling the OpenSocial gadgets

    - -

    - If you decide not to use OpenSocial gadgets in your VIVO installation, - there are several ways to deactivate them, depending on how firm your decision is, - and how thorough you wish to be. -

    - -

    Disable the gadgets

    - -

    - You can disable any or all of the installed gadgets - by setting the enabled flag in orng_apps to zero - (see section II.i. The orng_apps database table). -

    - -

    - To make this change take effect, restart Tomcat, or clear the OpenSocial cache - (see section III.ii. Resetting the gadget cache). -

    - -

    Disable the connection

    - -

    - Disabling the gadgets, as above, will remove essentially all of the OpenSocial processing - within VIVO. To remove the remainder of it, you can disable the connection between - VIVO and the OpenSocial service. Do this by removing or commenting - the OpenSocial properties in build.properties - (see section I.iv. Configure VIVO). -

    - -

    - To make this change take effect, re-deploy VIVO and restart Tomcat. -

    - -

    Remove the OpenSocial webapp from Tomcat

    - -

    - Disabling the connection, as above, will remove all of the OpenSocial processing - from your VIVO requests. However, you may still see that Tomcat takes longer to - start up, and requires more memory. -

    - -

    - To remove the OpenSocial webapp from Tomcat, -

      -
    • stop Tomcat;
    • -
    • in the [tomcat]/webapps directory, delete shindigorng.war and the - shindigorng sub-directory;
    • -
    • start Tomcat.
    • -
    -

    - -

    Clean up the remnants

    - -

    - To remove all traces of OpenSocial from your VIVO installation, you should take the steps - outlined above, and also: -

      -
    • - Remove the orng tables from your MySQL database. -
    • -
    • - Remove the changes to Tomcat by restoring your setenv file to its previous state. -
    • -
    • - Remove the shindig directory and subdirectories from your VIVO home directory. -
    • -
    -

    - -

    - These steps will have no appreciable effect on the operation of VIVO, Tomcat, or MySQL. - However, if these artifacts are not removed they could be a source of puzzlement for - future VIVO maintainers. -

    - -
    - - - - \ No newline at end of file diff --git a/doc/upgrade-1.0.txt b/doc/upgrade-1.0.txt deleted file mode 100644 index ba348b7c..00000000 --- a/doc/upgrade-1.0.txt +++ /dev/null @@ -1,198 +0,0 @@ - -------------------------------------------------------------------------------- - -Upgrading NIH VIVO - -Steps to Upgrade from Release 1 Version 0.9 to Release 1 Version 1.0 - -This file provides a short description of the steps involved in upgrading your -installation of NIH VIVO from Release 1 Version 0.9 to Release 1 Version 1.0. -This and other documentation can be found at: - -http://vivoweb.org/support - -Installation: -If you need to do a fresh install, please consult the install.txt in this -directory. - -------------------------------------------------------------------------------- - -I. Before Performing the Upgrade -II. The Upgrade Process -III. Ontology Changes - -------------------------------------------------------------------------------- - -I. Before Performing the Upgrade - -Please read the bullet points below BEFORE beginning the upgrade. - -The upgrade process is similar to the original install process with the following -exceptions: - -* DO NOT reinstall MySQL or recreate the MySQL database. Please ensure that - you back-up the MySQL database. -* It is not necessary to add RDF data or reconfigure the Apache HTTP Server. -* First-time login of the administrator account will use the password - previously set, NOT the password in deploy.properties. -* Any image files that have been uploaded into the system will not be disturbed - by the upgrade. -* 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 "Ontology Changes" - below for more information. - -------------------------------------------------------------------------------- - -II. The Upgrade Process - - -1. Ensure that backups are created of the Tomcat webapps directory, the - original source directory, and the MySQL database. - -2. Download the new distribution file and unpack it into a new source directory. - -3. Create deploy.properties, using the same values as in your original - installation. Be aware that deploy.properties now requires an additional - property: - vitro.core.dir = ./vitro-core - The file example.deploy.properties has been modified to show this. - -4. Apply any changes you have made to the new source directory. - - Note: 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. - - Note: At a minimum it will be necessary to apply the Google Analytics Tracking - code to footer.jsp in the theme: - [new_source_directory]/themes/[theme_dir]/jsp/footer.jsp - For additional information and a copy your institution's tracking code, - see the Google Analytics wiki page. - https://confluence.cornell.edu/display/ennsrd/Google+Analytics+for+UI - - Note: Version 1 Release 0.9 contained two directories called "modifications" - and "ontology". These directories have been combined into a directory - called "productMods". If your site has made changes to the ontology - ensure that those changes are moved into the appropriate subdirectory of - "productMods". - - Note: This process assumes any changes made to the application were made in - the source directory and deployed, and were not made directly within - Apache Tomcat webapp. - -5. If you had modified web.xml to configure the Pellet Reasoner (as described - in the installation instructions), repeat that modification. - -6. Stop "Apache Tomcat" and run ant deploy by typing: ant deploy - -7. If you have setup the Apache Tomcat Connector using mod_jk and modified your - tomcat/conf/server.xml file, you will need to add 4 lines to your context - section, see examples below. - - Context section before: - - - - - Context section after: - - - - - - Also, if you have these 3 lines in your Apache virtual host configuration, - please remove them! - - - deny from all - - -8. Start "Apache Tomcat" and login to VIVO. - -9. Rebuild the Lucene search index as described in step IX of -the install process. This step will ensure that changes in the RDF -data to align with the latest version of the core ontology -will be reflected in the search index. - -------------------------------------------------------------------------------- - -III. Ontology Changes - - -Changes to the VIVO core ontology may require corresponding -modifications of the knowledge base instance data and local ontology -extensions. - -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: - - Class or Property renaming - 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. - - Class or Property deletion - All individuals in a deleted class will be changed to - belong to the nearest available superclass (which may be owl:Thing). - - 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. - - Class or Property addition - If a newly added class has a superclass and there are - individuals in that superclass, then a note will be - added to the log file suggesting review of those individuals to - see if they should be reasserted in the newly added class. - - If a newly added property has a superproperty and there are - statements using the superproperty, then a note will be added to - the log file suggesting review of those statements to see if they - should be reasserted using the newly added property. - - Annotation property default values - It 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. - 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. - -The ontology alignment process will create the following files in the -Tomcat webapps/vivo/WEB-INF directory: - -ontologies/update/logs/knowledgeBaseUpdate.log - 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". - -ontologies/update/logs/knowledgeBaseUpdate.error.log - a log of errors that were encountered during the upgrade process. This file - should be empty if the upgrade was successful. - -ontologies/update/changedData/removedData.n3 - an N3 file containing all the statements that were removed from the knowledge base. - -ontologies/update/changedData/addedData.n3 - an N3 file containing all the statements that were added to the knowledge base. - - -After Apache Tomcat is started, these files should be reviewed to verify that -the automated upgrade process was executed successfully. diff --git a/doc/upgrade-1.1.1.txt b/doc/upgrade-1.1.1.txt deleted file mode 100644 index e626d739..00000000 --- a/doc/upgrade-1.1.1.txt +++ /dev/null @@ -1,136 +0,0 @@ - -------------------------------------------------------------------------------- - -Upgrading VIVO - -Steps to Upgrade from Release 1 Version 1.1 to Release 1 Version 1.1.1 - -This file provides a short description of the steps involved in upgrading your -installation of VIVO from Release 1 Version 1.1 to Release 1 Version 1.1.1. -For upgrades from V1.0 to V1.1.1 please see the upgrade-1.1.txt file. -This and other documentation can be found at: - -http://vivoweb.org/support - -Installation: -If you need to do a fresh install, please consult the install.txt in this -directory. - -------------------------------------------------------------------------------- - -I. Before Performing the Upgrade -II. The Upgrade Process -III. Ontology -IV. File Storage System -V. Theme Changes - -------------------------------------------------------------------------------- - -I. Before Performing the Upgrade - -Please read the bullet points below BEFORE beginning the upgrade. - -The upgrade process is similar to the original install process with the following -exceptions: - -* DO NOT reinstall MySQL or recreate the MySQL database. Please ensure that - you back-up the MySQL database. -* It is not necessary to add RDF data. -* 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. - -------------------------------------------------------------------------------- - -II. The Upgrade Process - - -1. Ensure that backups are created of the Tomcat webapps directory, the - original source directory, the MySQL database, and the uploaded files - directory (images). - -2. Download the new distribution file and unpack it into a new source - directory. - -3. Create deploy.properties, using the same values as in your previous - installation. - -4. Apply any previous changes you have made to the new source directory. - - ************* Special notes regarding source files ******************** - - 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. - - 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. - - For NIH-funded institutions: - At a minimum it will be necessary to apply the Google Analytics Tracking - Code (GATC) to googleAnalytics.ftl in the theme: - - [new_source_directory]/themes/[theme_dir]/templates/googleAnalytics.ftl - - A sample googleAnalytics.ftl 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 - VIVO Google Analytics wiki page: - https://confluence.cornell.edu/display/ennsrd/Google+Analytics+for+UI - - ************************************************************************ - -5. If you had modified web.xml to configure the Pellet Reasoner (as described - in the installation instructions), repeat that modification. - -6. Stop "Apache Tomcat" and run ant by typing: ant all - -7. If you have set up the Apache Tomcat Connector using mod_jk and modified - your tomcat/conf/server.xml file, there are no changes in this upgrade. - For upgrades from V1.0 to V1.1.1, please see the upgrade-1.1.txt file. - -8. VIVO is a multithreaded web application that may require more threads than - are permitted under your Linux installation's default configuration. Ensure - that your installation can support the required number of threads by making - the following edits to /etc/security/limits.conf: - - apache hard nproc 400 - tomcat6 hard nproc 1500 - -9. Start "Apache Tomcat" and log in to VIVO. - -------------------------------------------------------------------------------- - -III. Ontology Changes - -There are some minor changes to the ontology with the V1.1.1 upgrade, but there -is no data migration occurring. For upgrades from V1.0 to V1.1.1, please see the -upgrade-1.1.txt file. - -------------------------------------------------------------------------------- - -IV. File Storage System - -There are no changes to the file storage system with the upgrade from V1.1 -to V1.1.1. For changes related to upgrading from V1.0 to V1.1.1, -please see the upgrade-1.1.txt file. - -------------------------------------------------------------------------------- - -V. Theme Changes - -Follow step A or B below, whichever is applicable to your site: - -A. If you did not create a customized theme for your site in VIVO 1.0, but used -the 1.0 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. - -B. If you created your own theme directory in VIVO 1.1, you can copy it back -into the theme directory location: /vivo/themes/* - -If you are upgrading from V1.0 to V1.1.1, please see the upgrade-1.1.txt file. \ No newline at end of file diff --git a/doc/upgrade-1.1.txt b/doc/upgrade-1.1.txt deleted file mode 100644 index 1b938986..00000000 --- a/doc/upgrade-1.1.txt +++ /dev/null @@ -1,371 +0,0 @@ - -------------------------------------------------------------------------------- - -Upgrading VIVO - -Steps to Upgrade from Release 1 Version 1.0 to Release 1 Version 1.1 - -This file provides a short description of the steps involved in upgrading your -installation of VIVO from Release 1 Version 1.0 to Release 1 Version 1.1. -This and other documentation can be found at: - -http://vivoweb.org/support - -Installation: -If you need to do a fresh install, please consult the install.txt in this -directory. - -------------------------------------------------------------------------------- - -I. Before Performing the Upgrade -II. The Upgrade Process -III. Ontology Upgrade - A. Verify Ontology upgrade process - B. Ontology knowledge base manual r -IV. New File Storage System - A. Verifying the File Storage upgrade - B. File Storage changes -V. Theme Changes - -------------------------------------------------------------------------------- - -I. Before Performing the Upgrade - -Please read the bullet points below BEFORE beginning the upgrade. - -The upgrade process is similar to the original install process with the following -exceptions: - -* DO NOT reinstall MySQL or recreate the MySQL database. Please ensure that - you back-up the MySQL database. -* It is not necessary to add RDF data. -* 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. -* 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 "Ontology Upgrade" - below for more information. -* The first time Apache Tomcat starts up after the upgrade, it will - initiate a process that modifies the uploaded files directory (images), to - align the uploaded files with the revised file storage scheme. See the - section on "File Storage Changes" below for more information. - -------------------------------------------------------------------------------- - -II. The Upgrade Process - - -1. Ensure that backups are created of the Tomcat webapps directory, the - original source directory, the MySQL database, and the uploaded files - directory (images). - -2. Download the new distribution file and unpack it into a new source - directory. - -3. Create deploy.properties, using the same values as in your previous - installation. - -4. Apply any previous changes you have made to the new source directory. - - ************* Special notes regarding source files ******************** - - 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. - - 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. - - At a minimum it will be necessary to apply the Google Analytics Tracking - Code (GATC) to googleAnalytics.ftl in the theme: - - [new_source_directory]/themes/[theme_dir]/templates/googleAnalytics.ftl - - A sample googleAnalytics.ftl 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 - VIVO Google Analytics wiki page: - https://confluence.cornell.edu/display/ennsrd/Google+Analytics+for+UI - - ************************************************************************ - -5. If you had modified web.xml to configure the Pellet Reasoner (as described - in the installation instructions), repeat that modification. - -6. Stop "Apache Tomcat" and run ant by typing: ant all - -7. If you have set up the Apache Tomcat Connector using mod_jk and modified - your tomcat/conf/server.xml file, you will need to add a line to your - context section specifying a "Manager" tag; see examples below. - - Context section before: - - - - - - Context section after: - - - - - - -8. Start "Apache Tomcat" and log in to VIVO. - -------------------------------------------------------------------------------- - -III. Ontology Changes - -A. Verify Ontology upgrade process - -After Apache Tomcat is started, these files should be reviewed to verify that -the automated upgrade process was executed successfully. The ontology alignment -process will create the following files in the Tomcat webapps/vivo/WEB-INF directory: - -ontologies/update/logs/knowledgeBaseUpdate.log - 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". - -ontologies/update/logs/knowledgeBaseUpdate.error.log - A log of errors that were encountered during the upgrade process. This file - should be empty if the upgrade was successful. - -ontologies/update/changedData/removedData.n3 - An N3 file containing all the statements that were removed from the knowledge base. - -ontologies/update/changedData/addedData.n3 - An N3 file containing all the statements that were added to the knowledge base. - -B. Ontology knowledge base manual review - -Changes to the VIVO core ontology may require corresponding -modifications of the knowledge base instance data and local ontology -extensions. - -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: - - Class or Property renaming - 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. - - Class or Property deletion - All individuals in a deleted class will be changed to - belong to the nearest available superclass (which may be owl:Thing). - - 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. - - Class or Property addition - If a newly added class has a superclass and there are - individuals in that superclass, then a note will be - added to the log file suggesting review of those individuals to - see if they should be reasserted in the newly added class. - - If a newly added property has a superproperty and there are - statements using the superproperty, then a note will be added to - the log file suggesting review of those statements to see if they - should be reasserted using the newly added property. - - Annotation property default values - 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. - 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. - -------------------------------------------------------------------------------- - -IV. New File Storage System - -A. Verifying the File Storage upgrade - -If the File Storage upgrade process is not successful, no uploaded images will -be displayed for individuals. Tomcat's "vivo.all.log" log file will contain -an exception listing with more information. - -The File Storage upgrade process will create these files in the VIVO upload -directory: - -upgrade/upgradeLog.2010-00-00T00-00-00.txt - A log of the upgrade process. The actual filename includes a timestamp - that tells when the upgrade executed. This file should be inspected - for warnings or errors. The file should end with "File Storage update - is complete." - -upgrade/translatedImages - Contains the images that were translated to the new file storage system. - -upgrade/unreferencedImages - Contains the images which were in the "images" directory, but were no - longer referred to by any Individual. - -file_storage_root - A directory where the uploaded images are stored. Within the root, the - path to the image is derived from its unique ID and its filename. - -file_storage_namespaces.properties - Contains the URL prefix used when serving the image files. - -B. File Storage changes - -Changes to the File Storage system in VIVO result in new properties to describe -the relationships involving files, and a new directory structure in which to -store the files. - -Uploaded files are stored in the VIVO upload directory, as defined in the -deploy.properties file. Previously, images were stored in the "images" folder -of the upload directory. Now, all uploaded files will be stored in the -"file_storage_root" folder of the upload directory. - -Previously, image files were served from the images directory within the web -application, within Tomcat, and copied to the upload directory for backup -purposes. Now, image files are stored only in the upload directory, and served -directly from there. The image directory within the web application is no -longer used. - -When Apache Tomcat starts up following the upgrade, it will initiate a process -which makes the required changes: - - Initializing the file storage system - Each file will now be assigned a unique ID, in addition to its filename. - Both the ID and filename are used to store the file within the system. - Uploading two images with identical filenames will not cause a conflict. - - Pruning dead image references - Previous versions allowed manual editing of file paths, sometimes resulting - in erroneous information. Any image properties that refer to non-existent - files will be removed. - - Removing unreferenced images - Any uploaded image which is no longer referred to by an Individual will - be removed. - - Generating main images and/or thumbnails - Each image will be represented by both a main image file and a - thumbnail image file. If either of these is missing for a particular - individual, it will be created. - - Converting image properties on Individuals - Image properties previously were simple data properties, referring to - the filename and path. These are replaced by object properties, which - refer to the file by its unique ID. - - Translating images into the new directory structure - Each image file will be copied to its new location in the upload - directory. - - Cleaning the old image directory - All image files are removed from their old locations in the upload - directory. - -Once you are satisfied that the File Storage upgrade process is successful, -you may delete the "images" folder and the "upgrade" folder from the upload -directory. You may also delete the WEB-INF/images directory from within -your Tomcat web application. - -------------------------------------------------------------------------------- - -V. Theme Changes - -VIVO 1.1 introduces the first step in a transition from JavaServer Pages (JSPs) -to the FreeMarker template engine for generating web pages. As part of this -process, the JSP files that were used for theme customization in earlier -versions of VIVO have been replaced by a set of FreeMarker templates. -In the 1.1 install package, these files are located in -/vivo/themes/vivo-basic/templates and have an ftl (for FreeMarker Template -Language) extension. - -Follow step A or B below, whichever is applicable to your site: - -A. If you did not create a customized theme for your site in VIVO 1.0, but used -the 1.0 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. - -B. If you created your own theme directory in VIVO 1.0, follow the steps below -under sections "Templates," "Stylesheets," and "Site Icons" to upgrade your -theme to VIVO 1.1. - - 1. Templates - - a. Copy the directory /vivo/themes/vivo-basic/templates into your theme - directory /vivo/themes/. - - b. Follow step i or ii below, whichever is applicable to your theme. - - i. 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. - - ii. 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. - - 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: - - identity.jsp => identity.ftl - menu.jsp => menu.ftl and search.ftl - footer.jsp => footer.ftl and googleAnalytics.ftl - - googleAnalytics.ftl is a new file to which you will add - your site's Google Analytics Tracking Code (see section II). - - 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. - - Consult the FreeMarker Template Author's Guide at - http://freemarker.org/docs/dgui.html and the Reference at - http://freemarker.org/docs/ref.html 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. - - c. Remove the jsp directory from your themes directory. - - 2. Stylesheets - - 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. - - 3. Site Icons - - Copy the site icons from your 1.0 theme into the site_icons folder in - your 1.1 theme. \ No newline at end of file diff --git a/doc/upgrade-1.2.html b/doc/upgrade-1.2.html deleted file mode 100644 index d3b4a857..00000000 --- a/doc/upgrade-1.2.html +++ /dev/null @@ -1,895 +0,0 @@ - - - - - VIVO Release 1 V1.2 Upgrade Guide - - - - - -
    -

    VIVO Release 1 v1.2 Upgrade Guide

    - - February 16, 2011 - Upgrading from Release 1 v1.1 to Release 1 - v1.2 - - - - -

    - 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 support page - at VIVOweb.org -

    -

    - If you need to do a fresh install, please consult the VIVO Release 1 v1.2 - Installation Guide found on vivoweb.org - or the install.html file located in the doc - directory of the VIVO source code distribution. The installation - document also has a list of the required software and versions. -

    -

    Release anouncement for V1.2

    -

    - 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 - http://sourceforge.net/projects/vivo. -

    -

    Templating system for page generation, navigation, and theming

    -

    - 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. -

    -

    Storage model

    -

    - 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. -

    -

    - 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. -

    -

    New visualizations

    -

    - 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. -

    -

    Ontology

    -

    - VIVO 1.2 includes a new ontology module representing research - 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 - NIH-funded eagle-i Project. -

    -

    Associated VIVO releases

    -

    VIVO Harvester

    -

    - 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 - http://sourceforge.net/projects/vivo. -

    -

    Upgrade process for V1.2

    - -
      -
    1. - Before Performing the Upgrade -
    2. -
    3. - Chose Triple Store -
    4. -
    5. - The Upgrade Process -
    6. -
    7. - Ontology Changes -
        -
      1. - Verify Ontology upgrade - process -
      2. -
      3. - Ontology knowledge base - manual review -
      4. -
      -
    8. -
    9. - File Storage System Upgrade -
        -
      1. - Changes to the File - Storage System -
      2. -
      3. - Verify File Storage - System upgrade process -
      4. -
      -
    10. -
    11. - Theme Changes -
    12. -
    13. - Set Up SDB Store in the Background (Optional) -
    14. -
    -
    -

    I. Before Performing the Upgrade

    -

    - Please ensure that backups are created of the: -

    -
      -
    • - Tomcat webapps directory -
    • -
    • - Original source directory -
    • -
    • - MySQL database (mysqldump) -
    • -
    -

    - The upgrade process is similar to the original install process with - the following EXCEPTIONS: -

    -
      -
    • - DO NOT reinstall MySQL or recreate the MySQL database. Please - ensure that you back-up the MySQL database. Also 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. -
    • -
    • - It is not necessary to add RDF data. -
    • -
    • - 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. -
    • -
    • - 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 Ontology Upgrade - below for more information. -
    • -
    -

    II. Choose Triple Store

    -

    - VIVO 1.2 offers a choice of two triple store technologies: in-memory models backed by - Jena's legacy relational database store (RDB), and Jena's SPARQL database (SDB). RDB was - 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. -

    -

    - 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. -

    -

    - 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. -

    -

    - A VIVO 1.2 system that is upgraded from VIVO 1.1.1 must initially be run in RDB mode in order - to receive required ontology updates. Attempting to run an upgraded system initially in SDB will - result in a logged error message, and the application will not start. After the system starts - up successfully the first time in RDB mode, it may then be switched to SDB, redeployed, and restarted. - Upon restart, the data in the RDB store will be copied to the SDB store. -

    -

    - This copying process can take a number of hours to complete if the installation contains a large - amount of RDF data (roughly a million triples or more). See section Set Up SDB Store in the Background (Optional) - for instructions on how - to run this lengthy conversion process in the background while an RDB system is operating. - Doing this will reduce the time necessary to start VIVO the first time it is run in SDB mode. -

    -

    III. The Upgrade Process

    -

    - 1. Download the new distribution file and unpack it into a new - source directory. -

    -

    - 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 blue. -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - Property Name - - Example Value -
    - 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 - a 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/"

    * The namespace must end with "individual/" (including the - trailing slash).

    -
    - Vitro.defaultNamespace - - http://vivo.mydomain.edu/individual/ -
    - Directory where Vitro code is located. In most - deployments, this is set to ./vitro-core (It is not uncommon for this - setting to point elsewhere in development environments). -
    - vitro.core.dir - - ./vitro-core -
    - Directory where tomcat is installed. -
    - tomcat.home - - /usr/local/tomcat -
    - Name of your VIVO application. -
    - webapp.name - - vivo -
    - Directory where uploaded files will be stored. - Be sure this directory exists and is writable by the user who - the Tomcat service is running as. -
    - upload.directory - - /usr/local/vivo/data/uploads -
    - Directory where the Lucene search index will be - built. Be sure this directory exists and is writable by the user who - the Tomcat service is running as. -
    - LuceneSetup.indexDir - - /usr/local/vivo/data/luceneIndex -
    - 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. -
    - Vitro.smtpHost - - smtp.servername.edu -
    - Specify the JDBC URL of your database. Change - the end of the URL to reflect your database name (if it is not "vivo"). -
    - VitroConnection.DataSource.url - - jdbc:mysql://localhost/vivo -
    - Change the username to match the authorized user - you created in MySQL. -
    - VitroConnection.DataSource.username - - username -
    - Change the password to match the password you - created in MySQL. -
    - VitroConnection.DataSource.password - - password -
    - 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. -
    - VitroConnection.DataSource.tripleStoreType - - SDB -
    - 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. -
    - VitroConnection.DataSource.pool.maxActive - - 40 -
    - 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. -
    - VitroConnection.DataSource.pool.maxIdle - - 10 -
    - 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. -
    - VitroConnection.DataSource.dbtype - - MySQL -
    - 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 webapp/lib - directory within the vitro.core.dir specified above. -
    - VitroConnection.DataSource.driver - - com.mysql.jdbc.Driver -
    - Change the validation query used to test - database connections only if necessary to use a database other than - MySQL. Otherwise, leave this value unchanged. -
    - VitroConnection.DataSource.validationQuery - - SELECT 1 -
    - 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. -
    - initialAdminUser - - defaultAdmin -
    - The URI 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.  For example, to use the netID - at Cornell University as the property: -
    - seflEditing.idMatchingProperty - = - http://vivo.cornell.edu/ns/hr/0.9/hr.owl#netId -
    - selfEditing.idMatchingProperty - - http://vivo.mydomain.edu/ns#networkId -
    - 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. -
    • -
    - 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. -
    - 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-trunk.indiana.edu/individual/topLevelOrgURI -
    -

    - 3. Apply any previous changes you have made to the new source - directory. -

    -
    - Special notes regarding source files -
      -
    • - 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. -
    • -
    • - 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. -
    • -
    • - NIH-funded VIVO implementations will need to apply the Google - Analytics Tracking Code (GATC) to googleAnalytics.ftl - in the theme:
      [new_source_directory]/themes/[theme_dir]/templates/googleAnalytics.ftl
      - A sample googleAnalytics.ftl - 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 of your institution's tracking code, see - the VIVO Google Analytics wiki page. -
    • -
    • - If you had used the vivo/contrib/FLShibboleth - code in your previous release, you should stop using it. Consult install.html - or VIVO Release 1 - v1.2 Installation Guide - on "Using an External Authentication System - with VIVO". -
    • -
    -
    -

    - 4. If you had modified web.xml - to configure the Pellet Reasoner (as described - in the installation instructions), repeat that modification. -

    -

    - 5. Stop Apache Tomcat and run ant by typing: ant all -

    -

    - 6. Start Apache Tomcat and log in to VIVO. -

    -

    IV. Ontology Changes

    -

    i. Verify Ontology upgrade process

    -

    - After Apache Tomcat is started, these files should be reviewed to - verify that the automated upgrade process was executed - successfully.  The ontology alignment process will create the - following files in the Tomcat webapps/vivo/WEB-INF directory: -

    -
    -
    - ontologies/update/logs/knowledgeBaseUpdate.log -
    -
    - 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 - "Finished knowledge base migration". - If this file contains any warnings they should be reviewed with - your implementation team representative to see whether any - corrective action needs to be taken. -
    -
    -
    -
    - ontologies/update/logs/knowledgeBaseUpdate.error.log -
    -
    - A log of errors that were encountered during the upgrade process. This - file should be empty if the upgrade was successful. -
    -
    -
    -
    - ontologies/update/changedData/removedData.n3 -
    -
    - An N3 file containing all the statements that were removed from the - knowledge base. -
    -
    -
    -
    - ontologies/update/changedData/addedData.n3 -
    -
    - An N3 file containing all the statements that were added to the - knowledge base. -
    -
    -

    ii. Ontology knowledge base manual review

    -

    - Changes to the VIVO core ontology may require corresponding - modifications of the knowledge base instance data and local ontology - extensions. -

    -

    - 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: -

    -
    -
    - Class or Property renaming -
    -
    - 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. -
    -
    -
    -
    - Class or Property deletion -
    -
    - All individuals in a deleted class will be removed. -
    - 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. -
    -
    -
    -
    - Property addition -
    -
    - 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. -
    -
    -
    -
    - Annotation property default values -
    -
    - 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. -
    - 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. -
    -
    -

    V. File Storage System Upgrade

    -

    i. Changes to the File Storage System

    -

    - Each uploaded file exists as an individual in VIVO. When the browser - requests an uploaded file from VIVO, the data model is queried to find - out where the file is actually stored, so it can be downloaded to the - browser. -

    -

    - In VIVO 1.2 this storage location, known as the "Alias URL" for - the uploaded file, is stored in the file individual. That way, pages that - contain many files can be displayed much more quickly. -

    -

    - When Apache Tomcat starts up after the upgrade, - it will initiate a process to calculate the "Alias URL" - for each existing file and store it in the data model for fast access. -

    -

    ii. Verify File Storage System upgrade process

    -

    - The File Storage upgrade process will create a log file in the - VIVO upload directory. You should review this file to ensure that - this upgrade worked properly. -

    -
    -
    - upgrade/FileStorageAliasAdder-log.2011-00-00T00-00-00.txt -
    -
    - A log of the upgrade process. The actual filename includes a timestamp - that tells when the upgrade executed. - This file should end withFinished adding alias URLs to FileByteStreams. - If this file contains any warnings they should be reviewed with - your implementation team representative to see whether any - corrective action needs to be taken. -
    -
    -

    VI. Theme Changes

    -

    Introducing a New Default Theme

    -

    - VIVO 1.2 includes a new default theme called wilma - (located in - /vivo/themes/wilma) which fully supports all 1.2 features. For details on how to - create your own theme using wilma as a starting point, please review the Site Administrator's Guide. -

    -
    -

    The vivo-basic theme has been deprecated with the 1.2 release and is not - recommended for production instances.

    -

    - Since vivo-basic was the default theme for all previous releases, it is - included as part of VIVO 1.2 to help with the transition of upgrading - existing installations to the latest code, but all vivo-basic development - has ceased and it will not be distributed in future releases. -

    -

    - Please note that vivo-basic does not support all of the new 1.2 features. - Most notably, in choosing to use vivo-basic you will be missing out on the - following: -

    -
      -
    • - new primary menu for site navigation (replaces tabs) -
    • -
    • - home page with class group browse and visual graph -
    • -
    • - menu pages with class group and individual browse -
    • -
    -
    -

    Templates

    -

    - The 1.2 release continues the transition from JavaServer Pages (.jsp) to - Freemarker templates (.ftl) for generating web pages. While there are still - JSP files in action behind the scenes, as of 1.2 all theme templates - are of the Freemarker variety and are located in the "templates" directory - within a theme. -

    -

    - If you did not create a custom theme for your site previously, but used - the vivo-basic theme in its original directory, you need not take any - action in order to remain using the vivo-basic theme in 1.2. -

    -

    - If you did make changes to the vivo-basic theme, you will need to reapply those changes. - We recommend you apply these changes to the wilma theme. -

    -
    - Please note: - The vivo-basic theme has been deprecated and is not recommended for production instances. -
    -

    - For details on the new structure of themes in 1.2 and further information - regarding the development of your own custom theme, please review the Site Administrator's Guide. This document will focus on updating an existing - pre 1.2 theme. -

    -

    VII. Set Up SDB Store in the Background (Optional)

    -

    - If your VIVO installation is running in RDB mode, and you'd like to convert - to SDB, you can start the conversion process in the background while the RDB - system is running. This will reduce the delay in initial startup after the - application is redeployed with deploy.properties set for SDB. Note that it - is important not to edit any data anywhere in the application while this - background conversion is running. -

    -

    - To start the SDB conversion, log in as a system - administrator and request /sdbsetup (For example, if your VIVO is installed - at http://vivo.myuniversity.edu/ you would type - http://vivo.myuniversity.edu/sdbsetup into your browser). -

    -

    - Click the button that appears on this page. -

    -

    - During the course of the SDB setup, which may take several hours on a - large database, subsequent requests to /sdbsetup will display a - message that the operation is still in progress. When a request for this - page shows a message that the SDB setup has completed successfully, shut down - Tomcat, set deploy.properties to SDB mode, redeploy, and restart Tomcat. - VIVO will now be running from the SDB store. -

    -
    - - - - diff --git a/doc/upgrade-1.3.html b/doc/upgrade-1.3.html deleted file mode 100644 index 5d4970c6..00000000 --- a/doc/upgrade-1.3.html +++ /dev/null @@ -1,1324 +0,0 @@ - - - - - - VIVO Release 1 V1.3 Upgrade Guide - - - - - -
    -

    VIVO Release 1 V1.3 Upgrade Guide

    - - July 29, 2011 - Upgrading from Release 1 V1.2 to Release 1 V1.3 - - - - -

    - This document provides a short description of the steps involved in - upgrading your installation of VIVO from Version 1.2+ to Version 1.3. - This and other documentation can be found on the support page - at VIVOweb.org -

    -

    - If you need to do a fresh install, please consult the VIVO Release V1.3 Installation - Guide found on vivoweb.org - or the install.html file located in the doc - directory of the VIVO source code distribution. The installation document also has a - list of the required software and versions (there are no new hardware - or software requirements for V1.3). -

    -

    Release Announcement for V1.3

    - VIVO Release V1.3 incorporates changes to the search - indexing, user accounts, menu management, ontology, and visualizations, and begins - integration of VIVO Harvester functions with VIVO's own ingest tools. -
    -

    Search

    -

    - VIVO V1.3 will feature notable improvements to the local search, primarily to improve relevance - ranking but also to boost the influence of semantic relationships in the search. This will - improve recall by including text from related resources (e.g., adding a person's grant and - publication titles to his or her search entry) and by boosting overall relevance ranking - based on the number and nature of connections from one individual to others. -

    -

    - VIVO is now using Apache Solr (http://lucene.apache.org/solr/) in place of Apache Lucene to - improve indexing and faceting of search results. The migration to Solr also aligns the - local search with the VIVO multi-site search site under development for release prior to - the 2011 VIVO Conference. -

    -

    Authorization

    -

    - Release V1.3 provides an entirely new model of authorization within the - VIVO application to allow more granular control over system - configuration and editing. The first phase of the new user account - interface is included in V1.3. This interface provides a user search, a - root acount, and password reset functionality where the password gets - emailed to the user. The next phase will provide the ability to create - new roles. -

    -

    Menu management

    -

    - The menus across the top of the site (Home, People, Organizations, - Research, Events) can now be managed in a web form instead of editing - an RDF file. In addition to making site management much easier, - form-based editing also allows more control over what classes of data - are displayed and provides a mechanism to limit certain menu pages to - content identified as internal to the institution. -

    -

    FreeMarker template improvements

    -

    - While less directly visible to the public, V1.3 also includes - additional changes focused directly on supporting open source community - involvement in extending and customizing VIVO. The development team - began a year ago to transition VIVO's code base away from Java Server - Pages to the FreeMarker page templating system that much more cleanly - separates internal application programming logic from page display. -

    -

    Visualization

    -

    - The visualization team has implemented a Map of Science visualization, - which allows users to visually explore the scientific strengths of a - university, school, department, or person in the VIVO instance. Users - will be able to see where an organization or person's interests lay - across 13 major scientific disciplines or 554 sub-disciplines, and will - be able to see how these disciplines and sub-disciplines interrelate - with one another on the Map of Science. Wireframes and design - documentation for upcoming enhanced versions of the Map of Science - visualization have already been developed; the Map of Science - visualization will most likely be in the form of a PDF that a user can - download. -

    -

    - Several visualizations also now provide a caching feature that improves - performance after the initial processing. -

    -

    QR Codes

    -

    - Pages for people in VIVO now have an icon for displaying QR codes to allow - capturing names and available contact information on mobile devices. -

    -

    Harvester Integration

    -

    - VIVO sites have the option with Release 1.3 of coordinating the configuration - of VIVO and the Harvester to enable many Harvester functions to be initiated - from the VIVO Ingest Tools menu in support of more unified and centralized - management for data ingest. -

    -

    Ontology changes

    -
      -
    • - support for certifications and licenses -
    • -
    • - expanded support for intellectual property (patents) (it was - there as stub before but didn't allow common things such as assignee - and issuer) -
    • -
    • - support for editorial, reviewing and organizing activities -
    • -
    • - expanded shared geographical instance data vocabulary to include - the 50 U.S. states -
    • -
    • - representing specific types of EducationalTraining: - PostdoctoralTraining, Internship, MedicalResidency -
    • -
    -

    Linked open data

    -

    - Responses to linked data requests have been enhanced to include - additional context about any individual, in working toward a goal of - being able to provide all the data in a person's profile available as - RDF via a single web request. -

    -
    -

    Upgrade process for V1.3

    - -
      -
    1. - Before Performing the Upgrade -
    2. -
    3. - Noteworthy Changes -
      -
    4. -
        -
      1. - Triple Store -
      2. -
      3. - Theme -
      4. -
      5. - Templates -
      6. -
      7. - List Views -
      8. -
      9. - Authorization -
      10. -
      -
    5. - The Upgrade Process -
    6. -
    7. - Ontology Changes -
        -
      1. - Verify - Ontology upgrade process -
      2. -
      3. - Ontology - knowledge - base - manual review -
      4. -
      -
    8. -
    9. - Review the VIVO Terms of Use -
    10. -
    -

    I. Before Performing the Upgrade

    -

    - Please ensure that backups are created of the: -

    -
      -
    • - Tomcat webapps directory -
    • -
    • - Original source directory -
    • -
    • - MySQL database (mysqldump) -
    • -
    -

    - The upgrade process is similar to the original install process - with - the following EXCEPTIONS: -

    -
      -
    • - If you are still in RDB mode, it is required that you move - your - triple store to SDB while still at V1.2 (see Triple - Store - info below).  -
      -
    • -
    • - DO NOT reinstall MySQL or recreate the MySQL database. Please - ensure that you back-up the MySQL database. Also 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. -
    • -
    • - It is not necessary to add RDF data. -
    • -
    • - 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. With V1.3 there is also a new root user. Please see the - section on Authorization changes - for more - information. -
    • -
    • - 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 Ontology Upgrade - below for more information. -
    • -
    -

    II. Noteworthy Changes

    -

    i. Triple store -
    -

    -

    - VIVO 1.3 now requires you to use Jena's SPARQL database (SDB) for - the triple store technology.  Jena's legacy relational database - store (RDB) was used by VIVO 1.1.1 and earlier.  Both SDB and RDB - were available in VIVO 1.2 and 1.2.1.  It is required that you - move your triple store to SDB while still at V1.2. -

    -

    - 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 may 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, and they are generated as soon as data is - edited rather than in a background process. -

    -

    - A conversion from RDB to SDB mode can take a number of hours to - complete if the installation contains a large amount of RDF data - (roughly a million triples or more).  You can start the conversion - process in the background while the RDB system is running. This will - reduce the delay in initial startup after the application is redeployed - with deploy.properties set for SDB. Note - that it is important not to edit any data anywhere in the application - while this background conversion is running. -

    -

    - To start the SDB conversion, log in as a system administrator and - request /sdbsetup (for example, if your VIVO is installed at - http://vivo.myuniversity.edu/ you would type - http://vivo.myuniversity.edu/sdbsetup into your browser). -

    -

    - Click the button that appears on this page. -

    -

    - During the course of the SDB setup, which may take several hours - on - a large database, subsequent requests to /sdbsetup will display a - message that the operation is still in progress. When a request for - this page shows a message that the SDB setup has completed - successfully, shut down Tomcat, set deploy.properties to SDB mode, - redeploy, and restart Tomcat. VIVO will now be running from the SDB - store. -

    -

    -

    -

    ii. Theme

    -

    - The vivo-basic theme was deprecated with VIVO V1.2 and is no longer - present in the V1.3 release as it does not support V1.2 or V1.3 - features. It is highly recommended that you use the wilma theme or - modify the wilma theme for branding or to create a custom look and - feel. Please see the Site Administration Guide - for more information about customizing your - theme. -

    -
    -

    iii. Templates

    - -
      -
    • -

      - The ${stylesheets}, ${scripts}, - and ${headScripts} add() - methods now take the full tag as an argument. - This will require a change to all calls to these methods in the - templates. This change allows for specification of attributes such as media - directly in the tag. For example: -

      -
      - 1.2: ${stylesheets.add("/css/individual/individual.css")} -
      - 1.3: ${stylesheets.add('<link rel="stylesheet" - href="${urls.base}/css/individual/individual.css" />')} -
      -

      - Note the inclusion of ${urls.base} - in the 1.3 - example. The add() - method no longer prefixes the context - path to the url, so the full url must be specified in the tag. -

      -
    • -
    • - The addFromTheme() - methods of the ${stylesheets}, ${scripts}, - and ${headScripts} - objects have been deleted. Substitute as - shown in the preceding example. -
    • -
    • - propertyGroups.getPropertyAndRemoveFromList() - in the individual templates has been deprecated. The replacement method - ispropertyGroups.pullProperty(). - There is no change in functionality. -
    • -
    -
    -

    iv. List views

    - -
      -
    • - The file used to register list views has changed to a directory where new.rdf - or .n3 - files can be placed: /vivo/productMods/WEB-INF/ontologies/app/loadedAtStartup. The rdf required - to register a new view has not changed. -
    • -
    • - <query-base> - and <query-collated> - have been replaced with a single query <query-select> - that contains tags for fragments to be used only in the collated - version of the query. -
    • -
    -

    - These and other changes are documented in greater detail in/vitro/doc/list_view_configuration_guidelines.txt. -

    -
    -

    v. Authorization

    - -

    - In V1.3, the VIVO authorization system has some extensive - changes. In summary, these are: -

    -
      -
    • - Each user will have a user account, even if the user logs in - with Shibboleth or some other external authentication system. -
    • -
    • - E-mail is used to notify users when an account is created for - them, or when an administrator edits their account. -
    • -
    • - A "root" user account exists which has access to all pages and - all data fields. This is a powerful tool that can hold some surprises. -
    • -
    -
    - -

    a. User Accounts - are created for externally - authenticated users

    -
    -
    -

    - With V1.3, each authenticated user will have a user - account. If someone logs in using an external authentication system, - and no user account matches their external login credentials, an - account will be created. -

    -

    - The user will be prompted to enter information for the - account being created: first name, last name, and e-mail address. -

    -
    -
    -
    - -

    b. E-mail address - becomes an important part of User Accounts

    -
    -
    -

    - Prior to V1.3, each user account was identified by a - Username field. This field was labeled as "E-mail address" on some - pages in VIVO, but no mail was ever sent. In V1.3, this has - changed, so the e-mail address is fully used, both for identification - and for communication with the user. -

    -
    -
    -
    -
    - -
    1. User Account data is restructured
    -
    -
    - -
    -
    -

    - Prior to V1.3, the Username field (also referred to as - 'e-mail address') was used for several purposes: -

    -
      -
    • - Idenfiying the user account -
    • -
    • - Part of the user's credentials when logging in (along with - a password) -
    • -
    • - Connecting the user account to an external authentication - system, like Shibboleth or CUWebAuth -
    • -
    • - Connecting the user account to a personal Profile page -
    • -
    -

    - With V1.3, these functions are handled by two separate - fields called EmailAddress field and ExternalAuthId. -

    -
      -
    • - EmailAddress is used when logging in (along with a - password) -
    • -
    • - EmailAddress is used to send notifications to the user - about changes to his/her account (see below) -
    • -
    • - The ExternalAuthId is used when logging in using an - external authentication system -
    • -
    • - The ExternalAuthId is used to connect the user account to - a personal Profile page -
      - Note: - With V1.3, the ExternalAuthId can now be matched against either an untyped literal or a string literal in the Profile page. -
      -
    • -
    -

    - There are other changes to the internal structure of the user - accounts data, but they are important mostly to the VIVO software - developers, and you are not likely to notice them. -

    -
    -
    -
    -
    - -
    2. Existing User Accounts are migrated
    -
    -
    - -
    -
    -

    - If you are upgrading to VIVO V1.3 from an existing - VIVO - installation, the user accounts in your system will be migrated into - the new data structures. When migrating an account, both the - EmailAddress field and the ExternalAuthId field will be set to the - value of the Username field in the old account. The new account should - behave as the old account did. -

    -

    - When creating a new user account, or editing an existing one, - the system requires that your e-mail address be in a valid form, like somebody@somewhere.edu. - You - should - plan - for - this - as - part of your migration to V1.3 -

    -
    -
    -
    -
    - -
    3. E-mail is incorporated into the - workflow for User Accounts
    -
    -
    - -
    -
    -

    - With V1.3, VIVO users receive e-mail notifications - when - an account is created or modified for them or by them. -

    -

    - When an administrator creates a user account, the user will - receive an e-mail notification, telling them that the account has been - created, and providing a link to VIVO that will allow them to set a - password on the account. -

    -
    - Note: - when creating the account, - the - administrator may indicate that it will only be used with an external - authentication system like Shibboleth or CUWebAuth. In this case, the - account will not require a password, and the e-mail notification - message to the user will not provide a password link. -
    -

    - When an administrator edits a user account, he may choose to - reset the password. As with a new account, the user will receive - notification with a link to VIVO that will allow them to set a new - password. -

    -

    - If a user changes the e-mail address on his account, he will - receive a notification message to that effect. -

    -

    - If a user account is auto-created for a user with external - authentication credentials, the user will receive a notification - message. -

    -
    -
    -
    -
    - -
    4. Disabling e-mail notification
    -
    -
    - -
    -
    -

    - The e-mail notification relies on two configuration - properties: email.smtpHost - and email.replyTo. If either of these properties is - missing or empty, VIVO will not attempt to send e-mail notifications to - users. -

    -

    - This can be useful for small or experimental installations of - VIVO, or where e-mail notification is not desired. -

    -

    - If e-mail notifications are disabled, an administrator must - set - a password on each new account, since the user will have no way of - setting it. When the user logs in for the first time, VIVO will require - them to change their password to one of their own choosing. -

    -
    -
    -

    c. Each VIVO - installation will have a 'root' - account.

    -
    -
    -

    - Prior to V1.3, each VIVO - installation was created with - a - default administrator's account. In V1.3, there is no such - account. Instead, each VIVO installation will have a "root" account. -

    -

    - The email address for the root - account is specified in - deploy.properties, like this: -

    -
    rootUser.emailAddress = vivo_root@mydomain.edu
    -
    - The password for this account is - automatically set to rootPassword, - but - you - will - be - required - to change the password the first time you log - in. -
    -
    - Note: - the initialAdminUser - is no longer use. -
    -

    - The root account is not a site - administrator's account — it - is - more powerful than a site administrator's account. The root account is - permitted to visit any page in a VIVO application. It is permitted to - see any data property, and to enter data into any field. As such, the - root account can be very useful and rather dangerous. It can also give - you a distorted view of what your VIVO site looks like, since data is - shown here which ins not visible to other accounts. -

    -

    - The root account is not intended for - routine, everyday use. - The best way to use the root account is to create a site - administrator's account. After that, use the root account only when - necessary. -

    -
    -
    -

    III. The Upgrade Process

    -

    - 1. Download the new distribution file and unpack it into a new - source directory. -

    -

    - 2. Create a new deploy.properties using the same values as in - your - previous installation and set values for the new variables as described - below (vitro.local.solr.url, vitro.local.solr.ipaddress.mask, - vitro.home.directory, email.smptHost, email.replyTo, - rootUser.emailAddress) -
    -

    -

    - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - Property Name - - Example Value -
    - 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 a - 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/"
    * The namespace must end with "individual/" (including the - trailing slash).
    -
    - Vitro.defaultNamespace - - http://vivo.mydomain.edu/individual/ -
    - Directory where Vitro code is located. In most - deployments, this is set to ./vitro-core (It is not uncommon for this - setting to point elsewhere in development environments). -
    - vitro.core.dir - - ./vitro-core -
    - Directory where tomcat is installed. -
    - tomcat.home - - /usr/local/tomcat -
    - Name of your VIVO application. -
    - webapp.name - - vivo -
    - URL of Solr context used in local VIVO search. - Should consist of:
     scheme + servername + port + vivo_webapp_name + "solr"
    - In the standard installation, the Solr context will be on the same - server as VIVO, and in the same Tomcat instance. The path will be the - VIVO webapp.name (specified above) + "solr" -
    - vitro.local.solr.url - - http://localhost:8080/vivosolr -
    - Restricts access to the Solr search platform. - One or more regular expressions, separated by commas. When a request is - made to Solr, the IP address of the requestor must match one of the - patterns, or the request will be rejected. -
    - Examples: -
      -
    • - vitro.local.solr.ipaddress.mask = 127\.0\.0\.1 -
    • -
    • - vitro.local.solr.ipaddress.mask = - 127\.0\.0\.1,0:0:0:0:0:0:0:1 -
    • -
    • - vitro.local.solr.ipaddress.mask = 169.254.* -
    • -
    -
    -
    - vitro.local.solr.ipaddress.mask - - 127\.0\.0\.1,0:0:0:0:0:0:0:1 -
    - Directory where the VIVO application will - store - the data that it creates. This includes uploaded files (usually images) - and the Solr search index. Be sure this directory exists and is - writable by the user who the Tomcat service is running as. -
    - vitro.home.directory - - /usr/local/vivo/data -
    - Specify an SMTP host that the application will - use for sending e-mail (Optional). If this is left blank, the contact - form will be hidden and disabled, and users will not be notified of - changes to their accounts. -
    - email.smtpHost - - smtp.servername.edu -
    - Specify an email address which will appear as - the sender in e-mail notifications to users (Optional). If a user - replies to the notification, this address will receive the reply. If a - user's e-mail address is invalid, this address will receive the error - notice. If this is left blank, users will not be notified of changes to - their accounts. -
    - email.replyTo - - vivoAdmin@my.domain.edu -
    - Specify the JDBC URL of your database. Change - the end of the URL to reflect your database name (if it is not "vivo"). -
    - VitroConnection.DataSource.url - - jdbc:mysql://localhost/vivo -
    - Change the username to match the authorized - user - you created in MySQL. -
    - VitroConnection.DataSource.username - - username -
    - Change the password to match the password you - created in MySQL. -
    - VitroConnection.DataSource.password - - password -
    - 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. -
    - VitroConnection.DataSource.pool.maxActive - - 40 -
    - 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. -
    - VitroConnection.DataSource.pool.maxIdle - - 10 -
    - 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. -
    - VitroConnection.DataSource.dbtype - - MySQL -
    - Specify a driver class name to use a database - other than MySQL. Otherwise, leave this value unchanged. The JAR file - for this driver must be added to the the webapp/lib directory within - the vitro.core.dir specified above. -
    - VitroConnection.DataSource.driver - - com.mysql.jdbc.Driver -
    - Change the validation query used to test - database connections only if necessary to use a database other than - MySQL. Otherwise, leave this value unchanged. -
    - VitroConnection.DataSource.validationQuery - - SELECT 1 -
    - Specify the email address of the root user - account for the VIVO application. This user will have an initial - temporary password of 'rootPassword'. You will be prompted to create a - new password on first login. -
    - rootUser.emailAddress - - vivoAdmin@my.domain.edu -
    - The URI 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. -
    - selfEditing.idMatchingProperty - - http://vivo.mydomain.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 -
    - externalAuth.netIdHeaderName -
    - Log in using BearCat Shibboleth -
    - remote_userID -
    - The temporal graph visualization can require - extensive machine resources. This can have a particularly noticable - impact on memory usage if -
      -
    • - The organization tree is deep, -
    • -
    • - The number of grants and publications is large. -
    • -
    - VIVO V1.3 mitigates this problem by the way of a caching - mechanism and hence we can safely set this to be enabled by default. -
    - 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 -
    - An absolute file path, pointing to the root directory of the Harvester utility. - You must include the final slash. - Setting a value for harvester.location indicates that the Harvester is installed at - this path. This will enable the Harvester functions in the Ingest Tools page. -
    - harvester.location - - /usr/local/vivo/harvester/ -
    -

    - 3. Apply any previous changes you have made to the new source - directory. -

    -
    - Special notes regarding source files -
      -
    • - 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. -
    • -
    • - 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. -
    • -
    • - NIH-funded VIVO implementations will need to apply the - Google - Analytics Tracking Code (GATC) to googleAnalytics.ftl - in - the theme:
      [new_source_directory]/themes/[theme_dir]/templates/googleAnalytics.ftl
      - A sample googleAnalytics.ftl - 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 of your institution's tracking code, - see the VIVO - Google - Analytics - wiki - page. -
    • -
    • - If you had used the vivo/contrib/FLShibboleth - code in your previous release, you should stop using it. Consult install.html - or VIVO Release 1 - v1.2 Installation Guide - on "Using an External Authentication System - with VIVO". -
    • -
    -
    -

    - 4. If you had modified web.xml - to configure the - Pellet Reasoner (as described in the installation instructions), repeat - that modification. -

    -

    - 5. Stop Apache Tomcat and from your VIVO source directory, run - ant - by typing: ant all -

    -

    - 6. Start Apache Tomcat and log into VIVO as the root user when the upgrade is - completed. Depending on the size of your database, the migration process may - take up to several hours. When it is complete, you will - see a message in the catalina.log file that the server has started.

    INFO: Server startup in XXXXX ms
    -

    -

    - 7. As root or an administrator, request a rebuild of the Solr search index: - Go to the "Site Admin" page and click on "Rebuild Search Index" under the - heading "Refresh Content". You can check on the - rebuild status by looking at the vivo.all.log in the tomcat logs. -

    -

    IV. Ontology Changes

    -

    i. Verify Ontology upgrade process

    -

    - After Apache Tomcat is started, these files should be reviewed to - verify that the automated upgrade process was executed - successfully.  The ontology alignment process will create the - following files in the Tomcat webapps/vivo/WEB-INF directory: -

    -
    -
    - ontologies/update/logs/knowledgeBaseUpdate.(timestamp).log -
    -
    - 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 "Finished knowledge base migration". If this file contains any - warnings they should be reviewed with your implementation team - representative to see whether any corrective action needs to be taken. -
    -
    -
    -
    - ontologies/update/logs/knowledgeBaseUpdate.(timestamp).error.log -
    -
    - A log of errors that were encountered during the upgrade - process. This file should be empty if the upgrade was successful. -
    -
    -
    -
    - ontologies/update/changedData/removedData.n3 -
    -
    - An N3 file containing all the statements that were removed - from - the knowledge base. -
    -
    -
    -
    - ontologies/update/changedData/addedData.n3 -
    -
    - An N3 file containing all the statements that were added to - the - knowledge base. -
    -
    -

    ii. Ontology knowledge base manual - review

    -

    - Changes to the VIVO core ontology may require corresponding - modifications of the knowledge base instance data and local ontology - extensions. -

    -

    - 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: -

    -
    -
    - Class or Property renaming -
    -
    - 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. -
    -
    -
    -
    - Class or Property deletion -
    -
    - All type assertions of a deleted class will be removed. -
    - 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. -
    -
    -
    -
    - Property addition -
    -
    - 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. -
    -
    -
    -
    - Annotation property default values -
    -
    - 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. -
    - 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. -
    -
    -

    V. Review the VIVO Terms of Use

    -

    - VIVO comes with a "Terms of Use" statement linked from the footer. The "Site Name" - you assign in the "Site Information" form under the Site Admin - area will be - inserted into the "Terms of Use" statement. If you want to edit the text content more than just - the "Site Name", the file can be found here:

    [vivo_source_dir]/vitro-core/webapp/web/templates/freemarker/body/termsOfUse.ftl
    - Be sure to make the changes in your source files and deploy them to your tomcat so you don't lose - your changes next time you deploy for another reason. -

    -

    Next Step ...

    -

    - Now that you have VIVO up and running, please go read the Site Administrator's Guide. -

    -
    - - - - -
    - - diff --git a/doc/upgrade-1.4.html b/doc/upgrade-1.4.html deleted file mode 100644 index 9e370ddc..00000000 --- a/doc/upgrade-1.4.html +++ /dev/null @@ -1,815 +0,0 @@ - - - - - - VIVO Release 1 V1.4 Upgrade Guide - - - - - -
    -

    VIVO Release 1 V1.4 Upgrade Guide

    - - December 9, 2011 - Upgrading from Release 1 V1.3 to Release 1 V1.4 - -

    - This document contains instructions on how to upgrade your - installation of VIVO from Version 1.3 to Version 1.4. - This and other documentation can be found on the support page - at VIVOweb.org -

    -

    - If you need to do a fresh install, please consult the VIVO Release V1.4 Installation - Guide found on vivoweb.org - or the install.html file located in the doc - directory of the VIVO source code distribution. The installation document also has a - list of the required software and versions (there are no new hardware - or software requirements for V1.4). -

    -

    - For a description of the release contents see the Release announcement for V1.4. -

    -
    -

    Table of Contents

    - -
      -
    1. - Before Performing the Upgrade -
    2. -
    3. - Noteworthy Changes -
      -
        -
      1. - New Property in deploy.properties -
      2. -
      3. - Change to tomcat configuration -
      4. -
      -
    4. -
    5. - Upgrade Instructions -
    6. -
    7. - Knowledge Base Migration -
        -
      1. - Knowledge Base Migration Process -
      2. -
      3. - Knowledge Base Manual Review for Local Extensions -
      4. -
      -
    8. -
    9. - Review the VIVO Terms of Use -
    10. -
    11. - Next Steps -
    12. -
    -
    -
    -

    I. Before Performing the Upgrade

    -
    - Create backups of: -
      -
    • - The VIVO distribution directory (which contains the source for VIVO 1.3) -
    • -
    • - The VIVO home directory (pointed to by your deploy.properties file) -
    • -
    • - The webapps directory in Tomcat -
    • -
    • - MySQL database (most people use mysqldump to create the backup) -
    • -
    -

    - The upgrade process is similar to the initial install process - with - the following exceptions: -

    -
      -
    • - You do not need to reinstall MySQL or recreate the MySQL database. Please - backup your MySQL database as noted above. -
    • -
    • - First-time login of the root 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.) -
    • -
    • - The first time Apache Tomcat starts up after the upgrade, an automated - process will modify the knowledge base to align the - data with any ontology updates made for the new release. See the section on the Knowledge Base Migration - below for more information. -
    • -
    - -

    II. Noteworthy Changes

    -
      -
    • -

      New property in deploy.properties

      -

      - proxy.eligibleTypeList describes which classes of Individuals are - eligible for "self-editing" by proxy. - See the table in Section III for more details. -

      -
    • -
    • -

      Change to Tomcat configuration

      -

      - In order for VIVO to correctly handle international characters, - you must configure Tomcat to conform to the URI standard by - accepting percent-encoded UTF-8. -

      -

      - Edit Tomcat's conf/server.xml and add the following attribute to each of the - Connector elements: URIEncoding="UTF-8". -

      -
      -                    <Server ...>
      -                      <Service ...>
      -                        <Connector ... URIEncoding="UTF-8"/>
      -                          ...
      -                        </Connector>
      -                      </Service>
      -                    </Server>
      -                        
      -
    • -
    - -

    III. Upgrade Instructions

    -

    - 1. Download the new distribution file and unpack it into a new - source directory. -

    -

    - 2. Create a new deploy.properties using the same settings as in - your previous installation and set values for the new variables as described - below (vitro.local.solr.url, vitro.local.solr.ipaddress.mask, - vitro.home.directory, email.smptHost, email.replyTo, - rootUser.emailAddress) -
    -

    -

    - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - Property Name - - Example Value -
    - 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 a - 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/"
    * The namespace must end with "individual/" (including the - trailing slash).
    -
    - Vitro.defaultNamespace - - http://vivo.mydomain.edu/individual/ -
    - Directory where Vitro code is located. In most - deployments, this is set to ./vitro-core (It is not uncommon for this - setting to point elsewhere in development environments). -
    - vitro.core.dir - - ./vitro-core -
    - Directory where tomcat is installed. -
    - tomcat.home - - /usr/local/tomcat -
    - Name of your VIVO application. -
    - webapp.name - - vivo -
    - URL of Solr context used in local VIVO search. - Should consist of:
        scheme + servername + port + vivo_webapp_name + "solr"
    - In the standard installation, the Solr context will be on the same - server as VIVO, and in the same Tomcat instance. The path will be the - VIVO webapp.name (specified above) + "solr" -
    - vitro.local.solr.url - - http://localhost:8080/vivosolr -
    - Restricts access to the Solr search platform. - One or more regular expressions, separated by commas. When a request is - made to Solr, the IP address of the requestor must match one of the - patterns, or the request will be rejected. -
    - Examples: -
      -
    • - vitro.local.solr.ipaddress.mask = 127\.0\.0\.1 -
    • -
    • - vitro.local.solr.ipaddress.mask = - 127\.0\.0\.1,0:0:0:0:0:0:0:1 -
    • -
    • - vitro.local.solr.ipaddress.mask = 169.254.* -
    • -
    -
    -
    - vitro.local.solr.ipaddress.mask - - 127\.0\.0\.1,0:0:0:0:0:0:0:1 -
    - Directory where the VIVO application will store - the data that it creates. This includes uploaded files (usually images) - and the Solr search index. Be sure this directory exists and is - writable by the user who the Tomcat service is running as. -
    - vitro.home.directory - - /usr/local/vivo/data -
    - Specify an SMTP host that the application will - use for sending e-mail (Optional). If this is left blank, the contact - form will be hidden and disabled, and users will not be notified of - changes to their accounts. -
    - email.smtpHost - - smtp.servername.edu -
    - Specify an email address which will appear as - the sender in e-mail notifications to users (Optional). If a user - replies to the notification, this address will receive the reply. If a - user's e-mail address is invalid, this address will receive the error - notice. If this is left blank, users will not be notified of changes to - their accounts. -
    - email.replyTo - - vivoAdmin@my.domain.edu -
    - Specify the JDBC URL of your database. Change - the end of the URL to reflect your database name (if it is not "vivo"). -
    - VitroConnection.DataSource.url - - jdbc:mysql://localhost/vivo -
    - Change the username to match the authorized user - you created in MySQL. -
    - VitroConnection.DataSource.username - - username -
    - Change the password to match the password you - created in MySQL. -
    - VitroConnection.DataSource.password - - password -
    - Specify the maximum number of active connections - in the database connection pool to support the anticipated number of - concurrent page requests. -
    - VitroConnection.DataSource.pool.maxActive - - 40 -
    - 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. -
    - VitroConnection.DataSource.pool.maxIdle - - 10 -
    - 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. -
    - VitroConnection.DataSource.dbtype - - MySQL -
    - 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 webapp/lib directory within - the vitro.core.dir specified above. -
    - VitroConnection.DataSource.driver - - com.mysql.jdbc.Driver -
    - Change the validation query used to test - database connections only if necessary to use a database other than - MySQL. Otherwise, leave this value unchanged. -
    - VitroConnection.DataSource.validationQuery - - SELECT 1 -
    - Specify the email address of the root user - account for the VIVO application. This user will have an initial - temporary password of 'rootPassword'. You will be prompted to create a - new password on first login. -

    - NOTE: The root user account has access to all data and all - operations in VIVO. Data views may be surprising when logged in as the - root user. It is best to create a Site Admin account to use for every - day administrative tasks. -

    -
    - rootUser.emailAddress - - vivoAdmin@my.domain.edu -
    - The URI 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 - (the value of the property must be either a String literal or an untyped literal). -
    - selfEditing.idMatchingProperty - - http://vivo.mydomain.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 -
    - externalAuth.netIdHeaderName -
    - Log in using BearCat Shibboleth -
    - remote_userID -
    - The temporal graph visualization can require - extensive machine resources. This can have a particularly noticable - impact on memory usage if -
      -
    • - The organization tree is deep, -
    • -
    • - The number of grants and publications is large. -
    • -
    - VIVO V1.4 mitigates this problem by the way of a caching - mechanism and hence we can safely set this to be enabled by default. -
    - 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-trunk.indiana.edu/individual/topLevelOrgURI -
    - An absolute file path, pointing to the root directory of the Harvester utility. - You must include the final slash. -
    - harvester.location - - /usr/local/vivo/harvester/ -
    - Types of individual for which we can create proxy editors. - If this is omitted, defaults to http://www.w3.org/2002/07/owl#Thing -
    - proxy.eligibleTypeList - - http://xmlns.com/foaf/0.1/Person, http://xmlns.com/foaf/0.1/Organization -
    - - -

    - 3. Apply any previous changes you have made to the new source - directory. -

    -
    - Special notes regarding source files -
      -
    • - 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. -
    • -
    • - 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. -
    • -
    • - NIH-funded VIVO implementations will need to apply the - Google - Analytics Tracking Code (GATC) to googleAnalytics.ftl - in - the theme:
      [new_source_directory]/themes/[theme_dir]/templates/googleAnalytics.ftl
      - A sample googleAnalytics.ftl - 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 of your institution's tracking code, - see the VIVO - Google - Analytics - wiki - page. -
    • -
    -
    -

    - 5. Stop Apache Tomcat and from your VIVO source directory, run - ant - by typing: ant all -

    -

    - 6. Start Apache Tomcat and log into VIVO as the root user when the upgrade is - completed. Depending on the size of your database, the migration process may - take up to several hours. When it is complete, you will - see a message in the catalina.log file that the server has started.

    INFO: Server startup in XXXXX ms
    -

    -

    - 7. As root or an administrator, request a rebuild of the Solr search index: - Go to the "Site Admin" page and click on "Rebuild Search Index" under the - heading "Refresh Content". -

    -

    - 8. Review and save aside the knowledge base migration logs. - The knowledge base migration process described in the next section will generate logs. - These logs will be overwritten if you redeploy the VIVO application (but not if you restart tomcat), and since - they may be a useful reference if questions come up about your 1.4 VIVO data after deployment, you should save them aside. - The logs are created in the Tomcat webapps/vivo/WEB-INF directory: -

    -
    -
    - ontologies/update/logs/knowledgeBaseUpdate.(timestamp).log -
    -
    - A log of a summary of updates that were made to the knowledge - base. This file should end with "Finished knowledge base migration". - If this file contains any warnings they should be reviewed with your - implementation team representative to see whether any corrective action needs to be taken. -
    -
    -
    -
    - ontologies/update/logs/knowledgeBaseUpdate.(timestamp).error.log -
    -
    - A log of errors that were encountered during the upgrade - process. This file should be empty if the upgrade was successful. If any errors are encountered - you will need to rerun the knowledge base migration. -
    -
    - -

    IV. Knowledge Base Migration

    -

    i.Knowledge Base Migration Process

    -

    - For an description of changes to the VIVO ontology in version 1.4 see the sourceforge wiki page on ontology changes -

    -

    - Changes to the VIVO core ontology may require corresponding - modifications to the knowledge base instance data and ontology annotations. - When VIVO first starts up following the upgrade, it will - initiate a process to examine the knowledge base and apply necessary - changes. The knowledge base migration process will make the following types of changes: -

    -
    -
    - Class or Property renaming -
    -
    - 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. -
    -
    -
    -
    - Class or Property deletion -
    -
    - All type assertions of a deleted class will be removed. -
    - 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. -
    -
    -
    -
    - Annotation property default values -
    -
    - 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. -
    - 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. -
    -
    -
    -
    - Structural changes -
    -
    - Changes in the way individuals (intances of classes) are related to other individuals. -
    -
    -

    - In addition to the logs described in step 8 of the previous section, the knowledge base migration - process will log copies of all additions and deletions that were made to the knowledge base in the following files: -

    -
    -
    - webapps/vivo/WEB-INF/ontologies/update/changedData/removedData.n3 -
    -
    - An N3 file containing all the statements that were removed from the knowledge base. -
    -
    -
    -
    - webapps/vivo/WEB-INF/ontologies/update/changedData/addedData.n3 -
    -
    - An N3 file containing all the statements that were added to the knowledge base. -
    -
    -

    ii. Knowledge Base Manual Review for Local Extensions

    - Not all of the modifications that may be required are - automated. If you have local extensions to areas of the ontology that have changed, a manual review of the knowledge base is recommended after - the automated upgrade process. -

    V. Review the VIVO Terms of Use

    -

    - VIVO comes with a "Terms of Use" statement linked from the footer. The "Site Name" - you assign in the "Site Information" form under the Site Admin - area will be - inserted into the "Terms of Use" statement. If you want to edit the text content more than just - the "Site Name", the file can be found here:

    [vivo_source_dir]/vitro-core/webapp/web/templates/freemarker/body/termsOfUse.ftl
    - Be sure to make the changes in your source files and deploy them to your tomcat so you don't lose - your changes next time you deploy for another reason. -

    -

    Next Steps

    -

    - Now that you have VIVO up and running, please refer to the Site Administrator's Guide - for information about its operation. -

    -
    - - - - - -
- - diff --git a/doc/upgrade-1.5.html b/doc/upgrade-1.5.html deleted file mode 100644 index 692fc8b9..00000000 --- a/doc/upgrade-1.5.html +++ /dev/null @@ -1,403 +0,0 @@ - - - - - - VIVO Release 1 V1.5 Upgrade Guide - - - - - -
-

VIVO Release 1 V1.5 Upgrade Guide

- - February 15, 2012 - Upgrading from Release 1 V1.4 to Release 1 V1.5 - -

- This document contains instructions on how to upgrade your - installation of VIVO from Version 1.4 (or 1.4.1) to Version 1.5. - This and other documentation can be found on the support page - at VIVOweb.org -

-

- If you need to do a fresh install, please consult the VIVO Release V1.5 Installation - Guide found on vivoweb.org - or the install.html file located in the doc - directory of the VIVO source code distribution. The installation document also has a - list of the required software and versions. -

-

- For a description of the release contents see the Release announcement for V1.5. -

-
-

Table of Contents

- -
    -
  1. Before Performing the Upgrade
  2. -
  3. - Noteworthy Changes -
      -
    1. Ant version 1.8 is required
    2. -
    3. Custom short views
    4. -
    5. Support for OpenSocial gadgets
    6. -
    7. Supported Browsers
    8. -
    -
  4. -
  5. Upgrade Instructions
  6. -
  7. Knowledge Base Migration
  8. -
  9. Review the VIVO Terms of Use
  10. -
  11. Next Steps
  12. -
-
-
-

I. Before Performing the Upgrade

-
- Create backups of: -
    -
  • - The VIVO distribution directory (which contains the source for VIVO 1.4 or VIVO 1.4.1) -
  • -
  • - The VIVO home directory (pointed to by your deploy.properties file) -
  • -
  • - The webapps directory in Tomcat -
  • -
  • - MySQL database (most people use mysqldump to create the backup) -
  • -
-

- The upgrade process is similar to the initial install process - with - the following exceptions: -

-
    -
  • - You do not need to reinstall MySQL or recreate the MySQL database. Please - backup your MySQL database as noted above. -
  • -
  • - First-time login of the root 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.) -
  • -
  • - The first time Apache Tomcat starts up after the upgrade, an automated - process will modify the knowledge base to align the - data with any ontology updates made for the new release. See the section on the Knowledge Base Migration - below for more information. -
  • -
- -

II. Noteworthy Changes

-
    -
  • -

    Ant version 1.8 is required

    -

    - The VIVO build script has been revised, and now requires features from - version 1.8 of Apache Ant. Version 1.8 has been available since February, 2010. - The current version of Apache Ant is 1.8.4. -

    -

    - You can find recent versions of Apache Ant at - http://ant.apache.org -

    -
  • -
  • -

    Custom short views

    -

    - "Custom search views" have been re-implemented as part of the more flexible "Custom short views" mechanism. - If you have implemented custom search views, you will need to re-configure them to fit the new framework. - For an explanation of how to use custom search views, consult the - - SourceForge Wiki page on custom search views - -

    -
  • -
  • -

    Support for OpenSocial gadgets

    -

    - VIVO can now be configured to support Open Research Networking Gadgets, - an extension of OpenSocial gadgets. For a description of this, and instructions - for configuring VIVO, look at setting_up_orng.html, in this directory. -

    -
  • -
  • -

    Supported Browsers

    -

    - For this release, the following browsers are supported. -

    -

    - Mac: -

    -
      -
    • Chrome 8.0.552.237
    • -
    • FireFox 3.6.13
    • -
    • Opera 10.6.2
    • -
    • Safari 5.0.3
    • -
    -

    - PC: -

    -
      -
    • Chrome 8.0.552.273
    • -
    • FireFox 10.0.2
    • -
    • Internet Explorer 7, 8, 9
    • -
    • Opera 10.6.2
    • -
    -
  • -
- - -

III. Upgrade Instructions

- -

- 1. Download the new distribution file and unpack it into a new - source directory. -

-

- 2. Create a new deploy.properties using the same settings as in - your previous installation and set values for the new variables as described - below: -
-

-

- -

- - - - - - - - - - - - - - - - - - - - - - - -
- Property Name - - Example Value -
- Show only the most appropriate data values based on the Accept-Language - header supplied by the browser. Default is false if not set. -
- RDFService.languageFilter - - false -
- These values are used when deploying VIVO as an OpenSocial container - and integrating with OpenSocial gadgets. - For instructions, look at setting_up_orng.html, in this directory. - If you are creating - a VIVO installation that does not use OpenSocial gadgets, these values are omitted. -
- OpenSocial.shindigURL
- OpenSocial.tokenService
- OpenSocial.tokenKeyFile
- OpenSocial.sandbox -
-   -
- - -

- 3. Apply any previous changes you have made to the new source - directory. -

-
- Special notes regarding source files -
    -
  • - 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. -
  • -
  • - 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. -
  • -
  • - NIH-funded VIVO implementations will need to apply the - Google - Analytics Tracking Code (GATC) to googleAnalytics.ftl - in - the theme:
    [new_source_directory]/themes/[theme_dir]/templates/googleAnalytics.ftl
    - A sample googleAnalytics.ftl - 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 of your institution's tracking code, - see the VIVO - Google - Analytics - wiki - page. -
  • -
-
-

- 5. Stop Apache Tomcat and from your VIVO source directory, run - ant - by typing: ant all -

-

- 6. Start Apache Tomcat and log into VIVO as the root user when the upgrade is - completed. Depending on the size of your database, the migration process may - take up to several hours. When it is complete, you will - see a message in the catalina.log file that the server has started.

INFO: Server startup in XXXXX ms
-

-

- 7. As root or an administrator, request a rebuild of the Solr search index: - Go to the "Site Admin" page and click on "Rebuild Search Index" under the - heading "Refresh Content". -

-

- 8. Review and save aside the knowledge base migration logs. - The knowledge base migration process described in the next section will generate logs. - These logs will be overwritten if you redeploy the VIVO application (but not if you restart tomcat), and since - they may be a useful reference if questions come up about your 1.5 VIVO data after deployment, - you should save them aside. - The logs are created in the Tomcat webapps/vivo/WEB-INF directory: -

-
-
- ontologies/update/logs/knowledgeBaseUpdate.(timestamp).log -
-
- A log of a summary of updates that were made to the knowledge - base. This file should end with "Finished knowledge base migration". - If this file contains any warnings they should be reviewed with your - implementation team representative to see whether any corrective action needs to be taken. -
-
-
-
- ontologies/update/logs/knowledgeBaseUpdate.(timestamp).error.log -
-
- A log of errors that were encountered during the upgrade - process. This file should be empty if the upgrade was successful. If any errors are encountered - you will need to rerun the knowledge base migration. -
-
- -

IV. Knowledge Base Migration

- -

- Changes to the VIVO core ontology may require corresponding - modifications to the knowledge base instance data and ontology annotations. - When VIVO first starts up following the upgrade, it will - initiate a process to examine the knowledge base and apply necessary - changes. The knowledge base migration process for release 1.5 will make - the following types of changes: -

-
-
- The vivo:ResearchLaboratory class has been removed. All instances of vivo:ResearchLaboratory will be - retyped to its superclass vivo:Laboratory. -
-
-
-
- Annotation property default values -
-
- 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. -
- 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. -
-
-

- In addition to the logs described in step 8 of the previous section, the knowledge base migration - process will log copies of all additions and deletions that were made to the knowledge base in the following files: -

-
-
- webapps/vivo/WEB-INF/ontologies/update/changedData/removedData.n3 -
-
- An N3 file containing all the statements that were removed from the knowledge base. -
-
-
-
- webapps/vivo/WEB-INF/ontologies/update/changedData/addedData.n3 -
-
- An N3 file containing all the statements that were added to the knowledge base. -
-
- -

V. Review the VIVO Terms of Use

-

- VIVO comes with a "Terms of Use" statement linked from the footer. The "Site Name" - you assign in the "Site Information" form under the Site Admin - area will be - inserted into the "Terms of Use" statement. If you want to edit the text content more than just - the "Site Name", the file can be found here:

[vivo_source_dir]/vitro-core/webapp/web/templates/freemarker/body/termsOfUse.ftl
- Be sure to make the changes in your source files and deploy them to your tomcat so you don't lose - your changes next time you deploy for another reason. -

-

Next Steps

-

- Now that you have VIVO up and running, please refer to the Site Administrator's Guide - for information about its operation. -

-
- - - - - - - - diff --git a/doc/upgrade-1.6.html b/doc/upgrade-1.6.html deleted file mode 100644 index f655c068..00000000 --- a/doc/upgrade-1.6.html +++ /dev/null @@ -1,919 +0,0 @@ - - - - - - VIVO Release 1 V1.6 Upgrade Guide - - - - - -
-

VIVO Release 1 V1.6 Upgrade Guide

- - October 9, 2013 - Upgrading from Release 1 V1.5 to Release 1 V1.6 - -

- This document contains instructions on how to upgrade your - installation of VIVO from Version 1.5 (or 1.5.1) to Version 1.6. - This and other documentation can be found on the support page - at VIVOweb.org -

-

- If you need to do a fresh install, please consult the VIVO Release V1.6 Installation - Guide found on vivoweb.org - or the install.html file located in the doc - directory of the VIVO source code distribution. The installation document also has a - list of the required software and versions. -

-

- For a description of the release contents see the Release announcement for V1.6. -

-
-

Table of Contents

- -
    -
  1. Before Performing the Upgrade
  2. -
  3. - Noteworthy Changes -
      -
    1. VIVO becomes more portable
    2. -
    3. Solr is no longer secured
    4. -
    5. Log4J properties file renamed
    6. -
    7. Property groups now displayed in a tab format
    8. -
    9. Class-specific SPARQL Query Data Getters
    10. -
    11. The foaf:Person template has been re-located.
    12. -
    13. Multiple foaf:Person Profile Pages
    14. -
    15. Home Page Re-design
    16. -
    17. Auto-loaded RDF files move to the Home directory
    18. -
    19. Support for additional languages
    20. -
    21. More compact responses to Linked data requests
    22. -
    23. Changes to default types for Google Refine
    24. -
    25. Special runtime settings for developers
    26. -
    -
  4. -
  5. Upgrade Instructions
  6. -
  7. Knowledge Base Migration
  8. -
  9. Review the VIVO Terms of Use
  10. -
  11. Next Steps
  12. -
-
-
-

I. Before Performing the Upgrade

-
- Create backups of: -
    -
  • - The VIVO distribution directory (which contains the source for VIVO 1.5 or VIVO 1.5.1) -
  • -
  • - The VIVO home directory (pointed to by your deploy.properties file) -
  • -
  • - The webapps directory in Tomcat -
  • -
  • - MySQL database (most people use mysqldump to create the backup) -
  • -
-

- If you have used temporary models in the database to stage ingested data, - you will want to clear out any unneeded models that remain listed on the Manage - Jena Models page (under "Ingest tools"). This step is especially important if - these temporary models contain blank nodes, as this may cause unwanted or - duplicate data to appear following the upgrade. -

-

- The upgrade process is similar to the initial install process - with - the following exceptions: -

-
    -
  • - You do not need to reinstall MySQL or recreate the MySQL database. Please - backup your MySQL database as noted above. -
  • -
  • - First-time login of the root 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.) -
  • -
  • - When Apache Tomcat starts up after the upgrade, an automated - process will modify the knowledge base to align the - data with any ontology updates made for the new release. See the section on the Knowledge Base Migration - below for more information. -
  • -
- -

II. Noteworthy Changes

-
    -
  • -

    VIVO becomes more portable

    -

    - The VIVO build script now includes a distribute target that will produce - a file called distribution.tar.gz. This compressed archive contains - these files: -

      -
    1. vivo.war -- a WAR file for the main VIVO application.
    2. -
    3. vivosolr.war -- a WAR file for the Solr application.
    4. -
    5. solrhome.tar -- a Solr home directory that is configured for use with VIVO.
    6. -
    - These files can be used with Tomcat, or with any container that supports - the Java Servlet 2.4 Specification. -

    -

    - To permit this portability, the deploy.properties file - has been split in two. build.properties contains only the properties - that are required for building VIVO. runtime.properties, - which must be created in the Vitro home directory, contains the properties - that VIVO uses while running. -

    -

    - If you are building to deploy to Tomcat (as with previous releases), - then build.properties must contain these properties: -

      -
    • vitro.core.dir
    • -
    • webapp.name
    • -
    • tomcat.home
    • -
    • vitro.home -- note that this was vitro.home.directory - in previous releases
    • -
    -

    -

    - If you are building to distribute, the build.properties - file requires only these properties: -

      -
    • vitro.core.dir
    • -
    • webapp.name
    • -
    -

    -
  • - -
  • -

    Solr is no longer secured

    -

    - In previous releases, Solr was deployed to Tomcat with a RemoteAddrValve - that would only permit access from certain IP addresses. - Acceptable IP addresses were those which matched the regular expression pattern in - the vitro.local.solr.ipaddress.mask property. -

    -

    - This has been removed because: -

      -
    • It caused repeated problems for sites who were experimenting with VIVO.
    • -
    • It was not standards-based, but specific to Tomcat.
    • -
    • It was redundant. Production instances of VIVO are - usually hidden behind a firewall and accessed through an Apache Http server.
    • -
    -

    -

    - Sites that need to secure Solr are now left to their own devices. -

    -
  • - -
  • -

    Log4J properties file renamed

    -

    - In previous releases, the properties file for the VIVO logging system - was called default.log4j.properties. In release 1.6, this - file has been renamed to log4j.properties. This is so the - developers and implementers will know where to look for the file. -

    -

    - Note that debug.log4j.properties, if present, will still - override the default. -

    -
  • - -
  • -

    Property groups now displayed in a tab format, including a "View All" tab

    -

    - With release 1.6, the property group menu bar that was used on profile pages has been replaced - by java script enabled tabs. When clicked, each property group tab will display the properties - within that group while the contents of the previously displayed group will be hidden. The array of - tabs also includes a "View All" tab that, when clicked, displays the contents of all the property groups. -

    -
  • - -
  • -

    Class-specific SPARQL Query Data Getters

    -

    - The VIVO software now supports the development of SPARQL query data getters that can be associated - with specific ontological classes. These data getters, in turn, can be accessed within Freemarker - templates to provide richer content on VIVO profile pages. For example, the profile page for an academic - department lists only the names of the faculty within that department and their titles, but with a SPARQL - query data getter it is now possible to extend the faculty information to display all of the faculty - members' research areas. Refer to this wiki page for details on how to use class-specific SPARQL query - data getters: - https://wiki.duraspace.org/display/VIVO/Enriching+VIVO+Content+Using+SPARQL+Query+Data+Getters. -

    -
  • - -
  • -

    The foaf:Person template has been re-located.

    -

    - The template individual--foaf-person.ftl has been moved to the "templates" subdirectory in the wilma - theme directory (vivo/themes/wilma/templates). If your installation has a customized version of - individual--foaf-person.ftl, ensure that it is located in the templates subdirectory in your installation's - theme directory or, if your installation does not have it's own theme directory, in the - themes/wilma/templates subdirectory. -

    -
  • - -
  • -

    Multiple foaf:Person Profile Pages

    -

    - VIVO now supports multiple profile pages for foaf:Persons. This feature, which is optional so installations - can continue to use just the individual--foaf-person.ftl template, currently consists of two profile page - types: a standard view, which is a redesigned version of the foaf:Person template in previous releases; and - a quick view, which emphasizes the individual's own web page presence while providing summary VIVO information, - such as current positions and research areas. The profile quick view requires the use of a web service that - captures images of web pages. This web service is not included with the VIVO software. An - installation will either have to develop their own service or use a third-party service, usually for a small - fee depending on the number of images served. (Examples of these services include WebShotsPro, Thumbalizr and - Websnapr.) For more information on how to implement multiple profile page views, refer to this wiki page: - https://wiki.duraspace.org/display/VIVO/Multiple+foaf%3APerson+Profile+Pages. -

    -
  • - -
  • -

    Home Page Re-design

    -

    - For Release 1.6 the VIVO Home Page has been redesigned. The Search field beneath the "welcome" text now - allows the user to limit the results of a search to a specific class group, such as people, organizations, - etc. In addition, the browse-by-class-group display has been removed from the Home Page and replaced by - multiple features, which include: a list of four randomly selected faculty members, including their titles - and thumbnail images; a display of statistical data about the VIVO installation, such as the number of people, - activities and organizations; and, optionally a global map showing researchers' - areas of geographic focus. -

    -
  • - -
  • -

    Auto-loaded RDF files move to the Home directory

    -

    - 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. -

    -

    - If you have modified these RDF files, or added files of your own, you must adjust to - the new locations accordingly. - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Old locations of RDF files
    under [Vitro]/webapp/web or [VIVO]/productMods
    New locations of RDF files
    under [Vitro]/webapp/rdf or [VIVO]/rdf
    Comments
    WEB-INF/ontologies/app/rdf/display/firsttime/
    WEB-INF/ontologies/app/loadedAtStartup/rdf/display/everytime/
    WEB-INF/ontologies/app/menuload/displayTBOX.n3rdf/displayTbox/everytime/Was one file, now a directory
    /WEB-INF/ontologies/app/menuload/displayDisplay.n3rdf/displayDisplay/everytime/Was one file, now a directory
    WEB-INF/ontologies/user/applicationMetadata/
    WEB-INF/init-data/
    rdf/applicationMetadata/firsttime/Merged directories
    WEB-INF/ontologies/user/abox/rdf/abox/firsttime/
    WEB-INF/filegraph/abox/rdf/abox/filegraph/
    WEB-INF/ontologies/user/tbox/rdf/tbox/firsttime/
    WEB-INF/filegraph/tbox/rdf/tbox/filegraph/
    - -

    - If you are using a three-tier build process, you will need to add two lines - to the build script to accomodate the RDF files, and the language support (see below) - So this: -

    <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>
    - becomes this: -
    <patternset id="appbase.patterns">
    -<include name="src/**/*" />
    -<include name="lib/**/*" />
    -<include name="rdf/**/*" />
    -<include name="languages/**/*" />
    -<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>
    -

    -
  • - -
  • -

    Support for additional languages

    -

    - VIVO 1.6 includes limited support for other languages, in addition to American English. - This limited support is described as read-only support on public-facing - pages. -

    -

    - Read-only 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. -

    -

    - Public-facing means that most of the pages used for site adminstration - are only presented in American English. -

    -

    - These two pages in the VIVO Wiki describe how to - - Build VIVO with multiple languages and how to - - Add a new language to VIVO. -

    -
  • - -
  • -

    More compact responses to Linked data requests

    -

    - In VIVO 1.6, the response to requests for linked data is changed, to be smaller and faster. -

    -

    - When responding to a request for linked data about an individual, VIVO 1.6 returns: -

      -
    • Data properties of the individual
    • -
    • Object relationships to and from the individual
    • -
    • The RDF types and RDFS labels for any object that directly relates to the individual
    • -
    - This data is filtered by the usual VIVO privacy policies, - so properties such as salary or employee ID number may not be revealed - unless the requester has been properly authenticated. -

    -

    - VIVO releases prior to VIVO 1.6 returned a more complex set of statements, - referred to as "extended linked data": -

      -
    • Data properties of the individual
    • -
    • Object relationships from the individual
    • -
    • All properties of the context nodes (positions, roles, etc.) that are associated with the individual.
    • -
    • Labels of objects that are joined to the individual through context nodes.
    • -
    • Full details of time intervals that are attached to context nodes: start, end, precision.
    • -
    - As above, this data was filtered by the VIVO privacy policies. - Although these additional items were included, - extended linked data was based only on relationships from the individual. - Relationships to the individual were not included. -

    -

    - Extended linked data was costly to produce, in terms of resources, - because it required a recursive search of the data model. - Extended linked data typically contained 50% more information than its non-extended equivalent, - and took more than 10 times as long to produce. -

    -

    - VIVO release 1.6 can be configured to produce extended linked data like previous releases. - However, extended linked data will not be supported in future releases. -

    -
  • - -
  • -

    Changes to default types for Google Refine

    -

    - The list of default types for Google Refine has changed, to accomodate changes in the - ontology. If you are using Google Refine, you may need to change your runtime properties - accordingly. The new defaults appear in example.runtime.properties. -

    -
  • - -
  • -

    Special runtime settings for developers

    -

    - This release includes several settings to help developers by instumenting the - freemarker templates and the SPARQL queries on the RDFService. Check the wiki for - details, or look in the home directory in example.developer.properties. -

    -
  • - -
  • -

    Supported Browsers

    -

    - For this release, the following browsers are supported. -

    -
      -
    • - Mac: -
        -
      • Chrome 30.0.1599.69 and above
      • -
      • FireFox 3.6.28, 10.0.12, 24
      • -
      • Opera 12.02
      • -
      • Safari 5.0.3
      • -
      -
    • -
    • - PC: -
        -
      • Chrome 25.1364.2 and above
      • -
      • FireFox 10.0.12, 24
      • -
      • Internet Explorer 8, 9, 10
      • -
      • Opera 12.02
      • -
      -
    • -
    -
  • -
- - -

III. Upgrade Instructions

- -

- 1. Download the new distribution file and unpack it into a new - source directory. -

-

- 2. Separate your existing deploy.properties file into two files, - as described below. Store the new build.properties file in - the top level of the VIVO distribution directory. Store the new runtime.properties - file in your VIVO home directory. -
-

- - - - - - - - - - - - - - -
- Properties in build.properties - - Properties in runtime.properties -
- vitro.core.dir
- vitro.home
- tomcat.home
- webapp.name
-
- All other properties from deploy.properties -
- Note that vitro.home replaces vitro.home.directory -
- Note that vitro.local.solr.ipaddress.mask is no longer used. -
-
-

- If you prefer, you may start with example.build.properties - and example.runtime.properties, make copies, - and edit them to suit your installation. Remember, the runtime.properties file - goes into your VIVO home directory. -

- -

- The properties below are new to build.properties. They are optional, - so you need not add them unless you want a value other than the default. -

-

- -

- - - - - - - - - - - - - - - -
- Property Name - - Example Value -
- Languages (in addition to American English) that will be built into your - VIVO site. The languages must be found in the - languages directory of the VIVO distribution. - See - the VIVO Wiki for more information. -
- languages.addToBuild - - es_MX -
- -

- The properties below are new to runtime.properties. They are optional, - so you need not add them, unless you want a value other than the default. -

-

- -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Property Name - - Example Value -
- Tell VIVO to generate HTTP headers on its responses to facilitate caching the - profile pages that it creates. This can improve performance, but it can also - result in serving stale data. Default is false if not set. - For more information, see the VIVO wiki page: - - Use HTTP caching to improve performance -
- http.createCacheHeaders - - true -
- Force VIVO to use a specific language or Locale instead of those - specified by the browser. - This affects RDF data retrieved from the model, if RDFService.languageFilter is true. - This also affects the text of pages that have been modified to support multiple languages. -
- languages.forceLocale - - en_US -
- A list of supported languages or Locales that the user may choose to - use instead of the one specified by the browser. Selection images must - be available in the i18n/images directory of the theme. - This affects RDF data retrieved from the model, if RDFService.languageFilter is true. - This also affects the text of pages that have been modified to support multiple languages. -
- languages.selectableLocales - - en, es, fr_FR -
- On the VIVO home page, display a global map highlighting the geographical focus - of foaf:person individuals. The default is enabled. -
- homePage.geoFocusMaps - - enabled -
- MultiViews for foaf:person profile pages. - VIVO supports the simultaneous use of a full foaf:Person profile page view - and a "quick" page view that emphasizes the individual's own webpage presence. - Implementing this feature requires an installation to develop a web service - that captures images of web pages or to use an existing service outside of VIVO, - usually for a small fee. - The default is disabled. -
- MultiViews.profilePageTypes - - disabled -
- Setting this property causes VIVO 1.6 to produce extended responses to requests - for linked data. This provides compatibility with earlier releases. - The default is false. -
- Extended linked data is costly, in terms of server resource. Typically, extended - linke data contains 50% more information than its non-extended equivalent, and - takes 10 times as long to produce. -
- Extended linked data will not be supported in future releases of VIVO. -
- serveExtendedLinkedData - - true -
-

- Note that the property named externalAuth.buttonText is no longer used. - You can specify the text of the external login button by adding a property to - all.properties like this: -

external_login_text = Log in using BearCat Shibboleth
-

- -

- 3. Apply any previous changes you have made to the new source - directory. -

-
- Special notes regarding source files -
    -
  • - 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. -
  • -
  • - 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. -
  • -
  • - NIH-funded VIVO implementations will need to apply the - Google Analytics Tracking Code (GATC) to googleAnalytics.ftl - in the theme:
    [new_source_directory]/themes/[theme_dir]/templates/googleAnalytics.ftl
    - A sample googleAnalytics.ftl 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 of your institution's tracking code, - see the VIVO - Google - Analytics - wiki - page. -
  • -
-
-

- 4. Apply any previous changes you have made to the RDF initialization files. - See the section on the Auto-loaded RDF files - above for more details. -

-

- 5. Stop Apache Tomcat and from your VIVO source directory, run - ant - by typing: ant all -

-

- 6. Start Apache Tomcat and log into VIVO as the root user when the upgrade is - completed. Depending on the size of your database, the migration process may - take up to several hours. When it is complete, you will - see a message in the catalina.log file that the server has started.

INFO: Server startup in XXXXX ms
-

-

- 7. As root or an administrator, request a rebuild of the Solr search index: - Go to the "Site Admin" page and click on "Rebuild Search Index" under the - heading "Refresh Content". -

-

- 8. Review the knowledge base migration logs. - The knowledge base migration process described in the next section will create logs - in a subdirectory of the VIVO home directory: -

-
-
- (home directory)/update/logs/knowledgeBaseUpdate.(timestamp).log -
-
- A log of a summary of updates that were made to the knowledge - base. This file should end with "Finished knowledge base migration". - If this file contains any warnings they should be reviewed with your - implementation team representative to see whether any corrective action needs to be taken. -
-
-
-
- ontologies/update/logs/knowledgeBaseUpdate.(timestamp).error.log -
-
- A log of errors that were encountered during the upgrade - process. This file should be empty if the upgrade was successful. If any errors are encountered - you will need to rerun the knowledge base migration. -
-
-

- 9. Load the About Page .N3 file (optional). Release 1.6 provides an "about VIVO" page that is editable - through the GUI, using the Page Management functionality. If your installation has a customized version - of the About Page and you do not need to have it accessible via Page Management, then skip this step. - Otherwise, here are the instructions for loading the About Page .N3 file: -

    -
  1. - Once the VIVO application is running, go to the Site Admin page and click the "Ingest Tools" - link under Advanced Data Tools. -
  2. -
  3. - From the Ingest Menu click the "Manage Jena Tools" link, and then click the "RDB Models" button. -
  4. -
  5. - Locate the "vitro-kb-displayMetadata" model and click the "load RDF data" button. -
  6. -
  7. - Click the "Browse" button to upload the file from your computer and select the aboutPage.n3 file - located here in the VIVO source: productMods/WEB-INF/ontologies/app/aboutPage.n3. -
  8. -
  9. - Select N3 as the file type from the drop-down list and then click the "Load Data" button. -
  10. -
  11. - Restart tomcat. -
  12. -
-

-

- If your installation has a customized version of the About Page, but you would like to make its content - editable through the GUI, follow the above steps and then use Page Management to update the fixed HTML - content. -

- -

IV. Knowledge Base Migration

- -

- Changes to the VIVO core ontology may require corresponding - modifications to the knowledge base instance data and ontology annotations. - The first time VIVO starts up following the upgrade, - it will initiate a process to examine the knowledge - base and apply necessary changes. - The knowledge base migration process for release 1.6 will make - the following types of changes: -

-
-
- Instance data changes to align with VIVO-ISF -
-
- Obsolete predicates and types in the instance data will be updated where necesary to correspond to the current properties and classes in version 1.6 of the VIVO-ISF ontology. Note that VIVO 1.6 continues to make use of certain deprecated classes and properties that are not incompatible with VIVO-ISF. Most notable among these are the various subclasses of foaf:Person: these types will be unchanged by the VIVO 1.6 data migration, but may be removed in a future release. -
-
-
-
- Annotation property default values -
-
- 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. Note that the - annotation settings for certain obsolete VIVO 1.5 properties will be - preserved in a configuration file that applies settings to particular - object properties based on the types of their subject and object - individuals. This file is found in the VIVO home directory: - (home directory)/rdf/display/everytime/PropertyConfig.n3 -
- 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. -
-
-

- In addition to the logs described in step 8 of the previous section, the knowledge base migration - process will log copies of all additions and deletions that were made to the knowledge base in the following files in the VIVO home directory: -

-
-
- (home directory)/upgrade/knowledgeBase/changedData/removedData.(timestamp).n3 -
-
- An N3 file containing all the statements that were removed from the knowledge base. -
-
-
-
- webapps/vivo/WEB-INF/ontologies/update/changedData/addedData.(timestamp).n3 -
-
- An N3 file containing all the statements that were added to the knowledge base. -
-
- -

V. Review the VIVO Terms of Use

-

- VIVO comes with a "Terms of Use" statement linked from the footer. The "Site Name" - you assign in the "Site Information" form under the Site Admin - area will be - inserted into the "Terms of Use" statement. If you want to edit the text content more than just - the "Site Name", the file can be found here:

[vivo_source_dir]/vitro-core/webapp/web/templates/freemarker/body/termsOfUse.ftl
- Be sure to make the changes in your source files and deploy them to your tomcat so you don't lose - your changes next time you deploy for another reason. -

-

Next Steps

-

- Now that you have VIVO up and running, please refer to the - Site Administrator's Guide - for information about its operation. -

-
- - - - - - - - diff --git a/doc/upgrades.html b/doc/upgrades.html deleted file mode 100644 index e8296183..00000000 --- a/doc/upgrades.html +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - Upgrading VIVO - - - - - -
-

Upgrading VIVO

-
- February 15, 2012 -
-

- The following documents describe how to upgrade VIVO. -

- - -
- - - - diff --git a/example.build.properties b/example.build.properties index 64fb99f2..8752bb99 100644 --- a/example.build.properties +++ b/example.build.properties @@ -9,38 +9,48 @@ # # ----------------------------------------------------------------------------- -# -# 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 + +# ----------------------------------------------------------------------------- +# BASIC PROPERTIES +# ----------------------------------------------------------------------------- + + # + # 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 = ./vitro-core -# -# The base install directory for your Tomcat server. The VIVO application -# will be deployed in the /webapps directory below this base. -# + # + # The base install directory for your Tomcat server. The VIVO application + # will be deployed in the /webapps directory below this base. + # tomcat.home = /usr/local/tomcat -# -# 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 -# + # + # 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 search index. -# + # + # The location where the VIVO application will store the data that it creates. + # 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). -# + +# ----------------------------------------------------------------------------- +# ADDING LANGUAGES TO VIVO +# ----------------------------------------------------------------------------- + + # + # 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 = From c084a05832e64c5112542e544fa531d36ba1e2b8 Mon Sep 17 00:00:00 2001 From: j2blake Date: Mon, 10 Mar 2014 17:58:26 -0400 Subject: [PATCH 17/28] VIVO-692 Restrict LOD by Publish level, not by Display level Create a new annotation for properties and classes, HiddenFromPublishBelowRoleLevelAnnot. Provide the means to initialize these annotations, edit them, and display them in the verbose property display. Create a Permission and some requested actions so the policies can decide which statements must be filtered out, based on the user's role. Add unit tests and improve acceptance tests --- rdf/tbox/firsttime/initialTBoxAnnotations.n3 | 1090 +++++++++++++++++ .../LinkedOpenData/TestLinkedOpenData.html | 115 +- .../SparqlUpdateApi/EnableSparqlUpdateApi.n3 | 2 - ...dPublishTriplesToInitialTBoxAnnotations.rb | 76 ++ .../addPublishTriplesTovivo-tbox2.rb | 78 ++ 5 files changed, 1338 insertions(+), 23 deletions(-) create mode 100644 utilities/release1.6.1-scripts/addPublishTriplesToInitialTBoxAnnotations.rb create mode 100644 utilities/release1.6.1-scripts/addPublishTriplesTovivo-tbox2.rb diff --git a/rdf/tbox/firsttime/initialTBoxAnnotations.n3 b/rdf/tbox/firsttime/initialTBoxAnnotations.n3 index b2e38164..abdb9255 100644 --- a/rdf/tbox/firsttime/initialTBoxAnnotations.n3 +++ b/rdf/tbox/firsttime/initialTBoxAnnotations.n3 @@ -19,6 +19,8 @@ vivo:pmcid rdfs:label "PubMed Central ID"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot @@ -36,6 +38,8 @@ bibo:Note "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -50,6 +54,8 @@ vivo:offeredBy "4"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot @@ -67,6 +73,8 @@ vivo:dateTimeValue "5"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot ; vitro:offerCreateNewOptionAnnot @@ -82,6 +90,8 @@ vivo:isCorrespondingAuthor "60"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot @@ -97,6 +107,8 @@ vivo:SeminarSeries "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -105,6 +117,8 @@ obo:ARG_0000172 rdfs:label "patient ID"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -116,6 +130,8 @@ vivo:supplementalInformation "40"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot @@ -132,6 +148,8 @@ bibo:chapter "53"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot @@ -153,6 +171,8 @@ vivo:Student "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -167,6 +187,8 @@ geo:non_self_governing "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -181,6 +203,8 @@ vcard:Female "4"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -196,6 +220,8 @@ vivo:assigneeFor "60"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:offerCreateNewOptionAnnot "true"^^xsd:boolean ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot @@ -212,6 +238,8 @@ geo:GDPTotalInCurrentPrices rdfs:label "GDP total in current prices"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -223,6 +251,8 @@ vivo:Company "2"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -240,6 +270,8 @@ vivo:NonAcademicPosition "true"^^xsd:boolean ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -251,6 +283,8 @@ geo:other "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -258,6 +292,8 @@ bibo:sici rdfs:label "Serial Item and Contribution Identifier (SICI)"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot @@ -280,6 +316,8 @@ vivo:placeOfPublication "55"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot @@ -291,6 +329,8 @@ vivo:hasCollaborator rdfs:label "has collaborator"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . # moved to /rdf/display/everytime/PropertyConfig.n3 to allow differentiated placement and labeling @@ -315,6 +355,8 @@ vivo:GovernmentAgency "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -331,6 +373,8 @@ skos:narrower "narrower term"^^xsd:string ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:offerCreateNewOptionAnnot "true"^^xsd:boolean ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot @@ -350,6 +394,8 @@ vivo:affiliatedOrganization "40"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:offerCreateNewOptionAnnot @@ -377,6 +423,8 @@ vivo:License "5"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -394,6 +442,8 @@ foaf:Person "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -416,6 +466,8 @@ bibo:pageStart "12"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot @@ -430,6 +482,8 @@ geo:countryAreaYear rdfs:label "countryAreaYear"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -441,6 +495,8 @@ vivo:reportId "20"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot @@ -458,6 +514,8 @@ geo:hasMinLongitude rdfs:label "has minimum longitude"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -469,6 +527,8 @@ bibo:Manuscript "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -494,6 +554,8 @@ owl:sameAs ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:publicDescriptionAnnot "This is the OWL property to link two indivdiuals with the same 'identity'. see http://www.w3.org/TR/owl-ref/#sameAs-def"@en-US ; vitro:selectFromExistingAnnot @@ -512,6 +574,8 @@ vivo:Presentation "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -541,6 +605,8 @@ vivo:SubnationalRegion vitro:inClassGroup ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -555,6 +621,8 @@ geo:territory "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -569,6 +637,8 @@ vivo:researchAreaOf "10"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:offerCreateNewOptionAnnot @@ -586,6 +656,8 @@ vivo:subjectAreaOf "10"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:offerCreateNewOptionAnnot @@ -599,6 +671,8 @@ geo:populationTotal rdfs:label "total population"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -606,6 +680,8 @@ geo:nationalityFR rdfs:label "nationalityFR"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -617,6 +693,8 @@ obo:ERO_0000006 "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -629,6 +707,8 @@ vivo:conceptAssociatedWith "20"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:offerCreateNewOptionAnnot "true"^^xsd:boolean ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot @@ -640,6 +720,8 @@ geo:nameOfficialIT rdfs:label "nameOfficialIT"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -651,6 +733,8 @@ vivo:reproduces "60"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot @@ -674,6 +758,8 @@ vivo:EmeritusFaculty "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -689,6 +775,8 @@ vivo:Video "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -697,6 +785,8 @@ obo:IAO_0000142 rdfs:label "mentions" ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -711,6 +801,8 @@ bibo:Issue "21"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -729,6 +821,8 @@ vitro-public:File "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -740,6 +834,8 @@ vivo:AcademicYear "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -750,6 +846,8 @@ geo:nameShortRU rdfs:label "nameShortRU"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -762,6 +860,8 @@ geo:codeISO3 rdfs:label "codeISO3"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -785,6 +885,8 @@ vitro:moniker "100"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -792,6 +894,8 @@ geo:codeFAOSTAT rdfs:label "codeFAOSTAT"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -799,6 +903,8 @@ geo:codeFAOSTAT rdfs:label "access provided by"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot ; vitro:selectFromExistingAnnot @@ -814,6 +920,8 @@ vivo:AttendeeRole "true"^^xsd:boolean ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -829,6 +937,8 @@ vivo:NewsRelease "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -840,6 +950,8 @@ geo:codeISO2 rdfs:label "codeISO2"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -847,6 +959,8 @@ geo:nameOfficialFR rdfs:label "nameOfficialFR"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -860,6 +974,8 @@ vivo:Authorship "true"^^xsd:boolean ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -871,6 +987,8 @@ obo:ERO_0000004 "10"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -883,6 +1001,8 @@ bibo:Workshop "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -893,6 +1013,8 @@ vivo:roleContributesTo "5"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot ; vitro:selectFromExistingAnnot @@ -909,6 +1031,8 @@ bibo:pmid "12"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot @@ -924,6 +1048,8 @@ bibo:Film "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -936,6 +1062,8 @@ vivo:Consortium "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -948,6 +1076,8 @@ bibo:Periodical "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -959,6 +1089,8 @@ geo:disputed "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -970,6 +1102,8 @@ vivo:grantDirectCosts "61"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot @@ -981,6 +1115,8 @@ geo:nameListES rdfs:label "nameListES"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -992,6 +1128,8 @@ vivo:Continent "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -1000,6 +1138,8 @@ geo:nameOfficialRU rdfs:label "nameOfficialRU"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -1017,6 +1157,8 @@ vivo:features "features"^^xsd:string ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:offerCreateNewOptionAnnot @@ -1040,6 +1182,8 @@ vivo:featuredIn "featuredIn"^^xsd:string ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:offerCreateNewOptionAnnot @@ -1064,6 +1208,8 @@ vivo:ClinicalRole "true"^^xsd:boolean ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -1071,6 +1217,8 @@ geo:hasCurrency rdfs:label "has currency"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -1078,6 +1226,8 @@ geo:landArea rdfs:label "land area"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -1094,6 +1244,8 @@ vivo:PeerReviewerRole "true"^^xsd:boolean ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -1105,6 +1257,8 @@ vivo:ExtensionUnit "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -1119,6 +1273,8 @@ bibo:distributor "distributor"^^xsd:string ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:offerCreateNewOptionAnnot @@ -1138,6 +1294,8 @@ vivo:eligibleFor "15"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:offerCreateNewOptionAnnot @@ -1153,6 +1311,8 @@ geo:nameCurrencyRU rdfs:label "nameCurrencyRU"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -1169,6 +1329,8 @@ bibo:affirmedBy "affirmedBy"^^xsd:string ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:offerCreateNewOptionAnnot @@ -1191,6 +1353,8 @@ obo:ERO_0000774 "20"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot ; vitro:inPropertyGroupAnnot @@ -1204,6 +1368,8 @@ vivo:ServiceProvidingLaboratory "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -1219,6 +1385,8 @@ vivo:Facility "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -1236,6 +1404,8 @@ vivo:expirationDate "19"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:offerCreateNewOptionAnnot @@ -1256,6 +1426,8 @@ vivo:Meeting "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -1268,6 +1440,8 @@ vivo:assignee "5"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:offerCreateNewOptionAnnot @@ -1290,6 +1464,8 @@ vivo:Blog "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -1311,6 +1487,8 @@ bibo:presents "presentations"^^xsd:string ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:offerCreateNewOptionAnnot @@ -1328,6 +1506,8 @@ obo:ERO_0000054 "120"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot ; vitro:inPropertyGroupAnnot @@ -1341,6 +1521,8 @@ geo:hasShortName rdfs:label "has short name"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -1355,6 +1537,8 @@ vivo:PopulatedPlace "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -1369,6 +1553,8 @@ vivo:FacultyAdministrativePosition "true"^^xsd:boolean ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -1380,6 +1566,8 @@ vivo:Equipment "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -1391,6 +1579,8 @@ bibo:locator rdfs:label "locator"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot @@ -1402,6 +1592,8 @@ bibo:Article rdfs:label "Article"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -1410,6 +1602,8 @@ vivo:Abstract rdfs:label "Abstract"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -1424,6 +1618,8 @@ vivo:Position "true"^^xsd:boolean ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -1435,6 +1631,8 @@ geo:GDPYear rdfs:label "GDPYear"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -1444,6 +1642,8 @@ bibo:degree "degree"^^xsd:string ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:offerCreateNewOptionAnnot @@ -1463,6 +1663,8 @@ vivo:Laboratory "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -1475,6 +1677,8 @@ vivo:localAwardId "72"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot @@ -1496,6 +1700,8 @@ obo:ARG_0000197 "2"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot ; vitro:inPropertyGroupAnnot @@ -1513,6 +1719,8 @@ vivo:iclCode "5"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot @@ -1528,6 +1736,8 @@ bibo:presentedAt "presentedAt"^^xsd:string ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:offerCreateNewOptionAnnot @@ -1543,6 +1753,8 @@ geo:agriculturalArea rdfs:label "agricultural area"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -1556,6 +1768,8 @@ vivo:publisherOf "publisher of"^^xsd:string ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:offerCreateNewOptionAnnot @@ -1584,6 +1798,8 @@ vivo:TeacherRole "true"^^xsd:boolean ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -1600,6 +1816,8 @@ geo:population rdfs:label "population"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -1615,6 +1833,8 @@ vivo:Dataset "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -1632,6 +1852,8 @@ vivo:Contract "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -1644,6 +1866,8 @@ bibo:Hearing "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -1663,6 +1887,8 @@ bibo:Brief "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -1676,6 +1902,8 @@ vivo:DateTimeValue "true"^^xsd:boolean ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -1687,6 +1915,8 @@ bibo:reproducedIn "60"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:offerCreateNewOptionAnnot @@ -1703,6 +1933,8 @@ geo:hasListName rdfs:label "has list name"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -1713,6 +1945,8 @@ bibo:asin rdfs:label "Amazon Standard Identification Number (ASIN)"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot @@ -1728,6 +1962,8 @@ vivo:outreachOverview "10"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot @@ -1742,6 +1978,8 @@ obo:ERO_0000031 rdfs:label "uses"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -1753,6 +1991,8 @@ vivo:Librarian "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -1765,6 +2005,8 @@ obo:ERO_0000050 "76"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot ; vitro:inPropertyGroupAnnot @@ -1775,6 +2017,8 @@ geo:nameCurrencyFR rdfs:label "nameCurrencyFR"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -1789,6 +2033,8 @@ vivo:hasGoverningAuthority "8"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:offerCreateNewOptionAnnot @@ -1812,6 +2058,8 @@ bibo:AcademicArticle "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -1824,6 +2072,8 @@ geo:geographical_region "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -1838,6 +2088,8 @@ bibo:doi "doi"^^xsd:string ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:offerCreateNewOptionAnnot @@ -1860,6 +2112,8 @@ obo:ERO_0000070 ## inverse of ERO_0000031 # "15"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . # vitro:inPropertyGroupAnnot @@ -1876,6 +2130,8 @@ bibo:shortDescription rdfs:label "short description"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot @@ -1887,6 +2143,8 @@ geo:isAdministeredBy rdfs:label "is administered by"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot ; vitro:selectFromExistingAnnot @@ -1906,6 +2164,8 @@ bibo:volume "20"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot @@ -1924,6 +2184,8 @@ bibo:abstract "1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot @@ -1941,6 +2203,8 @@ vivo:PrincipalInvestigatorRole "true"^^xsd:boolean ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -1952,6 +2216,8 @@ vivo:School "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -1964,6 +2230,8 @@ obo:ERO_0000020 "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -1972,6 +2240,8 @@ geo:nameShortFR rdfs:label "nameShortFR"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -1982,6 +2252,8 @@ geo:codeFAOTERM rdfs:label "codeFAOTERM"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -1996,6 +2268,8 @@ vivo:sponsoredBy "20"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:offerCreateNewOptionAnnot @@ -2013,6 +2287,8 @@ vivo:Review "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -2025,6 +2301,8 @@ vivo:Review "19"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -2037,6 +2315,8 @@ vivo:courseCredits "50"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot ; vitro:publicDescriptionAnnot @@ -2059,6 +2339,8 @@ bibo:issue "21"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot @@ -2075,6 +2357,8 @@ vivo:University "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -2087,6 +2371,8 @@ bibo:number "30"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot @@ -2098,6 +2384,8 @@ obo:RO_0001025 rdfs:label "located in"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot ; vitro:offerCreateNewOptionAnnot @@ -2111,6 +2399,8 @@ vivo:Location "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -2126,6 +2416,8 @@ vivo:WorkingPaper "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -2134,6 +2426,8 @@ geo:hasStatistics rdfs:label "has statistics"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -2147,6 +2441,8 @@ geo:populationUnit rdfs:label "population unit"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -2158,6 +2454,8 @@ vivo:teachingOverview "10"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot @@ -2172,6 +2470,8 @@ vivo:rank rdfs:label "rank"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot ; vitro:publicDescriptionAnnot @@ -2188,6 +2488,8 @@ bibo:issn "1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot @@ -2201,6 +2503,8 @@ vivo:supports "5"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot ; vitro:selectFromExistingAnnot @@ -2210,6 +2514,8 @@ obo:RO_0000057 rdfs:label "has participant"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -2221,6 +2527,8 @@ vivo:patentNumber "1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot @@ -2245,6 +2553,8 @@ bibo:Journal "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -2257,6 +2567,8 @@ bibo:Newspaper "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -2271,6 +2583,8 @@ vivo:contactInformation "25"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot @@ -2282,6 +2596,8 @@ geo:nameListEN rdfs:label "nameListEN"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -2293,6 +2609,8 @@ vivo:overview "10"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot @@ -2308,6 +2626,8 @@ vivo:description "1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot @@ -2319,6 +2639,8 @@ geo:hasCode rdfs:label "has code"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -2329,6 +2651,8 @@ obo:RO_0000056 rdfs:label "participates in"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -2343,6 +2667,8 @@ vcard:timeZone "3"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot @@ -2359,6 +2685,8 @@ vivo:Award "1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -2373,6 +2701,8 @@ vivo:grantSubcontractedThrough "grantSubcontractedThrough"^^xsd:string ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot @@ -2397,6 +2727,8 @@ bibo:recipient "recipient"^^xsd:string ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:offerCreateNewOptionAnnot @@ -2416,6 +2748,8 @@ vivo:Building "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -2428,6 +2762,8 @@ vivo:EventSeries "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -2441,6 +2777,8 @@ vivo:hasSubjectArea "20"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:offerCreateNewOptionAnnot @@ -2457,6 +2795,8 @@ obo:ERO_0000398 rdfs:label "is performed by"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot @@ -2475,6 +2815,8 @@ vivo:geographicFocusOf "70"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot @@ -2493,6 +2835,8 @@ vivo:freetextKeyword "140"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot ; vitro:inPropertyGroupAnnot @@ -2520,6 +2864,8 @@ vivo:Credential "5"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -2532,6 +2878,8 @@ bibo:identifier "1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot @@ -2547,6 +2895,8 @@ obo:ERO_0000044 "70"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot ; vitro:inPropertyGroupAnnot @@ -2567,6 +2917,8 @@ obo:ERO_0000775 "21"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot ; vitro:inPropertyGroupAnnot @@ -2582,6 +2934,8 @@ bibo:reviewOf "reviewOf"^^xsd:string ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:offerCreateNewOptionAnnot @@ -2603,6 +2957,8 @@ vivo:informationResourceSupportedBy "5"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:offerCreateNewOptionAnnot "true"^^xsd:boolean ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot @@ -2633,6 +2989,8 @@ vivo:ConferencePaper "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -2641,6 +2999,8 @@ geo:landAreaYear rdfs:label "landAreaYear"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -2652,6 +3012,8 @@ bibo:Website "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -2663,6 +3025,8 @@ geo:nationalityIT rdfs:label "nationalityIT"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -2679,6 +3043,8 @@ obo:ARG_0000001 rdfs:label "is template"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -2693,6 +3059,8 @@ bibo:CollectedDocument "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -2707,6 +3075,8 @@ vivo:Relationship "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -2721,6 +3091,8 @@ obo:ERO_0000045 "30"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot ; vitro:inPropertyGroupAnnot @@ -2734,6 +3106,8 @@ vivo:Division "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -2746,6 +3120,8 @@ vivo:Newsletter "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -2774,6 +3150,8 @@ vivo:reviewedIn "reviewedIn"^^xsd:string ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot ; vitro:publicDescriptionAnnot @@ -2789,6 +3167,8 @@ vivo:contributingRole "15"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot @@ -2804,6 +3184,8 @@ vivo:Team "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -2819,6 +3201,8 @@ vivo:ClinicalOrganization "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -2831,6 +3215,8 @@ vivo:Program "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -2843,6 +3229,8 @@ vivo:Hospital "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -2855,6 +3243,8 @@ bibo:ThesisDegree "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -2866,6 +3256,8 @@ vivo:Center "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -2874,6 +3266,8 @@ geo:countryArea rdfs:label "countryArea"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -2885,6 +3279,8 @@ vivo:DateTimeValuePrecision "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -2896,6 +3292,8 @@ vivo:GraduateAdvisingRelationship "1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -2903,6 +3301,8 @@ obo:RO_0000052 rdfs:label "inheres in"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -2910,6 +3310,8 @@ obo:OBI_0000299 rdfs:label "has specified output"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -2923,6 +3325,8 @@ vivo:proceedingsOf "proceedingsOf"^^xsd:string ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:offerCreateNewOptionAnnot @@ -2948,6 +3352,8 @@ bibo:Thesis "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -2960,6 +3366,8 @@ obo:ERO_0000046 "32"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot ; vitro:selectFromExistingAnnot @@ -2983,6 +3391,8 @@ geo:isSuccessorOf "92"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot ; vitro:selectFromExistingAnnot @@ -2994,6 +3404,8 @@ geo:agriculturalAreaUnit rdfs:label "agricultural area unit"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -3011,6 +3423,8 @@ vivo:dateTimePrecision "5"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot ; vitro:selectFromExistingAnnot @@ -3024,6 +3438,8 @@ bibo:Map "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -3038,6 +3454,8 @@ geo:self_governing "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -3051,6 +3469,8 @@ vivo:hasPrerequisite "40"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot ; vitro:selectFromExistingAnnot @@ -3068,6 +3488,8 @@ vivo:Database "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -3089,6 +3511,8 @@ vivo:validIn "2"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot ; vitro:offerCreateNewOptionAnnot @@ -3102,6 +3526,8 @@ obo:IAO_0000221 rdfs:label "is quality measurement of"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -3113,6 +3539,8 @@ bibo:Conference "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -3128,6 +3556,8 @@ vivo:Department "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -3136,6 +3566,8 @@ obo:RO_0002234 rdfs:label "has output"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -3150,6 +3582,8 @@ vivo:F1000Link "6"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -3161,6 +3595,8 @@ vivo:BlogPosting "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -3173,6 +3609,8 @@ bibo:Collection "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -3184,6 +3622,8 @@ bibo:DocumentStatus "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -3195,6 +3635,8 @@ vivo:PrivateCompany "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -3205,6 +3647,8 @@ obo:ERO_0001520 "90"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:offerCreateNewOptionAnnot "true"^^xsd:boolean ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot ; @@ -3220,6 +3664,8 @@ vivo:AcademicDegree "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -3231,6 +3677,8 @@ bibo:Legislation "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -3247,6 +3695,8 @@ vivo:ReviewerRole "true"^^xsd:boolean ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -3258,6 +3708,8 @@ vivo:StateOrProvince "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -3270,6 +3722,8 @@ bibo:pageEnd "13"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot @@ -3288,6 +3742,8 @@ bibo:AudioDocument "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -3296,6 +3752,8 @@ obo:RO_0002233 rdfs:label "has input"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -3305,6 +3763,8 @@ geo:isPredecessorOf "94"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot ; vitro:selectFromExistingAnnot @@ -3320,6 +3780,8 @@ vivo:EmeritusLibrarian "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -3332,6 +3794,8 @@ bibo:LegalDecision "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -3349,6 +3813,8 @@ obo:ERO_0000029 "50"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot ; vitro:inPropertyGroupAnnot @@ -3369,6 +3835,8 @@ vcard:honorificSuffix "1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:offerCreateNewOptionAnnot @@ -3384,6 +3852,8 @@ geo:nameListIT rdfs:label "nameListIT"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -3395,6 +3865,8 @@ bibo:cites "4"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:offerCreateNewOptionAnnot @@ -3418,6 +3890,8 @@ bibo:AudioVisualDocument "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -3429,6 +3903,8 @@ vivo:GeographicRegion "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -3441,6 +3917,8 @@ vivo:Country "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -3456,6 +3934,8 @@ vivo:Speech "5"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -3470,6 +3950,8 @@ bibo:translationOf "translation of"^^xsd:string ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:offerCreateNewOptionAnnot @@ -3498,6 +3980,8 @@ vitro-public:FileByteStream "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -3505,6 +3989,8 @@ geo:hasBorderWith rdfs:label "has border with"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot ; vitro:selectFromExistingAnnot @@ -3520,6 +4006,8 @@ bibo:performer "performer"^^xsd:string ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:offerCreateNewOptionAnnot @@ -3539,6 +4027,8 @@ bibo:PersonalCommunicationDocument "15"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -3550,6 +4040,8 @@ vivo:FundingOrganization "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -3565,6 +4057,8 @@ vivo:Publisher "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -3580,6 +4074,8 @@ vivo:StudentOrganization "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -3588,7 +4084,11 @@ obo:OBI_0000312 rdfs:label "is specified output of"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:hiddenFromDisplayBelowRoleLevelAnnot + ; + vitro:hiddenFromPublishBelowRoleLevelAnnot . # note that this applies to grants only; see hasOutputContext for obo:RO_0002234 in /rdf/display/everytime/propertyConfig.n3 @@ -3598,6 +4098,8 @@ vivo:supportedInformationResource "5"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:offerCreateNewOptionAnnot @@ -3613,6 +4115,8 @@ geo:nameListRU rdfs:label "nameListRU"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -3620,6 +4124,8 @@ geo:validUntil rdfs:label "valid until"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -3629,6 +4135,8 @@ geo:hasMember "65"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot ; vitro:selectFromExistingAnnot @@ -3643,6 +4151,8 @@ bibo:eissn "2"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot @@ -3654,6 +4164,8 @@ geo:nameOfficialEN rdfs:label "nameOfficialEN"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -3665,6 +4177,8 @@ bibo:Proceedings "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -3677,6 +4191,8 @@ obo:OBI_0000293 "105"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot @@ -3696,6 +4212,8 @@ vivo:publisher "publisher"^^xsd:string ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:offerCreateNewOptionAnnot @@ -3718,6 +4236,8 @@ vivo:Institute "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -3735,6 +4255,8 @@ foaf:Organization "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -3743,6 +4265,8 @@ geo:nationalityZH rdfs:label "nationalityZH"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -3760,6 +4284,8 @@ vivo:Postdoc "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -3772,6 +4298,8 @@ vivo:seatingCapacity "50"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot @@ -3793,6 +4321,8 @@ vivo:ConferencePoster "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -3811,6 +4341,8 @@ vivo:middleName "20"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot @@ -3826,6 +4358,8 @@ vivo:WorkshopSeries "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -3837,6 +4371,8 @@ geo:agriculturalAreaTotal rdfs:label "agriculturalAreaTotal"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -3848,6 +4384,8 @@ event:Event "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -3859,6 +4397,8 @@ geo:hasMaxLongitude rdfs:label "has maximum longitude"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -3866,6 +4406,8 @@ geo:nationalityEN rdfs:label "nationalityEN"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -3880,6 +4422,8 @@ vivo:hasPredecessorOrganization "60"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot @@ -3895,6 +4439,8 @@ vivo:termType "1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot @@ -3908,6 +4454,8 @@ bibo:Image "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -3920,6 +4468,8 @@ vivo:AwardReceipt "true"^^xsd:boolean ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -3931,6 +4481,8 @@ vivo:FacultyMentoringRelationship "1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -3942,6 +4494,8 @@ bibo:Bill "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -3958,6 +4512,8 @@ vivo:CoPrincipalInvestigatorRole "true"^^xsd:boolean ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -3969,6 +4525,8 @@ vivo:licenseNumber "4"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot @@ -3986,6 +4544,8 @@ vivo:FacultyPosition "true"^^xsd:boolean ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -4004,6 +4564,8 @@ obo:RO_0001000 # "50"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . # vitro:inPropertyGroupAnnot @@ -4022,6 +4584,8 @@ bibo:gtin14 "80"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot @@ -4039,6 +4603,8 @@ vivo:AdvisingRelationship "true"^^xsd:boolean ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -4048,6 +4614,8 @@ vivo:entryTerm "40"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot @@ -4061,6 +4629,8 @@ vivo:entryTerm "5"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -4074,6 +4644,8 @@ obo:ERO_0001521 "20"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot ; vitro:offerCreateNewOptionAnnot "true"^^xsd:boolean ; @@ -4085,6 +4657,8 @@ vivo:nihmsid rdfs:label "NIH Manuscript Submission System ID"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot @@ -4098,6 +4672,8 @@ vivo:AcademicTerm "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -4105,6 +4681,8 @@ bibo:section rdfs:label "section"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot @@ -4120,6 +4698,8 @@ vivo:CaseStudy "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -4128,6 +4708,8 @@ geo:populationYear rdfs:label "populationYear"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -4135,6 +4717,8 @@ obo:IAO_0000136 rdfs:label "is about"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -4142,6 +4726,8 @@ geo:nationalityES rdfs:label "nationalityES"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -4154,6 +4740,8 @@ bibo:interviewer "interviewer"^^xsd:string ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:offerCreateNewOptionAnnot @@ -4172,6 +4760,8 @@ geo:codeUNDP rdfs:label "codeUNDP"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -4190,6 +4780,8 @@ geo:hasMaxLatitude rdfs:label "has maximum latitude"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -4203,6 +4795,8 @@ vivo:DateTimeInterval "true"^^xsd:boolean ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -4217,6 +4811,8 @@ bibo:Patent "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -4238,6 +4834,8 @@ vivo:Screenplay "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -4245,6 +4843,8 @@ geo:nameOfficialAR rdfs:label "nameOfficialAR"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -4252,6 +4852,8 @@ geo:validSince rdfs:label "valid since"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -4261,6 +4863,8 @@ geo:isInGroup "67"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot ; vitro:selectFromExistingAnnot @@ -4277,6 +4881,8 @@ vivo:EditorialArticle "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -4292,6 +4898,8 @@ vcard:Neighbor "4"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -4306,6 +4914,8 @@ vivo:orcidId "10"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot @@ -4340,6 +4950,8 @@ geo:nameListFR rdfs:label "nameListFR"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -4351,6 +4963,8 @@ geo:nameListFR "4"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot @@ -4366,6 +4980,8 @@ geo:organization "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -4377,6 +4993,8 @@ bibo:Slideshow "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -4388,6 +5006,8 @@ vivo:equipmentFor "equipment for"^^xsd:string ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:offerCreateNewOptionAnnot @@ -4404,6 +5024,8 @@ geo:codeGAUL rdfs:label "codeGAUL"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -4415,6 +5037,8 @@ vivo:geographicFocus "70"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:offerCreateNewOptionAnnot @@ -4432,6 +5056,8 @@ bibo:prefixName "32"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot @@ -4446,6 +5072,8 @@ geo:nameShortAR rdfs:label "nameShortAR"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -4459,6 +5087,8 @@ geo:nameShortAR ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -4482,6 +5112,8 @@ vivo:AcademicDepartment "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -4494,6 +5126,8 @@ vivo:researcherId "20"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot @@ -4509,6 +5143,8 @@ vivo:hasPublicationVenue "60"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:offerCreateNewOptionAnnot @@ -4526,6 +5162,8 @@ bibo:Excerpt "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -4537,6 +5175,8 @@ vivo:NonFacultyAcademic "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -4547,6 +5187,8 @@ bibo:annotates "annotates"^^xsd:string ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:offerCreateNewOptionAnnot @@ -4566,6 +5208,8 @@ vivo:Score "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -4577,6 +5221,8 @@ vivo:Grant "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -4585,6 +5231,8 @@ geo:nameOfficialZH rdfs:label "nameOfficialZH"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -4594,6 +5242,8 @@ bibo:reversedBy "reversedBy"^^xsd:string ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:offerCreateNewOptionAnnot @@ -4613,6 +5263,8 @@ vivo:majorField "50"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot @@ -4630,6 +5282,8 @@ geo:GDPNotes rdfs:label "GDP notes"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -4637,6 +5291,8 @@ geo:nameOfficialES rdfs:label "nameOfficialES"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -4644,6 +5300,8 @@ bibo:upc rdfs:label "Universal Product Code (UPC)"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot @@ -4659,6 +5317,8 @@ vivo:FacultyMember "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -4669,6 +5329,8 @@ vivo:hideFromDisplay "100"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -4680,6 +5342,8 @@ obo:ERO_0000481 "85"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot ; vitro:selectFromExistingAnnot @@ -4697,6 +5361,8 @@ obo:ERO_0000016 "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -4707,6 +5373,8 @@ vcard:sortAs rdfs:label "Institutional Review Board (IRB) number"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot @@ -4722,6 +5390,8 @@ vivo:Competition "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -4752,6 +5422,8 @@ obo:ERO_0000482 # deprecated # "92"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . # vitro:selectFromExistingAnnot @@ -4769,6 +5441,8 @@ vivo:ResearchProposal "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -4779,6 +5453,8 @@ bibo:director "director"^^xsd:string ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:offerCreateNewOptionAnnot @@ -4798,6 +5474,8 @@ vivo:Course "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -4813,6 +5491,8 @@ bibo:Magazine "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -4826,6 +5506,8 @@ vivo:LibrarianPosition "true"^^xsd:boolean ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -4833,6 +5515,8 @@ geo:nameShortIT rdfs:label "nameShortIT"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -4844,6 +5528,8 @@ vivo:Internship "10"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -4861,6 +5547,8 @@ obo:ERO_0000460 "90"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot ; vitro:selectFromExistingAnnot @@ -4878,6 +5566,8 @@ vivo:EditorRole "2"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -4889,6 +5579,8 @@ bibo:lccn "15"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot @@ -4907,6 +5599,8 @@ foaf:Group "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -4919,6 +5613,8 @@ bibo:Chapter "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -4936,6 +5632,8 @@ vivo:Committee "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -4948,6 +5646,8 @@ bibo:Standard "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -4967,6 +5667,8 @@ bibo:LegalDocument "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -4978,6 +5680,8 @@ vivo:CoreLaboratory "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -4991,6 +5695,8 @@ obo:ERO_0001245 "relation"^^xsd:string ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:offerCreateNewOptionAnnot @@ -5014,6 +5720,8 @@ skos:broader "broader term"^^xsd:string ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:offerCreateNewOptionAnnot @@ -5035,6 +5743,8 @@ vivo:LeaderRole "true"^^xsd:boolean ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -5049,6 +5759,8 @@ bibo:Webpage "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -5063,6 +5775,8 @@ vivo:InvestigatorRole "true"^^xsd:boolean ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -5074,6 +5788,8 @@ bibo:BookSection "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -5085,6 +5801,8 @@ vivo:departmentOrSchool "40"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot @@ -5101,6 +5819,8 @@ bibo:court "court"^^xsd:string ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:offerCreateNewOptionAnnot @@ -5116,6 +5836,8 @@ geo:countryAreaNotes rdfs:label "country area notes"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -5130,6 +5852,8 @@ bibo:Interview "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -5144,6 +5868,8 @@ bibo:Interview "5"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot @@ -5157,6 +5883,8 @@ vivo:Museum "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -5169,6 +5897,8 @@ vivo:hasAssociatedConcept "20"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:offerCreateNewOptionAnnot @@ -5189,6 +5919,8 @@ bibo:LegalCaseDocument "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -5199,6 +5931,8 @@ geo:nameCurrencyEN rdfs:label "nameCurrencyEN"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -5210,6 +5944,8 @@ vivo:offers "4"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot @@ -5227,6 +5963,8 @@ bibo:translator "translator"^^xsd:string ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:offerCreateNewOptionAnnot @@ -5246,6 +5984,8 @@ obo:ERO_0000015 "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -5260,6 +6000,8 @@ vivo:distributesFundingFrom "distributes funding from"^^xsd:string ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:offerCreateNewOptionAnnot @@ -5279,6 +6021,8 @@ bibo:citedBy "4"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:offerCreateNewOptionAnnot @@ -5296,6 +6040,8 @@ bibo:Manual "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -5310,6 +6056,8 @@ obo:ERO_0000783 "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -5322,6 +6070,8 @@ obo:ERO_0000783 "5"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -5332,6 +6082,8 @@ vivo:termLabel "1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot @@ -5349,6 +6101,8 @@ skos:related "related"^^xsd:string ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:offerCreateNewOptionAnnot "true"^^xsd:boolean ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot @@ -5374,6 +6128,8 @@ vivo:abbreviation "5"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot ; vitro:inPropertyGroupAnnot @@ -5391,6 +6147,8 @@ obo:ERO_0000014 "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -5403,6 +6161,8 @@ vivo:UndergraduateAdvisingRelationship "1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -5414,6 +6174,8 @@ vivo:NonAcademic "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -5426,6 +6188,8 @@ vivo:PostdocOrFellowAdvisingRelationship "1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -5446,6 +6210,8 @@ geo:agriculturalAreaYear rdfs:label "agriculturalAreaYear"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -5487,6 +6253,8 @@ vivo:providesFundingThrough "provides funding through"^^xsd:string ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:offerCreateNewOptionAnnot @@ -5509,6 +6277,8 @@ vivo:GeographicLocation "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -5520,6 +6290,8 @@ geo:nameCurrencyAR rdfs:label "nameCurrencyAR"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -5531,6 +6303,8 @@ vivo:end "99"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:offerCreateNewOptionAnnot "true"^^xsd:boolean ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot @@ -5544,6 +6318,8 @@ bibo:interviewee "interviewee"^^xsd:string ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:offerCreateNewOptionAnnot @@ -5569,6 +6345,8 @@ vivo:researchOverview "10"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot @@ -5582,6 +6360,8 @@ obo:ERO_0000390 "5"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot ; vitro:selectFromExistingAnnot @@ -5601,6 +6381,8 @@ skos:Concept "35"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -5615,6 +6397,8 @@ vivo:ResearcherRole "true"^^xsd:boolean ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -5624,6 +6408,8 @@ bibo:transcriptOf "transcriptOf"^^xsd:string ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:offerCreateNewOptionAnnot @@ -5638,6 +6424,8 @@ bibo:transcriptOf vivo:facilityFor vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -5647,6 +6435,8 @@ bibo:issuer "issuer"^^xsd:string ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:offerCreateNewOptionAnnot @@ -5666,6 +6456,8 @@ vivo:start "80"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:offerCreateNewOptionAnnot "true"^^xsd:boolean ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot @@ -5691,6 +6483,8 @@ geo:group "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -5702,6 +6496,8 @@ obo:ERO_0000595 "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -5714,6 +6510,8 @@ bibo:oclcnum "4"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot @@ -5729,6 +6527,8 @@ bibo:isbn10 "10"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot @@ -5744,6 +6544,8 @@ vivo:MedicalResidency "10"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -5754,6 +6556,8 @@ geo:nameShortEN rdfs:label "nameShortEN"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -5765,6 +6569,8 @@ obo:RO_0003001 "60"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot ; vitro:inPropertyGroupAnnot @@ -5783,6 +6589,8 @@ obo:RO_0003001 "5"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:offerCreateNewOptionAnnot @@ -5796,6 +6604,8 @@ geo:nameCurrencyIT rdfs:label "nameCurrencyIT"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -5819,6 +6629,8 @@ vivo:MemberRole "true"^^xsd:boolean ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -5848,6 +6660,8 @@ geo:special_group "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -5855,6 +6669,8 @@ geo:countryAreaUnit rdfs:label "country area unit"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -5869,6 +6685,8 @@ vivo:hasSuccessorOrganization "61"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:offerCreateNewOptionAnnot @@ -5886,6 +6704,8 @@ obo:RO_0003000 "63"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot ; vitro:inPropertyGroupAnnot @@ -5906,6 +6726,8 @@ vivo:prerequisiteFor "prerequisite for"^^xsd:string ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot @@ -5925,6 +6747,8 @@ bibo:isbn13 "11"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot @@ -5940,6 +6764,8 @@ vivo:cclCode "5"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot @@ -5951,6 +6777,8 @@ geo:hasNationality rdfs:label "has nationality"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -5962,6 +6790,8 @@ vivo:InvitedTalk "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -5974,6 +6804,8 @@ bibo:uri "30"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot @@ -6001,6 +6833,8 @@ vivo:translatorOf ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot ; vitro:publicDescriptionAnnot @@ -6018,6 +6852,8 @@ bibo:Document "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -6032,6 +6868,8 @@ geo:nameCurrencyES rdfs:label "nameCurrencyES"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -6039,6 +6877,8 @@ geo:countryAreaTotal rdfs:label "total country area"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -6050,6 +6890,8 @@ bibo:ReferenceSource "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -6063,6 +6905,8 @@ vivo:hasFundingVehicle ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot ; vitro:offerCreateNewAnnot @@ -6074,6 +6918,8 @@ geo:nationalityRU rdfs:label "nationalityRU"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -6081,6 +6927,8 @@ bibo:eanucc13 rdfs:label "EAN International-Uniform Code Council (EAN-UCC) 13"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot @@ -6096,6 +6944,8 @@ bibo:EditedBook "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -6117,6 +6967,8 @@ vivo:GeopoliticalEntity "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -6132,6 +6984,8 @@ vivo:sponsors "71"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:offerCreateNewOptionAnnot @@ -6152,6 +7006,8 @@ vivo:Room "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -6162,6 +7018,8 @@ vivo:eRACommonsId "15"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot @@ -6178,6 +7036,8 @@ obo:ERO_0000034 # "73"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . # vitro:inPropertyGroupAnnot @@ -6196,6 +7056,8 @@ geo:area "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -6209,6 +7071,8 @@ geo:codeCurrency rdfs:label "codeCurrency"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -6222,6 +7086,8 @@ vivo:hasTranslation "has translation"^^xsd:string ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:offerCreateNewOptionAnnot @@ -6240,6 +7106,8 @@ obo:BFO_0000054 rdfs:label "realized in"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -6252,6 +7120,8 @@ vivo:College "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -6260,6 +7130,8 @@ geo:nameShortES rdfs:label "nameShortES"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -6276,6 +7148,8 @@ vivo:dateIssued "19"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:offerCreateNewOptionAnnot @@ -6294,6 +7168,8 @@ geo:GDP rdfs:label "GDP"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -6307,6 +7183,8 @@ obo:BFO_0000055 rdfs:label "realizes"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -6314,6 +7192,8 @@ geo:nationalityAR rdfs:label "nationalityAR"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -6325,6 +7205,8 @@ bibo:CourtReporter "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -6344,6 +7226,8 @@ vivo:PresenterRole "true"^^xsd:boolean ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -6355,6 +7239,8 @@ vivo:PrimaryPosition "5"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -6398,6 +7284,8 @@ obo:ERO_0000397 "true"^^xsd:boolean ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot ; vitro:inPropertyGroupAnnot @@ -6415,6 +7303,8 @@ vivo:identifier "1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot @@ -6426,6 +7316,8 @@ geo:populationNotes rdfs:label "population notes"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -6437,6 +7329,8 @@ vivo:Campus "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -6455,6 +7349,8 @@ bibo:Slide "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -6466,6 +7362,8 @@ vivo:totalAwardAmount "60"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot @@ -6481,6 +7379,8 @@ bibo:Code "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -6488,6 +7388,8 @@ obo:RO_0002353 rdfs:label "output of"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -6505,6 +7407,8 @@ vivo:Library "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -6517,6 +7421,8 @@ bibo:Performance "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -6532,6 +7438,8 @@ obo:ERO_0001716 "75"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot @@ -6552,6 +7460,8 @@ obo:ERO_0000424 "15"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot ; vitro:inPropertyGroupAnnot @@ -6571,6 +7481,8 @@ obo:BFO_0000050 rdfs:label "part of"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -6582,6 +7494,8 @@ bibo:Letter "15"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -6590,6 +7504,8 @@ geo:nameCurrencyZH rdfs:label "nameCurrencyZH"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -6603,6 +7519,8 @@ vivo:distributes "distributes"^^xsd:string ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot @@ -6620,6 +7538,8 @@ obo:OBI_0000304 "73"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot ; vitro:inPropertyGroupAnnot @@ -6644,6 +7564,8 @@ obo:IAO_0000027 "5"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -6668,6 +7590,8 @@ foaf:Agent "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -6678,6 +7602,8 @@ obo:BFO_0000051 rdfs:label "has part"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -6698,6 +7624,8 @@ vivo:GraduateStudent "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -6719,6 +7647,8 @@ vivo:publicationVenueFor "60"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot ; vitro:selectFromExistingAnnot @@ -6735,6 +7665,8 @@ vivo:publicationVenueFor "5"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -6743,6 +7675,8 @@ geo:codeAGROVOC rdfs:label "codeAGROVOC"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -6752,6 +7686,8 @@ geo:codeAGROVOC "contributor"^^xsd:string ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:offerCreateNewOptionAnnot @@ -6776,6 +7712,8 @@ obo:ERO_0000037 rdfs:label "contact or provider for service"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:offerCreateNewOptionAnnot @@ -6801,6 +7739,8 @@ vivo:ResearchOrganization "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -6819,6 +7759,8 @@ vcard:honorificPrefix "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -6831,6 +7773,8 @@ vivo:Translation "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -6844,6 +7788,8 @@ geo:landAreaTotal rdfs:label "total land area"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -6855,6 +7801,8 @@ vivo:hrJobTitle "9"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot @@ -6875,6 +7823,8 @@ vivo:hasResearchArea "10"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:offerCreateNewOptionAnnot @@ -6888,6 +7838,8 @@ geo:hasCoordinate rdfs:label "has coordinate"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -6895,6 +7847,8 @@ geo:hasCoordinate rdfs:label "preferred namespace URI"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot ; vitro:publicDescriptionAnnot @@ -6911,6 +7865,8 @@ bibo:Report "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -6922,6 +7878,8 @@ geo:agriculturalAreaNotes rdfs:label "agricultural area notes"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -6929,6 +7887,8 @@ geo:nameListZH rdfs:label "nameListZH"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -6938,6 +7898,8 @@ geo:nameListZH "20"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot @@ -6953,6 +7915,8 @@ geo:nameListAR rdfs:label "nameListAR"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -6966,6 +7930,8 @@ vivo:dateTimeInterval "9"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:offerCreateNewOptionAnnot @@ -6986,6 +7952,8 @@ geo:economic_region "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -6993,6 +7961,8 @@ rdfs:isDefinedBy rdfs:label "is defined by"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot @@ -7017,6 +7987,8 @@ vivo:EmeritusProfessor "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -7037,6 +8009,8 @@ vivo:subcontractsGrant "subcontractsGrant"^^xsd:string ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:offerCreateNewOptionAnnot @@ -7056,6 +8030,8 @@ vivo:ConferenceSeries "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -7064,6 +8040,8 @@ vivo:ConferenceSeries rdfs:label "protocol realized by"@en-US , "protocol realized by"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot ; vitro:selectFromExistingAnnot @@ -7077,6 +8055,8 @@ vivo:UndergraduateStudent "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -7092,6 +8072,8 @@ bibo:Quote "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -7105,6 +8087,8 @@ vivo:NonFacultyAcademicPosition "true"^^xsd:boolean ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -7115,6 +8099,8 @@ geo:landAreaUnit rdfs:label "land area unit"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -7131,6 +8117,8 @@ vivo:dateFiled "19"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:individualSortDirectionAnnot @@ -7157,6 +8145,8 @@ vivo:OutreachProviderRole "true"^^xsd:boolean ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -7183,6 +8173,8 @@ bibo:Series "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -7195,6 +8187,8 @@ vivo:Foundation "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -7205,6 +8199,8 @@ bibo:subsequentLegalDecision "subsequentLegalDecision"^^xsd:string ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:offerCreateNewOptionAnnot @@ -7220,6 +8216,8 @@ bibo:coden rdfs:label "coden"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot @@ -7244,6 +8242,8 @@ vivo:OrganizerRole "4"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -7261,6 +8261,8 @@ vivo:Exhibit "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -7269,6 +8271,8 @@ geo:hasMinLatitude rdfs:label "has minimum latitude"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -7280,6 +8284,8 @@ vivo:County "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -7292,6 +8298,8 @@ vivo:Certificate "5"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -7310,6 +8318,8 @@ vivo:scopusId "30"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot @@ -7325,6 +8335,8 @@ bibo:Statute "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -7339,6 +8351,8 @@ vivo:fundingVehicleFor ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot ; vitro:offerCreateNewAnnot @@ -7366,6 +8380,8 @@ bibo:DocumentPart "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -7377,6 +8393,8 @@ bibo:Book "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -7392,6 +8410,8 @@ vivo:Project "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -7404,6 +8424,8 @@ vivo:PostdoctoralTraining "10"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -7415,6 +8437,8 @@ obo:ERO_0000918 "20"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot ; vitro:inPropertyGroupAnnot @@ -7432,6 +8456,8 @@ obo:OBI_0000417 "95"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot @@ -7445,6 +8471,8 @@ vivo:preferredDisplayOrder rdfs:label "preferred display order"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot @@ -7467,6 +8495,8 @@ vivo:sponsorAwardId "70"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot @@ -7491,6 +8521,8 @@ obo:ERO_0000543 "80"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot ; vitro:inPropertyGroupAnnot @@ -7508,6 +8540,8 @@ bibo:numPages "11"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot @@ -7524,6 +8558,8 @@ vivo:Association "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -7538,6 +8574,8 @@ vivo:PostdocPosition "true"^^xsd:boolean ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -7560,6 +8598,8 @@ vivo:degreeCandidacy "degreeCandidacy"^^xsd:string ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:offerCreateNewOptionAnnot @@ -7575,6 +8615,8 @@ geo:landAreaNotes rdfs:label "land area notes"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -7591,6 +8633,8 @@ geo:hasOfficialName rdfs:label "has official name"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -7598,6 +8642,8 @@ geo:codeDBPediaID rdfs:label "codeDBPediaID"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -7614,6 +8660,8 @@ vivo:hasProceedings "hasProceedings"^^xsd:string ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:offerCreateNewOptionAnnot @@ -7629,6 +8677,8 @@ geo:GDPUnit rdfs:label "GDP unit"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -7640,6 +8690,8 @@ bibo:edition "70"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot @@ -7651,6 +8703,8 @@ geo:nameShortZH rdfs:label "nameShortZH"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -7664,6 +8718,8 @@ obo:RO_0001015 rdfs:label "location of"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -7685,6 +8741,8 @@ vivo:dateTime "5"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot ; vitro:publicDescriptionAnnot @@ -7694,6 +8752,8 @@ geo:codeUN rdfs:label "codeUN"@en-US ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . @@ -7708,6 +8768,8 @@ obo:ERO_0000919 "95"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot @@ -7725,6 +8787,8 @@ bibo:status "16"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot @@ -7743,44 +8807,64 @@ vivo:Catalog "-1"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inClassGroup ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot . geo:HDINotes vitro:hiddenFromDisplayBelowRoleLevelAnnot + ; + vitro:hiddenFromPublishBelowRoleLevelAnnot . geo:HDITotal vitro:hiddenFromDisplayBelowRoleLevelAnnot + ; + vitro:hiddenFromPublishBelowRoleLevelAnnot . geo:HDIYear vitro:hiddenFromDisplayBelowRoleLevelAnnot + ; + vitro:hiddenFromPublishBelowRoleLevelAnnot . geo:hasMaxLatitude vitro:hiddenFromDisplayBelowRoleLevelAnnot + ; + vitro:hiddenFromPublishBelowRoleLevelAnnot . geo:hasMinLatitude vitro:hiddenFromDisplayBelowRoleLevelAnnot + ; + vitro:hiddenFromPublishBelowRoleLevelAnnot . geo:hasMinLongitude vitro:hiddenFromDisplayBelowRoleLevelAnnot + ; + vitro:hiddenFromPublishBelowRoleLevelAnnot . geo:hasMaxLongitude vitro:hiddenFromDisplayBelowRoleLevelAnnot + ; + vitro:hiddenFromPublishBelowRoleLevelAnnot . geo:validSince vitro:hiddenFromDisplayBelowRoleLevelAnnot + ; + vitro:hiddenFromPublishBelowRoleLevelAnnot . geo:validUntil vitro:hiddenFromDisplayBelowRoleLevelAnnot + ; + vitro:hiddenFromPublishBelowRoleLevelAnnot . @@ -7790,6 +8874,8 @@ vivo:hasEquipment "80"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot @@ -7807,6 +8893,8 @@ vivo:hasEquipment "4"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:offerCreateNewOptionAnnot @@ -7824,6 +8912,8 @@ vivo:hasEquipment "4"^^xsd:int ; vitro:hiddenFromDisplayBelowRoleLevelAnnot ; + vitro:hiddenFromPublishBelowRoleLevelAnnot + ; vitro:inPropertyGroupAnnot ; vitro:offerCreateNewOptionAnnot diff --git a/utilities/acceptance-tests/suites/LinkedOpenData/TestLinkedOpenData.html b/utilities/acceptance-tests/suites/LinkedOpenData/TestLinkedOpenData.html index b48253e9..580e46a9 100644 --- a/utilities/acceptance-tests/suites/LinkedOpenData/TestLinkedOpenData.html +++ b/utilities/acceptance-tests/suites/LinkedOpenData/TestLinkedOpenData.html @@ -11,19 +11,54 @@ function TestLOD() { this.uri = "lodFacultyMember"; function setupButtons() { - document.getElementById("RDFXML_button").onclick = function() { + + + + document.getElementById("RDFXML_EXTENSION_button").onclick = function() { + requestWithExtension(self.uri, "rdf"); + } + document.getElementById("N3_EXTENSION_button").onclick = function() { + requestWithExtension(self.uri, "n3"); + } + document.getElementById("TTL_EXTENSION_button").onclick = function() { + requestWithExtension(self.uri, "ttl"); + } + document.getElementById("JSONLD_EXTENSION_button").onclick = function() { + requestWithExtension(self.uri, "jsonld"); + } + + + + document.getElementById("RDFXML_FORMAT_button").onclick = function() { + requestWithFormat(self.uri, "rdfxml"); + } + document.getElementById("N3_FORMAT_button").onclick = function() { + requestWithFormat(self.uri, "n3"); + } + document.getElementById("TTL_FORMAT_button").onclick = function() { + requestWithFormat(self.uri, "ttl"); + } + document.getElementById("JSONLD_FORMAT_button").onclick = function() { + requestWithFormat(self.uri, "jsonld"); + } + + + + document.getElementById("RDFXML_HEADER_button").onclick = function() { requestWithAcceptHeader(self.uri, "application/rdf+xml"); } - document.getElementById("N3_button").onclick = function() { + document.getElementById("N3_HEADER_button").onclick = function() { requestWithAcceptHeader(self.uri, "text/n3"); } - document.getElementById("TTL_button").onclick = function() { + document.getElementById("TTL_HEADER_button").onclick = function() { requestWithAcceptHeader(self.uri, "text/turtle"); } - document.getElementById("JSONLD_button").onclick = function() { + document.getElementById("JSONLD_HEADER_button").onclick = function() { requestWithAcceptHeader(self.uri, "application/json"); } + + document.getElementById("BOGUS_URI_button").onclick = function() { requestWithAcceptHeader(self.uri + "XX", "application/rdf+xml"); } @@ -37,40 +72,61 @@ function TestLOD() { requestWithExtension(self.uri, "bogus"); } - document.getElementById("CLEAR_button").onclick = clearResult + document.getElementById("CLEAR_REQUEST_button").onclick = clearRequest + document.getElementById("CLEAR_RESPONSE_button").onclick = clearResult } function requestWithAcceptHeader(uri, mimetype) { - $.ajax({ + var parms = { url: "individual/" + uri, headers: {Accept: mimetype}, dataType: "text", complete: displayResult - }); + }; + displayRequest(parms); + $.ajax(parms); } function requestWithFormat(uri, format) { - $.ajax({ + var parms = { url: "individual/" + uri + "?format=" + format, dataType: "text", complete: displayResult - }); + }; + displayRequest(parms); + $.ajax(parms); } function requestWithExtension(uri, extension) { - $.ajax({ + var parms = { url: "individual/" + uri + "/" + uri + "." + extension, dataType: "text", complete: displayResult - }); + }; + displayRequest(parms); + $.ajax(parms); } - + + function displayRequest(parms) { + clearRequest(); + $("#requestUrl").text(parms.url); + if (parms.headers) { + $("#acceptHeader").text(parms.headers.Accept); + } + } + function displayResult(xhr, status) { + clearResult(); $("#responseCode").text(xhr.status); $("#mimeType").text(getMimeType(xhr)); $("#responseText").text(xhr.responseText); } + function clearRequest() { + $("#requestUrl").text("No URL"); + $("#acceptHeader").text("No header"); + } + function clearResult() { $("#responseCode").text("000"); $("#mimeType").text("No type"); @@ -95,21 +151,38 @@ $(document).ready(function() {

Test the Linked Open Data requests

-

Try various accept headers

- - - - +

Request by extension

+ + + + -

Try non-existent URI with RDFXML accept header

+

Request by format parameters

+ + + + + +

Request by accept headers

+ + + + + +

An assortment of failures

-

Response data

- +

Request data

+ +
Request URL is No URL
+
Accept header is No header
+ +

Response data

+
Response code is 000
MIME type is No type
Text is:
-
No text
\ No newline at end of file +
No text
\ No newline at end of file diff --git a/utilities/acceptance-tests/suites/SparqlUpdateApi/EnableSparqlUpdateApi.n3 b/utilities/acceptance-tests/suites/SparqlUpdateApi/EnableSparqlUpdateApi.n3 index dc389c21..a9d54a1a 100644 --- a/utilities/acceptance-tests/suites/SparqlUpdateApi/EnableSparqlUpdateApi.n3 +++ b/utilities/acceptance-tests/suites/SparqlUpdateApi/EnableSparqlUpdateApi.n3 @@ -1,8 +1,6 @@ @prefix rdfs: . @prefix auth: . @prefix simplePermission: . -@prefix displayByRole: . -@prefix editByRole: . auth:ADMIN auth:hasPermission simplePermission:UseSparqlUpdateApi ; diff --git a/utilities/release1.6.1-scripts/addPublishTriplesToInitialTBoxAnnotations.rb b/utilities/release1.6.1-scripts/addPublishTriplesToInitialTBoxAnnotations.rb new file mode 100644 index 00000000..38954ecc --- /dev/null +++ b/utilities/release1.6.1-scripts/addPublishTriplesToInitialTBoxAnnotations.rb @@ -0,0 +1,76 @@ +=begin +go through the lines of the file. + +If you find a line that matches +vitro:hiddenFromDisplayBelowRoleLevelAnnot +and followed by a line that matches + ; +--where "public" may be any string +Insert 2 lines after the second one, replacing Display by Publish on the first, and duplicating the second. + +If you find a line that contains +vitro:hiddenFromDisplayBelowRoleLevelAnnot +and does not match it, or is not followed by a line that matches + ; +Issue a warning and continue. + +=end + +FILE_PATH = "../../rdf/tbox/firsttime/initialTBoxAnnotations.n3" +DISPLAY_URI = "vitro:hiddenFromDisplayBelowRoleLevelAnnot" +DISPLAY_LOCALNAME = "hiddenFromDisplayBelowRoleLevelAnnot" + +def read_the_file() + @lines = File.readlines(FILE_PATH); +end + +def scan_the_lines() + @lines.each_index do |i| + @line1 = @lines[i] + @line2 = @lines[i+1] + @index = i + if linesContainMatch() + replicateProperty() + else + checkForMismatch() + end + end +end + +def linesContainMatch() + return false unless @line1.strip() == DISPLAY_URI + return false unless @line2 + return false unless m = @line2.match(//) + @role = m[1] +end + +def replicateProperty() + newline1 = @line1.gsub(/Display/, "Publish") + newline2 = @line2.gsub(/#.*>/, "##{@role}>") + @lines.insert(@index + 2, newline1, newline2) +end + +def checkForMismatch() + return false unless @line1.strip() == DISPLAY_URI + if !@line2 + puts "Found display property at end of file" + return + end + if !@line2.match(/^\s*\s*;\s*$/) + puts "Found bogus clutter in the second line (#{@index}) '#{@line2}'" + return + end +end + +def write_the_file() + f = File.new(FILE_PATH+"-modified", "w") + @lines.each() do |line| + f.write(line) + end + f.close() +end + +read_the_file() +scan_the_lines() +write_the_file() + diff --git a/utilities/release1.6.1-scripts/addPublishTriplesTovivo-tbox2.rb b/utilities/release1.6.1-scripts/addPublishTriplesTovivo-tbox2.rb new file mode 100644 index 00000000..cd1021c3 --- /dev/null +++ b/utilities/release1.6.1-scripts/addPublishTriplesTovivo-tbox2.rb @@ -0,0 +1,78 @@ +=begin +go through the lines of the file. + +If you find a line that matches +vitro:hiddenFromDisplayBelowRoleLevelAnnot +and followed by a line that matches + ; +--where "public" may be any string +Insert 2 lines after the second one, replacing Display by Publish on the first, and duplicating the second. + +If you find a line that contains +vitro:hiddenFromDisplayBelowRoleLevelAnnot +and does not match it, or is not followed by a line that matches + ; +Issue a warning and continue. + + + ; + +=end + +FILE_PATH = "/Users/jeb228/Documents/EclipseStuff/vivoWorkspace/vivoCornell/productMods/bjl23/ingest/weill/grants/submodels/vivo-tbox2.ttl" +DISPLAY_URI = "" + +def read_the_file() + @lines = File.readlines(FILE_PATH); +end + +def scan_the_lines() + @lines.each_index do |i| + @line1 = @lines[i] + @line2 = @lines[i+1] + @index = i + if linesContainMatch() + replicateProperty() + else + checkForMismatch() + end + end +end + +def linesContainMatch() + return false unless @line1.strip() == DISPLAY_URI + return false unless @line2 + return false unless m = @line2.match(//) + @role = m[1] +end + +def replicateProperty() + newline1 = @line1.gsub(/Display/, "Publish") + newline2 = @line2.gsub(/#.*>/, "##{@role}>") + @lines.insert(@index + 2, newline1, newline2) +end + +def checkForMismatch() + return false unless @line1.strip() == DISPLAY_URI + if !@line2 + puts "Found display property at end of file" + return + end + if !@line2.match(/^\s*\s*;\s*$/) + puts "Found bogus clutter in the second line (#{@index}) '#{@line2}'" + return + end +end + +def write_the_file() + f = File.new(FILE_PATH+"-modified", "w") + @lines.each() do |line| + f.write(line) + end + f.close() +end + +read_the_file() +scan_the_lines() +write_the_file() + From 713b6317d1db0307ba7a00d266473cb3e5a85ee7 Mon Sep 17 00:00:00 2001 From: j2blake Date: Wed, 12 Mar 2014 13:16:38 -0400 Subject: [PATCH 18/28] VIVO-706 add a ObjectProperty declaration for "conceptAssociatedWith" --- rdf/tbox/filegraph/object-properties.owl | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/rdf/tbox/filegraph/object-properties.owl b/rdf/tbox/filegraph/object-properties.owl index 2f935ace..10a3bd72 100644 --- a/rdf/tbox/filegraph/object-properties.owl +++ b/rdf/tbox/filegraph/object-properties.owl @@ -1392,6 +1392,11 @@ there is a measurement process p that has specified output m, a measurement datu + + + + + From c9159cdb330a2bb6501cd70732bad7f9f9f26714 Mon Sep 17 00:00:00 2001 From: Holly Mistlebauer Date: Thu, 13 Mar 2014 12:21:56 -0400 Subject: [PATCH 19/28] Holly made minor test case changes while testing 1.6.1 --- .../CreateClasses/AddSubClassHours.html | 27 ++++++++--- .../CreateClasses/AddSubClassMinutes.html | 20 ++++++-- .../AddDataPropArchDetails.html | 48 +++++++++++++------ .../AddObjPropYearFounded.html | 18 +++++-- .../EditObjPropYearFounded.html | 4 +- .../CreateTestFacultyMember.html | 35 -------------- .../suites/InitialSetup/EditSiteInfo.html | 8 ++-- 7 files changed, 90 insertions(+), 70 deletions(-) diff --git a/utilities/acceptance-tests/suites/CreateClasses/AddSubClassHours.html b/utilities/acceptance-tests/suites/CreateClasses/AddSubClassHours.html index 3aa01db7..29792510 100644 --- a/utilities/acceptance-tests/suites/CreateClasses/AddSubClassHours.html +++ b/utilities/acceptance-tests/suites/CreateClasses/AddSubClassHours.html @@ -103,14 +103,24 @@ Hours - select - HiddenFromDisplayBelowRoleLevelUsingRoleUri - label=site administrator + selectWindow + null + select - ProhibitedFromUpdateBelowRoleLevelUsingRoleUri - label=site administrator + name=HiddenFromDisplayBelowRoleLevelUsingRoleUri + label=site admin and root user + + + select + name=ProhibitedFromUpdateBelowRoleLevelUsingRoleUri + label=site admin and root user + + + select + name=HiddenFromPublishBelowRoleLevelUsingRoleUri + label=all users, including public select @@ -155,7 +165,7 @@ verifyTextPresent - site administrator + site admin and root user @@ -173,6 +183,11 @@ http://vivo.mydomain.edu/individual/hours + + verifyTextPresent + all users, including public + + clickAndWait //input[@value='Show All Classes'] diff --git a/utilities/acceptance-tests/suites/CreateClasses/AddSubClassMinutes.html b/utilities/acceptance-tests/suites/CreateClasses/AddSubClassMinutes.html index 2dc4b72b..3e2ba2c7 100644 --- a/utilities/acceptance-tests/suites/CreateClasses/AddSubClassMinutes.html +++ b/utilities/acceptance-tests/suites/CreateClasses/AddSubClassMinutes.html @@ -104,13 +104,18 @@ select - HiddenFromDisplayBelowRoleLevelUsingRoleUri - label=editor, curator, site administrator + name=HiddenFromDisplayBelowRoleLevelUsingRoleUri + label=editor and above select - ProhibitedFromUpdateBelowRoleLevelUsingRoleUri - label=editor, curator, site administrator + name=ProhibitedFromUpdateBelowRoleLevelUsingRoleUri + label=editor and above + + + select + name=HiddenFromPublishBelowRoleLevelUsingRoleUri + label=all users, including public select @@ -155,7 +160,7 @@ verifyTextPresent - editor, curator, site administrator + editor and above @@ -173,6 +178,11 @@ http://vivo.mydomain.edu/individual/minutes + + verifyTextPresent + all users, including public + + clickAndWait //input[@value='Show All Classes'] diff --git a/utilities/acceptance-tests/suites/CreateProperties/AddDataPropArchDetails.html b/utilities/acceptance-tests/suites/CreateProperties/AddDataPropArchDetails.html index 8864dce4..9a4910b1 100644 --- a/utilities/acceptance-tests/suites/CreateProperties/AddDataPropArchDetails.html +++ b/utilities/acceptance-tests/suites/CreateProperties/AddDataPropArchDetails.html @@ -107,21 +107,26 @@ GroupURI label=Place - - select - HiddenFromDisplayBelowRoleLevelUsingRoleUri - label=editor, curator, site administrator - - - select - ProhibitedFromUpdateBelowRoleLevelUsingRoleUri - label=public - select name=Namespace label=VIVO Core + + select + name=HiddenFromDisplayBelowRoleLevelUsingRoleUri + label=self-editor and above + + + select + name=ProhibitedFromUpdateBelowRoleLevelUsingRoleUri + label=editor and above + + + select + name=HiddenFromPublishBelowRoleLevelUsingRoleUri + label=curator and above + type LocalName @@ -173,6 +178,11 @@ architecturalDetails + + verifyElementPresent + link=Agent (foaf) + + verifyTextPresent http://www.w3.org/2001/XMLSchema#string @@ -185,12 +195,12 @@ verifyTextPresent - editor, curator, site administrator + self-editor and above verifyTextPresent - public + editor and above @@ -208,6 +218,11 @@ http://vivoweb.org/ontology/core#architecturalDetails + + verifyTextPresent + curator and above + + clickAndWait @@ -306,12 +321,12 @@ verifyTextPresent - editor, curator, site administrator + self-editor and above verifyTextPresent - public + editor and above @@ -329,6 +344,11 @@ http://vivoweb.org/ontology/core#architecturalDetails + + verifyTextPresent + curator and above + + clickAndWait diff --git a/utilities/acceptance-tests/suites/CreateProperties/AddObjPropYearFounded.html b/utilities/acceptance-tests/suites/CreateProperties/AddObjPropYearFounded.html index bf47f792..5816a5ce 100644 --- a/utilities/acceptance-tests/suites/CreateProperties/AddObjPropYearFounded.html +++ b/utilities/acceptance-tests/suites/CreateProperties/AddObjPropYearFounded.html @@ -150,12 +150,17 @@ select name=HiddenFromDisplayBelowRoleLevelUsingRoleUri - label=editor, curator, site administrator + label=editor and above select name=ProhibitedFromUpdateBelowRoleLevelUsingRoleUri - label=site administrator + label=self-editor and above + + + select + name=HiddenFromPublishBelowRoleLevelUsingRoleUri + label=all users, including public type @@ -230,12 +235,12 @@ verifyTextPresent - editor, curator, site administrator + editor and above verifyTextPresent - site administrator + self-editor and above @@ -263,6 +268,11 @@ http://purl.org/ontology/bibo/yearFounded + + verifyTextPresent + all users, including public + + clickAndWait diff --git a/utilities/acceptance-tests/suites/CreateProperties/EditObjPropYearFounded.html b/utilities/acceptance-tests/suites/CreateProperties/EditObjPropYearFounded.html index 80c11c1c..d531f70f 100644 --- a/utilities/acceptance-tests/suites/CreateProperties/EditObjPropYearFounded.html +++ b/utilities/acceptance-tests/suites/CreateProperties/EditObjPropYearFounded.html @@ -105,7 +105,7 @@ select name=HiddenFromDisplayBelowRoleLevelUsingRoleUri - label=public + label=curator and above clickAndWait @@ -120,7 +120,7 @@ verifyTextPresent - public + curator and above diff --git a/utilities/acceptance-tests/suites/CustomAdvisesForm/CreateTestFacultyMember.html b/utilities/acceptance-tests/suites/CustomAdvisesForm/CreateTestFacultyMember.html index 850e9433..bb799ab8 100644 --- a/utilities/acceptance-tests/suites/CustomAdvisesForm/CreateTestFacultyMember.html +++ b/utilities/acceptance-tests/suites/CustomAdvisesForm/CreateTestFacultyMember.html @@ -116,41 +116,6 @@ Faculty Member - - selectWindow - null - - - - clickAndWait - css=header > #ARG_2000028 > a.add-ARG_2000028 > img.add-individual - - - - assertTitle - Edit - - - - type - id=preferredTitle - Assistant Professor - - - clickAndWait - id=submit - - - - assertTitle - Faculty, Jane - - - - assertTextPresent - Assistant Professor - - clickAndWait diff --git a/utilities/acceptance-tests/suites/InitialSetup/EditSiteInfo.html b/utilities/acceptance-tests/suites/InitialSetup/EditSiteInfo.html index 836c9d5d..a5b9b134 100644 --- a/utilities/acceptance-tests/suites/InitialSetup/EditSiteInfo.html +++ b/utilities/acceptance-tests/suites/InitialSetup/EditSiteInfo.html @@ -303,12 +303,12 @@ verifyTextPresent - Version rel-1.6-rc5 + Version rel-1.6.1-rc1 verifyElementPresent - link=rel-1.6-rc5 + link=rel-1.6.1-rc1 @@ -639,12 +639,12 @@ verifyTextPresent - Version rel-1.6-rc + Version rel-1.6.1-rc1 verifyElementPresent - link=rel-1.6-rc5 + link=rel-1.6.1-rc1 From 312c5db6fa9e3b9c4136ec9784917a742dd4a3df Mon Sep 17 00:00:00 2001 From: Holly Mistlebauer Date: Fri, 14 Mar 2014 09:54:07 -0400 Subject: [PATCH 20/28] Holly made more test case changes... --- .../CheckVisualizations/AddCoAuthors.html | 6 +- .../AddCoInvestigators.html | 8 +-- .../suites/CheckVisualizations/AddGrants.html | 4 +- .../CheckVisualizations/AddPublications.html | 6 +- .../CheckVisualizations/CheckGrantDates.html | 4 +- .../TestTemporalGraphs.html | 70 +++---------------- .../suites/CustomAdvisesForm/AddAdvises.html | 13 ++-- .../CustomAdvisesForm/ChangeAdvises.html | 4 +- .../CustomAdvisesForm/CheckIndexView.html | 7 +- .../suites/CustomAwardsForm/AddAwards.html | 5 -- .../suites/CustomAwardsForm/ChangeAwards.html | 4 +- .../suites/InitialSetup/EditSiteInfo.html | 18 ++--- 12 files changed, 47 insertions(+), 102 deletions(-) diff --git a/utilities/acceptance-tests/suites/CheckVisualizations/AddCoAuthors.html b/utilities/acceptance-tests/suites/CheckVisualizations/AddCoAuthors.html index ad8a93b4..67ccdd63 100644 --- a/utilities/acceptance-tests/suites/CheckVisualizations/AddCoAuthors.html +++ b/utilities/acceptance-tests/suites/CheckVisualizations/AddCoAuthors.html @@ -291,7 +291,7 @@ verifyTextPresent - 3 in the last 10 full + 2 in the last 10 full @@ -386,7 +386,7 @@ verifyTextPresent - from 2001 to 2012 + from 2001 to 2013 @@ -401,7 +401,7 @@ verifyTextPresent - from 2001 to 2012 + from 2001 to 2013 diff --git a/utilities/acceptance-tests/suites/CheckVisualizations/AddCoInvestigators.html b/utilities/acceptance-tests/suites/CheckVisualizations/AddCoInvestigators.html index 7759eeac..b34cc783 100644 --- a/utilities/acceptance-tests/suites/CheckVisualizations/AddCoInvestigators.html +++ b/utilities/acceptance-tests/suites/CheckVisualizations/AddCoInvestigators.html @@ -356,7 +356,7 @@ verifyTextPresent - from 2002 through 2012 + from 2002 through 2013 @@ -371,7 +371,7 @@ verifyTextPresent - from 2002 through 2012 + from 2002 through 2013 @@ -567,7 +567,7 @@ verifyTextPresent - from 2001 to 2012 + from 2001 to 2013 @@ -582,7 +582,7 @@ verifyTextPresent - from 2001 to 2012 + from 2001 to 2013 diff --git a/utilities/acceptance-tests/suites/CheckVisualizations/AddGrants.html b/utilities/acceptance-tests/suites/CheckVisualizations/AddGrants.html index 6ad34060..6cacf90f 100644 --- a/utilities/acceptance-tests/suites/CheckVisualizations/AddGrants.html +++ b/utilities/acceptance-tests/suites/CheckVisualizations/AddGrants.html @@ -297,7 +297,7 @@ verifyTextPresent - from 2002 through 2012 + from 2002 through 2013 @@ -312,7 +312,7 @@ verifyTextPresent - from 2003 through 2012 + from 2004 through 2013 diff --git a/utilities/acceptance-tests/suites/CheckVisualizations/AddPublications.html b/utilities/acceptance-tests/suites/CheckVisualizations/AddPublications.html index 3527acdc..bf173417 100644 --- a/utilities/acceptance-tests/suites/CheckVisualizations/AddPublications.html +++ b/utilities/acceptance-tests/suites/CheckVisualizations/AddPublications.html @@ -792,7 +792,7 @@ verifyTextPresent - 3 in the last 10 full + 2 in the last 10 full @@ -872,7 +872,7 @@ verifyTextPresent - from 2001 to 2012 + from 2001 to 2013 @@ -887,7 +887,7 @@ verifyTextPresent - from 2003 to 2012 + from 2004 to 2013 diff --git a/utilities/acceptance-tests/suites/CheckVisualizations/CheckGrantDates.html b/utilities/acceptance-tests/suites/CheckVisualizations/CheckGrantDates.html index be46b954..e00e5b4f 100644 --- a/utilities/acceptance-tests/suites/CheckVisualizations/CheckGrantDates.html +++ b/utilities/acceptance-tests/suites/CheckVisualizations/CheckGrantDates.html @@ -801,7 +801,7 @@ verifyTextPresent - from 2003 through 2012 + from 2004 through 2013 @@ -816,7 +816,7 @@ verifyTextPresent - from 2003 through 2012 + from 2004 through 2013 diff --git a/utilities/acceptance-tests/suites/CheckVisualizations/TestTemporalGraphs.html b/utilities/acceptance-tests/suites/CheckVisualizations/TestTemporalGraphs.html index d37cddfe..ee215155 100644 --- a/utilities/acceptance-tests/suites/CheckVisualizations/TestTemporalGraphs.html +++ b/utilities/acceptance-tests/suites/CheckVisualizations/TestTemporalGraphs.html @@ -489,61 +489,31 @@ Comparing publications of People in Child Development - - verifyTextPresent - 2001 - - verifyTextPresent 2002 - - verifyTextPresent - 2003 - - verifyTextPresent 2004 - - verifyTextPresent - 2005 - - verifyTextPresent 2006 - - verifyTextPresent - 2007 - - verifyTextPresent 2008 - - verifyTextPresent - 2009 - - verifyTextPresent 2010 - - verifyTextPresent - 2011 - - verifyTextPresent 2012 @@ -781,6 +751,11 @@ 2012 + + verifyTextPresent + 2013 + + verifyTextPresent Total Number of grants @@ -1009,61 +984,31 @@ Comparing publications of Organizations in College of Human Ecology - - verifyTextPresent - 2001 - - verifyTextPresent 2002 - - verifyTextPresent - 2003 - - verifyTextPresent 2004 - - verifyTextPresent - 2005 - - verifyTextPresent 2006 - - verifyTextPresent - 2007 - - verifyTextPresent 2008 - - verifyTextPresent - 2009 - - verifyTextPresent 2010 - - verifyTextPresent - 2011 - - verifyTextPresent 2012 @@ -1281,6 +1226,11 @@ 2012 + + verifyTextPresent + 2013 + + verifyTextPresent Total Number of grants diff --git a/utilities/acceptance-tests/suites/CustomAdvisesForm/AddAdvises.html b/utilities/acceptance-tests/suites/CustomAdvisesForm/AddAdvises.html index 9f9f0ceb..4288e60e 100644 --- a/utilities/acceptance-tests/suites/CustomAdvisesForm/AddAdvises.html +++ b/utilities/acceptance-tests/suites/CustomAdvisesForm/AddAdvises.html @@ -91,9 +91,14 @@ //div[@id='wrapper-content']/ul/li[8] + + selectWindow + null + + clickAndWait - xpath=(//img[@alt='add'])[28] + xpath=(//img[@alt='add'])[29] @@ -154,7 +159,7 @@ clickAndWait - xpath=(//img[@alt='add'])[28] + xpath=(//img[@alt='add'])[29] @@ -275,7 +280,7 @@ clickAndWait - xpath=(//img[@alt='add'])[28] + xpath=(//img[@alt='add'])[29] @@ -357,7 +362,7 @@ clickAndWait - xpath=(//img[@alt='add'])[28] + xpath=(//img[@alt='add'])[29] diff --git a/utilities/acceptance-tests/suites/CustomAdvisesForm/ChangeAdvises.html b/utilities/acceptance-tests/suites/CustomAdvisesForm/ChangeAdvises.html index 290b265b..a72aba11 100644 --- a/utilities/acceptance-tests/suites/CustomAdvisesForm/ChangeAdvises.html +++ b/utilities/acceptance-tests/suites/CustomAdvisesForm/ChangeAdvises.html @@ -211,7 +211,7 @@ clickAndWait - xpath=(//img[@alt='edit this entry'])[4] + xpath=(//img[@alt='edit this entry'])[3] @@ -293,7 +293,7 @@ clickAndWait - xpath=(//img[@alt='edit this entry'])[5] + xpath=(//img[@alt='edit this entry'])[4] diff --git a/utilities/acceptance-tests/suites/CustomAdvisesForm/CheckIndexView.html b/utilities/acceptance-tests/suites/CustomAdvisesForm/CheckIndexView.html index 1973b830..695eabb6 100644 --- a/utilities/acceptance-tests/suites/CustomAdvisesForm/CheckIndexView.html +++ b/utilities/acceptance-tests/suites/CustomAdvisesForm/CheckIndexView.html @@ -65,11 +65,6 @@ Faculty Member - - verifyTextPresent - Faculty, Jane Assistant Professor - - verifyElementPresent link=Faculty, Jane @@ -122,7 +117,7 @@ verifyTextPresent - Faculty, Jane Assistant Professor + Faculty, Jane Faculty Member diff --git a/utilities/acceptance-tests/suites/CustomAwardsForm/AddAwards.html b/utilities/acceptance-tests/suites/CustomAwardsForm/AddAwards.html index 56866b16..88030d1f 100644 --- a/utilities/acceptance-tests/suites/CustomAwardsForm/AddAwards.html +++ b/utilities/acceptance-tests/suites/CustomAwardsForm/AddAwards.html @@ -420,11 +420,6 @@ Award or Honor - - selectWindow - null - - verifyElementPresent link=Best Professor (Faculty, Jane - 2012) diff --git a/utilities/acceptance-tests/suites/CustomAwardsForm/ChangeAwards.html b/utilities/acceptance-tests/suites/CustomAwardsForm/ChangeAwards.html index 48af6488..ce8cc7b4 100644 --- a/utilities/acceptance-tests/suites/CustomAwardsForm/ChangeAwards.html +++ b/utilities/acceptance-tests/suites/CustomAwardsForm/ChangeAwards.html @@ -211,7 +211,7 @@ clickAndWait - xpath=(//img[@alt='edit this entry'])[4] + xpath=(//img[@alt='edit this entry'])[5] @@ -293,7 +293,7 @@ clickAndWait - css=a.edit-relatedBy > img.edit-individual + xpath=(//img[@alt='edit this entry'])[5] diff --git a/utilities/acceptance-tests/suites/InitialSetup/EditSiteInfo.html b/utilities/acceptance-tests/suites/InitialSetup/EditSiteInfo.html index a5b9b134..612c1500 100644 --- a/utilities/acceptance-tests/suites/InitialSetup/EditSiteInfo.html +++ b/utilities/acceptance-tests/suites/InitialSetup/EditSiteInfo.html @@ -130,7 +130,7 @@ verifyTextPresent - ©2013 VIVO Project + ©2014 VIVO Project @@ -283,7 +283,7 @@ verifyTextPresent - ©2013 VIVO Project + ©2014 VIVO Project @@ -303,12 +303,12 @@ verifyTextPresent - Version rel-1.6.1-rc1 + Version rel-1.6.1-rc2 verifyElementPresent - link=rel-1.6.1-rc1 + link=rel-1.6.1-rc2 @@ -507,7 +507,7 @@ verifyTextPresent - ©2013 + ©2014 @@ -532,7 +532,7 @@ verifyTextPresent - Version rel-1.6-rc5 + Version rel-1.6.1-rc2 @@ -619,7 +619,7 @@ verifyTextPresent - ©2013 VIVO Project + ©2014 VIVO Project @@ -639,12 +639,12 @@ verifyTextPresent - Version rel-1.6.1-rc1 + Version rel-1.6.1-rc2 verifyElementPresent - link=rel-1.6.1-rc1 + link=rel-1.6.1-rc2 From 9e2519af21cdcf3f1ffb87c2635d5f3ea95ed415 Mon Sep 17 00:00:00 2001 From: j2blake Date: Wed, 26 Mar 2014 16:06:29 -0400 Subject: [PATCH 21/28] VIVO-725 modify TestLinkedOpenData so it can be fully automated. --- build.xml | 21 +++++++++++-------- .../TestLinkedOpenData.html | 6 +++--- .../acceptance-tests/testApp/js/jquery.js | 16 ++++++++++++++ 3 files changed, 31 insertions(+), 12 deletions(-) rename utilities/acceptance-tests/{suites/LinkedOpenData => testApp}/TestLinkedOpenData.html (97%) create mode 100644 utilities/acceptance-tests/testApp/js/jquery.js diff --git a/build.xml b/build.xml index 28055179..cc3002cb 100644 --- a/build.xml +++ b/build.xml @@ -121,14 +121,17 @@ - - - - - - - + + + + + + + + + + diff --git a/utilities/acceptance-tests/suites/LinkedOpenData/TestLinkedOpenData.html b/utilities/acceptance-tests/testApp/TestLinkedOpenData.html similarity index 97% rename from utilities/acceptance-tests/suites/LinkedOpenData/TestLinkedOpenData.html rename to utilities/acceptance-tests/testApp/TestLinkedOpenData.html index 580e46a9..be0b32ea 100644 --- a/utilities/acceptance-tests/suites/LinkedOpenData/TestLinkedOpenData.html +++ b/utilities/acceptance-tests/testApp/TestLinkedOpenData.html @@ -78,7 +78,7 @@ function TestLOD() { function requestWithAcceptHeader(uri, mimetype) { var parms = { - url: "individual/" + uri, + url: "/vivo/individual/" + uri, headers: {Accept: mimetype}, dataType: "text", complete: displayResult @@ -89,7 +89,7 @@ function TestLOD() { function requestWithFormat(uri, format) { var parms = { - url: "individual/" + uri + "?format=" + format, + url: "/vivo/individual/" + uri + "?format=" + format, dataType: "text", complete: displayResult }; @@ -99,7 +99,7 @@ function TestLOD() { function requestWithExtension(uri, extension) { var parms = { - url: "individual/" + uri + "/" + uri + "." + extension, + url: "/vivo/individual/" + uri + "/" + uri + "." + extension, dataType: "text", complete: displayResult }; diff --git a/utilities/acceptance-tests/testApp/js/jquery.js b/utilities/acceptance-tests/testApp/js/jquery.js new file mode 100644 index 00000000..14fd6470 --- /dev/null +++ b/utilities/acceptance-tests/testApp/js/jquery.js @@ -0,0 +1,16 @@ +/*! + * jQuery JavaScript Library v1.5.1 + * http://jquery.com/ + * + * Copyright 2011, John Resig + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * Copyright 2011, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * + * Date: Wed Feb 23 13:55:29 2011 -0500 + */ +(function(a,b){function cg(a){return d.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cd(a){if(!bZ[a]){var b=d("<"+a+">").appendTo("body"),c=b.css("display");b.remove();if(c==="none"||c==="")c="block";bZ[a]=c}return bZ[a]}function cc(a,b){var c={};d.each(cb.concat.apply([],cb.slice(0,b)),function(){c[this]=a});return c}function bY(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function bX(){try{return new a.XMLHttpRequest}catch(b){}}function bW(){d(a).unload(function(){for(var a in bU)bU[a](0,1)})}function bQ(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var e=a.dataTypes,f={},g,h,i=e.length,j,k=e[0],l,m,n,o,p;for(g=1;g=0===c})}function N(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function F(a,b){return(a&&a!=="*"?a+".":"")+b.replace(r,"`").replace(s,"&")}function E(a){var b,c,e,f,g,h,i,j,k,l,m,n,o,q=[],r=[],s=d._data(this,"events");if(a.liveFired!==this&&s&&s.live&&!a.target.disabled&&(!a.button||a.type!=="click")){a.namespace&&(n=new RegExp("(^|\\.)"+a.namespace.split(".").join("\\.(?:.*\\.)?")+"(\\.|$)")),a.liveFired=this;var t=s.live.slice(0);for(i=0;ic)break;a.currentTarget=f.elem,a.data=f.handleObj.data,a.handleObj=f.handleObj,o=f.handleObj.origHandler.apply(f.elem,arguments);if(o===!1||a.isPropagationStopped()){c=f.level,o===!1&&(b=!1);if(a.isImmediatePropagationStopped())break}}return b}}function C(a,c,e){var f=d.extend({},e[0]);f.type=a,f.originalEvent={},f.liveFired=b,d.event.handle.call(c,f),f.isDefaultPrevented()&&e[0].preventDefault()}function w(){return!0}function v(){return!1}function g(a){for(var b in a)if(b!=="toJSON")return!1;return!0}function f(a,c,f){if(f===b&&a.nodeType===1){f=a.getAttribute("data-"+c);if(typeof f==="string"){try{f=f==="true"?!0:f==="false"?!1:f==="null"?null:d.isNaN(f)?e.test(f)?d.parseJSON(f):f:parseFloat(f)}catch(g){}d.data(a,c,f)}else f=b}return f}var c=a.document,d=function(){function I(){if(!d.isReady){try{c.documentElement.doScroll("left")}catch(a){setTimeout(I,1);return}d.ready()}}var d=function(a,b){return new d.fn.init(a,b,g)},e=a.jQuery,f=a.$,g,h=/^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]+)$)/,i=/\S/,j=/^\s+/,k=/\s+$/,l=/\d/,m=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,n=/^[\],:{}\s]*$/,o=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,p=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,q=/(?:^|:|,)(?:\s*\[)+/g,r=/(webkit)[ \/]([\w.]+)/,s=/(opera)(?:.*version)?[ \/]([\w.]+)/,t=/(msie) ([\w.]+)/,u=/(mozilla)(?:.*? rv:([\w.]+))?/,v=navigator.userAgent,w,x=!1,y,z="then done fail isResolved isRejected promise".split(" "),A,B=Object.prototype.toString,C=Object.prototype.hasOwnProperty,D=Array.prototype.push,E=Array.prototype.slice,F=String.prototype.trim,G=Array.prototype.indexOf,H={};d.fn=d.prototype={constructor:d,init:function(a,e,f){var g,i,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!e&&c.body){this.context=c,this[0]=c.body,this.selector="body",this.length=1;return this}if(typeof a==="string"){g=h.exec(a);if(!g||!g[1]&&e)return!e||e.jquery?(e||f).find(a):this.constructor(e).find(a);if(g[1]){e=e instanceof d?e[0]:e,k=e?e.ownerDocument||e:c,j=m.exec(a),j?d.isPlainObject(e)?(a=[c.createElement(j[1])],d.fn.attr.call(a,e,!0)):a=[k.createElement(j[1])]:(j=d.buildFragment([g[1]],[k]),a=(j.cacheable?d.clone(j.fragment):j.fragment).childNodes);return d.merge(this,a)}i=c.getElementById(g[2]);if(i&&i.parentNode){if(i.id!==g[2])return f.find(a);this.length=1,this[0]=i}this.context=c,this.selector=a;return this}if(d.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return d.makeArray(a,this)},selector:"",jquery:"1.5.1",length:0,size:function(){return this.length},toArray:function(){return E.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var e=this.constructor();d.isArray(a)?D.apply(e,a):d.merge(e,a),e.prevObject=this,e.context=this.context,b==="find"?e.selector=this.selector+(this.selector?" ":"")+c:b&&(e.selector=this.selector+"."+b+"("+c+")");return e},each:function(a,b){return d.each(this,a,b)},ready:function(a){d.bindReady(),y.done(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(E.apply(this,arguments),"slice",E.call(arguments).join(","))},map:function(a){return this.pushStack(d.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:D,sort:[].sort,splice:[].splice},d.fn.init.prototype=d.fn,d.extend=d.fn.extend=function(){var a,c,e,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i==="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!=="object"&&!d.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j0)return;y.resolveWith(c,[d]),d.fn.trigger&&d(c).trigger("ready").unbind("ready")}},bindReady:function(){if(!x){x=!0;if(c.readyState==="complete")return setTimeout(d.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",A,!1),a.addEventListener("load",d.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",A),a.attachEvent("onload",d.ready);var b=!1;try{b=a.frameElement==null}catch(e){}c.documentElement.doScroll&&b&&I()}}},isFunction:function(a){return d.type(a)==="function"},isArray:Array.isArray||function(a){return d.type(a)==="array"},isWindow:function(a){return a&&typeof a==="object"&&"setInterval"in a},isNaN:function(a){return a==null||!l.test(a)||isNaN(a)},type:function(a){return a==null?String(a):H[B.call(a)]||"object"},isPlainObject:function(a){if(!a||d.type(a)!=="object"||a.nodeType||d.isWindow(a))return!1;if(a.constructor&&!C.call(a,"constructor")&&!C.call(a.constructor.prototype,"isPrototypeOf"))return!1;var c;for(c in a){}return c===b||C.call(a,c)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw a},parseJSON:function(b){if(typeof b!=="string"||!b)return null;b=d.trim(b);if(n.test(b.replace(o,"@").replace(p,"]").replace(q,"")))return a.JSON&&a.JSON.parse?a.JSON.parse(b):(new Function("return "+b))();d.error("Invalid JSON: "+b)},parseXML:function(b,c,e){a.DOMParser?(e=new DOMParser,c=e.parseFromString(b,"text/xml")):(c=new ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b)),e=c.documentElement,(!e||!e.nodeName||e.nodeName==="parsererror")&&d.error("Invalid XML: "+b);return c},noop:function(){},globalEval:function(a){if(a&&i.test(a)){var b=c.head||c.getElementsByTagName("head")[0]||c.documentElement,e=c.createElement("script");d.support.scriptEval()?e.appendChild(c.createTextNode(a)):e.text=a,b.insertBefore(e,b.firstChild),b.removeChild(e)}},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,e){var f,g=0,h=a.length,i=h===b||d.isFunction(a);if(e){if(i){for(f in a)if(c.apply(a[f],e)===!1)break}else for(;g1){var f=E.call(arguments,0),g=b,h=function(a){return function(b){f[a]=arguments.length>1?E.call(arguments,0):b,--g||c.resolveWith(e,f)}};while(b--)a=f[b],a&&d.isFunction(a.promise)?a.promise().then(h(b),c.reject):--g;g||c.resolveWith(e,f)}else c!==a&&c.resolve(a);return e},uaMatch:function(a){a=a.toLowerCase();var b=r.exec(a)||s.exec(a)||t.exec(a)||a.indexOf("compatible")<0&&u.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},sub:function(){function a(b,c){return new a.fn.init(b,c)}d.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.subclass=this.subclass,a.fn.init=function b(b,c){c&&c instanceof d&&!(c instanceof a)&&(c=a(c));return d.fn.init.call(this,b,c,e)},a.fn.init.prototype=a.fn;var e=a(c);return a},browser:{}}),y=d._Deferred(),d.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(a,b){H["[object "+b+"]"]=b.toLowerCase()}),w=d.uaMatch(v),w.browser&&(d.browser[w.browser]=!0,d.browser.version=w.version),d.browser.webkit&&(d.browser.safari=!0),G&&(d.inArray=function(a,b){return G.call(b,a)}),i.test(" ")&&(j=/^[\s\xA0]+/,k=/[\s\xA0]+$/),g=d(c),c.addEventListener?A=function(){c.removeEventListener("DOMContentLoaded",A,!1),d.ready()}:c.attachEvent&&(A=function(){c.readyState==="complete"&&(c.detachEvent("onreadystatechange",A),d.ready())});return d}();(function(){d.support={};var b=c.createElement("div");b.style.display="none",b.innerHTML="
a";var e=b.getElementsByTagName("*"),f=b.getElementsByTagName("a")[0],g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=b.getElementsByTagName("input")[0];if(e&&e.length&&f){d.support={leadingWhitespace:b.firstChild.nodeType===3,tbody:!b.getElementsByTagName("tbody").length,htmlSerialize:!!b.getElementsByTagName("link").length,style:/red/.test(f.getAttribute("style")),hrefNormalized:f.getAttribute("href")==="/a",opacity:/^0.55$/.test(f.style.opacity),cssFloat:!!f.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,deleteExpando:!0,optDisabled:!1,checkClone:!1,noCloneEvent:!0,noCloneChecked:!0,boxModel:null,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableHiddenOffsets:!0},i.checked=!0,d.support.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,d.support.optDisabled=!h.disabled;var j=null;d.support.scriptEval=function(){if(j===null){var b=c.documentElement,e=c.createElement("script"),f="script"+d.now();try{e.appendChild(c.createTextNode("window."+f+"=1;"))}catch(g){}b.insertBefore(e,b.firstChild),a[f]?(j=!0,delete a[f]):j=!1,b.removeChild(e),b=e=f=null}return j};try{delete b.test}catch(k){d.support.deleteExpando=!1}!b.addEventListener&&b.attachEvent&&b.fireEvent&&(b.attachEvent("onclick",function l(){d.support.noCloneEvent=!1,b.detachEvent("onclick",l)}),b.cloneNode(!0).fireEvent("onclick")),b=c.createElement("div"),b.innerHTML="";var m=c.createDocumentFragment();m.appendChild(b.firstChild),d.support.checkClone=m.cloneNode(!0).cloneNode(!0).lastChild.checked,d(function(){var a=c.createElement("div"),b=c.getElementsByTagName("body")[0];if(b){a.style.width=a.style.paddingLeft="1px",b.appendChild(a),d.boxModel=d.support.boxModel=a.offsetWidth===2,"zoom"in a.style&&(a.style.display="inline",a.style.zoom=1,d.support.inlineBlockNeedsLayout=a.offsetWidth===2,a.style.display="",a.innerHTML="
",d.support.shrinkWrapBlocks=a.offsetWidth!==2),a.innerHTML="
t
";var e=a.getElementsByTagName("td");d.support.reliableHiddenOffsets=e[0].offsetHeight===0,e[0].style.display="",e[1].style.display="none",d.support.reliableHiddenOffsets=d.support.reliableHiddenOffsets&&e[0].offsetHeight===0,a.innerHTML="",b.removeChild(a).style.display="none",a=e=null}});var n=function(a){var b=c.createElement("div");a="on"+a;if(!b.attachEvent)return!0;var d=a in b;d||(b.setAttribute(a,"return;"),d=typeof b[a]==="function"),b=null;return d};d.support.submitBubbles=n("submit"),d.support.changeBubbles=n("change"),b=e=f=null}})();var e=/^(?:\{.*\}|\[.*\])$/;d.extend({cache:{},uuid:0,expando:"jQuery"+(d.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?d.cache[a[d.expando]]:a[d.expando];return!!a&&!g(a)},data:function(a,c,e,f){if(d.acceptData(a)){var g=d.expando,h=typeof c==="string",i,j=a.nodeType,k=j?d.cache:a,l=j?a[d.expando]:a[d.expando]&&d.expando;if((!l||f&&l&&!k[l][g])&&h&&e===b)return;l||(j?a[d.expando]=l=++d.uuid:l=d.expando),k[l]||(k[l]={},j||(k[l].toJSON=d.noop));if(typeof c==="object"||typeof c==="function")f?k[l][g]=d.extend(k[l][g],c):k[l]=d.extend(k[l],c);i=k[l],f&&(i[g]||(i[g]={}),i=i[g]),e!==b&&(i[c]=e);if(c==="events"&&!i[c])return i[g]&&i[g].events;return h?i[c]:i}},removeData:function(b,c,e){if(d.acceptData(b)){var f=d.expando,h=b.nodeType,i=h?d.cache:b,j=h?b[d.expando]:d.expando;if(!i[j])return;if(c){var k=e?i[j][f]:i[j];if(k){delete k[c];if(!g(k))return}}if(e){delete i[j][f];if(!g(i[j]))return}var l=i[j][f];d.support.deleteExpando||i!=a?delete i[j]:i[j]=null,l?(i[j]={},h||(i[j].toJSON=d.noop),i[j][f]=l):h&&(d.support.deleteExpando?delete b[d.expando]:b.removeAttribute?b.removeAttribute(d.expando):b[d.expando]=null)}},_data:function(a,b,c){return d.data(a,b,c,!0)},acceptData:function(a){if(a.nodeName){var b=d.noData[a.nodeName.toLowerCase()];if(b)return b!==!0&&a.getAttribute("classid")===b}return!0}}),d.fn.extend({data:function(a,c){var e=null;if(typeof a==="undefined"){if(this.length){e=d.data(this[0]);if(this[0].nodeType===1){var g=this[0].attributes,h;for(var i=0,j=g.length;i-1)return!0;return!1},val:function(a){if(!arguments.length){var c=this[0];if(c){if(d.nodeName(c,"option")){var e=c.attributes.value;return!e||e.specified?c.value:c.text}if(d.nodeName(c,"select")){var f=c.selectedIndex,g=[],h=c.options,i=c.type==="select-one";if(f<0)return null;for(var k=i?f:0,l=i?f+1:h.length;k=0;else if(d.nodeName(this,"select")){var f=d.makeArray(e);d("option",this).each(function(){this.selected=d.inArray(d(this).val(),f)>=0}),f.length||(this.selectedIndex=-1)}else this.value=e}})}}),d.extend({attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attr:function(a,c,e,f){if(!a||a.nodeType===3||a.nodeType===8||a.nodeType===2)return b;if(f&&c in d.attrFn)return d(a)[c](e);var g=a.nodeType!==1||!d.isXMLDoc(a),h=e!==b;c=g&&d.props[c]||c;if(a.nodeType===1){var i=k.test(c);if(c==="selected"&&!d.support.optSelected){var j=a.parentNode;j&&(j.selectedIndex,j.parentNode&&j.parentNode.selectedIndex)}if((c in a||a[c]!==b)&&g&&!i){h&&(c==="type"&&l.test(a.nodeName)&&a.parentNode&&d.error("type property can't be changed"),e===null?a.nodeType===1&&a.removeAttribute(c):a[c]=e);if(d.nodeName(a,"form")&&a.getAttributeNode(c))return a.getAttributeNode(c).nodeValue;if(c==="tabIndex"){var o=a.getAttributeNode("tabIndex");return o&&o.specified?o.value:m.test(a.nodeName)||n.test(a.nodeName)&&a.href?0:b}return a[c]}if(!d.support.style&&g&&c==="style"){h&&(a.style.cssText=""+e);return a.style.cssText}h&&a.setAttribute(c,""+e);if(!a.attributes[c]&&(a.hasAttribute&&!a.hasAttribute(c)))return b;var p=!d.support.hrefNormalized&&g&&i?a.getAttribute(c,2):a.getAttribute(c);return p===null?b:p}h&&(a[c]=e);return a[c]}});var p=/\.(.*)$/,q=/^(?:textarea|input|select)$/i,r=/\./g,s=/ /g,t=/[^\w\s.|`]/g,u=function(a){return a.replace(t,"\\$&")};d.event={add:function(c,e,f,g){if(c.nodeType!==3&&c.nodeType!==8){try{d.isWindow(c)&&(c!==a&&!c.frameElement)&&(c=a)}catch(h){}if(f===!1)f=v;else if(!f)return;var i,j;f.handler&&(i=f,f=i.handler),f.guid||(f.guid=d.guid++);var k=d._data(c);if(!k)return;var l=k.events,m=k.handle;l||(k.events=l={}),m||(k.handle=m=function(){return typeof d!=="undefined"&&!d.event.triggered?d.event.handle.apply(m.elem,arguments):b}),m.elem=c,e=e.split(" ");var n,o=0,p;while(n=e[o++]){j=i?d.extend({},i):{handler:f,data:g},n.indexOf(".")>-1?(p=n.split("."),n=p.shift(),j.namespace=p.slice(0).sort().join(".")):(p=[],j.namespace=""),j.type=n,j.guid||(j.guid=f.guid);var q=l[n],r=d.event.special[n]||{};if(!q){q=l[n]=[];if(!r.setup||r.setup.call(c,g,p,m)===!1)c.addEventListener?c.addEventListener(n,m,!1):c.attachEvent&&c.attachEvent("on"+n,m)}r.add&&(r.add.call(c,j),j.handler.guid||(j.handler.guid=f.guid)),q.push(j),d.event.global[n]=!0}c=null}},global:{},remove:function(a,c,e,f){if(a.nodeType!==3&&a.nodeType!==8){e===!1&&(e=v);var g,h,i,j,k=0,l,m,n,o,p,q,r,s=d.hasData(a)&&d._data(a),t=s&&s.events;if(!s||!t)return;c&&c.type&&(e=c.handler,c=c.type);if(!c||typeof c==="string"&&c.charAt(0)==="."){c=c||"";for(h in t)d.event.remove(a,h+c);return}c=c.split(" ");while(h=c[k++]){r=h,q=null,l=h.indexOf(".")<0,m=[],l||(m=h.split("."),h=m.shift(),n=new RegExp("(^|\\.)"+d.map(m.slice(0).sort(),u).join("\\.(?:.*\\.)?")+"(\\.|$)")),p=t[h];if(!p)continue;if(!e){for(j=0;j=0&&(a.type=f=f.slice(0,-1),a.exclusive=!0),e||(a.stopPropagation(),d.event.global[f]&&d.each(d.cache,function(){var b=d.expando,e=this[b];e&&e.events&&e.events[f]&&d.event.trigger(a,c,e.handle.elem)}));if(!e||e.nodeType===3||e.nodeType===8)return b;a.result=b,a.target=e,c=d.makeArray(c),c.unshift(a)}a.currentTarget=e;var h=d._data(e,"handle");h&&h.apply(e,c);var i=e.parentNode||e.ownerDocument;try{e&&e.nodeName&&d.noData[e.nodeName.toLowerCase()]||e["on"+f]&&e["on"+f].apply(e,c)===!1&&(a.result=!1,a.preventDefault())}catch(j){}if(!a.isPropagationStopped()&&i)d.event.trigger(a,c,i,!0);else if(!a.isDefaultPrevented()){var k,l=a.target,m=f.replace(p,""),n=d.nodeName(l,"a")&&m==="click",o=d.event.special[m]||{};if((!o._default||o._default.call(e,a)===!1)&&!n&&!(l&&l.nodeName&&d.noData[l.nodeName.toLowerCase()])){try{l[m]&&(k=l["on"+m],k&&(l["on"+m]=null),d.event.triggered=!0,l[m]())}catch(q){}k&&(l["on"+m]=k),d.event.triggered=!1}}},handle:function(c){var e,f,g,h,i,j=[],k=d.makeArray(arguments);c=k[0]=d.event.fix(c||a.event),c.currentTarget=this,e=c.type.indexOf(".")<0&&!c.exclusive,e||(g=c.type.split("."),c.type=g.shift(),j=g.slice(0).sort(),h=new RegExp("(^|\\.)"+j.join("\\.(?:.*\\.)?")+"(\\.|$)")),c.namespace=c.namespace||j.join("."),i=d._data(this,"events"),f=(i||{})[c.type];if(i&&f){f=f.slice(0);for(var l=0,m=f.length;l-1?d.map(a.options,function(a){return a.selected}).join("-"):"":a.nodeName.toLowerCase()==="select"&&(c=a.selectedIndex);return c},B=function B(a){var c=a.target,e,f;if(q.test(c.nodeName)&&!c.readOnly){e=d._data(c,"_change_data"),f=A(c),(a.type!=="focusout"||c.type!=="radio")&&d._data(c,"_change_data",f);if(e===b||f===e)return;if(e!=null||f)a.type="change",a.liveFired=b,d.event.trigger(a,arguments[1],c)}};d.event.special.change={filters:{focusout:B,beforedeactivate:B,click:function(a){var b=a.target,c=b.type;(c==="radio"||c==="checkbox"||b.nodeName.toLowerCase()==="select")&&B.call(this,a)},keydown:function(a){var b=a.target,c=b.type;(a.keyCode===13&&b.nodeName.toLowerCase()!=="textarea"||a.keyCode===32&&(c==="checkbox"||c==="radio")||c==="select-multiple")&&B.call(this,a)},beforeactivate:function(a){var b=a.target;d._data(b,"_change_data",A(b))}},setup:function(a,b){if(this.type==="file")return!1;for(var c in z)d.event.add(this,c+".specialChange",z[c]);return q.test(this.nodeName)},teardown:function(a){d.event.remove(this,".specialChange");return q.test(this.nodeName)}},z=d.event.special.change.filters,z.focus=z.beforeactivate}c.addEventListener&&d.each({focus:"focusin",blur:"focusout"},function(a,b){function c(a){a=d.event.fix(a),a.type=b;return d.event.handle.call(this,a)}d.event.special[b]={setup:function(){this.addEventListener(a,c,!0)},teardown:function(){this.removeEventListener(a,c,!0)}}}),d.each(["bind","one"],function(a,c){d.fn[c]=function(a,e,f){if(typeof a==="object"){for(var g in a)this[c](g,e,a[g],f);return this}if(d.isFunction(e)||e===!1)f=e,e=b;var h=c==="one"?d.proxy(f,function(a){d(this).unbind(a,h);return f.apply(this,arguments)}):f;if(a==="unload"&&c!=="one")this.one(a,e,f);else for(var i=0,j=this.length;i0?this.bind(b,a,c):this.trigger(b)},d.attrFn&&(d.attrFn[b]=!0)}),function(){function u(a,b,c,d,e,f){for(var g=0,h=d.length;g0){j=i;break}}i=i[a]}d[g]=j}}}function t(a,b,c,d,e,f){for(var g=0,h=d.length;g+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,e=0,f=Object.prototype.toString,g=!1,h=!0,i=/\\/g,j=/\W/;[0,0].sort(function(){h=!1;return 0});var k=function(b,d,e,g){e=e||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!=="string")return e;var i,j,n,o,q,r,s,t,u=!0,w=k.isXML(d),x=[],y=b;do{a.exec(""),i=a.exec(y);if(i){y=i[3],x.push(i[1]);if(i[2]){o=i[3];break}}}while(i);if(x.length>1&&m.exec(b))if(x.length===2&&l.relative[x[0]])j=v(x[0]+x[1],d);else{j=l.relative[x[0]]?[d]:k(x.shift(),d);while(x.length)b=x.shift(),l.relative[b]&&(b+=x.shift()),j=v(b,j)}else{!g&&x.length>1&&d.nodeType===9&&!w&&l.match.ID.test(x[0])&&!l.match.ID.test(x[x.length-1])&&(q=k.find(x.shift(),d,w),d=q.expr?k.filter(q.expr,q.set)[0]:q.set[0]);if(d){q=g?{expr:x.pop(),set:p(g)}:k.find(x.pop(),x.length===1&&(x[0]==="~"||x[0]==="+")&&d.parentNode?d.parentNode:d,w),j=q.expr?k.filter(q.expr,q.set):q.set,x.length>0?n=p(j):u=!1;while(x.length)r=x.pop(),s=r,l.relative[r]?s=x.pop():r="",s==null&&(s=d),l.relative[r](n,s,w)}else n=x=[]}n||(n=j),n||k.error(r||b);if(f.call(n)==="[object Array]")if(u)if(d&&d.nodeType===1)for(t=0;n[t]!=null;t++)n[t]&&(n[t]===!0||n[t].nodeType===1&&k.contains(d,n[t]))&&e.push(j[t]);else for(t=0;n[t]!=null;t++)n[t]&&n[t].nodeType===1&&e.push(j[t]);else e.push.apply(e,n);else p(n,e);o&&(k(o,h,e,g),k.uniqueSort(e));return e};k.uniqueSort=function(a){if(r){g=h,a.sort(r);if(g)for(var b=1;b0},k.find=function(a,b,c){var d;if(!a)return[];for(var e=0,f=l.order.length;e":function(a,b){var c,d=typeof b==="string",e=0,f=a.length;if(d&&!j.test(b)){b=b.toLowerCase();for(;e=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(i,"")},TAG:function(a,b){return a[1].replace(i,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||k.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&k.error(a[0]);a[0]=e++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(i,"");!f&&l.attrMap[g]&&(a[1]=l.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(i,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=k(b[3],null,null,c);else{var g=k.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(l.match.POS.test(b[0])||l.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!k(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){return"text"===a.getAttribute("type")},radio:function(a){return"radio"===a.type},checkbox:function(a){return"checkbox"===a.type},file:function(a){return"file"===a.type},password:function(a){return"password"===a.type},submit:function(a){return"submit"===a.type},image:function(a){return"image"===a.type},reset:function(a){return"reset"===a.type},button:function(a){return"button"===a.type||a.nodeName.toLowerCase()==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return bc[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=l.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||k.getText([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=l.attrHandle[c]?l.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=l.setFilters[e];if(f)return f(a,c,b,d)}}},m=l.match.POS,n=function(a,b){return"\\"+(b-0+1)};for(var o in l.match)l.match[o]=new RegExp(l.match[o].source+/(?![^\[]*\])(?![^\(]*\))/.source),l.leftMatch[o]=new RegExp(/(^(?:.|\r|\n)*?)/.source+l.match[o].source.replace(/\\(\d+)/g,n));var p=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(q){p=function(a,b){var c=0,d=b||[];if(f.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length==="number")for(var e=a.length;c",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(l.find.ID=function(a,c,d){if(typeof c.getElementById!=="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!=="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},l.filter.ID=function(a,b){var c=typeof a.getAttributeNode!=="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(l.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="",a.firstChild&&typeof a.firstChild.getAttribute!=="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(l.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=k,b=c.createElement("div"),d="__sizzle__";b.innerHTML="

";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){k=function(b,e,f,g){e=e||c;if(!g&&!k.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return p(e.getElementsByTagName(b),f);if(h[2]&&l.find.CLASS&&e.getElementsByClassName)return p(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return p([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return p([],f);if(i.id===h[3])return p([i],f)}try{return p(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var m=e,n=e.getAttribute("id"),o=n||d,q=e.parentNode,r=/^\s*[+~]/.test(b);n?o=o.replace(/'/g,"\\$&"):e.setAttribute("id",o),r&&q&&(e=e.parentNode);try{if(!r||q)return p(e.querySelectorAll("[id='"+o+"'] "+b),f)}catch(s){}finally{n||m.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)k[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector,d=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(e){d=!0}b&&(k.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!k.isXML(a))try{if(d||!l.match.PSEUDO.test(c)&&!/!=/.test(c))return b.call(a,c)}catch(e){}return k(c,null,null,[a]).length>0})}(),function(){var a=c.createElement("div");a.innerHTML="
";if(a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;l.order.splice(1,0,"CLASS"),l.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!=="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?k.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?k.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:k.contains=function(){return!1},k.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var v=function(a,b){var c,d=[],e="",f=b.nodeType?[b]:b;while(c=l.match.PSEUDO.exec(a))e+=c[0],a=a.replace(l.match.PSEUDO,"");a=l.relative[a]?a+"*":a;for(var g=0,h=f.length;g0)for(var g=c;g0},closest:function(a,b){var c=[],e,f,g=this[0];if(d.isArray(a)){var h,i,j={},k=1;if(g&&a.length){for(e=0,f=a.length;e-1:d(g).is(h))&&c.push({selector:i,elem:g,level:k});g=g.parentNode,k++}}return c}var l=L.test(a)?d(a,b||this.context):null;for(e=0,f=this.length;e-1:d.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b)break}}c=c.length>1?d.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a||typeof a==="string")return d.inArray(this[0],a?d(a):this.parent().children());return d.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a==="string"?d(a,b):d.makeArray(a),e=d.merge(this.get(),c);return this.pushStack(N(c[0])||N(e[0])?e:d.unique(e))},andSelf:function(){return this.add(this.prevObject)}}),d.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return d.dir(a,"parentNode")},parentsUntil:function(a,b,c){return d.dir(a,"parentNode",c)},next:function(a){return d.nth(a,2,"nextSibling")},prev:function(a){return d.nth(a,2,"previousSibling")},nextAll:function(a){return d.dir(a,"nextSibling")},prevAll:function(a){return d.dir(a,"previousSibling")},nextUntil:function(a,b,c){return d.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return d.dir(a,"previousSibling",c)},siblings:function(a){return d.sibling(a.parentNode.firstChild,a)},children:function(a){return d.sibling(a.firstChild)},contents:function(a){return d.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:d.makeArray(a.childNodes)}},function(a,b){d.fn[a]=function(c,e){var f=d.map(this,b,c),g=K.call(arguments);G.test(a)||(e=c),e&&typeof e==="string"&&(f=d.filter(e,f)),f=this.length>1&&!M[a]?d.unique(f):f,(this.length>1||I.test(e))&&H.test(a)&&(f=f.reverse());return this.pushStack(f,a,g.join(","))}}),d.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?d.find.matchesSelector(b[0],a)?[b[0]]:[]:d.find.matches(a,b)},dir:function(a,c,e){var f=[],g=a[c];while(g&&g.nodeType!==9&&(e===b||g.nodeType!==1||!d(g).is(e)))g.nodeType===1&&f.push(g),g=g[c];return f},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var P=/ jQuery\d+="(?:\d+|null)"/g,Q=/^\s+/,R=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,S=/<([\w:]+)/,T=/",""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]};X.optgroup=X.option,X.tbody=X.tfoot=X.colgroup=X.caption=X.thead,X.th=X.td,d.support.htmlSerialize||(X._default=[1,"div
","
"]),d.fn.extend({text:function(a){if(d.isFunction(a))return this.each(function(b){var c=d(this);c.text(a.call(this,b,c.text()))});if(typeof a!=="object"&&a!==b)return this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a));return d.text(this)},wrapAll:function(a){if(d.isFunction(a))return this.each(function(b){d(this).wrapAll(a.call(this,b))});if(this[0]){var b=d(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(d.isFunction(a))return this.each(function(b){d(this).wrapInner(a.call(this,b))});return this.each(function(){var b=d(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){d(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){d.nodeName(this,"body")||d(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=d(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,d(arguments[0]).toArray());return a}},remove:function(a,b){for(var c=0,e;(e=this[c])!=null;c++)if(!a||d.filter(a,[e]).length)!b&&e.nodeType===1&&(d.cleanData(e.getElementsByTagName("*")),d.cleanData([e])),e.parentNode&&e.parentNode.removeChild(e);return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&d.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return d.clone(this,a,b)})},html:function(a){if(a===b)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(P,""):null;if(typeof a!=="string"||V.test(a)||!d.support.leadingWhitespace&&Q.test(a)||X[(S.exec(a)||["",""])[1].toLowerCase()])d.isFunction(a)?this.each(function(b){var c=d(this);c.html(a.call(this,b,c.html()))}):this.empty().append(a);else{a=a.replace(R,"<$1>");try{for(var c=0,e=this.length;c1&&l0?this.clone(!0):this).get();d(f[h])[b](j),e=e.concat(j)}return this.pushStack(e,a,f.selector)}}),d.extend({clone:function(a,b,c){var e=a.cloneNode(!0),f,g,h;if((!d.support.noCloneEvent||!d.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!d.isXMLDoc(a)){$(a,e),f=_(a),g=_(e);for(h=0;f[h];++h)$(f[h],g[h])}if(b){Z(a,e);if(c){f=_(a),g=_(e);for(h=0;f[h];++h)Z(f[h],g[h])}}return e},clean:function(a,b,e,f){b=b||c,typeof b.createElement==="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);var g=[];for(var h=0,i;(i=a[h])!=null;h++){typeof i==="number"&&(i+="");if(!i)continue;if(typeof i!=="string"||U.test(i)){if(typeof i==="string"){i=i.replace(R,"<$1>");var j=(S.exec(i)||["",""])[1].toLowerCase(),k=X[j]||X._default,l=k[0],m=b.createElement("div");m.innerHTML=k[1]+i+k[2];while(l--)m=m.lastChild;if(!d.support.tbody){var n=T.test(i),o=j==="table"&&!n?m.firstChild&&m.firstChild.childNodes:k[1]===""&&!n?m.childNodes:[];for(var p=o.length-1;p>=0;--p)d.nodeName(o[p],"tbody")&&!o[p].childNodes.length&&o[p].parentNode.removeChild(o[p])}!d.support.leadingWhitespace&&Q.test(i)&&m.insertBefore(b.createTextNode(Q.exec(i)[0]),m.firstChild),i=m.childNodes}}else i=b.createTextNode(i);i.nodeType?g.push(i):g=d.merge(g,i)}if(e)for(h=0;g[h];h++)!f||!d.nodeName(g[h],"script")||g[h].type&&g[h].type.toLowerCase()!=="text/javascript"?(g[h].nodeType===1&&g.splice.apply(g,[h+1,0].concat(d.makeArray(g[h].getElementsByTagName("script")))),e.appendChild(g[h])):f.push(g[h].parentNode?g[h].parentNode.removeChild(g[h]):g[h]);return g},cleanData:function(a){var b,c,e=d.cache,f=d.expando,g=d.event.special,h=d.support.deleteExpando;for(var i=0,j;(j=a[i])!=null;i++){if(j.nodeName&&d.noData[j.nodeName.toLowerCase()])continue;c=j[d.expando];if(c){b=e[c]&&e[c][f];if(b&&b.events){for(var k in b.events)g[k]?d.event.remove(j,k):d.removeEvent(j,k,b.handle);b.handle&&(b.handle.elem=null)}h?delete j[d.expando]:j.removeAttribute&&j.removeAttribute(d.expando),delete e[c]}}}});var bb=/alpha\([^)]*\)/i,bc=/opacity=([^)]*)/,bd=/-([a-z])/ig,be=/([A-Z])/g,bf=/^-?\d+(?:px)?$/i,bg=/^-?\d/,bh={position:"absolute",visibility:"hidden",display:"block"},bi=["Left","Right"],bj=["Top","Bottom"],bk,bl,bm,bn=function(a,b){return b.toUpperCase()};d.fn.css=function(a,c){if(arguments.length===2&&c===b)return this;return d.access(this,a,c,!0,function(a,c,e){return e!==b?d.style(a,c,e):d.css(a,c)})},d.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=bk(a,"opacity","opacity");return c===""?"1":c}return a.style.opacity}}},cssNumber:{zIndex:!0,fontWeight:!0,opacity:!0,zoom:!0,lineHeight:!0},cssProps:{"float":d.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,e,f){if(a&&a.nodeType!==3&&a.nodeType!==8&&a.style){var g,h=d.camelCase(c),i=a.style,j=d.cssHooks[h];c=d.cssProps[h]||h;if(e===b){if(j&&"get"in j&&(g=j.get(a,!1,f))!==b)return g;return i[c]}if(typeof e==="number"&&isNaN(e)||e==null)return;typeof e==="number"&&!d.cssNumber[h]&&(e+="px");if(!j||!("set"in j)||(e=j.set(a,e))!==b)try{i[c]=e}catch(k){}}},css:function(a,c,e){var f,g=d.camelCase(c),h=d.cssHooks[g];c=d.cssProps[g]||g;if(h&&"get"in h&&(f=h.get(a,!0,e))!==b)return f;if(bk)return bk(a,c,g)},swap:function(a,b,c){var d={};for(var e in b)d[e]=a.style[e],a.style[e]=b[e];c.call(a);for(e in b)a.style[e]=d[e]},camelCase:function(a){return a.replace(bd,bn)}}),d.curCSS=d.css,d.each(["height","width"],function(a,b){d.cssHooks[b]={get:function(a,c,e){var f;if(c){a.offsetWidth!==0?f=bo(a,b,e):d.swap(a,bh,function(){f=bo(a,b,e)});if(f<=0){f=bk(a,b,b),f==="0px"&&bm&&(f=bm(a,b,b));if(f!=null)return f===""||f==="auto"?"0px":f}if(f<0||f==null){f=a.style[b];return f===""||f==="auto"?"0px":f}return typeof f==="string"?f:f+"px"}},set:function(a,b){if(!bf.test(b))return b;b=parseFloat(b);if(b>=0)return b+"px"}}}),d.support.opacity||(d.cssHooks.opacity={get:function(a,b){return bc.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style;c.zoom=1;var e=d.isNaN(b)?"":"alpha(opacity="+b*100+")",f=c.filter||"";c.filter=bb.test(f)?f.replace(bb,e):c.filter+" "+e}}),c.defaultView&&c.defaultView.getComputedStyle&&(bl=function(a,c,e){var f,g,h;e=e.replace(be,"-$1").toLowerCase();if(!(g=a.ownerDocument.defaultView))return b;if(h=g.getComputedStyle(a,null))f=h.getPropertyValue(e),f===""&&!d.contains(a.ownerDocument.documentElement,a)&&(f=d.style(a,e));return f}),c.documentElement.currentStyle&&(bm=function(a,b){var c,d=a.currentStyle&&a.currentStyle[b],e=a.runtimeStyle&&a.runtimeStyle[b],f=a.style;!bf.test(d)&&bg.test(d)&&(c=f.left,e&&(a.runtimeStyle.left=a.currentStyle.left),f.left=b==="fontSize"?"1em":d||0,d=f.pixelLeft+"px",f.left=c,e&&(a.runtimeStyle.left=e));return d===""?"auto":d}),bk=bl||bm,d.expr&&d.expr.filters&&(d.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!d.support.reliableHiddenOffsets&&(a.style.display||d.css(a,"display"))==="none"},d.expr.filters.visible=function(a){return!d.expr.filters.hidden(a)});var bp=/%20/g,bq=/\[\]$/,br=/\r?\n/g,bs=/#.*$/,bt=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bu=/^(?:color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bv=/(?:^file|^widget|\-extension):$/,bw=/^(?:GET|HEAD)$/,bx=/^\/\//,by=/\?/,bz=/)<[^<]*)*<\/script>/gi,bA=/^(?:select|textarea)/i,bB=/\s+/,bC=/([?&])_=[^&]*/,bD=/(^|\-)([a-z])/g,bE=function(a,b,c){return b+c.toUpperCase()},bF=/^([\w\+\.\-]+:)\/\/([^\/?#:]*)(?::(\d+))?/,bG=d.fn.load,bH={},bI={},bJ,bK;try{bJ=c.location.href}catch(bL){bJ=c.createElement("a"),bJ.href="",bJ=bJ.href}bK=bF.exec(bJ.toLowerCase()),d.fn.extend({load:function(a,c,e){if(typeof a!=="string"&&bG)return bG.apply(this,arguments);if(!this.length)return this;var f=a.indexOf(" ");if(f>=0){var g=a.slice(f,a.length);a=a.slice(0,f)}var h="GET";c&&(d.isFunction(c)?(e=c,c=b):typeof c==="object"&&(c=d.param(c,d.ajaxSettings.traditional),h="POST"));var i=this;d.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?d("
").append(c.replace(bz,"")).find(g):c)),e&&i.each(e,[c,b,a])}});return this},serialize:function(){return d.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?d.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bA.test(this.nodeName)||bu.test(this.type))}).map(function(a,b){var c=d(this).val();return c==null?null:d.isArray(c)?d.map(c,function(a,c){return{name:b.name,value:a.replace(br,"\r\n")}}):{name:b.name,value:c.replace(br,"\r\n")}}).get()}}),d.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){d.fn[b]=function(a){return this.bind(b,a)}}),d.each(["get","post"],function(a,c){d[c]=function(a,e,f,g){d.isFunction(e)&&(g=g||f,f=e,e=b);return d.ajax({type:c,url:a,data:e,success:f,dataType:g})}}),d.extend({getScript:function(a,c){return d.get(a,b,c,"script")},getJSON:function(a,b,c){return d.get(a,b,c,"json")},ajaxSetup:function(a,b){b?d.extend(!0,a,d.ajaxSettings,b):(b=a,a=d.extend(!0,d.ajaxSettings,b));for(var c in {context:1,url:1})c in b?a[c]=b[c]:c in d.ajaxSettings&&(a[c]=d.ajaxSettings[c]);return a},ajaxSettings:{url:bJ,isLocal:bv.test(bK[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":"*/*"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":d.parseJSON,"text xml":d.parseXML}},ajaxPrefilter:bM(bH),ajaxTransport:bM(bI),ajax:function(a,c){function v(a,c,l,n){if(r!==2){r=2,p&&clearTimeout(p),o=b,m=n||"",u.readyState=a?4:0;var q,t,v,w=l?bP(e,u,l):b,x,y;if(a>=200&&a<300||a===304){if(e.ifModified){if(x=u.getResponseHeader("Last-Modified"))d.lastModified[k]=x;if(y=u.getResponseHeader("Etag"))d.etag[k]=y}if(a===304)c="notmodified",q=!0;else try{t=bQ(e,w),c="success",q=!0}catch(z){c="parsererror",v=z}}else{v=c;if(!c||a)c="error",a<0&&(a=0)}u.status=a,u.statusText=c,q?h.resolveWith(f,[t,c,u]):h.rejectWith(f,[u,c,v]),u.statusCode(j),j=b,s&&g.trigger("ajax"+(q?"Success":"Error"),[u,e,q?t:v]),i.resolveWith(f,[u,c]),s&&(g.trigger("ajaxComplete",[u,e]),--d.active||d.event.trigger("ajaxStop"))}}typeof a==="object"&&(c=a,a=b),c=c||{};var e=d.ajaxSetup({},c),f=e.context||e,g=f!==e&&(f.nodeType||f instanceof d)?d(f):d.event,h=d.Deferred(),i=d._Deferred(),j=e.statusCode||{},k,l={},m,n,o,p,q,r=0,s,t,u={readyState:0,setRequestHeader:function(a,b){r||(l[a.toLowerCase().replace(bD,bE)]=b);return this},getAllResponseHeaders:function(){return r===2?m:null},getResponseHeader:function(a){var c;if(r===2){if(!n){n={};while(c=bt.exec(m))n[c[1].toLowerCase()]=c[2]}c=n[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){r||(e.mimeType=a);return this},abort:function(a){a=a||"abort",o&&o.abort(a),v(0,a);return this}};h.promise(u),u.success=u.done,u.error=u.fail,u.complete=i.done,u.statusCode=function(a){if(a){var b;if(r<2)for(b in a)j[b]=[j[b],a[b]];else b=a[u.status],u.then(b,b)}return this},e.url=((a||e.url)+"").replace(bs,"").replace(bx,bK[1]+"//"),e.dataTypes=d.trim(e.dataType||"*").toLowerCase().split(bB),e.crossDomain||(q=bF.exec(e.url.toLowerCase()),e.crossDomain=q&&(q[1]!=bK[1]||q[2]!=bK[2]||(q[3]||(q[1]==="http:"?80:443))!=(bK[3]||(bK[1]==="http:"?80:443)))),e.data&&e.processData&&typeof e.data!=="string"&&(e.data=d.param(e.data,e.traditional)),bN(bH,e,c,u);if(r===2)return!1;s=e.global,e.type=e.type.toUpperCase(),e.hasContent=!bw.test(e.type),s&&d.active++===0&&d.event.trigger("ajaxStart");if(!e.hasContent){e.data&&(e.url+=(by.test(e.url)?"&":"?")+e.data),k=e.url;if(e.cache===!1){var w=d.now(),x=e.url.replace(bC,"$1_="+w);e.url=x+(x===e.url?(by.test(e.url)?"&":"?")+"_="+w:"")}}if(e.data&&e.hasContent&&e.contentType!==!1||c.contentType)l["Content-Type"]=e.contentType;e.ifModified&&(k=k||e.url,d.lastModified[k]&&(l["If-Modified-Since"]=d.lastModified[k]),d.etag[k]&&(l["If-None-Match"]=d.etag[k])),l.Accept=e.dataTypes[0]&&e.accepts[e.dataTypes[0]]?e.accepts[e.dataTypes[0]]+(e.dataTypes[0]!=="*"?", */*; q=0.01":""):e.accepts["*"];for(t in e.headers)u.setRequestHeader(t,e.headers[t]);if(e.beforeSend&&(e.beforeSend.call(f,u,e)===!1||r===2)){u.abort();return!1}for(t in {success:1,error:1,complete:1})u[t](e[t]);o=bN(bI,e,c,u);if(o){u.readyState=1,s&&g.trigger("ajaxSend",[u,e]),e.async&&e.timeout>0&&(p=setTimeout(function(){u.abort("timeout")},e.timeout));try{r=1,o.send(l,v)}catch(y){status<2?v(-1,y):d.error(y)}}else v(-1,"No Transport");return u},param:function(a,c){var e=[],f=function(a,b){b=d.isFunction(b)?b():b,e[e.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=d.ajaxSettings.traditional);if(d.isArray(a)||a.jquery&&!d.isPlainObject(a))d.each(a,function(){f(this.name,this.value)});else for(var g in a)bO(g,a[g],c,f);return e.join("&").replace(bp,"+")}}),d.extend({active:0,lastModified:{},etag:{}});var bR=d.now(),bS=/(\=)\?(&|$)|()\?\?()/i;d.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return d.expando+"_"+bR++}}),d.ajaxPrefilter("json jsonp",function(b,c,e){var f=typeof b.data==="string";if(b.dataTypes[0]==="jsonp"||c.jsonpCallback||c.jsonp!=null||b.jsonp!==!1&&(bS.test(b.url)||f&&bS.test(b.data))){var g,h=b.jsonpCallback=d.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2",m=function(){a[h]=i,g&&d.isFunction(i)&&a[h](g[0])};b.jsonp!==!1&&(j=j.replace(bS,l),b.url===j&&(f&&(k=k.replace(bS,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},e.then(m,m),b.converters["script json"]=function(){g||d.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),d.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){d.globalEval(a);return a}}}),d.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),d.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var bT=d.now(),bU,bV;d.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&bX()||bY()}:bX,bV=d.ajaxSettings.xhr(),d.support.ajax=!!bV,d.support.cors=bV&&"withCredentials"in bV,bV=b,d.support.ajax&&d.ajaxTransport(function(a){if(!a.crossDomain||d.support.cors){var c;return{send:function(e,f){var g=a.xhr(),h,i;a.username?g.open(a.type,a.url,a.async,a.username,a.password):g.open(a.type,a.url,a.async);if(a.xhrFields)for(i in a.xhrFields)g[i]=a.xhrFields[i];a.mimeType&&g.overrideMimeType&&g.overrideMimeType(a.mimeType),(!a.crossDomain||a.hasContent)&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(i in e)g.setRequestHeader(i,e[i])}catch(j){}g.send(a.hasContent&&a.data||null),c=function(e,i){var j,k,l,m,n;try{if(c&&(i||g.readyState===4)){c=b,h&&(g.onreadystatechange=d.noop,delete bU[h]);if(i)g.readyState!==4&&g.abort();else{j=g.status,l=g.getAllResponseHeaders(),m={},n=g.responseXML,n&&n.documentElement&&(m.xml=n),m.text=g.responseText;try{k=g.statusText}catch(o){k=""}j||!a.isLocal||a.crossDomain?j===1223&&(j=204):j=m.text?200:404}}}catch(p){i||f(-1,p)}m&&f(j,k,m,l)},a.async&&g.readyState!==4?(bU||(bU={},bW()),h=bT++,g.onreadystatechange=bU[h]=c):c()},abort:function(){c&&c(0,1)}}}});var bZ={},b$=/^(?:toggle|show|hide)$/,b_=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,ca,cb=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];d.fn.extend({show:function(a,b,c){var e,f;if(a||a===0)return this.animate(cc("show",3),a,b,c);for(var g=0,h=this.length;g=0;a--)c[a].elem===this&&(b&&c[a](!0),c.splice(a,1))}),b||this.dequeue();return this}}),d.each({slideDown:cc("show",1),slideUp:cc("hide",1),slideToggle:cc("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){d.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),d.extend({speed:function(a,b,c){var e=a&&typeof a==="object"?d.extend({},a):{complete:c||!c&&b||d.isFunction(a)&&a,duration:a,easing:c&&b||b&&!d.isFunction(b)&&b};e.duration=d.fx.off?0:typeof e.duration==="number"?e.duration:e.duration in d.fx.speeds?d.fx.speeds[e.duration]:d.fx.speeds._default,e.old=e.complete,e.complete=function(){e.queue!==!1&&d(this).dequeue(),d.isFunction(e.old)&&e.old.call(this)};return e},easing:{linear:function(a,b,c,d){return c+d*a},swing:function(a,b,c,d){return(-Math.cos(a*Math.PI)/2+.5)*d+c}},timers:[],fx:function(a,b,c){this.options=b,this.elem=a,this.prop=c,b.orig||(b.orig={})}}),d.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this),(d.fx.step[this.prop]||d.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];var a,b=d.css(this.elem,this.prop);return isNaN(a=parseFloat(b))?!b||b==="auto"?0:b:a},custom:function(a,b,c){function g(a){return e.step(a)}var e=this,f=d.fx;this.startTime=d.now(),this.start=a,this.end=b,this.unit=c||this.unit||(d.cssNumber[this.prop]?"":"px"),this.now=this.start,this.pos=this.state=0,g.elem=this.elem,g()&&d.timers.push(g)&&!ca&&(ca=setInterval(f.tick,f.interval))},show:function(){this.options.orig[this.prop]=d.style(this.elem,this.prop),this.options.show=!0,this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur()),d(this.elem).show()},hide:function(){this.options.orig[this.prop]=d.style(this.elem,this.prop),this.options.hide=!0,this.custom(this.cur(),0)},step:function(a){var b=d.now(),c=!0;if(a||b>=this.options.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),this.options.curAnim[this.prop]=!0;for(var e in this.options.curAnim)this.options.curAnim[e]!==!0&&(c=!1);if(c){if(this.options.overflow!=null&&!d.support.shrinkWrapBlocks){var f=this.elem,g=this.options;d.each(["","X","Y"],function(a,b){f.style["overflow"+b]=g.overflow[a]})}this.options.hide&&d(this.elem).hide();if(this.options.hide||this.options.show)for(var h in this.options.curAnim)d.style(this.elem,h,this.options.orig[h]);this.options.complete.call(this.elem)}return!1}var i=b-this.startTime;this.state=i/this.options.duration;var j=this.options.specialEasing&&this.options.specialEasing[this.prop],k=this.options.easing||(d.easing.swing?"swing":"linear");this.pos=d.easing[j||k](this.state,i,0,1,this.options.duration),this.now=this.start+(this.end-this.start)*this.pos,this.update();return!0}},d.extend(d.fx,{tick:function(){var a=d.timers;for(var b=0;b
";d.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"}),b.innerHTML=j,a.insertBefore(b,a.firstChild),e=b.firstChild,f=e.firstChild,h=e.nextSibling.firstChild.firstChild,this.doesNotAddBorder=f.offsetTop!==5,this.doesAddBorderForTableAndCells=h.offsetTop===5,f.style.position="fixed",f.style.top="20px",this.supportsFixedPosition=f.offsetTop===20||f.offsetTop===15,f.style.position=f.style.top="",e.style.overflow="hidden",e.style.position="relative",this.subtractsBorderForOverflowNotVisible=f.offsetTop===-5,this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==i,a.removeChild(b),a=b=e=f=g=h=null,d.offset.initialize=d.noop},bodyOffset:function(a){var b=a.offsetTop,c=a.offsetLeft;d.offset.initialize(),d.offset.doesNotIncludeMarginInBodyOffset&&(b+=parseFloat(d.css(a,"marginTop"))||0,c+=parseFloat(d.css(a,"marginLeft"))||0);return{top:b,left:c}},setOffset:function(a,b,c){var e=d.css(a,"position");e==="static"&&(a.style.position="relative");var f=d(a),g=f.offset(),h=d.css(a,"top"),i=d.css(a,"left"),j=e==="absolute"&&d.inArray("auto",[h,i])>-1,k={},l={},m,n;j&&(l=f.position()),m=j?l.top:parseInt(h,10)||0,n=j?l.left:parseInt(i,10)||0,d.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):f.css(k)}},d.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),e=cf.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(d.css(a,"marginTop"))||0,c.left-=parseFloat(d.css(a,"marginLeft"))||0,e.top+=parseFloat(d.css(b[0],"borderTopWidth"))||0,e.left+=parseFloat(d.css(b[0],"borderLeftWidth"))||0;return{top:c.top-e.top,left:c.left-e.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&(!cf.test(a.nodeName)&&d.css(a,"position")==="static"))a=a.offsetParent;return a})}}),d.each(["Left","Top"],function(a,c){var e="scroll"+c;d.fn[e]=function(c){var f=this[0],g;if(!f)return null;if(c!==b)return this.each(function(){g=cg(this),g?g.scrollTo(a?d(g).scrollLeft():c,a?c:d(g).scrollTop()):this[e]=c});g=cg(f);return g?"pageXOffset"in g?g[a?"pageYOffset":"pageXOffset"]:d.support.boxModel&&g.document.documentElement[e]||g.document.body[e]:f[e]}}),d.each(["Height","Width"],function(a,c){var e=c.toLowerCase();d.fn["inner"+c]=function(){return this[0]?parseFloat(d.css(this[0],e,"padding")):null},d.fn["outer"+c]=function(a){return this[0]?parseFloat(d.css(this[0],e,a?"margin":"border")):null},d.fn[e]=function(a){var f=this[0];if(!f)return a==null?null:this;if(d.isFunction(a))return this.each(function(b){var c=d(this);c[e](a.call(this,b,c[e]()))});if(d.isWindow(f)){var g=f.document.documentElement["client"+c];return f.document.compatMode==="CSS1Compat"&&g||f.document.body["client"+c]||g}if(f.nodeType===9)return Math.max(f.documentElement["client"+c],f.body["scroll"+c],f.documentElement["scroll"+c],f.body["offset"+c],f.documentElement["offset"+c]);if(a===b){var h=d.css(f,e),i=parseFloat(h);return d.isNaN(i)?h:i}return this.css(e,typeof a==="string"?a:a+"px")}}),a.jQuery=a.$=d})(window); \ No newline at end of file From 51cdf0110814f086de117f3919d16e8a6b86f57a Mon Sep 17 00:00:00 2001 From: j2blake Date: Thu, 27 Mar 2014 12:53:49 -0400 Subject: [PATCH 22/28] VIVO-725 simplify the MultipleLabels test. --- .../suites/MultiLabels/TestMultipleLabels.n3 | 52 +++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 utilities/acceptance-tests/suites/MultiLabels/TestMultipleLabels.n3 diff --git a/utilities/acceptance-tests/suites/MultiLabels/TestMultipleLabels.n3 b/utilities/acceptance-tests/suites/MultiLabels/TestMultipleLabels.n3 new file mode 100644 index 00000000..3a7631a8 --- /dev/null +++ b/utilities/acceptance-tests/suites/MultiLabels/TestMultipleLabels.n3 @@ -0,0 +1,52 @@ +@prefix foaf: . +@prefix vcard: . +@prefix obo: . +@prefix rdfs: . +@prefix vitro: . +@prefix xsd: . +@prefix owl: . +@prefix vivo: . + + + a foaf:Person , + vivo:FacultyMember , + foaf:Agent , + owl:Thing , + obo:BFO_0000002 , + obo:BFO_0000001 , + obo:BFO_0000004 ; + rdfs:label "Furter, Frank "^^xsd:string ; + rdfs:label "Test Label 1 "^^xsd:string ; + rdfs:label "Test Label 2 "^^xsd:string ; + obo:ARG_2000028 ; + vitro:mostSpecificType vivo:FacultyMember . + + + a obo:BFO_0000031 , + vcard:Kind , + obo:ARG_2000379 , + owl:Thing , + obo:IAO_0000030 , + obo:BFO_0000002 , + obo:BFO_0000001 , + vcard:Individual ; + obo:ARG_2000029 ; + vitro:mostSpecificType vcard:Individual ; + vcard:hasName . + + + a vcard:Name , + vcard:Geographical , + vcard:TimeZone , + owl:Thing , + vcard:Organizational , + vcard:Geo , + vcard:Communication , + vcard:Explanatory , + vcard:Identification , + vcard:Security , + vcard:Addressing , + vcard:Calendar ; + vitro:mostSpecificType vcard:Name ; + vcard:familyName "Furter"^^xsd:string ; + vcard:givenName "Frank"^^xsd:string . From d4e01ab167c178f3d2d0283cf39f80203bc93761 Mon Sep 17 00:00:00 2001 From: brianjlowe Date: Fri, 28 Mar 2014 15:40:58 -0400 Subject: [PATCH 23/28] VIVO-711 avoiding bad orcid URIs --- .../ontologies/update/sparqlConstructs/additions/orcid.sparql | 1 + .../ontologies/update/sparqlConstructs/deletions/orcidDel.sparql | 1 + 2 files changed, 2 insertions(+) diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/orcid.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/orcid.sparql index a9097e2a..d53f0db2 100644 --- a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/orcid.sparql +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/orcid.sparql @@ -7,5 +7,6 @@ CONSTRUCT { } WHERE { ?s vivo:orcidId ?orcidString FILTER(isLiteral(?orcidString)) + FILTER (regex(str(?orcidString), "^[0-9][0-9][0-9][0-9]-[0-9][0-9][0-9][0-9]-[0-9][0-9][0-9][0-9]-[0-9][0-9][0-9]([0-9]|X)$")) BIND(IRI(concat("http://orcid.org/", str(?orcidString))) AS ?orcidURI) } diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/deletions/orcidDel.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/deletions/orcidDel.sparql index 2ed9cea2..e1aa19cb 100644 --- a/productMods/WEB-INF/ontologies/update/sparqlConstructs/deletions/orcidDel.sparql +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/deletions/orcidDel.sparql @@ -6,4 +6,5 @@ CONSTRUCT { } WHERE { ?s vivo:orcidId ?orcidString FILTER(isLiteral(?orcidString)) + FILTER (regex(str(?orcidString), "^[0-9][0-9][0-9][0-9]-[0-9][0-9][0-9][0-9]-[0-9][0-9][0-9][0-9]-[0-9][0-9][0-9]([0-9]|X)$")) } From 3c1b0447d5c9447b5a5eae5bf0037e8c98b8ae38 Mon Sep 17 00:00:00 2001 From: Holly Mistlebauer Date: Mon, 31 Mar 2014 15:09:29 -0400 Subject: [PATCH 24/28] Last of the test case chances from RC2 --- .../suites/CreatePeople/AddFacultyInfo.html | 32 +- .../LinkedOpenData/TestVariousRequests.html | 625 ++++++++++++++---- .../ProxyEditing/ValidateAdminProxy2.html | 2 +- .../suites/SelfEditing/AddSelfEditorId2.html | 5 - 4 files changed, 539 insertions(+), 125 deletions(-) diff --git a/utilities/acceptance-tests/suites/CreatePeople/AddFacultyInfo.html b/utilities/acceptance-tests/suites/CreatePeople/AddFacultyInfo.html index 5fb6dc66..f604b438 100644 --- a/utilities/acceptance-tests/suites/CreatePeople/AddFacultyInfo.html +++ b/utilities/acceptance-tests/suites/CreatePeople/AddFacultyInfo.html @@ -369,8 +369,23 @@ type id=object + + + + sendKeys + id=object Afri + + pause + 5000 + + + + sendKeys + id=object + ${KEY_DOWN} + click id=ui-active-menuitem @@ -475,7 +490,22 @@ type id=object - Librar + + + + sendKeys + id=object + Libra + + + pause + 5000 + + + + sendKeys + id=object + ${KEY_DOWN} click diff --git a/utilities/acceptance-tests/suites/LinkedOpenData/TestVariousRequests.html b/utilities/acceptance-tests/suites/LinkedOpenData/TestVariousRequests.html index 63dd3d95..598ad1ae 100644 --- a/utilities/acceptance-tests/suites/LinkedOpenData/TestVariousRequests.html +++ b/utilities/acceptance-tests/suites/LinkedOpenData/TestVariousRequests.html @@ -65,7 +65,7 @@ open - /vivo/individual/lodFacultyMember/lodFacultyMember.rdf + /vivo/TestLinkedOpenData.html @@ -74,136 +74,525 @@ 10000 - + - open - /vivo/display/lodFacultyMember?format=rdfxml - - - - - pause - 10000 - - - - - - open - /vivo/individual/lodFacultyMember/lodFacultyMember.jsonld - - - - - pause - 10000 - - - - - verifyTextPresent - [{"@id":"http://localhost:8080/vivo/individual/lodFacultyMember/lodFacultyMember.jsonld","http://purl.org/dc/elements/1.1/rights":[{"@id":"http://vivo.mydomain.edu/termsOfUse"}],"http://purl.org/dc/elements/1.1/date": - - - - - - open - /vivo/display/lodFacultyMember?format=jsonld - - - - - pause - 10000 - - - - - - verifyTextPresent - [{"@id":"http://localhost:8080/vivo/display/lodFacultyMember","http://purl.org/dc/elements/1.1/rights":[{"@id":"http://vivo.mydomain.edu/termsOfUse"}],"http://purl.org/dc/elements/1.1/date":[{"@value":"2013-12-09T15:25:39","@type":"http: - - - - - open - /vivo/individual/lodFacultyMember/lodFacultyMember.n3 - - - - - pause - 10000 - - - - - - - open - /vivo/display/lodFacultyMember?format=n3 - - - - - pause - 10000 - - - - - - - open - /vivo/individual/lodFacultyMember/lodFacultyMember.ttl - - - - - pause - 10000 - - - - - - - open - /vivo/display/lodFacultyMember?format=ttl - - - - - pause - 10000 - - - - - - - open - /vivo/display/bogus?format=jsonld - - - - assertTitle - Individual Not Found + clickAndWait + id=N3_EXTENSION_button verifyTextPresent - Individual not found: + Request URL is individual/lodFacultyMember/lodFacultyMember.n3 verifyTextPresent - This id is the id of the entity to query for. netid also works. + Accept header is No header + + + + verifyTextPresent + Response code is 200 + + + + verifyTextPresent + MIME type is text/n3 + + + + verifyTextPresent + Text is: + + + + verifyTextPresent + @prefix + + + + verifyTextPresent + <http://vivo.mydomain.edu/individual/lodFacultyMember> + + + + verifyTextPresent + rdfs:label "Example, Bad "^^xsd:string + + + + verifyTextPresent + obo:ARG_2000028 + + + + verifyTextPresent + obo:RO_0000053 + + + + verifyTextPresent + vivo:overview "Not someone on whom you should base your actions." + + + + verifyTextPresent + rdfs:label "Faculty Member"@en-US + + + + verifyTextPresent + rdfs:label "Person"@en-US + + + + verifyTextPresent + <http://vivo.mydomain.edu/individual/lodMembership> + + + + verifyTextPresent + rdfs:label "Bozo"^^xsd:string + + + + verifyTextPresent + <http://localhost:8080/vivo/individual/lodFacultyMember/lodFacultyMember.n3> + + + + verifyTextPresent + <http://vivo.mydomain.edu/termsOfUse> + + + + + pause + 10000 + + + + + + open + /vivo/TestLinkedOpenData.html + + + + click + id=RDFXML_EXTENSION_button + + + + verifyTextPresent + Request URL is individual/lodFacultyMember/lodFacultyMember.rdf + + + + verifyTextPresent + Accept header is No header + + + + verifyTextPresent + Response code is 200 + + + + verifyTextPresent + MIME type is application/rdf+xml + + + + verifyTextPresent + Text is: + + + + verifyTextPresent + <rdf:RDF + + + + + pause + 10000 + + click + id=CLEAR_RESPONSE_button + + + + verifyTextPresent + Response code is 000 + + + + verifyTextPresent + MIME type is No type + + + + verifyTextPresent + Text is: + + + + verifyTextPresent + No text + + + + + clickAndWait + id=N3_EXTENSION_button + + + + verifyTextPresent + Request URL is individual/lodFacultyMember/lodFacultyMember.n3 + + + + verifyTextPresent + Accept header is No header + + + + verifyTextPresent + Response code is 200 + + + + verifyTextPresent + MIME type is text/n3 + + + + verifyTextPresent + Text is: + + + + verifyTextPresent + @prefix + + + + + pause + 10000 + + + + + click + id=CLEAR_RESPONSE_button + + + + verifyTextPresent + Response code is 000 + + + + verifyTextPresent + MIME type is No type + + + + verifyTextPresent + Text is: + + + + verifyTextPresent + No text + + + + + click + id=TTL_EXTENSION_button + + + + verifyTextPresent + Request URL is individual/lodFacultyMember/lodFacultyMember.ttl + + + + verifyTextPresent + Accept header is No header + + + + verifyTextPresent + Response code is 200 + + + + verifyTextPresent + MIME type is text/turtle + + + + verifyTextPresent + Text is: + + + + verifyTextPresent + @prefix + + + + + pause + 10000 + + + + + click + id=CLEAR_RESPONSE_button + + + + verifyTextPresent + Response code is 000 + + + + verifyTextPresent + MIME type is No type + + + + verifyTextPresent + Text is: + + + + verifyTextPresent + No text + + + + + click + id=JSONLD_EXTENSION_button + + + + verifyTextPresent + Request URL is individual/lodFacultyMember/lodFacultyMember.jsonld + + + + verifyTextPresent + Accept header is No header + + + + verifyTextPresent + Response code is 200 + + + + verifyTextPresent + MIME type is application/json + + + + verifyTextPresent + Text is: + + + + verifyTextPresent + [{"@id":"http://localhost:8080/vivo/individual/lodFacultyMember/lodFacultyMember.jsonld","http://purl.org/dc/elements/1.1/rights":[{"@id":"http://vivo.mydomain.edu/termsOfUse"}],"http://purl.org/dc/elements/1.1/date":[{"@value":"2014-03-14T16:54:12" + + + + + pause + 10000 + + + + + click + id=CLEAR_RESPONSE_button + + + + verifyTextPresent + Response code is 000 + + + + verifyTextPresent + MIME type is No type + + + + verifyTextPresent + Text is: + + + + verifyTextPresent + No text + + + + + + clickAndWait + id=N3_EXTENSION_button + + + + verifyTextPresent + Request URL is individual/lodFacultyMember/lodFacultyMember.n3 + + + + verifyTextPresent + Accept header is No header + + + + verifyTextPresent + Response code is 200 + + + + verifyTextPresent + MIME type is text/n3 + + + + verifyTextPresent + Text is: + + + + verifyTextPresent + @prefix + + + + + pause + 10000 + + + + + click + id=CLEAR_RESPONSE_button + + + + verifyTextPresent + Response code is 000 + + + + verifyTextPresent + MIME type is No type + + + + verifyTextPresent + Text is: + + + + verifyTextPresent + No text + + + + + + clickAndWait + id=N3_EXTENSION_button + + + + verifyTextPresent + Request URL is individual/lodFacultyMember/lodFacultyMember.n3 + + + + verifyTextPresent + Accept header is No header + + + + verifyTextPresent + Response code is 200 + + + + verifyTextPresent + MIME type is text/n3 + + + + verifyTextPresent + Text is: + + + + verifyTextPresent + @prefix + + + + + pause + 10000 + + + + + click + id=CLEAR_RESPONSE_button + + + + verifyTextPresent + Response code is 000 + + + + verifyTextPresent + MIME type is No type + + + + verifyTextPresent + Text is: + + + + + + + pause + 10000 + + + + clickAndWait link=Log out diff --git a/utilities/acceptance-tests/suites/ProxyEditing/ValidateAdminProxy2.html b/utilities/acceptance-tests/suites/ProxyEditing/ValidateAdminProxy2.html index b68b8afe..dfd843f0 100644 --- a/utilities/acceptance-tests/suites/ProxyEditing/ValidateAdminProxy2.html +++ b/utilities/acceptance-tests/suites/ProxyEditing/ValidateAdminProxy2.html @@ -238,7 +238,7 @@ type id=loginPassword - myPassword + Password clickAndWait diff --git a/utilities/acceptance-tests/suites/SelfEditing/AddSelfEditorId2.html b/utilities/acceptance-tests/suites/SelfEditing/AddSelfEditorId2.html index 2ae2e1cc..27152a8d 100644 --- a/utilities/acceptance-tests/suites/SelfEditing/AddSelfEditorId2.html +++ b/utilities/acceptance-tests/suites/SelfEditing/AddSelfEditorId2.html @@ -132,11 +132,6 @@ - - selectWindow - null - - clickAndWait link=Site Admin From 5846cc71f3d1e97c4eadda70aa72a8df996b9677 Mon Sep 17 00:00:00 2001 From: Holly Mistlebauer Date: Tue, 1 Apr 2014 15:25:01 -0400 Subject: [PATCH 25/28] Changes to test cases to automate autocomplete function. --- .../suites/CreatePeople/AddFacultyInfo2.html | 30 +++++++++++++ .../CreatePeople/DeleteFacultyInfo.html | 33 ++++++++------ .../suites/CreatePeople/EditFacultyInfo.html | 7 ++- .../suites/CreatePeople/ReorderPeople.html | 45 +++++++++++++++++++ 4 files changed, 100 insertions(+), 15 deletions(-) diff --git a/utilities/acceptance-tests/suites/CreatePeople/AddFacultyInfo2.html b/utilities/acceptance-tests/suites/CreatePeople/AddFacultyInfo2.html index 3b74b632..c015a72a 100644 --- a/utilities/acceptance-tests/suites/CreatePeople/AddFacultyInfo2.html +++ b/utilities/acceptance-tests/suites/CreatePeople/AddFacultyInfo2.html @@ -204,8 +204,23 @@ type id=object + + + + sendKeys + id=object southern afri + + pause + 5000 + + + + sendKeys + id=object + ${KEY_DOWN} + click id=ui-active-menuitem @@ -556,8 +571,23 @@ type id=object + + + + sendKeys + id=object Librar + + pause + 5000 + + + + sendKeys + id=object + ${KEY_DOWN} + click id=ui-active-menuitem diff --git a/utilities/acceptance-tests/suites/CreatePeople/DeleteFacultyInfo.html b/utilities/acceptance-tests/suites/CreatePeople/DeleteFacultyInfo.html index 0d323319..3af14d25 100644 --- a/utilities/acceptance-tests/suites/CreatePeople/DeleteFacultyInfo.html +++ b/utilities/acceptance-tests/suites/CreatePeople/DeleteFacultyInfo.html @@ -132,8 +132,8 @@ - waitForPageToLoad - 20000 + pause + 5000 @@ -147,8 +147,8 @@ - waitForPageToLoad - 20000 + pause + 5000 @@ -322,8 +322,8 @@ - waitForPageToLoad - 20000 + pause + 5000 @@ -337,8 +337,8 @@ - waitForPageToLoad - 20000 + pause + 5000 @@ -1238,7 +1238,7 @@ verifyTextPresent - Organization (1) + Organization (2) @@ -1787,11 +1787,6 @@ - - selectWindow - null - - clickAndWait link=Award or Honor @@ -3123,6 +3118,16 @@ + + pause + 5000 + + + + refresh + + + verifyTextPresent people diff --git a/utilities/acceptance-tests/suites/CreatePeople/EditFacultyInfo.html b/utilities/acceptance-tests/suites/CreatePeople/EditFacultyInfo.html index d5a19b52..6374163d 100644 --- a/utilities/acceptance-tests/suites/CreatePeople/EditFacultyInfo.html +++ b/utilities/acceptance-tests/suites/CreatePeople/EditFacultyInfo.html @@ -107,7 +107,12 @@ - pause + assertConfirmation + Are you sure you want to remove this term? + + + + waitForPageToLoad 5000 diff --git a/utilities/acceptance-tests/suites/CreatePeople/ReorderPeople.html b/utilities/acceptance-tests/suites/CreatePeople/ReorderPeople.html index 97768017..61d32c75 100644 --- a/utilities/acceptance-tests/suites/CreatePeople/ReorderPeople.html +++ b/utilities/acceptance-tests/suites/CreatePeople/ReorderPeople.html @@ -249,8 +249,23 @@ type id=object + + + + sendKeys + id=object adam + + pause + 5000 + + + + sendKeys + id=object + ${KEY_DOWN} + click id=ui-active-menuitem @@ -279,8 +294,23 @@ type id=object + + + + sendKeys + id=object doe + + pause + 5000 + + + + sendKeys + id=object + ${KEY_DOWN} + click id=ui-active-menuitem @@ -309,8 +339,23 @@ type id=object + + + + sendKeys + id=object smith + + pause + 5000 + + + + sendKeys + id=object + ${KEY_DOWN} + click id=ui-active-menuitem From 0893552ab5792fed25eb29a2f5190b7a27e50700 Mon Sep 17 00:00:00 2001 From: Holly Mistlebauer Date: Wed, 2 Apr 2014 09:46:18 -0400 Subject: [PATCH 26/28] Holly made more test case changes for autocomplete functions --- .../AddNonPersonThings/CheckIndexView.html | 10 -- .../AddNonPersonThings/CreateActivity.html | 47 ++++- .../AddNonPersonThings/CreateCourse.html | 30 ++++ .../AddNonPersonThings/CreateEquipment.html | 17 +- .../AddNonPersonThings/CreateEvent.html | 47 ++++- .../CreateOrganization.html | 62 ++++++- .../VerifyAllThingsSearchable.html | 30 ++-- .../CreatePeople/DeleteFacultyInfo.html | 7 +- .../suites/CreatePeople/EditFacultyInfo.html | 10 -- .../ProxyEditing/CreateNewSelfEditorUser.html | 15 ++ .../suites/ProxyEditing/DeleteNewUsers.html | 76 ++++++-- .../ProxyEditing/ValidateAdminProxy.html | 164 ++++++++++++++++-- .../ProxyEditing/ValidateAdminProxy2.html | 87 +++++++++- .../ProxyEditing/ValidateUserProxy.html | 32 +++- .../suites/SelfEditing/AddSelfEditorId2.html | 15 ++ .../SelfEditing/CreateNewSelfEditorUser.html | 15 ++ 16 files changed, 587 insertions(+), 77 deletions(-) diff --git a/utilities/acceptance-tests/suites/AddNonPersonThings/CheckIndexView.html b/utilities/acceptance-tests/suites/AddNonPersonThings/CheckIndexView.html index b87e6af0..36f79b68 100644 --- a/utilities/acceptance-tests/suites/AddNonPersonThings/CheckIndexView.html +++ b/utilities/acceptance-tests/suites/AddNonPersonThings/CheckIndexView.html @@ -246,11 +246,6 @@ Continent (7) - - verifyTextPresent - County (1) - - verifyTextPresent Facility (5) @@ -427,11 +422,6 @@ link=Building - - verifyElementPresent - link=County - - verifyElementPresent link=Facility diff --git a/utilities/acceptance-tests/suites/AddNonPersonThings/CreateActivity.html b/utilities/acceptance-tests/suites/AddNonPersonThings/CreateActivity.html index 5e61d975..61432db3 100644 --- a/utilities/acceptance-tests/suites/AddNonPersonThings/CreateActivity.html +++ b/utilities/acceptance-tests/suites/AddNonPersonThings/CreateActivity.html @@ -181,7 +181,22 @@ type id=organization - primate colleges of the + + + + sendKeys + id=organization + primate colleges of the wor + + + pause + 5000 + + + + sendKeys + id=organization + ${KEY_DOWN} click @@ -397,8 +412,23 @@ type id=object + + + + sendKeys + id=object Afri + + pause + 5000 + + + + sendKeys + id=object + ${KEY_DOWN} + click id=ui-active-menuitem @@ -515,8 +545,23 @@ type id=object + + + + sendKeys + id=object primate health chec + + pause + 5000 + + + + sendKeys + id=object + ${KEY_DOWN} + click id=ui-active-menuitem diff --git a/utilities/acceptance-tests/suites/AddNonPersonThings/CreateCourse.html b/utilities/acceptance-tests/suites/AddNonPersonThings/CreateCourse.html index b65ba15c..de9f2d9a 100644 --- a/utilities/acceptance-tests/suites/AddNonPersonThings/CreateCourse.html +++ b/utilities/acceptance-tests/suites/AddNonPersonThings/CreateCourse.html @@ -256,8 +256,23 @@ type id=object + + + + sendKeys + id=object Afri + + pause + 5000 + + + + sendKeys + id=object + ${KEY_DOWN} + click id=ui-active-menuitem @@ -608,8 +623,23 @@ type id=object + + + + sendKeys + id=object lib + + pause + 5000 + + + + sendKeys + id=object + ${KEY_DOWN} + click id=ui-active-menuitem diff --git a/utilities/acceptance-tests/suites/AddNonPersonThings/CreateEquipment.html b/utilities/acceptance-tests/suites/AddNonPersonThings/CreateEquipment.html index 0766c49c..f95bc3ab 100644 --- a/utilities/acceptance-tests/suites/AddNonPersonThings/CreateEquipment.html +++ b/utilities/acceptance-tests/suites/AddNonPersonThings/CreateEquipment.html @@ -374,7 +374,22 @@ type id=object - United + + + + sendKeys + id=object + United State + + + pause + 5000 + + + + sendKeys + id=object + ${KEY_DOWN} click diff --git a/utilities/acceptance-tests/suites/AddNonPersonThings/CreateEvent.html b/utilities/acceptance-tests/suites/AddNonPersonThings/CreateEvent.html index a16b9a58..a63e6f9d 100644 --- a/utilities/acceptance-tests/suites/AddNonPersonThings/CreateEvent.html +++ b/utilities/acceptance-tests/suites/AddNonPersonThings/CreateEvent.html @@ -307,7 +307,22 @@ type id=object - Keny + + + + sendKeys + id=object + Kenya + + + pause + 5000 + + + + sendKeys + id=object + ${KEY_DOWN} click @@ -348,8 +363,23 @@ type id=object + + + + sendKeys + id=object Cong + + pause + 5000 + + + + sendKeys + id=object + ${KEY_DOWN} + click id=ui-active-menuitem @@ -546,8 +576,23 @@ type id=relatedIndLabel + + + + sendKeys + id=relatedIndLabel Anim + + pause + 5000 + + + + sendKeys + id=relatedIndLabel + ${KEY_DOWN} + click id=ui-active-menuitem diff --git a/utilities/acceptance-tests/suites/AddNonPersonThings/CreateOrganization.html b/utilities/acceptance-tests/suites/AddNonPersonThings/CreateOrganization.html index 4eb2ec7d..0efadcb6 100644 --- a/utilities/acceptance-tests/suites/AddNonPersonThings/CreateOrganization.html +++ b/utilities/acceptance-tests/suites/AddNonPersonThings/CreateOrganization.html @@ -702,8 +702,23 @@ type id=object + + + + sendKeys + id=object Primate His + + pause + 5000 + + + + sendKeys + id=object + ${KEY_DOWN} + click id=ui-active-menuitem @@ -915,8 +930,23 @@ type id=object + + + + sendKeys + id=object northern Afr + + pause + 5000 + + + + sendKeys + id=object + ${KEY_DOWN} + click id=ui-active-menuitem @@ -1349,8 +1379,23 @@ type id=grant + + + + sendKeys + id=grant primate hab + + pause + 5000 + + + + sendKeys + id=grant + ${KEY_DOWN} + click id=ui-active-menuitem @@ -1539,7 +1584,22 @@ type id=object - primate colleges of + + + + sendKeys + id=object + primate colleges of the wor + + + pause + 5000 + + + + sendKeys + id=object + ${KEY_DOWN} click diff --git a/utilities/acceptance-tests/suites/AddNonPersonThings/VerifyAllThingsSearchable.html b/utilities/acceptance-tests/suites/AddNonPersonThings/VerifyAllThingsSearchable.html index 6747d26d..047df8b4 100644 --- a/utilities/acceptance-tests/suites/AddNonPersonThings/VerifyAllThingsSearchable.html +++ b/utilities/acceptance-tests/suites/AddNonPersonThings/VerifyAllThingsSearchable.html @@ -319,6 +319,21 @@ New Primate Students Workshop + + verifyElementPresent + link=Primate History Library + + + + verifyTextPresent + Primate History Library Library + + + + clickAndWait + link=2 + + verifyElementPresent link=Primate Memorial Building @@ -329,26 +344,11 @@ Primate Memorial Building Building - - clickAndWait - link=2 - - assertTitle primates - VIVO Search Results - - verifyElementPresent - link=Primate History Library - - - - verifyTextPresent - Primate History Library Library - - verifyElementPresent link=Primate Student of the Year diff --git a/utilities/acceptance-tests/suites/CreatePeople/DeleteFacultyInfo.html b/utilities/acceptance-tests/suites/CreatePeople/DeleteFacultyInfo.html index 3af14d25..e2f0ce3b 100644 --- a/utilities/acceptance-tests/suites/CreatePeople/DeleteFacultyInfo.html +++ b/utilities/acceptance-tests/suites/CreatePeople/DeleteFacultyInfo.html @@ -3168,11 +3168,8 @@ organizations - - verifyTextNotPresent - research - - + + verifyTextPresent locations diff --git a/utilities/acceptance-tests/suites/CreatePeople/EditFacultyInfo.html b/utilities/acceptance-tests/suites/CreatePeople/EditFacultyInfo.html index 6374163d..8fe28bba 100644 --- a/utilities/acceptance-tests/suites/CreatePeople/EditFacultyInfo.html +++ b/utilities/acceptance-tests/suites/CreatePeople/EditFacultyInfo.html @@ -166,16 +166,6 @@ link=Delete - - assertConfirmation - Are you sure you want to remove this web page? - - - - assertTitle - Edit - - clickAndWait id=showAddForm diff --git a/utilities/acceptance-tests/suites/ProxyEditing/CreateNewSelfEditorUser.html b/utilities/acceptance-tests/suites/ProxyEditing/CreateNewSelfEditorUser.html index 73d12433..6df4e5d3 100644 --- a/utilities/acceptance-tests/suites/ProxyEditing/CreateNewSelfEditorUser.html +++ b/utilities/acceptance-tests/suites/ProxyEditing/CreateNewSelfEditorUser.html @@ -118,8 +118,23 @@ type id=associateProfileName + + + + sendKeys + id=associateProfileName facult + + pause + 5000 + + + + sendKeys + id=associateProfileName + ${KEY_DOWN} + click id=ui-active-menuitem diff --git a/utilities/acceptance-tests/suites/ProxyEditing/DeleteNewUsers.html b/utilities/acceptance-tests/suites/ProxyEditing/DeleteNewUsers.html index 8443e018..375e6615 100644 --- a/utilities/acceptance-tests/suites/ProxyEditing/DeleteNewUsers.html +++ b/utilities/acceptance-tests/suites/ProxyEditing/DeleteNewUsers.html @@ -101,7 +101,7 @@ link=PollyProxy@cornell.edu - + assertTitle VIVO @@ -112,21 +112,21 @@ name=deleteAccount - - click - xpath=(//input[@name='deleteAccount'])[2] - - - - click - xpath=(//input[@name='deleteAccount'])[3] - - clickAndWait name=delete-account + + assertConfirmation + Are you sure you want to delete these accounts?? + + + + waitForPageToLoad + 5000 + + assertTitle VIVO @@ -134,7 +134,59 @@ verifyTextPresent - 5 accounts + 7 accounts + + + + + click + name=deleteAccount + + + + clickAndWait + name=delete-account + + + + assertConfirmation + Are you sure you want to delete these accounts?? + + + + waitForPageToLoad + 5000 + + + + assertTitle + VIVO + + + + + click + name=deleteAccount + + + + clickAndWait + name=delete-account + + + + assertConfirmation + Are you sure you want to delete these accounts?? + + + + waitForPageToLoad + 5000 + + + + assertTitle + VIVO diff --git a/utilities/acceptance-tests/suites/ProxyEditing/ValidateAdminProxy.html b/utilities/acceptance-tests/suites/ProxyEditing/ValidateAdminProxy.html index ade7b584..1807cbfe 100644 --- a/utilities/acceptance-tests/suites/ProxyEditing/ValidateAdminProxy.html +++ b/utilities/acceptance-tests/suites/ProxyEditing/ValidateAdminProxy.html @@ -112,21 +112,36 @@ + + click + name=createRelationship + + type - //form[@id='add-relation']/fieldset[2]/section/input - facult + id=selectProfiles + + + + sendKeys + id=selectProfiles + facul + + + pause + 5000 + + + + sendKeys + id=selectProfiles + ${KEY_DOWN} click id=ui-active-menuitem - - click - name=createRelationship - - verifyTextPresent You must select a minimum of 1 editor and profile. @@ -141,9 +156,24 @@ type id=selectProfileEditors + + + + sendKeys + id=selectProfileEditors edito + + pause + 5000 + + + + sendKeys + id=selectProfileEditors + ${KEY_DOWN} + click id=ui-active-menuitem @@ -168,9 +198,24 @@ type id=selectProfileEditors + + + + sendKeys + id=selectProfileEditors edito + + pause + 5000 + + + + sendKeys + id=selectProfileEditors + ${KEY_DOWN} + click id=ui-active-menuitem @@ -188,14 +233,34 @@ type - //form[@id='add-relation']/fieldset[2]/section/input - facult + id=selectProfiles + + + + sendKeys + id=selectProfiles + facul + + + pause + 5000 + + + + sendKeys + id=selectProfiles + ${KEY_DOWN} click id=ui-active-menuitem + + pause + 5000 + + verifyTextPresent Faculty, Jane | Faculty Member @@ -226,9 +291,24 @@ type id=selectProfileEditors + + + + sendKeys + id=selectProfileEditors edito + + pause + 5000 + + + + sendKeys + id=selectProfileEditors + ${KEY_DOWN} + click id=ui-active-menuitem @@ -257,8 +337,23 @@ type - //form[@id='add-relation']/fieldset[2]/section/input - facult + id=selectProfiles + + + + sendKeys + id=selectProfiles + facul + + + pause + 5000 + + + + sendKeys + id=selectProfiles + ${KEY_DOWN} click @@ -325,8 +420,24 @@ type id=selectProfileEditors + + + + sendKeys + id=selectProfileEditors edito + + pause + 5000 + + + + + sendKeys + id=selectProfileEditors + ${KEY_DOWN} + click id=ui-active-menuitem @@ -334,8 +445,23 @@ type - //form[@id='add-relation']/fieldset[2]/section/input - facult + id=selectProfiles + + + + sendKeys + id=selectProfiles + facul + + + pause + 5000 + + + + sendKeys + id=selectProfiles + ${KEY_DOWN} click @@ -355,7 +481,17 @@ type id=addProfile - facult + + + + sendKeys + id=addProfile + facul + + + pause + 5000 + verifyTextPresent diff --git a/utilities/acceptance-tests/suites/ProxyEditing/ValidateAdminProxy2.html b/utilities/acceptance-tests/suites/ProxyEditing/ValidateAdminProxy2.html index dfd843f0..dda17709 100644 --- a/utilities/acceptance-tests/suites/ProxyEditing/ValidateAdminProxy2.html +++ b/utilities/acceptance-tests/suites/ProxyEditing/ValidateAdminProxy2.html @@ -93,9 +93,24 @@ type id=selectProfileEditors - edito + + + sendKeys + id=selectProfileEditors + edito + + + pause + 5000 + + + + sendKeys + id=selectProfileEditors + ${KEY_DOWN} + click id=ui-active-menuitem @@ -103,8 +118,23 @@ type - //form[@id='add-relation']/fieldset[2]/section/input - libr + id=selectProfiles + + + + sendKeys + id=selectProfiles + librar + + + pause + 5000 + + + + sendKeys + id=selectProfiles + ${KEY_DOWN} click @@ -156,9 +186,24 @@ type id=selectProfileEditors - edito + + + sendKeys + id=selectProfileEditors + edito + + + pause + 5000 + + + + sendKeys + id=selectProfileEditors + ${KEY_DOWN} + click id=ui-active-menuitem @@ -167,8 +212,23 @@ type id=selectProfileEditors + + + + sendKeys + id=selectProfileEditors prox + + pause + 5000 + + + + sendKeys + id=selectProfileEditors + ${KEY_DOWN} + click id=ui-active-menuitem @@ -176,8 +236,23 @@ type - //form[@id='add-relation']/fieldset[2]/section/input - facult + id=selectProfiles + + + + sendKeys + id=selectProfiles + facul + + + pause + 5000 + + + + sendKeys + id=selectProfiles + ${KEY_DOWN} click diff --git a/utilities/acceptance-tests/suites/ProxyEditing/ValidateUserProxy.html b/utilities/acceptance-tests/suites/ProxyEditing/ValidateUserProxy.html index b7ffe3ad..f1c593ab 100644 --- a/utilities/acceptance-tests/suites/ProxyEditing/ValidateUserProxy.html +++ b/utilities/acceptance-tests/suites/ProxyEditing/ValidateUserProxy.html @@ -83,9 +83,24 @@ type id=addProfileEditor - edito + + + sendKeys + id=addProfileEditor + edit + + + pause + 5000 + + + + sendKeys + id=addProfileEditor + ${KEY_DOWN} + click id=ui-active-menuitem @@ -94,8 +109,23 @@ type id=addProfileEditor + + + + sendKeys + id=addProfileEditor prox + + pause + 5000 + + + + sendKeys + id=addProfileEditor + ${KEY_DOWN} + click id=ui-active-menuitem diff --git a/utilities/acceptance-tests/suites/SelfEditing/AddSelfEditorId2.html b/utilities/acceptance-tests/suites/SelfEditing/AddSelfEditorId2.html index 27152a8d..814c03c9 100644 --- a/utilities/acceptance-tests/suites/SelfEditing/AddSelfEditorId2.html +++ b/utilities/acceptance-tests/suites/SelfEditing/AddSelfEditorId2.html @@ -165,8 +165,23 @@ type id=associateProfileName + + + + sendKeys + id=associateProfileName Facu + + pause + 5000 + + + + sendKeys + id=associateProfileName + ${KEY_DOWN} + click id=ui-active-menuitem diff --git a/utilities/acceptance-tests/suites/SelfEditing/CreateNewSelfEditorUser.html b/utilities/acceptance-tests/suites/SelfEditing/CreateNewSelfEditorUser.html index d401eb8b..6e48c32a 100644 --- a/utilities/acceptance-tests/suites/SelfEditing/CreateNewSelfEditorUser.html +++ b/utilities/acceptance-tests/suites/SelfEditing/CreateNewSelfEditorUser.html @@ -118,8 +118,23 @@ type id=associateProfileName + + + + sendKeys + id=associateProfileName Facul + + pause + 5000 + + + + sendKeys + id=associateProfileName + ${KEY_DOWN} + click id=ui-active-menuitem From 0a6b7be1a09e623beb40961f7756be4b52c5c3a6 Mon Sep 17 00:00:00 2001 From: brianjlowe Date: Fri, 4 Apr 2014 09:44:05 -0400 Subject: [PATCH 27/28] VIVO-727 fixes bugs with VCard migration --- .../additions/vcard1-3.sparql | 14 +++- .../sparqlConstructs/additions/vcard8.sparql | 18 ++--- .../sparqlConstructs/additions/vcard9.sparql | 11 ++- .../deletions/vcardDel.sparql | 72 +++++++++++++++++-- 4 files changed, 89 insertions(+), 26 deletions(-) diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-3.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-3.sparql index fb409425..cb908214 100644 --- a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-3.sparql +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-3.sparql @@ -9,7 +9,15 @@ CONSTRUCT { _:vcard arg:ARG_2000029 ?s . _:vcard a v:Kind . } WHERE { - ?s vivo:webpage ?webpage - FILTER NOT EXISTS { ?s a foaf:Agent } - FILTER NOT EXISTS { ?s arg:ARG_2000028 ?existingvcard } + ?s a owl:Thing + FILTER ( + EXISTS { ?s vivo:email ?email } || + EXISTS { ?s vivo:primaryEmail ?primaryEmail } || + EXISTS { ?s vivo:phoneNumber ?phoneNumber } || + EXISTS { ?s vivo:primaryPhoneNumber ?primaryPhoneNumber } || + EXISTS { ?s vivo:faxNumber ?faxNumber } || + EXISTS { ?s vivo:mailingAddress ?address } || + EXISTS { ?s vivo:webpage ?webpage } + ) + FILTER NOT EXISTS { ?s arg:ARG_2000028 ?vcardNode } } diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard8.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard8.sparql index a1a53389..48c1fd52 100644 --- a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard8.sparql +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard8.sparql @@ -4,15 +4,15 @@ PREFIX v: PREFIX vivo: CONSTRUCT { - ?vcard v:hasAddress _:address . - _:address a v:Address . - _:address v:streetAddress ?streetAddress . - _:address v:locality ?addressCity . - _:address v:region ?addressState . - _:address v:postalCode ?addressPostalCode . - _:address v:country ?addressCountry . - _:address ?location . - ?location _:address . + ?vcard v:hasAddress ?address . + ?address a v:Address . + ?address v:streetAddress ?streetAddress . + ?address v:locality ?addressCity . + ?address v:region ?addressState . + ?address v:postalCode ?addressPostalCode . + ?address v:country ?addressCountry . + ?address ?location . + ?location ?address . } WHERE { ?s vivo:mailingAddress ?address . OPTIONAL { ?address vivo:addressCity ?addressCity } diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard9.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard9.sparql index 62c04e1b..bf8db27a 100644 --- a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard9.sparql +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard9.sparql @@ -5,10 +5,10 @@ PREFIX v: PREFIX vivo: CONSTRUCT { - ?vcard v:hasURL _:url . - _:url a v:URL . - _:url v:url ?linkURI . - _:url rdfs:label ?linkAnchorText + ?vcard v:hasURL ?webpage . + ?webpage a v:URL . + ?webpage v:url ?linkURI . + ?webpage rdfs:label ?linkAnchorText } WHERE { ?s vivo:webpage ?webpage . ?webpage vivo:linkURI ?linkURI . @@ -16,7 +16,4 @@ CONSTRUCT { OPTIONAL { ?webpage vivo:linkAnchorText ?linkAnchorText } - FILTER NOT EXISTS { - ?vcard v:hasURL ?URLNode - } } diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/deletions/vcardDel.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/deletions/vcardDel.sparql index 1eb00279..619bf855 100644 --- a/productMods/WEB-INF/ontologies/update/sparqlConstructs/deletions/vcardDel.sparql +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/deletions/vcardDel.sparql @@ -16,10 +16,22 @@ CONSTRUCT { ?s vivo:primaryPhoneNumber ?primaryPhoneNumber . ?s vivo:faxNumber ?faxNumber . ?s vivo:mailingAddress ?address . - ?address ?addressP ?addressO . - ?addressS ?addressQ ?address . + ?address vivo:mailingAddressFor ?s . + ?address a ?addressType . + ?address vivo:address1 ?address1 . + ?address vivo:address2 ?address2 . + ?address vivo:address3 ?address3 . + ?address vivo:addressCity ?city . + ?address vivo:addressState ?state . + ?address vivo:addressPostalCode ?postalCode . + ?address vivo:addressCountry ?country . + ?address vivo:hasGeographicLocation ?location . + ?location vivo:geographicLocationOf ?address . ?s vivo:webpage ?webpage . - ?webpage ?webpageP ?webpageO . + ?webpage vivo:webpageOf ?s . + ?webpage vivo:linkAnchorText ?linkAnchorText . + ?webpage vivo:linkURI ?linkURI . + ?webpage a vivo:URLLink . } WHERE { { ?s foaf:firstName ?firstName . @@ -55,19 +67,65 @@ CONSTRUCT { UNION { ?s vivo:mailingAddress ?address . } + UNION { + ?address vivo:mailingAddressFor ?s . + } UNION { ?s vivo:mailingAddress ?address . - ?address ?addressP ?addressO + ?address a ?addressType + FILTER(regex(str(?addressType),"vivoweb.org/ontology/core")) + } + UNION { + ?s vivo:mailingAddress ?address . + ?address vivo:address1 ?address1 . } UNION { ?s vivo:mailingAddress ?address . - ?addressS ?addressQ ?address - } + ?address vivo:address2 ?address2 . + } + UNION { + ?s vivo:mailingAddress ?address . + ?address vivo:address3 ?address3 . + } + UNION { + ?s vivo:mailingAddress ?address . + ?address vivo:addressCity ?city . + } + UNION { + ?s vivo:mailingAddress ?address . + ?address vivo:addressState ?state . + } + UNION { + ?s vivo:mailingAddress ?address . + ?address vivo:addressPostalCode ?postalCode . + } + UNION { + ?s vivo:mailingAddress ?address . + ?address vivo:addressCountry ?country . + } + UNION { + ?s vivo:mailingAddress ?address . + ?address vivo:hasGeographicLocation ?location . + } + UNION { + ?s vivo:mailingAddress ?address . + ?location vivo:geographicLocationOf ?address . + } UNION { ?s vivo:webpage ?webpage } + UNION { + ?webpage vivo:webpageOf ?s + } + UNION { + ?s vivo:webpage ?webpage + } UNION { ?s vivo:webpage ?webpage . - ?webpage ?webpageP ?webpageO + ?webpage vivo:linkURI ?linkURI + } + UNION { + ?s vivo:webpage ?webpage . + ?webpage vivo:linkAnchorText ?linkAnchorText } } From b3d8aecbc0c554bf98909938040e3d27a0df0ac1 Mon Sep 17 00:00:00 2001 From: brianjlowe Date: Fri, 4 Apr 2014 12:28:56 -0400 Subject: [PATCH 28/28] VIVO-33 changes vivo:dateTime and c40:hasGlobalCitationDate back to DatatypeProperties --- rdf/tbox/filegraph/data-properties.owl | 20 ++++++++++++++++++++ rdf/tbox/filegraph/object-properties.owl | 21 --------------------- 2 files changed, 20 insertions(+), 21 deletions(-) diff --git a/rdf/tbox/filegraph/data-properties.owl b/rdf/tbox/filegraph/data-properties.owl index 4655c000..473a6171 100644 --- a/rdf/tbox/filegraph/data-properties.owl +++ b/rdf/tbox/filegraph/data-properties.owl @@ -1621,6 +1621,17 @@ modern society using the world of Star trek. Los Angeles Times, March + + + + + + + The date on which the global citation count of the cited entity was recorded from a named bibliographic information source. + + + + @@ -1659,6 +1670,15 @@ modern society using the world of Star trek. Los Angeles Times, March + + + + + + + + + diff --git a/rdf/tbox/filegraph/object-properties.owl b/rdf/tbox/filegraph/object-properties.owl index 10a3bd72..da959108 100644 --- a/rdf/tbox/filegraph/object-properties.owl +++ b/rdf/tbox/filegraph/object-properties.owl @@ -1264,15 +1264,6 @@ there is a measurement process p that has specified output m, a measurement datu
- - - - - - - - - @@ -1285,18 +1276,6 @@ there is a measurement process p that has specified output m, a measurement datu - - - - - - - - The date on which the global citation count of the cited entity was recorded from a named bibliographic information source. - - - -