Skip to content

Geoportal Web Application File Organization

Marten Hogeweg edited this page Dec 14, 2012 · 1 revision

Through the installation process for the Geoportal Server, 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. Each folder and its contents are described below.

Table of Contents

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 (see Geoportal User Interface Components#Geoportal Layout and Tiles.

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.
report.jsp and reportBody.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.jspx 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 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 the Geoportal Server. 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 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 servlet container 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 the Geoportal Server 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 Create Metadata pages used in the Geoportal online metadata editor.
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.

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.

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.

Within the skins folder there are two (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 Look and Feel of the User-Interface. The tiles directory holds pages that define the content of the various defined tiles. See Geoportal User Interface Components#Geoportal 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.
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.

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.

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 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 Localization for details.

WEB-INF folder

The WEB-INF folder holds the files that make the application run within the servlet software 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 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, 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.
Clone this wiki locally