Geoportal Web App File Organization
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
- 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 Administration tab.
Filename
Function
create.jsp
Header code for the Register Resource page. Its body page is harvestBody.jsp.
edit.jsp
Header code for the Edit Resource page. Its body page is harvestBody.jsp.
harvestBody.jsp
Body code for the Register and Edit Resource page.
history.jsp and historyBody.jsp
Header and body code for the Synchronization History page.
manage.jsp and manageBody.jsp
Header and body code for the Manage metadata page on the Administration tab.
history.jsp and historyBody.jsp
Header and body code for the Synchronization 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 for authentication. The web server then picks up calls to j_security_check. The body 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 references userAttributes.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 10. 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 data migration page.
Filename
Function
dataMigration.jsp
Header and body code for the Geoportal 9.3.x to Geoportal extension 10 migration page.
dataMigrationForm.jsp
Code for the data migration page.
-
publication folder:
The publication folder contains pages for metadata publishing functionality.
Filename
Function
createMetadata.jsp and createMetadataBody.jsp
Header and body code for the GPT 3.1 to Geoportal extension 9.3.1 migration page.
downloadMetadata.jsp
Code for when the "download" metadata action button is clicked in the Manage Resource 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 Resources 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.
-
tc folder:
The tc folder contains pages for the optional securityManager, licenseManager, serviceMonitor, and smartEditor functionality, per the Integrate with con terra security solution customization.
Filename
Function
securityManager.jsp and securityManagerBody.jsp
Header and body code for the securityManager page.
serviceMonitor.jsp and serviceMonitorBody.jsp
Header and body code for the serviceMonitor page.
smartEditor.jsp and smartEditorBody.jsp
Header and body code for the smartEditor 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 federated search page.
mysearches.jsp
Code for "My Saved Searches" available to logged in users on the search page.
results.jsp and resultsBody.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 references criteria.jsp, mysearches.jsp and results.jsp.
viewMetadataDetails.jsp and viewMetadataDetailsBody.jsp
Header and body code for the View Resource Details page.
-
skins folder:
At the root level, the skins folder contains the pages defining the layout of Geoportal. 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
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 resource 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.
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.
resourceNavigation.jsp
Code for the resource details 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 Localize 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. It also contains a FlexExample folder and a SilverLightExample folder that contain files associated with a sample flex viewer and a sample silverlight viewer as well as the Geoportal Search Widget for Flex and the Geoportal Search Widget for Silverlight. 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
Provides the Javascript for the search widget.
searchProxy.jsp
A proxy for executing requests from the search widget.
widgets.css
Cascading style sheet for widget look and feel.