Geoportal Web App File Organization
Through the installation process for the Geoportal extension, a web application called geoportal.war is deployed on the web server. This section discusses the geoportal.war file structure, how the underlying jsp pages are organized, and details about the files within each folder in the 'geoportal' file directory structure. The 'geoportal' folder is divided into seven main sub-folders:
- catalog
- csw
- META-INF
- misc
- webhelp
- WEB-INF
- widgets
Each folder and its contents are described below.
-
catalog folder
The catalog folder holds all of the JavaServer Pages (JSP) files that make up the Geoportal interface. Its subfolder structure follows the division of functionality and/or sections within the Geoportal.
Each page in the interface is made up of two JSP pages - a header page and a body page. For example, the "About" page is made up of about.jsp and aboutBody.jsp. The header page references the body page, by pointing to the body page that is to replace the "body tile" in the tiles definition template .
-
content folder
The content folder contains code for the about, privacy and disclaimer pages. The filenames are about.jsp, aboutBody.jsp, privacy.jsp, privacyBody.jsp, disclaimer.jsp and disclaimerBody.jsp.
-
download folder
The download folder contains code for pages used in the optional Data Download tab. The filenames are download.jsp and downloadBody.jsp. The folder also contains a proxy.jsp file, whose code serves as a proxy for the ArcGIS Server JavaScript API. The ArcGIS Server JavaScript API is used when interacting with the map on the download and search page (Note: the search page points to this proxy.jsp file).
-
harvest folder
The harvest folder contains pages used within the "repositories" tab.
| Filename |
Function |
| create.jsp |
Header code for the Create Repositories page. Its body page is harvestBody.jsp. |
| edit.jsp |
Header code for the Edit Repositories page. Its body page is the harvestBody.jsp. |
| harvestBody.jsp |
Body code for the Create and Edit repositories page. |
| history.jsp and historyBody.jsp |
Header and body code for the Repository History page. |
| manage.jsp and manageBody.jsp |
Header and body code for the Manage Repository page. |
| report.jsp and reportBody.jsp |
Header and body code for the Harvest Report page. |
-
identity folder
The identity folder contains pages used for identity and profile management.
| Filename |
Function |
| changePassword.jsp and changePasswordBody.jsp |
Header and body code for the Change Password page. |
| encyrptPassword.jsp and encyrptPasswordBody.jsp |
Header and body code for the Encrypt Password page. |
| feedback.jsp and feedbackBody.jsp |
Header and body code for the Feedback/Contact Us page. |
| forgotPassword.jsp and forgotPasswordBody.jsp |
Header and body code for the Forgot Password page. |
| login.jsp and loginBody.jsp |
Header and body code for the Login page when single sign-on is not enabled. The body references the loginParameters.jsp |
| loginJsc.jsp and loginJscBody.jsp |
Header and body code for the Login page when single sign-on is enabled.The page submits credentials to something called j_security_check forauthentication. The web server then picks up calls to j_security_check. Thebody references loginParameters.jsp. |
| loginParameters.jsp |
Code for the form on the login page. |
| myProfile.jsp and myProfileBody.jsp |
Header and body code for the My Profile page. The body referencesuserAttributes.jsp. |
| userAttributes.jsp |
Code for the form elements that appear below the username & password text inputs on the user registration page. |
| userRegistration.jsp and userRegistrationBody.jsp |
Header and body code for the User Registration page. The body references userAttributes.jsp. |
-
images folder
The images folder contains all of the images that are used throughout the Geoportal interface. This folder does not include images referenced in the webhelp.
-
js folder
The JS folder contains all of the JavaScript files that are used by pages in the Geoportal interface for 9.3.1. The V931SP1 folder contains all the JavaScript files used by pages in the Geoportal interface for 9.3.1 SP1 version. The files described below are present in both folders except where specified.
| Filename |
Function |
| gpt.js |
The Geoportal extension JavaScript library. |
| GPTMapViewer.js |
Functions for interacting with the optional map viewer. |
| jquery-1.2.3.pack.js |
Javascript provided by jquery.
|
| livedata.js |
Contains the logic used to display live data layers in the JavaScript API. |
| sample-ESRI_Geocode_USA.js |
Functions used by the sample locator (place finder) used in the Geoportal search and create metadata pages. Note: this file is not present in the V931SP1 folder |
| ui.datepicker.packed.js |
Third-party javascript for displaying date calendars. |
| Utils.js |
Geoportal utility functions. |
-
livedata folder
The livedata folder contains files related to the live data preview functionality and page.
| Filename |
Function |
| embed.jsp |
Placeholder for preview widget on the preview page. |
| liveDataProxy.jsp |
Interprets text submitted to server from browser to determine format for live data url to be used in the preview widget |
| preview.jsp and previewBody.jsp |
Header and Body code for the Preview page. |
| kmzBridge.jsp |
Serves as a proxy for KMZ files |
-
main folder
The main folder contains the code for the home page. home.jsp and homeBody.jsp are the main header and body files. Home.page is needed for Tomcat purposes only, and causes home.jsp to be invoked.
-
migration folder
The migration folder contains code for the migration pages if you are migrating from GPT 3.1 to Geoportal extension 9.3.1. The filenames are migrateMetadata.jsp and migrateMetadataBody.jsp.
-
publication folder
The publication folder contains pages for metadata publishing functionality
| Filename |
Function |
| createMetadata.jsp and createMetadataBody.jsp |
Header and body code for the Create Metadata (online metadata creation form) page. |
| downloadMetadata.jsp |
Code for when the "download" metadata action button is clicked in the Manage Metadata page. |
| editMetadata.jsp and editMetadataBody.jsp |
Header and body code for the Edit Metadata (online metadata editing form) page. |
| manageMetadata and manageMetadataBody.jsp |
Header and body code for the Manage Metadata page. |
| uploadMetadata and uploadMetadataBody.jsp |
Header and body code for the Upload Metadata page. |
| validateMetadata.jsp and validateMetadataBody.jsp |
Header and body code for the Validate Metadata page. |
-
search folder
The search folder contains pages used for the search functionality.
| Filename |
Function |
| criteria.jsp |
Code for the search criteria on the search page. |
| dsFullMetadata.jsp and dsFullMetadataBody.jsp |
Header and body code for viewing the metadata from a directed search page. |
| dsSiteAbstract.jsp and dsSiteAbstractBody.jsp |
Displays the abstract when you select a site in the list of repositories in the directed search. |
| mysearches.jsp |
Code for "Saved Searches" available to logged in users on the search page. |
| results.jsp |
Code for initial display of results, appearing on the right-hand side of the search page. |
| search.jsp and searchBody.jsp |
Header and body code for the search page. The body referencescriteria.jsp, mysearches.jsp and results.jsp. |
| viewMetadataDetails.jsp and viewMetadataDetailsBody.jsp |
Header and body code for the View Metadata Details page. |
-
skins folder
At the root level, the skins folder contains the pages defining the layout of Geoportal.
| Filename |
Function |
| centeredLayout.jsp |
Code defining the layout of a page within the Geoportal site. Most pages take on the centered layout. |
| centeredLayoutMinimal.jsp |
Code defining the layout of a page that has most navigation elements removed. The page only has a header, banner, content area and footer. This layout is used by the metadata migration pages. |
| lookAndFeel.jsp |
Defines 'look and feel' aspects of all Geoportal pages. |
| popupLayout.jsp |
Code defining the layout of popup pages. |
| previewLayout.jsp |
Code defining the layout of the previewer page. |
Within the skins folder there are two (2) sub-directories:
themes
and
tiles
. The themes directory holds the various themes of the Geoportal. The interface can only display in one theme at a time (for instance, blue or red). To switch between the various themes, see Customize the Look and Feel of User-Interface.
The tiles directory holds pages that define the content of the various defined tiles. See Geoportal Extension Layout and Tiles for details on the contents of the tiles defined in this folder.
| Filename |
Function |
| banner.jsp |
Code for the banner tile. |
| footer.jsp |
Code for the footer tile. |
| head.jsp |
Code for the head tile. |
| previewBanner.jsp |
Code for the preview page banner tile. |
| primaryNavigation.jsp |
Code for the primary navigation tile. |
| secondaryNavigation.jsp |
Code for the secondary navigation tile. |
| tertiaryNavigation.jsp |
Code for the tertiary navigation tile. |
-
csw folder
The csw folder contains web service definition files for CS-W endpoints. Each file is described below.
| Filename |
Function |
| http-binding.wsdl |
WSDL for XML-based CSW request-response. |
| kvp-binding.wsdl |
WSDL for KVP-based CS-W request-response. |
| responses.wsdl |
WSDL for CS-W response messages. |
| service-wsdl.jsp |
Jsp page used to retrieve CS-W service information. |
| soap-binding.wsdl |
WSDL for SOAP-based CS-W request-response. |
| xml-interfaces.wsdl |
WSDL for CS-W request messages. |
-
META-INF folder
The META-INF folder holds the manifest.mf file. This file gives details about the Java version and ANT version that the Geoportal was compiled against, as well as the build number of the Geoportal application.
misc folder
The misc folder holds the http.jsp file, which is an HTTP client utility. This HTTP client utility can be accessed from http://<machineName>:<port>/<appName>/misc/http.jsp.-
webhelp folder
The webhelp folder contains all the code, text, and images for the help system. It enables context-sensitive help available from the help link on all pages within the Geoportal.
At the root level is the index.jsp file. This file acts as a "dispatcher", determining in which language to launch the help if multiple languages have been defined. By default, the help directory contains one (1) sub-directory, "en", where the English online help system is stored. Additional sub-directories may be added to the content directory, with each new sub-directory defining a localized help system. Please see the section on Localizing the Geoportal for details.
-
WEB-INF folder
The WEB-INF folder holds the files that make the application run within the Tomcat environment. Files present at the root level should not be modified without expert knowledge, as even minor errors may cause the application to fail.
The WEB-INF folder contains two (2) sub-directories: lib and classes. The lib directory holds all of the Java Archive (JAR) files. These files contain compiled Java code that makes up the Geoportal. These files should not be modified or deleted.
Within the classes directory, there are many xml, xslt and property files. Some of these may need to be modified to customize the Geoportal. Do not modify any files within this classes directory unless other documentation instructs you to do so.
-
widgets folder
The widgets folder contains files associated with the Geoportal Search Widget for HTML and a FlexExample folder that contains files associated with a sample flex viewer that contains the Geoportal Search Widget for Flex. Note, the widgets folder does not contain files associated with the Preview widget.
| Filename |
Function |
| example.jsp |
Provides an example of how to use available widgets. |
| searchjs.jsp |
search widget. |
| searchProxy.jsp |
A proxy for executing requests from the search widget. |
| widgets.css |
Cascading style sheet for widget look and feel. |