Old Release

This documentation relates to an old version of VIVO, version 1.9.x. Looking for another version? See all documentation.

The home page

Like the title page of a book, it is not unusual for the home page of a web site to be different from all other pages. In the default VIVO theme, the most significant difference is that the search box is moved from the header to a more prominent location on the page.

The following templates are used in the home page.

pageSetup.ftl
page-home.ftl
    head.ftl
        stylesheets.ftl
        headScripts.ftl
    identity.ftl
        languageSelector.ftl
    menu.ftl
        developer.ftl
    footer.ftl
        scripts.ftl
        googleAnalytics.ftl
TemplatePurposeFrom
pageSetup.ftlSets some class and formatting parameters. Included in every page, by TemplateProcessingHelper.java
page-home.ftlThe special template used for the home page. Specified as the page template by HomePageController.java, overriding the default page.ftl.
head.ftlCreates the HTML <HEAD> tag. Included by page-home.ftl.
stylesheets.ftlInserts links to CSS stylesheets. Included by head.ftl.
headScripts.ftlInserts links to JavaScript files that must appear in the <HEAD> section of the page. These are somewhat unusual, since most JavaScript links appear at the end of the page. Included by head.ftl.
identity.ftlDraws the heading of the heading of the page, including the VIVO logo and the Index and Log in links. Included by page-home.ftl.
languageSelector.ftlAllows the user to select their preferred language. If the site supports only one language, this template has no effect. Included by identity.ftl.
menu.ftlDisplays the page links (HomePeople, etc.) at the top of the page. Included by page-home.ftl.
developer.ftlDisplays the developer panel, used when testing and monitoring VIVO operation. If developer mode has not been enabled, this templates produces nothing. Included by menu.ftl.
footer.ftlDraws the footer of the page, including the copyright notice, and the About and Support links. Included by page-home.ftl.
scripts.ftlInserts links to JavaScript files. Compare to headScripts.ftlIncluded by footer.ftl.
googleAnalytics.ftlInserts JavaScript code to work with Google Analytics. By default, this is commented out, since each site will need to insert their own ID values in order to produce meaningful results. Included by footer.ftl.

 

A profile page

By numbers, the vast majority of pages on a VIVO site are profile pages. These are all likely to be structured around the properties of each individual. However, the format can be very different depending on whether that individual is a person, an organization, or a research grant.

The following templates are used in this particular profile page. As explained in the notes, the choice of templates is driven in part by the content of the page.

pageSetup.ftl
page.ftl
    head.ftl
        stylesheets.ftl
        headScripts.ftl
    identity.ftl
        languageSelector.ftl
    search.ftl
    menu.ftl
        developer.ftl
    individual--foaf-person.ftl
        individual-setup.ftl
        individual-orcidInterface.ftl
        individual-contactInfo.ftl
        individual-webpage.ftl
            propStatement-webpage.ftl
        individual-visualizationFoafPerson.ftl
        individual-adminPanel.ftl
        individual-positions.ftl
            propStatement-personInPosition.ftl
        individual-overview.ftl
        individual-researchAreas.ftl
        individual-geographicFocus.ftl
    individual-openSocial.ftl
    individual-property-group-tabs.ftl
        individual-properties.ftl
            propStatement-hasRole.ftl
        individual-properties.ftl
            propStatement-dataDefault.ftl
            propStatement-hasInvestigatorRole.ftl
            propStatement-hasInvestigatorRole.ftl
        individual-properties.ftl
            propStatement-fullName.ftl
    footer.ftl
        scripts.ftl
        googleAnalytics.ftl
TemplatePurposeFrom
pageSetup.ftl
as above. 
page.ftl
The master template for most VIVO pages.Specified by FreemarkerHttpServlet.java.
head.ftl
stylesheets.ftl
headScripts.ftl
identity.ftl
languageSelector.ftl
as above. 
search.ftl
Draws the search box in the header of the page. Included by page.ftl.
menu.ftl
developer.ftl
as above. 
individual--foaf-person.ftl

The main body of the profile page.

VIVO is configured to use this template as the body of a profile page for any foaf:Person. You can change this configuration: see Class-specific templates for profile pages.

This is specified in initialTBoxAnnotations.n3, and recognized by IndividualResponseBuilder.java and IndividualTemplateLocator.java.

individual-setup.ftl
Sets some basic values for the following templates to use.Included by individual--foaf-person.ftl.
individual-orcidInterface.ftl
Implements the VIVO integration to ORCiD. If this integration is not enabled, this template has no effect.Included by individual--foaf-person.ftl.
individual-contactInfo.ftl

Displays the person's phone numbers and email addresses.Included by individual--foaf-person.ftl.
individual-webpage.ftl
Displays the person's preferred web pages.Included by individual--foaf-person.ftl.
propStatement-webpage.ftl

Displays a link to one of the person's preferred web pages.

VIVO is configured to use this template when displaying preferred web pages. You can change this configuration: see Custom List View Configurations.

This is specified in listViewConfig-webpage.xml, which is specified in PropertyConfig.n3 and vivoListViewConfig.rdf.

individual-visualizationFoafPerson.ftl
Displays the visualization links for co-authors, co-investigatorsIncluded by individual--foaf-person.ftl.
individual-adminPanel.ftl
Displays links for a VIVO administrator to use when editing this person's informationIncluded by individual--foaf-person.ftl.
individual-positions.ftl
Displays the positions that this person currently holds.Included by individual--foaf-person.ftl.
propStatement-personInPosition.ftl

Displays one position that this person currently holds.

VIVO is configured to use this template when displaying positions. You can change this configuration: see Custom List View Configurations.

This is specified in listViewConfig-personInPosition.xml, which is specified in PropertyConfig.n3.

individual-overview.ftl
individual-researchAreas.ftl
individual-geographicFocus.ftl
Display additional information about the person.Included by individual--foaf-person.ftl.
individual-openSocial.ftl
Implements the VIVO integration to OpenSocial gadgets. If this integration is not enabled, this template has no effect.

You can configure VIVO to display OpenSocial gadgets on profile pages: see Using OpenSocial Gadgets.

Included by individual--foaf-person.ftl.

individual-property-group-tabs.ftl

Displays the groups of properties for this person.Included by individual--foaf-person.ftl.
individual-properties.ftl
propStatement-hasRole.ftl
individual-properties.ftl
propStatement-dataDefault.ftl
propStatement-hasInvestigatorRole.ftl
propStatement-hasInvestigatorRole.ftl
individual-properties.ftl
propStatement-fullName.ftl

Each invokation of individual-properties.ftl displays a property group.

Each subordinate template displays one property for this person.

Each reference to individual-properties.ftl is included by individual-property-group-tabs.ftl.

VIVO is configured to use these subordinate templates when displaying research overview, roles, and names. You can change this configuration: see Custom List View Configurations.

footer.ftl
scripts.ftl
googleAnalytics.ftl
as above. 

 

The People page

The page management GUI provides an easy way for VIVO administrators to create simple pages. These pages may also be added to the menu bar. By default, VIVO is configured with eleven such pages. Five of them are listed in the menu.

The following templates are used in the People page, and in other pages that allow users to browse through a class group.

pageSetup.ftl
page.ftl
    head.ftl
        stylesheets.ftl
        headScripts.ftl
    identity.ftl
        languageSelector.ftl
    search.ftl
    menu.ftl
        developer.ftl
    page-classgroup.ftl
        menupage-checkForData.ftl
        menupage-browse.ftl
        menupage-scripts.ftl
    footer.ftl
        scripts.ftl
        googleAnalytics.ftl
TemplatePurposeFrom
pageSetup.ftl
page.ftl
    head.ftl
        stylesheets.ftl
        headScripts.ftl
    identity.ftl
        languageSelector.ftl
    search.ftl
    menu.ftl
        developer.ftl
as above. 
page-classgroup.ftl
Combines the components to create an AJAX-driven page that browses among the classes in a class group.

VIVO is configured to use this template in the People menu page page. You can change this configuration: see Menu and page management.

This template is invoked by ClassGroupPageData.java, which is assigned to the People page in menu.n3.

menupage-checkForData.ftl
Checks to see if the page will be empty. Displays messages suitable to a VIVO administrator or to another user, depending on who is viewing the page.Included by page-classgroup.ftl.
menupage-browse.ftl
Creates the page context that will be filled by AJAX calls.Included by page-classgroup.ftl.
menupage-scripts.ftl
Creates or links to the JavaScripts used in browsing among classes of individuals.Included by page-classgroup.ftl.
footer.ftl
    scripts.ftl
    googleAnalytics.ftl
as above. 

 

A back-end page

VIVO provides several pages that allow administrators to edit the classes and properties in the ontology, and to create or adjust class groups and property groups. These pages are built around the older JSP (Java Server Pages) technology, although the header and footer are created from the same Freemarker templates as other pages.

The following templates and JSPs are used in creating this page.

basicPage.jsp
    head.ftl
        stylesheets.ftl
        headScripts.ftl
    identity.ftl
        languageSelector.ftl
    search.ftl
    menu.ftl
        developer.ftl
    formBasic.jsp
        classgroup_retry.jsp
    footer.ftl
        scripts.ftl
        googleAnalytics.ftl
TemplatePurposeFrom
basicPage.jspThe master template for the VIVO back-end pages.Specified by ClassgroupRetryController.java.
head.ftl
    stylesheets.ftl
    headScripts.ftl
identity.ftl
    languageSelector.ftl
search.ftl
menu.ftl
    developer.ftl
as above. 
formBasic.jsp
A generic frame that provides title and buttons for an edit.Specified by ClassgroupRetryController.java.
classgroup_retry.jspShows the fields that may be edited for a class group.Specified by ClassgroupRetryController.java.
footer.ftl
    scripts.ftl
    googleAnalytics.ftl
as above.