VIVO Documentation
Page History
Table of Contents |
---|
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.
Code Block | ||
---|---|---|
| ||
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 |
Template | Purpose | From |
---|---|---|
pageSetup.ftl | Sets some class and formatting parameters. | Included in every page, by TemplateProcessingHelper.java |
page-home.ftl | The special template used for the home page. | Specified as the page template by HomePageController.java , overriding the default page.ftl . |
head.ftl | Creates the HTML <HEAD> tag. | Included by page-home.ftl . |
stylesheets.ftl | Inserts links to CSS stylesheets. | Included by head.ftl . |
headScripts.ftl | Inserts 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.ftl | Draws 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.ftl | Allows the user to select their preferred language. If the site supports only one language, this template has no effect. | Included by identity.ftl . |
menu.ftl | Displays the page links (Home , People , etc.) at the top of the page. | Included by page-home.ftl . |
developer.ftl | Displays 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.ftl | Draws the footer of the page, including the copyright notice, and the About and Support links. | Included by page-home.ftl . |
scripts.ftl | Inserts links to JavaScript files. Compare to headScripts.ftl . | Included by footer.ftl . |
googleAnalytics.ftl | Inserts 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.
Code Block | ||
---|---|---|
| ||
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 |
Template | Purpose | From |
---|---|---|
pageSetup.ftl | as above. | |
page.ftl | The master template for most VIVO pages. | Specified by FreemarkerHttpServlet.java . |
head.ftl | as above. | |
search.ftl | Draws the search box in the header of the page. | Included by page.ftl . |
menu.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 This is specified in |
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 |
individual-visualizationFoafPerson.ftl | Displays the visualization links for co-authors, co-investigators | Included by individual--foaf-person.ftl . |
individual-adminPanel.ftl | Displays links for a VIVO administrator to use when editing this person's information | Included 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 |
individual-overview.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-property-group-tabs.ftl | Displays the groups of properties for this person. | Included by individual--foaf-person.ftl . |
individual-properties.ftl | Each invokation of Each subordinate template displays one property for this person. | Each reference to 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 | 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.
Code Block | ||
---|---|---|
| ||
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 |
Template | Purpose | From |
---|---|---|
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 This template is invoked by |
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.
Code Block | ||
---|---|---|
| ||
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 |
Template | Purpose | From |
---|---|---|
basicPage.jsp | The 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.jsp | Shows the fields that may be edited for a class group. | Specified by ClassgroupRetryController.java . |
footer.ftl scripts.ftl googleAnalytics.ftl | as above. |