Skip to content

All gpt.xml file settings

Marten edited this page Aug 27, 2018 · 93 revisions

The gpt.xml file is the most important configuration file in the Esri Geoportal Server. It is found in the \geoportal\WEB-INF\classes\gpt\config directory. Besides this basic configuration you might have done during geoportal installation, there is a lot more you can do with the Esri Geoportal Server through this file.

This section describes settings in the gpt.xml file that can be adjusted to support additional functionality and configuration. It also includes settings not included in the gpt.xml file that can be added in to support specific environments/scenarios (If you need only a quick guide for the mandatory settings, see the Configure the gpt.xml File topic).

To get started, make a backup copy of the \\Tomcat\webapps\geoportal\WEB-INF\classes\gpt\config\gpt.xml file so you can revert to a working configuration if necessary, and then open the original gpt.xml in an editor. Then, read in the sections below about configurations that you may want to enable, and apply the changes as appropriate. When finished, save the gpt.xml file and restart your geoportal web application.

The settings are described in the order in which they appear in gpt.xml.

Table of Contents

Database Reference Settings

This section defines the database reference geoportal server uses.

<databaseReference name="gpt" jndiName="jdbc/gpt"/>
name Used for the JDBC connection; leave as default
jndiName Used for the JDBC connection; leave as default unless you are configuring multiple geoportals in the same web server to connect to different databases, per Two geoportals on the same server

Mail Server Settings

This section defines the mail settings to determine who will receive feedback forms submitted from the geoportal application. It will also determine the return address for any email sent from the geoportal, such as password reminders.

  <mail
      smtpHost="mail_server_smtp_host"  
      smtpPort="" 
      siteEmailAddress="portal_contact_email_address"
      emailAddressRegexp="^[a-zA-Z0-9,!#\$%&amp;'\*\+/=\?\^_`\{\|}~-]+(\.[a-zA-Z0-9,!#\$%&amp;'\*\+/=
      		\?\^_`\{\|}~-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*$">
      <smtpAuth
          username=""
          password=""
          encrypted="false"/>
  </mail>
smtpHost Mail server SMTP host name
smtpPort Mail server SMPT port (optional - only use if your organization's mail server requires a port number
siteEmailAddress Portal contact E-Mail address. The email address of the person who is to receive feedback user submitted, and is the email address from whom email is sent out from the geoportal.
emailAddressRegexp A regular expression for validating input E-Mail addresses; leave as default unless you are familiar with regular expressions and want to change this
/gptConfig/mail/smtpAuth Configuration for a mail server requiring authentication credentials - optional if no credentials are required. the username credential
username Configuration for a mail server requiring authentication credentials - optional if no credentials are required. the username credential
password The password credential
encrypted "true" or "false" (indicates if this password is encrypted)

Interactive Map Settings

Base map configuration - used in search page, preview, details page, metadata editor - see Search-Map#wiki-Changing_the_Search_Map_Service for more info.

<interactiveMap
    jsapiUrl="//js.arcgis.com/3.13/"
    mapServiceUrl="//services.arcgisonline.com/arcgis/rest/services/ESRI_StreetMap_World_2D/MapServer"
    mapServiceType="dynamic" 
    mapInitialExtent="xmin:0,ymin:0,xmax:90,ymax:45,spatialReference:{wkid:4326}"
    geometryServiceUrl="//tasks.arcgisonline.com/ArcGIS/rest/services/Geometry/GeometryServer"
    locatorUrl="//geocode.arcgis.com/arcgis/rest/services/World/GeocodeServer"
    locatorSingleFieldParameter = "Address"/>
jsapiUrl URL to the JavaScript API - leave as default if your geoportal has access to the world wide web; if you are using an internal JavaScript API deployment, update this to reference the URL to your internal JavaScript API location, the urls start with "//" without the protocol (http: or https:).
mapServiceUrl URL for a map service. Types supported are ArcGIS REST, WMS, and WMTS services. Leave this attribute empty for if using OpenStreetMap for basemap
mapServiceType A type of map service. Choose the appropriate value: 'dynamic', 'tiled', 'wms', 'wmts', or 'openstreet'. Note, ArcGIS for Server services should always use dynamic even if they are tiled.
mapInitialExtent Sets the initial extent of the search map. This is useful when you use someone else's map services for the search map. If you publish your own search map, you may also set the service initial extent appropriately.
mapVisibleLayers An array of visible WMS layer names. This parameter should be defined when WMS is used as a map service, from the name element of the WMS GetCapabilities XML, for example: "['name1','name2','name3','name4']"
geometryServiceUrl REST URL to an ArcGIS Server GeometryServer service
locatorUrl REST URL to an ArcGIS Server GeocodeServer service, should have a format like "http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Locators/ESRI_Geocode_USA/GeocodeServer"
locatorSingleFieldParameter Field for the GeocodeServer service upon which locations can be searched

Catalog Settings

<catalog gptTablePrefix="GPT_">
/gptConfig/catalog@gptTablePrefix Prefix denoting the geoportal database tables; leave as default.

Lucene Settings

<lucene
    indexLocation=""
    writeLockTimeout="60000"
    useNativeFSLockFactory="true"
    analyzerClassName="org.apache.lucene.analysis.standard.StandardAnalyzer">
    <adaptor name="like" className="com.esri.gpt.catalog.lucene.StandardNetworkParserAdaptor">
    <attribute key="baseUrl" value="http://serverName/OntologyService/query?threshold=0.25&amp;term="/>
    </adaptor>
</lucene> 
<parameter key="lucene.alwaysStoreXmlInIndex" value="false"/>
<parameter key="lucene.force.isPartOf" value=""/>
<parameter key="lucene.useSingleSearcher" value="true"/>
<parameter key="lucene.useSingleWriter" value="true"/>
<parameter key="lucene.useLocalWriter" value="true"/>
<parameter key="lucene.useRemoteWriter" value="false"/>
<parameter key="lucene.remoteWriterUrl" value=""/>
<parameter key="assertion.index.enabled" value="true"/>
    
<parameter key="assertion.index.location" value=""/>
<parameter key="assertion.index.allowNonLocalResourceIds" value="false"/>
<parameter key="assertion.rating.enabled" value="true"/>
<parameter key="assertion.comment.enabled" value="true"/>
<parameter key="assertion.comment.maxLength" value="2048"/>
/gptConfig/catalog/lucene
indexLocation Path to the folder that will hold the index documents (e.g. c:/geoportal/lucene-index/catalog1)
writeLockTimeout The wait time in milli-seconds for acquiring a 'write.lock' The 'write.lock' is used to keep processes from concurrently attempting to modify an index. See Apache Lucene documentation for more details. Lucene will at times generate an inactive write-lock file within the indexLocation folder, and this file may require manual deletion.
useNativeFSLockFactory If true a NativeFSLockFactory is used; otherwise a SimpleFSLockFactory is used. See Apache Lucene documentation for more details.
analyzerClassName The class name for the Lucene analyzer. Default: org.apache.lucene.analysis.standard.StandardAnalyzer, if localizing your geoportal, you may consider using a different analyzer than the default (see the topic on localization //github.com/Esri/geoportal-server/wiki/Localization#wiki-Localize_the_geoportals_lucene_search_engine)
/gptConfig/catalog/lucene/adaptor Parameters that define the optional OntologyService configuration, as per Enable Search Using an Ontology Service
name Prefix to the bar character used to denote that the Ontology Service should be used
className Name of the class used for the Adaptor; typically, leave as default
/gptConfig/catalog/lucene/adaptor/attribute Define the optional OntologyService configuration, as per Enable Search Using an Ontology Service
key baseUrl (leave as default)
value URL to the configured ontology service that contains the query. Note in the example, the threshold is set to 0.25; this can be made higher or lower depending on how you want users to expand results. A setting of 1.0 is the term itself (e.g., no Ontology Service is applied). Remove the threshold attribute in the URL if all related terms should be used. Example: "http://serverName/OntologyService/query?threshold=0.25&term="
/gptConfig/catalog/parameter@key
lucene.alwaysStoreXmlInIndex true if the full document xml should be store within the index
lucene.force.isPartOf Force all Lucene queries to have an isPartOf field equal to the supplied value
lucene.useSingleSearcher true if a single Lucene searcher is preferred across all threads. Using a single searcher can improve search performance for indexes that are essentially in read-only mode.
lucene.useSingleWriter true if a single Lucene writer is preferred across all threads
lucene.useLocalWriter Indicates if a local Lucene writer is preferred across all threads.
lucene.useRemoteWriter true if documents should be indexed remotely
lucene.remoteWriterUrl The URL to be used when indexing documents remotely
assertion.index.enabled Indicates if ratings and comments should be enabled, per Ratings and Comments for Search Results
assertion.index.location Path to the folder that will hold the indexed comments and ratings. NOTE: This assertion.index.location should not be the same location as the lucene\indexLocation value. These indexes should not be deleted and should be on a file backup/restore plan. Example: c:/geoportal/lucene_assertion_index_location/catalog1
assertion.index.allowNonLocalResourceIds If true, comments and ratings can be made about resources that do not exist in the local catalog
assertion.rating.enabled Allow users to rate resources
assertion.comment.enabled Allow users to leave comments for resources
assertion.comment.maxLength Maximum characters allowed for one comment
assertion.index.allowNonLocalResourceIds If true, comments and ratings can be made about resources that do not exist in the local catalog

Map Viewer configuration

Optional configuration for integrating a map viewer with your geoportal. Uncomment the mapViewer section and configure as described in Map Viewer.

<mapViewer>
    <instance 
        url="{contextPath}/viewer/index.jsp" 
        className="com.esri.gpt.catalog.search.MapViewerFlex_2_4">
        <parameter key="width" value="1000"/>
        <parameter key="height" value="700"/>
        <parameter key="regexCanConsumeUrl" value=""/>
     </instance>
</mapViewer>
      
<!-- The map viewer configuration for Portal for ArcGIS --> 
<mapViewer>
    <instance 
        url="[agsportal]/home/webmap/viewer.html" 
        className="com.esri.gpt.catalog.search.MapViewerAgsPortal">
        <parameter key="wmsBaseMapUrl" value="http://server.arcgisonline.com/
        		ArcGIS/rest/services/ESRI_StreetMap_World_2D/MapServer"/>
    </instance>
</mapViewer>
/gptConfig/catalog/mapViewer/instance/
url Url of the Map Viewer. Update the 'contextPath' parameter with the application server contextpath
className Class name of the map viewer instance, e.g., for Flex example is com.esri.gpt.catalog.search.MapViewerFlex, for ArcGIS Online or Portal for ArcGIS viewer, use com.esri.gpt.catalog.search.MapViewerAgsPortal.
/gptConfig/catalog/mapViewer/instance/parameter@key
width Width of the map for flex viewer
height Height of the map for flex viewer
regexCanConsumeUrl
wmsBaseMapUrl If using Portal for ArcGIS map viewer, it is the basemap url of WMS service, e.g. http://server.arcgisonline.com/ArcGIS/rest/services/ESRI_StreetMap_World_2D/MapServer

Search Settings

<search
    searchTimeoutMillisecs="10000"
    distributedSearchTimeoutMillisecs="5000"
    distributedSearchMaxSelectedSites="5"
    searchResultsPerPage="10"
    searchResultsReviewsShown="only-reviewed"
    maxSavedSearches="10"
    allowExternalSiteSearch="true"
    allowTemporalSearch="true">
    <repositories> 
        <repository 
            key="local" 
            class="com.esri.gpt.catalog.search.SearchEngineLocal"
            labelResourceKey="catalog.search.searchSite.defaultsite"
            abstractResourceKey="catalog.search.searchSite.defaultsite.abstract"/>   
        <repository key="^$" 
            class="com.esri.gpt.catalog.search.SearchEngineLocal"
            labelResourceKey=""
            abstractResourceKey=""/> 
        <repository key="arcgis.com"  
            class="com.esri.gpt.catalog.search.SearchEngineRest"
            labelResourceKey="catalog.search.searchSite.agsonline"
            abstractResourceKey="catalog.search.searchSite.agsonline.abstract">
            <parameter key="endPointSearchUrl" 
                value="http://www.arcgis.com/sharing/search?q={searchTerms}&amp;
                		start={startIndex}&amp;num={count}&amp;f=json"/>  
            <parameter key="defaultParamValues"
                value="q&#x2714;access:shared || access:public || access:private "/>  
            <parameter key="profileId" 
                value="urn:esri:gpt:HTTP:JSON:ESRI:AGSONLINE" /> 
        </repository>
        <repository key="*" 
             class="com.esri.gpt.catalog.search.SearchEngineExternalCsw"/>
    </repositories>
       
    <searchResultFormat>
        <format regexFormat="csv" class="com.esri.gpt.control.georss.CsvWriter">
        </format>
    </searchResultFormat>
</search>    
/gptConfig/catalog/search
searchTimeoutMillisecs Length of time allotted to a search attempt before a timeout error occurs
distributedSearchTimeoutMillisecs Length of time allotted to a federated search attempt before a timeout error occurs
distributedSearchMaxSelectedSites Maximum number of sites allowed to be searched in one federated search attempt
searchResultsPerPage Number of results to show on a page. If more results are returned than this value, page navigation will be visible
searchResultsReviewsShown How should the reviews be shown on the results page Options are "none" (no review icons shown in search results), "only-reviewed" (icon present only for resources that have been reviewed) or "all" (review icon displays for all resources, even if they have not yet been reviewed).
maxSavedSearches Maximum number of allowed searches in storage, per user
allowExternalSiteSearch Flag enabling federated search to remote catalogs.
allowTemporalSearch Flag enabling temporal search on metadata fields.
/gptConfig/catalog/search/repositories You do not need to change settings in the <repositories></repositories> tag. A <repository></repository> here refers to a single or type of catalog available in the federated search on the search page. If you leave these settings as default, the geoportal will provide federated search to the local geoportal catalog, ArcGIS.com, and CS-W repositories flagged to appear on the search page when registered through the 'Register network resource' page. For more about registering endpoints for federated search, see Add-an-OpenSearch-endpoint-for-Federated-Search; For configuring search to YouTube and similar endpoints, see Configure-Searching-of-YouTube.
key Regular expression, can be used to identify the rid for the repository. Configure additional repositories to show up in search list by following documentation at Add an OpenSearch endpoint for Federated Search
class Search engine instance, a Java class that will process the search request
labelResourceKey Text that appears in the federated search list. If no key is given, the repository will not be visible in the federated search list
abstractResourceKey Text that appears on the REST distributed search, describing the repository
/gptConfig/catalog/search/searchResultFormat
regexFormat Output format name that is used in REST search URL. Example: if output format value is csv, the REST URL will be http://geoportal/rest/find/document?f=csv
class Location of the custom class to generate the output format

Metadata Access Policy Settings

The metadataAccessPolicy settings specify information about what method to use for restricting access to metadata documents. For a description on the available policies, see How-to-Restrict-Access-to-Resources. Once you have decided which policy configuration you want for your geoportal instance, set the metadataAccessPolicy setting as below:

<metadataAccessPolicy type="unrestricted"/>
<metadataAccessPolicy type="public-protected" protectedGroupDN="(E.g. cn=gpt_administrators,ou=groups,ou=system)"/>
<metadataAccessPolicy type="restricted"/>
type The type of metadata access policy to employ in the geoportal, One of three:1. Unrestricted, 2. Public-protected, 3. Restricted
protectedGroupDN Specifies the single LDAP group that can have 'restricted' documents assigned to it. This property is required if the type parameter as above is set to 'public-protected', It is a valid DN of an LDAP group. Example: 'cn=gpt_administrators,ou=groups,ou=system'

Site Map Settings

The Sitemap Parameters settings specify how your site should be indexed for discovery by search engines such as Google. The settings for each parameter can be left with its current default value. To modify the behavior of your site's indexing, modify the appropriate parameters as per the descriptions in the gpt.xml file's inline comments for the sitemap section. For more information see Post-Deployment-Actions#wiki-Register_the_Geoportal_Sitemap_with_Search_Engines.

<parameter key="sitemap.baseUrl" value=""/>
<parameter key="sitemap.documentUrlPattern" value="/sitemap/document/{0}?f=html"/>
<parameter key="sitemap.documentUrlPattern.html" value="/sitemap/document/{0}?f=html"/>
<parameter key="sitemap.documentUrlPattern.htmlfragment" value="/sitemap/document/{0}?f=htmlfragment"/>
<parameter key="sitemap.documentUrlPattern.xml" value="/sitemap/document/{0}?f=xml"/>
<parameter key="sitemap.documentUrlPattern.kml" value="/sitemap/document/{0}?f=kml"/>
<parameter key="sitemap.urlsPerIndexFile" value="1000"/>
<parameter key="sitemap.urlsPerSitemapFile" value="1000"/>
<parameter key="sitemap.namespaceUri" value="http://www.sitemaps.org/schemas/sitemap/0.9"/>
<parameter key="sitemap.changefreq" value="weekly"/>
<parameter key="sitemap.priority" value=""/>
/gptConfig/catalog/parameter/@key
sitemap.baseUrl The base URL for sitemap files, default = auto-generated, e.g. http://host:port/[contextPath]/sitemap
sitemap.documentUrlPattern The default URL pattern referencing documents within a sitemap, {0} will be replaced with the document's UUID, default = /sitemap/document/{0}?f=html
sitemap.documentUrlPattern.html The URL pattern referencing html within a sitemap
sitemap.documentUrlPattern.htmlfragment The URL pattern referencing html fragmemnt within a sitemap
sitemap.documentUrlPattern.xml The URL pattern referencing xml within a sitemap
sitemap.documentUrlPattern.kml The URL pattern referencing kml within a sitemap
sitemap.urlsPerIndexFile The maximum number of sitemap files to be referenced within the sitemap index file (should not exceed 1000), default = 1000
sitemap.urlsPerSitemapFile The maximum number of documents to be referenced within an individual sitemap file (should not exceed 50000), default = 1000
sitemap.namespaceUri The sitemap namespace URI, default = http://www.sitemaps.org/schemas/sitemap/0.9
sitemap.changefreq The change frequency to be listed per document reference, hourly daily weekly monthly yearly , default = weekly
sitemap.priority The priority to be listed per document reference, 0.0 -> 1.0, default = none

Web Harvester Settings

The Web Harvester parameters settings are optional settings that define how synchronization is handled in the geoportal. Synchronization is the processes by which registered network resources are revisited by the geoportal to update the geoportal catalog with new resources, propagate updates to existing resources, and delete resources no longer found at the registered network source. For more information, see the section on synchronization How to Publish Resources. Synchronization is configured to run automatically by default without further configuration required. The synchronization parameters in the gpt.xml are optional configurations. If you do not change these settings, synchronization will automatically run when you deploy your geoportal, and no additional configuration is required. The Web Harvester parameter settings are described in the table below.

<parameter key="webharvester.active" value="true"/>
<parameter key="webharvester.queueEnabled" value=""/>
<parameter key="webharvester.poolsize" value=""/>
<parameter key="webharvester.autoSelectFrequency" value=""/>
<parameter key="webharvester.watchDogFrequency" value=""/>
<parameter key="webharvester.baseContextPath" value=""/>
<parameter key="webharvester.maxRepRecords" value="70"/> 
<parameter key="webharvester.maxRepErrors" value="7"/> 
<parameter key="webharvester.resource.autoApprove" value=""/>     
<parameter key="webharvester.updateindex" value="true"/>
<parameter key="webharvester.cleanup" value="true"/>
<parameter key="webharvester.policy.class" value="com.esri.gpt.control.webharvest.engine.SimpleHarvestPolicy"/>
<parameter key="webharvester.policy.simple.frequency" value="1"/>
<parameter key="webharvester.agp2agp.maxItems" value="2000"/>

<parameter key="bot.robotstxt.enabled" value=""/>
<parameter key="bot.robotstxt.override" value=""/>
<parameter key="bot.agent" value=""/>
/gptConfig/catalog/parameter/@key
webharvester.active Flag for if synchronization is active at startup. Default: true. A value of false will disable synchronization in the geoportal
webharvester.queueEnabled
  • Flag to enable task queue. Default: current webharvester.active value. Note! it is not possible to set this flag to false if webharvester.active is true.
  • Allows users to queue a resource for synchronization even if the synchronization is not activated for the geoportal (webharvester.active =false). This allows for a segmented geoportal architecture where a separate geoportal instance manages all synchronization, and that geoportal synchronizes with the main geoportal instance.
webharvester.poolsize
  • Pool size of the Threads. Default: 4
  • The number of working threads that can run for synchronization. Each thread will be a different synchronization process running concurrently. Example: if four threads are available and three registered resources are set to be synchronized at the same time, three threads will be used and one will be idle. If two more resources are registered for synchronizing while those three threads are running, one of the newly registered resources will begin to be synchronized while the other will be queued to synchronize as soon as a thread is available. There is not a known limit to the number of threads the geoportal can accept and no cost if threads are sitting unused, but there is a limit to how many java can sustain. The default number of threads is four.
webharvester.autoSelectFrequency
  • Resources auto-selection frequency. Default: 1[HOUR]
  • Autoselect is a background thread responsible for checking if there is anything eligible to synchronize, and tracks when the next time to synchronize should be. The check is also activated if there is activity on the geoportal's 'Register resource on the network' interface.
webharvester.watchDogFrequency
  • Watch-dog activation frequency. Default: 1[MINUTE]
  • Similar to autoselect, except used in a load balancing scenario. Checks if anything is cancelled while processing.
webharvester.baseContextPath
  • Base context path used inside email notifications. Default: none (no report link in the notification)
  • The basecontextpath is most used in a load balanced scenario as an access URL so users can access the synchronization reports in a load balanced situation behind the firewall.
webharvester.maxRepRecords Maximum number of records to report in harvesting report. Default: 10000. -1 to remove limit.
webharvester.maxRepErrors Maximum number of errors to report in harvesting report. Default: 5000. -1 to remove limit
webharvester.resource.autoApprove Autoapprove newly registered resources. Default: false
webharvester.updateindex Indicates if the Lucene index should be updated following document publication. Default: true
webharvester.cleanup Indicates if documents that no longer exist on the remote server should be deleted. Default: true
webharvester.policy.class Manages policy of the harvester; currently only manages how frequently enforce 'full harvest'. Default: com.esri.gpt.control.webharvest.engine.DefaultHarvestPolicy
webharvester.policy.simple.frequency Frequency how often a 'full harvest' should be enforced. This means that deletes for ArcGIS Server services will happen only at Full Harvest. So if set to 3, those deletes will only happen at every third harvest of that ArcGIS Server repository.
webharvester.agp2agp.maxItems Maximum number of items to harvest through Agp2Agp protocol.
bot.robotstxt.enabled use of robots.txt during harvesting is enabled. Default: true.
bot.robotstxt.override allows user to override bot.robotstxt.enabled. Default: true.
bot.agent name of the user agent for interpreting content of robots.txt. Default: "GeoportalServer".

Additional Settings

<parameter key="catalog.enableEditForAllPubMethods" value="false"/>
<parameter key="catalog.enableEditForAdministrator" value="false"/>
<parameter key="catalog.enableDuplicate" value="true"/>
<parameter key="catalog.admin.allowApplyToAll" value="true"/>
<parameter key="catalog.useCollections" value="false"/>
<parameter key="database.isCaseSensitive" value="true"/>
<parameter key="publicationRequest.autoApprove" value="false"/>
<parameter key="spatialRelevance.ranking.maxDoc" value="1000000"/>
<parameter key="rssProviderUrl" value=""/>
<parameter key="reverseProxy.baseContextPath" value=""/>
<parameter key="RestServlet.printXml.stripStyleSheets" value="true"/>
<parameter key="Administration.viewMetadata.stripStyleSheets" value="true"/>
<parameter key="httpClientRequest.connectionTimeout" value="2[MINUTE]"/>
<parameter key="httpClientRequest.responseTimeout" value="2[MINUTE]"/>
<parameter key="httpClient.alwaysClose" value="false"/>
<parameter key="AllowDuplicateResourceURL" value="false"/>
<parameter key="AllowOnlyAuthenticatedUser" value="false"/>
<parameter key="resourceLinkBuilder.preview.filter" value="^ftp://.*|^ftps://.*|.*\.zip$|
.*\.e00$|.*\.lpk$|.*\.pkinfo$|.*\.gz$|.*\.tgz$|.*\.tar$|.*\.rar$|.*\.shp$|.*\.dbf$|.*\.xls$|
.*\.dwg$|.*\.dxf$|.*\.dgn$|.*\.mxd$|.*\.lyr$|.*\.nmf$|.*f=lyr.*|.*f=nmf.*|.*/globeserver.*|
.*/gpserver.*|.*/geocodeserver.*|.*/geometryserver.*|.*/networkserver.*|.*/geodataserver.*|
.*service=wfs.*|.*wfsserver.*|.*service=wcs.*|.*wcsserver.*|.*service=csw.*|.*cswserver.*|.*mobileserver.*|.*naserver.*"/>
/gptConfig/catalog/parameter/@key
catalog.enableEditForAllPubMethods True if document editing should be enabled for all publication methods, false if only documents created by the editor should be editable. See Online form editing for all publication methods for details.
catalog.enableEditForAdministrator true if document editing should be enabled for administrator even if he is not an owner of the metadata.
catalog.enableDuplicate true to enable "Duplicate" operation on metadata. This is useful when you want to duplicate the metadata and make some slight updates without have to recreate from scratch.
catalog.admin.allowApplyToAll Indicates if an administrator should be able to apply an action to all matching records.
catalog.useCollections Enables collections, see Collections
database.isCaseSensitive True if the database is case sensitive (set this to false for MySQL).
publicationRequest.autoApprove True if newly published documents should be approved by default.
spatialRelevance.ranking.maxDoc Turn spatial relevance ranking off when the catalog exceeds the supplied maximum document number.
rssProviderUrl URL to include as the provider within RSS responses.
reverseProxy.baseContextPath The URL prefix to use when the application is deployed behind a reverse proxy (e.g., http://somehost/geoportal), generating full callback URLs; should be the user-facing URL. Best practice is to set this even if not using reverse proxy
RestServlet.printXml.stripStyleSheets True if references to XSLs and DOCTYPEs should be stripped from document XMLs when requesting the full XML from the REST end-point.
Administration.viewMetadata.stripStyleSheets True if references to XSLs and DOCTYPEs should be stripped from document XMLs when requesting a full XML view from the administration page.
httpClientRequest.connectionTimeout
  • Response timeout for HTTP requests to the remote endpoints using Apache HTTP client. If no value is provided, the default value is infinitive.
  • Possible values: If no unit is given, number of milliseconds, [SECOND] , number of seconds, [MINUTE] number of minutes, [HOUR] number of hours
httpClientRequest.responseTimeout
  • Response timeout for HTTP requests to the remote endpoints using Apache HTTP client. If no value is provided, the default value is infinitive.
  • Possible values (if no unit is given, number of milliseconds), [SECOND] number of seconds, [MINUTE] number of minutes, [HOUR] number of hours
  • Default value=2[MINUTE]
httpClient.alwaysClose Forces to always close socket connection for requests to the remote endpoints using Apache HTTP client. Default: false.
AllowDuplicateResourceURL true to allow registration of web resources with the URL which already has been registered
httpClient.AllowOnlyAuthenticatedUser true to disable access to the search and browse pages for users which ahs not been authenticated
resourceLinkBuilder.preview.filter
  • Regular expression disabling 'preview' link on search result for all records having resource URL matching template, see Configure-Previewable-Filetypes.
  • Default: do not show preview for ftp, ftps, zip, e00, lpk, pkinfo, gz, tgz, tar, rar, shp dbf, xls, dwg, dxf, dgn, mxd, lyr, nmf, f=lyr, f=nmf, globeserver, gpserver, geocodeserver, geometryserver, networkserver, geodataserver, service=wfs, wfsserver, service=wcs, wcsserver, service=csw, cswserver URLs

User Role Settings

<parameter key="ldap.identity.manage.userRoleEnabled" value="true"/>    
<parameter key="ldap.identity.restrictToConfiguredRoles" value="true"/>     
<parameter key="ldap.identity.search.maxResults" value="1000"/> 
/gptConfig/catalog/parameter/@key
ldap.identity.manage.userRoleEnabled Used to enable managing LDAP user roles using the geoportal 'User' option in the Administrative interface, see User Management Interface. Default: true, indicating that yes you want to enable the management of users roles through the geoportal interface.
ldap.identity.restrictToConfiguredRoles Restricts managing user roles to roles configured in geoportal. Default: true, indicating that only roles configured in the <ldapadapter></ldapadapter> <groups></groups> settings in gpt.xml will be available for administering through the geoportal interface.
ldap.identity.search.maxResults Restricts the number of matches for a group when the geoportal queries an LDAP structure for users. Integer value. Default: 1000

Service Checker Settings

These settings connect FGDC Service Checker services to monitor registered live services in the geoportal site. To enable this feature, it is required to get an API key from the FGDC Service Checker site. To obtain an API key, visit http://registry.gsdi.org/statuschecker and sign up for your Geoportal Server site. For more details about this functionality, see FGDC-Service-Checker-Integration.

<parameter key="servicechecker.enabled" value="false"/>
<parameter key="servicechecker.token" value=""/>
<parameter key="servicechecker.checkUrl" value="http://registry.fgdc.gov/statuschecker/api/v2/results"/>
<parameter key="servicechecker.infoUrl" value="http://registry.fgdc.gov/statuschecker/ServiceDetail.php"/>
/gptConfig/catalog/parameter/@key
servicechecker.enabled Enables or disables service checker functionality. Default: false
servicechecker.token Service checker token. Contact FGDC.GOV to obtain token for your specific deployment.
servicechecker.checkUrl Service checker URL
servicechecker.infoUrl Service info URL

Cart Settings

These settings enable and configure the Geoportal Cart functionality. Note, this is a sample processor; a specific processor can be created based upon the use case. For more details see Cart-Processor.

  <parameter key="catalog.cart.enabled" value="false"/>
  <parameter key="catalog.cart.maxItems" value="100"/>
  <parameter key="catalog.cart.processor" value="com.esri.gpt.control.cart.ZipXmls"/>
  <parameter key="catalog.cart.processor.whitelist" value="com.esri.gpt.control.cart.ZipXmls"/>
  <parameter key="catalog.cart.xslt.whitelist" value=""/>
  <parameter key="catalog.cart.tryhandler.class" value=""/>
  
/gptConfig/catalog/parameter/@key
catalog.cart.enabled Enables or disables the cart. Default: false
catalog.cart.maxItems Maximum number of items in the cart. Integer value. Default: 10
catalog.cart.processor The Java class used to process items. Default: none, but can use com.esri.gpt.control.cart.ZipXmls per sample.
catalog.cart.processor.whitelist comma-separated list of processors allowed to pass as an argument.
catalog.cart.xslt.whitelist comma-separated list of xslt allowed to pass as an argument.
catalog.cart.tryhandler.class class name of the "/try" handler.

DCAT Settings

<parameter key="dcat.mappings" value="gpt/metadata/dcat-mappings.xml"/>
<parameter key="dcat.cache.path" value=""/>
<parameter key="dcat.landingPage.default.details" value="false"/>
<parameter key="dcat.rights.writeAlways" value="false"/>
dcat.mappings Mapping file to map dcat fields to lucene index fields
dcat.cache.path DCAT cache directory
dcat.landingPage.default.details DCAT landing page default to metadata details
dcat.rights.writeAlways DCAT "rights" attribute printed out regardless of the "accessLevel" value

Web harvester Customization

This configuration let administrator to harvest a copy of the metadata into a local folder in additiion to the geoportal repository

<webharvester>
	<dataProcessorFactory enabled="true" className="com.esri.gpt.control.webharvest.extensions.localfolder.LocalFolderDataProcessorFactory" name="localfolder" rootFolder="c:\data"/>
</webharvester>

Data Download Settings

The downloadData settings specify information about the default map service and its corresponding geoprocessing service that is used by the Data Download functionality. Configuring Data Download is a customization and is not required for the functioning of the geoportal. For information on how to configure the Data Download function, see DataDownload-Tab. By default, the taskURL and mapServiceURL are left blank and the download tab will not appear in the geoportal interface.

<downloadData
  taskUrl=""
  mapServiceUrl=""
  mapServiceType="">

  <features>
    <feature key="File Geodatabase - GDB - .gdb" alias="gdb" resKey="catalog.download.feature.gdb"/>
    <feature key="Shapefile - SHP - .shp" alias="shp" resKey="catalog.download.feature.shp"/>
    <feature key="Autodesk AutoCAD - ACAD - .dxf" alias="dxf" resKey="catalog.download.feature.dxf"/>
    <feature key="Autodesk AutoCAD - ACAD - .dwg" alias="dwg"  resKey="catalog.download.feature.dwg"/>
    <feature key="Bentley Microstation Design (V8) - DGN_V8 - .dgn" alias="dgn"  resKey="catalog.download.feature.dgn"/>
  </features>

  <rasters>
    <raster key="ESRI GRID - GRID" alias="grd" resKey="catalog.download.raster.grd"/>
    <raster key="File Geodatabase - GDB - .gdb" alias="gdb" resKey="catalog.download.raster.gdb"/>
    <raster key="ERDAS IMAGINE - IMG - .img" alias="img"  resKey="catalog.download.raster.img"/>
    <raster key="Tagged Image File Format - TIFF - .tif" alias="tif"  resKey="catalog.download.raster.tif"/>
    <raster key="Graphic Interchange Format - GIF - .gif" alias="gif"  resKey="catalog.download.raster.gif"/>
    <raster key="Joint Photographics Experts Group - JPEG - .jpg" alias="jpg"  resKey="catalog.download.raster.jpg"/>
    <raster key="Joint Photographics Experts Group - JPEG 2000 - .jp2" alias="jp2"  resKey="catalog.download.raster.jp2"/>
    <raster key="Bitmap - BMP - .bmp" alias="bmp"  resKey="catalog.download.raster.bmp"/>
    <raster key="Portable Network Graphics - PNG - .png" alias="png"  resKey="catalog.download.raster.png"/>
  </rasters>
        
  <projections>
    <projection key="Mercator (world)" alias="54004" resKey="catalog.download.projection.54004"/>
    <projection key="WGS 1984 UTM Zone 10N" alias="32610" resKey="catalog.download.projection.32610"/>
    <projection key="WGS 1984 Web Mercator" alias="102113" resKey="catalog.download.projection.102113"/>
    <projection key="WGS 1984" alias="4326" resKey="catalog.download.projection.4326"/>
  </projections> 
  <formats>
    <format key="GML - (.gml)" alias="gml" resKey="catalog.download.outputFormat.gml"/>
    <format key="GMLSF - (.gmlsf)" alias="gmlsf" resKey="catalog.download.outputFormat.gmlsf"/>
    <format key="MIF - (.mif)" alias="mif" resKey="catalog.download.outputFormat.mif"/>
    <format key="ACAD - (.dwg)" alias="dwg" resKey="catalog.download.outputFormat.acad"/>
    <format key="IGDS - (.dgn)" alias="dgn" resKey="catalog.download.outputFormat.igds"/>
  </formats>      
</downloadData>
/gptConfig/downloadData
taskUrl Geoprocessing task URL
mapServiceUrl Map service URL used by geoprocessing task
mapServiceType The caching scheme for the map service. The value can be "dynamic" or "tiled"
/gptConfig/downloadData/features/feature
key The key is in the format of "{Format Identifier} - ({typical file extension})", In the ArcInfo example, it should be E00 - (.e00), Format Identifier and typical file extension can be find at http://www.safe.com/fme/format-search/#!
alias Optional - repeat the file extension.
resKey Assigns the key for referencing the display name as defined in gpt.properties for this format. Should be unique. In this example, resKey is catalog.download.feature.e00
/gptConfig/downloadData/rasters/raster
key Similar to setting for features above, the key is in the format of "{Format Identifier} - ({typical file extension})", In the ArcInfo example, it should be E00 - (.e00), Format Identifier and typical file extension can be find at http://www.safe.com/fme/format-search/#!
alias Optional - repeat the file extension.
resKey Assigns the key for referencing the display name as defined in gpt.properties for this format. Should be unique.
/gptConfig/downloadData/projections/projection To support backward compatibility for the Geoportal 9.3.x data download customizations, these projections and format sections are provided. These are not used in the Geoportal 10 data download customization.
key
alias
resKey Assigns the key for referencing the display name as defined in gpt.properties for this format. Should be unique.
/gptConfig/downloadData/formats/format To support backward compatibility for the Geoportal 9.3.x data download customizations, these projections and format sections are provided. These are not used in the Geoportal 10 data download customization.
key
alias
resKey Assigns the key for referencing the display name as defined in gpt.properties for this format. Should be unique.

Identity Management Settings

The identity section defines the settings for the geoportal authentication. The opening tag 'identity' has an encKey attribute which is used to specify an encryption key. This key is used in conjunction with a two-way encryption algorithm to encode/decode user names and passwords that are stored in the database, for example, in the information for a metadata repository. The default value of the key is PtkEsri, which is case-sensitive. The identity element also has a realm attribute, which is referenced when a publisher user updates a metadata record by using an external XML editor, such as Altova XMLSpy(r). The realm is sometimes - but not always, depending on the XML editor software or system setup - displayed by the client prompting for credentials. The realm value helps users better understand that they are about to log into an editing session for a record from the geoportal. IMPORTANT: If the value of encKey is changed at any point, any data already stored in the database that was encrypted with the 'old' encKey will become invalid and will have to be re-generated and re-stored in the database to correspond to the new encKey value. There are two possible configurations: simpleAdapter OR ldapAdapter. simpleAdpater configures geoportal with one administrative user. ldapAdapter configures geoportal to connect to LDAP user directory store. only one of them should be active at any moment.

  <identity encKey="PtkESRI" realm="Geoportal">  
/gptConfig/identity
encKey Encryption key for encrypted values stored in the database. Default: PtkEsri
realm Displayed during publisher login for editing a metadata record in an external XML editor
/gptConfig/identity/simpleAdapter
The simpleAdapter settings specify the user account details for a single administrative user.
      <simpleAdapter>
          <account username="gptaccount" password="gpt.account" encrypted="false"/>
          <roles>
              <role key="gptRegisteredUser"/>
              <role key="gptPublisher"/>
              <role key="gptAdministrator"/>
          </roles>
      </simpleAdapter>
/gptConfig/identity/simpleAdapter/account
username The username for the single account.
password The password for the single account.
encrypted Specifies whether the password value set in the password parameter is encrypted or not. For instructions on encrypting your password, refer to Security-Concepts
/gptConfig/identity/simpleAdapter/roles/role
key Roles assigned to the user, possible values are gptRegisteredUser, gptPublisher, gptAdministrator.
/gptConfig/identity/arcgisPortalAdapter
The arcgisPortalAdapter settings let Geoportal Server to leverage ArcGIS Online or ArcGIS Portal for user authentication through OAuth2.
      <arcgisPortalAdapter
      	appId=""
      	authorizeUrl=""
      	expirationMinutes="120"
      	gptAdministratorsGroupId=""
      	gptPublishersGroupId=""
        allUsersCanPublish="true"
      />
appId application id (Geoportal app registered at ArcGIS Online or Portal).
authorizeUrl OAuth2 authorize url (e.g. https://myorg.maps.arcgis.com/sharing/oauth2/authorize).
expirationMinutes token expiration minutes
gptAdministratorsGroupId group id for Geoportal administrators (optional)
gptPublishersGroupId group id for Geoportal publishers (optional)
allUsersCanPublish true or false, if true all authenticated users can publish items to Geoportal
/gptConfig/identity/ldapAdapter
The ldapConnectionProperties settings determine the connection to the Directory Server. If you chose to use LDAP authentication with your geoportal instance, set the properties according to the table below. For properties not mentioned, leave the defaults already set in the file. IMPORTANT: Default values below are for an implementation using Apache Directory Server, OpenDS, or 389. If you are using a different Directory Server provider, this section may need to be adjusted with values corresponding to your Directory Server software. For guidance with Microsoft Windows Active Directory, Oracle Internet Directory, or IBM Tivoli Directory Server, see Connecting-to-a-User-Directory. If you enabled the ldapAdapter, you will need to disable the simpleAdapter by commenting out the simpleAdapter section.
	...
      <ldapAdapter>
          <ldapConnectionProperties
              providerURL="ldap://ldap_host_name:ldap_port"
              initialContextFactoryName="com.sun.jndi.ldap.LdapCtxFactory"
              securityAuthentication="simple"
              securityProtocol="">
              <ldapServiceAccount
                  securityPrincipal="ldap_admin_user"
                  securityCredentials="ldap_admin_password"
                  encrypted="false"/>
          </ldapConnectionProperties>
      ...
/gptConfig/identity/ldapAdapter/ldapConnectionProperties
providerURL URL to the server on which the directory server management resides, and will include the port used for the LDAP connection. It can be any valid LDAP URL. i.e. ldap://machine:port. Common port numbers are 10389 or 19389 for Apache Directory Server, or 389 for Windows Active Directory.
initialContextFactoryName
securityAuthentication
securityProtocol
/gptConfig/identity/ldapAdapter/ldapConnectionProperties/ldapServiceAccount
securityPrincipal Username with which to connect to the Directory Server. Its a LDAP distinguished name. Same value that was used to connect to the Directory Server, example: uid=admin,ou=system
securityCredentials Password with which to connect to the Directory Server, it is a string representing a password. Same value that was used to connect to the Directory Server. Apache Directory Server default: 'secret'
encrypted Specifies whether the password value set in the securityCredentials parameter is encrypted or not. For instructions on encrypting your password, refer to Security-Concepts
/gptConfig/identity/ldapAdapter/singleSignOn
The singleSignOn settings determine how the geoportal is to function when configured with single sign-on with other applications. For more information about single sign-on for the geoportal, see Single-Sign-On .
<singleSignOn
   active="false"
   credentialLocation="userPrincipal"
   anonymousValue=""
   logoutOutcome=""/>
active Whether single sign-on is enabled or not.
credentialLocation The mechanism for providing credentials, either 'userPrincipal' which is a default Java mechanism. Or a vendor specific value that comes in the http header (header.variablename)
anonymousValue The value that represents an anonymous user
logoutOutcome URL specifying where to redirect to on logout.
/gptConfig/identity/ldapAdapter/selfCareSupport
The selfCareSupport settings contain information about the behaviors and functionalities of the geoportal with respects to user account. Usually these settings are either all set to false, or all set to true:
<selfCareSupport
    supportsLogin="true"
    supportsLogout="true"
    supportsUserRegistration="true"
    supportsUserProfileManagement="true"
    supportsPasswordChange="true"
    supportsPasswordRecovery="true"/>
supportsLogin Allows a user to login to the geoportal. If False, no login link will be displayed.
supportsLogout Allows a user to logout of the geoportal. If supportsLogin is true, it is recommended leaving supportsLogout set to true as well.
supportsUserRegistration Whether users can register for accounts in the geoportal interface. If you don't want users to be able to create new entries in your directory structure through the geoportal interface, then set this to False. This will disable the 'Register' link in the geoportal interface.
supportsUserProfileManagement Whether users can modify their profile information in the geoportal interface. If you don't want users to be able to change their user information as managed by the directory server (such as email, name, phone number, etc.) through the geoportal interface, set this to False.
supportsPasswordChange Whether users can modify their password in the geoportal interface.
supportsPasswordRecovery Whether the 'Forgot Password' functionality is active.
/gptConfig/identity/ldapAdapter/roles
The roles settings establish the mapping between Directory Server groups, and the default Geoportal user roles.
<roles authenticatedUserRequiresRole="true">
    <role
        key="gptRegisteredUser"
        resKey="catalog.role.gptRegisteredUser"
	    manage="true"
		forbidden="false"
        groupDN="group_distinguished_name_for_registered_user"/>
    <role
        key="gptPublisher"
        inherits="gptRegisteredUser"
        resKey="catalog.role.gptPublisher"
		manage="true"
		forbidden="false"
        groupDN="group_distinguished_name_for_publisher"/>
    <role
        key="gptAdministrator"
        inherits="gptPublisher"
        resKey="catalog.role.gptAdministrator"
		manage="true"
		forbidden="false"
        groupDN="group_distinguished_name_for_administrator"/>
</roles>
authenticatedUserRequiresRole Whether each user of the geoportal has to be assigned to at least one role.
/gptConfig/identity/ldapAdapter/roles/role
key The name key of the role, e.g. gptRegisteredUser, gptPublisher, gptAdministrator
inherits Comma-delimited string representing (a) role name(s) whose properties will be inherited by the role, e.g. publisher role can inherit properties of gptRegisteredUser, administrator role can inherit properties of publisher.
resKey A resource key to the label displayed for the corresponding role on the user role management page.
manage Used to configure role to be managed on the user role management page. If the value is true, the users having the role are managed on the user role management page. Default is true.
forbidden Used to configure role to prevent users with this role from logging in to geoportal, If the value is true, the users having the role will not be allowed to login.
groupDN
  • Name of the Directory Server group that will be mapped to the named role, for example:
  • For registered user's role, the LDAP Distinguished Name can be cn=gpt_registeredUsers,ou=groups,ou=system
  • For publiser role, the LDAP Distinguished Name can be cn=gpt_publishers,ou=groups,ou=system
  • For administrator role, the LDAP Distinguished Name can be cn=gpt_administrators,ou=groups,ou=system
/gptConfig/identity/ldapAdapter/users
The users settings determine properties of user accounts.
          <users
              displayNameAttribute="uid"
              passwordEncryptionAlgorithm="SHA"
              newUserDNPattern="cn={0},Users_Node_DN"
              usernameSearchPattern="(&amp;(objectclass=person)(uid={0}))"
              searchDIT="Users_Node_DN">
              <requiredObjectClasses>
                  <objectClass name="top"/>
                  <objectClass name="person"/>
                  <objectClass name="organizationalPerson"/>
                  <objectClass name="inetOrgPerson"/>
              </requiredObjectClasses>
              <userAttributeMap>
                  <attribute key="username"     ldapName="uid"/>
                  <attribute key="password"     ldapName="userPassword"/>
                  <attribute key="email"        ldapName="mail"/>
                  <attribute key="firstName"    ldapName="givenName"/>
                  <attribute key="lastName"     ldapName="sn"/>
                  <attribute key="displayName"  ldapName="displayName"/>
                  <attribute key="organization" ldapName="o"/>
                  <attribute key="affiliation"  ldapName="businessCategory"/>
                  <attribute key="street"       ldapName="street"/>
                  <attribute key="city"         ldapName="l"/>
                  <attribute key="stateOrProv"  ldapName="st"/>
                  <attribute key="postalCode"   ldapName="postalCode"/>
                  <attribute key="country"      ldapName=""/>
                  <attribute key="phone"        ldapName="telephoneNumber"/>
              </userAttributeMap>
          </users>
displayNameAttribute The user entry attribute that is used for displaying the user's name in the geoportal interface, it is a string representing a user entry attribute name. Default: uid
passwordEncryptionAlgorithm The algorithm used for encrypting passwords sent from the geoportal to the Directory Server, accepted values are 'MD5' or 'SHA' Default: 'SHA'
newUserDNPattern The pattern of the distinguished name for new users. String value representing a DN pattern, pointing to the users node. Example: cn={0},ou=users,ou=system
usernameSearchPattern The search pattern for the Directory Server to use when looking for users. String value representing a user entry pattern. Leave as default.
searchDIT The path in the Directory Information Tree to search for users. LDAP DN representing the 'Users' organizational unit entry. Example: ou=users,ou=system
/gptConfig/identity/ldapAdapter/users/requiredObjectClasses/objectClass@name
top
person
organizationalPerson
inetOrgPerson
Each <objectclass></objectclass> child tag represents a mandatory class that must be part of a new entry when creating new users in the Directory Server. You may add to, modify or delete from this list as needed.
/gptConfig/identity/ldapAdapter/users/userAttributeMap/attribute@key
username
password
email
firstName
lastName
displayName
organization
affiliation
street
city
stateOrProv
postalCode
country
phone
Each key value of an <attribute></attribute> child tag represents a property of a user's profile that is used in the geoportal. Each key value has to be mapped to its Directory Server attribute name equivalent, as represented by the ldapName value. You may add to, modify or delete from this list as needed.
/gptConfig/identity/ldapAdapter/groups
The groups settings determine the properties of the Directory Server groups, set up to map to Geoportal user roles.
          <groups
              displayNameAttribute="cn"
              dynamicMemberOfGroupsAttribute=""
              dynamicMembersAttribute=""
              memberAttribute="uniquemember"
              memberSearchPattern="(&amp;(objectclass=groupOfUniqueNames)(uniquemember={0}))"
              searchDIT="Groups_Node_DN">
   
              <metadataManagementGroup
                  name="Region 1"
                  groupDN="group_distinguished_name"/>
              <metadataManagementGroup
                  name="Region 2"
                  groupDN="group_distinguished_name"/>
          </groups>
displayNameAttribute The group entry attribute to use for displaying the group's name. Currently not used in the geoportal interface. It is a string representing a group entry attribute name. Default: cn
dynamicMemberOfGroupsAttribute A vendor specific attribute that can be used to determine all the groups to which a user belongs, it is a string representing a group entry attribute name. Default:
dynamicMembersAttribute A vendor specific attribute that can be used to determine all the members of a group. It is a string representing a group entry attribute name. Default:
memberAttribute The group entry attribute that is used to determine which users belong to the group, it is a string representing a group entry attribute name. Default: uniquemember
memberSearchPattern The search pattern for the Directory Server to use when looking for groups. it is a string value representing a group entry pattern.
searchDIT The Directory Information Tree path to search for groups. It is LDAP DN representing the 'Groups' organizational unit. Example: ou=groups,ou=system
/gptConfig/identity/ldapAdapter/
groups/metadataManagementGroup
Metadata management groups are special group entries within the Directory Server in which all member users share metadata document editor access. All users belonging to a metadata management group have access to each other's metadata. Each <metadatamanagementgroup></metadatamanagementgroup> tag specifies the details about an existing metadata management group. You may add to, modify or delete from this list as needed. For each group definition, you can set the following properties:
name The name of the metadata management group, as it exists in the Directory Server
groupDN Distinguished name of the metadata management group.

Scheduler Settings

The scheduler settings define the properties for Catalog synchronization and the Index optimization. It is important to consider your CatalogSynchronizer and LuceneIndexOptimizer thread time attributes. Make sure that these are not configured to start at the same time.

<scheduler active="true" corePoolSize="0">
    <thread class="com.esri.gpt.catalog.context.CatalogSynchronizer" at="01:00"/>
    <thread class="com.esri.gpt.catalog.lucene.LuceneIndexOptimizer" at="03:30"/>
    <thread class="com.esri.gpt.control.georss.dcatcache.DcatCacheTask" period='1[DAY]' delay="15[SECOND]"/>
</scheduler>
/gptConfig/scheduler
active
corePoolSize
thread Catalog synchronization is a process that ensures that the Lucene indexing is synchronized with the resources' metadata stored in the geoportal database. The synchronizer will trigger the indexing of all approved or reviewed documents where indexes don't exist. The <thread></thread> element for the catalog synchronizer has a class value of "com.Esri.gpt.catalog.context.CatalogSynchronizer", which should not be changed. However, the 'at' value can be updated, as specified below.
class Catalog synchronization (sync Lucene index with the database) class: com.esri.gpt.catalog.context.CatalogSynchronizer
at Specifies the start time for the lucene synchronizer to reindex approved documents from the geoportal database.
thread The Index optimization is a process that rewrites the lucene index so searches can be performed faster. If the lucene index is never optimized, then performance will deteriorate over time. The amount of time required to synchronize the lucene index and the catalog is related to the size of your metadata database. For example, if the catalog contains 3,000 records, it will synchronize much faster than if it contains 300,000 records. The <thread></thread> element of the index optimizer has a class value of "com.Esri.gpt.catalog.lucene.LuceneIndexOptimizer", which should not be changed. However, the 'at' value can be updated, as specified below.
class Index optimization class: com.esri.gpt.catalog.lucene.LuceneIndexOptimizer
at Specifies the start time for the optimizer to run.
thread DCAT cache generation.
class DCAT cache generation: com.esri.gpt.control.georss.dcatcache.DcatCacheTask
at Specifies the start time for the optimizer to run.

Harvesting Protocols Settings

This section configure the type of protocol options that will appears in the geoportal register resources page.

/gptConfig/protocols
    <protocol factoryClass="com.esri.gpt.control.webharvest.protocol.factories.ResourceProtocolFactory"
              resourceKey="catalog.harvest.manage.edit.protocol.resource"/>
    <protocol factoryClass="com.esri.gpt.control.webharvest.protocol.factories.ArcGISProtocolFactory"
              resourceKey="catalog.harvest.manage.edit.protocol.arcgis"/>
    <protocol factoryClass="com.esri.gpt.control.webharvest.protocol.factories.ArcImsProtocolFactory"
              resourceKey="catalog.harvest.manage.edit.protocol.arcims"/>
    <protocol factoryClass="com.esri.gpt.control.webharvest.protocol.factories.OaiProtocolFactory"
              resourceKey="catalog.harvest.manage.edit.protocol.oai"/>
    <protocol factoryClass="com.esri.gpt.control.webharvest.protocol.factories.WafProtocolFactory"
              resourceKey="catalog.harvest.manage.edit.protocol.waf"/>
    <protocol factoryClass="com.esri.gpt.control.webharvest.protocol.factories.CswProtocolFactory"
              resourceKey="catalog.harvest.manage.edit.protocol.csw"/>
    <protocol factoryClass="com.esri.gpt.control.webharvest.protocol.factories.ThreddsProtocolFactory"
              resourceKey="catalog.harvest.manage.edit.protocol.thredds"/>
    <protocol factoryClass="com.esri.gpt.control.webharvest.protocol.factories.AtomProtocolFactory"
              resourceKey="catalog.harvest.manage.edit.protocol.atom"/>   
    <protocol factoryClass="com.esri.gpt.control.webharvest.protocol.factories.Agp2AgpProtocolFactory"
             resourceKey="catalog.harvest.manage.edit.protocol.agp2agp"/>      
    <protocol factoryClass="com.esri.gpt.control.webharvest.protocol.factories.Agp2AgpRelaxedProtocolFactory"
             resourceKey="catalog.harvest.manage.edit.protocol.agp2agp"/>  
    <protocol factoryClass="com.esri.gpt.control.webharvest.protocol.factories.Gpt2AgpProtocolFactory"
             resourceKey="catalog.harvest.manage.edit.protocol.gpt2agp"/>                
  <protocol factoryClass="com.esri.gpt.control.webharvest.protocol.factories.Ags2AgpProtocolFactory"
             resourceKey="catalog.harvest.manage.edit.protocol.ags2agp"/>  
    <protocol factoryClass="com.esri.gpt.control.webharvest.protocol.factories.DCATProtocolFactory"
             resourceKey="catalog.harvest.manage.edit.protocol.dcat"/>                                
default If true, the default configuration will be loaded first
factoryClass Canonical name of the factory class for various protocols
resourceKey Resource key for various protocols in gpt.properties

Additional Settings Not In gpt.xml

The configurations discussed in this section are not included in the out-of-the-box gpt.xml file, and must be added to the correct place in the file if desired. They encompass forward proxy authentication, reverse proxy settings, schema caching, spatial relevance settings, class settings for lucene, identifying resource links, building REST URLs, rendering live data through the Previewer, settings for how ArcGIS Server service endpoints are processed on the Upload page, additional settings for the catalog synchronization thread, and an alternative setting for integrating a map viewer. These parameters will need to be updated with values that are applicable for your organization.

gptConfig/forwardProxyAuth
<forwardProxyAuth username="" password="" encrypted="false"/>
username
password
encrypted
This section is for forward proxy authentication, the following element can be optionally configured if authentication is required by a forward (outbound) proxy.
  • username: the username credential
  • password: the password credential
  • encrypted: "true" or "false" (indicates if this password is encrypted)
For a forward proxy, the system properties "http.proxyHost" "http.proxyPort" and "http.nonProxyHosts" are configured at the Java web server level (e.g. Tomcat - catalina.properties)
gptConfig/catalog/parameter@key
Optional catalog parameters
<parameter key="BaseServlet.autoAuthenticate" value="true"/>
<parameter key="cacheSchemaDefinitions" value="true"/>
<parameter key="spatialRelevance.queryPower" value="2.0"/>
<parameter key="spatialRelevance.targetPower" value="0.5"/>
<parameter key="spatialRelevance.ranking.enabled" value="auto"/>
<parameter key="discoveryQueryAdapter" value="com.Esri.gpt.catalog.lucene.LuceneQueryAdapter"/>
<parameter key="resourceLinkIdentifier" value="com.Esri.gpt.catalog.search.ResourceIdentifier"/>
<parameter key="resourceLinkBuilder" value="com.Esri.gpt.catalog.search.ResourceLinkBuilder"/>
<parameter key="restUrlBuilder" value="com.Esri.gpt.catalog.search.RestUrlBuilder"/>
<parameter key="liveDataRendererFactoryBuilder" value="com.Esri.gpt.control.livedata.LiveDataRendererFactoryBuilder"/>
<parameter key="AGSProcessor.interrogation.enabled" value="true"/>
<parameter key="AGSProcessor.GeoDataServer.recurse" value="true"/>
<parameter key="AGSProcessor.GeoDataServer.maxDataElements" value="200"/>
<parameter key="AGSProcessor.GeoDataServer.expandDescendants" value="false"/>
BaseServlet.autoAuthenticate Indicates if the com.Esri.gpt.framework.context.BaseServlet class should auto-authenticate credentials found within an HTTP request header, valid values: "true" or "false", default = true.
cacheSchemaDefinitions Indicates if metadata schema definition files should be cached. Caching improves production performance but can be over-ridden while developing definitions, valid values: "true" or "false", default = true.
spatialRelevance.queryPower Spatial relevance weighting power associated with the query envelope (input as criteria), default = 2.0.
spatialRelevance.targetPower Spatial relevance weighting power associated with the target envelope (stored within the database), default = 0.5.
spatialRelevance.ranking.enabled Indicates whether or not spatial query results will be spatially scored/ranked, valid values: "true", "false", "auto"; true: always use spatial relevance ranking, false: never use spatial relevance ranking (filter results spatially but do not score), auto: turn on/off spatial relevance ranking based upon the number of indexed documents, default = auto.
discoveryQueryAdapter Class associated with the execution of an internal discovery query, must extend: com.Esri.gpt.catalog.discovery.DiscoveryQueryAdapter, default = com.Esri.gpt.catalog.lucene.LuceneQueryAdapter
resourceLinkIdentifier Class associated with the identification of resource links, must extend: com.Esri.gpt.catalog.search.ResourceIdentifier, default = com.Esri.gpt.catalog.search.ResourceIdentifier.
resourceLinkBuilder Class associated with the building of search result resource links, must extend: com.Esri.gpt.catalog.search.ResourceLinkBuilder, default = com.Esri.gpt.catalog.search.ResourceLinkBuilder.
restUrlBuilder Class associated with the building of REST URLs associated with query criteria, must extend: com.Esri.gpt.catalog.search.RestUrlBuilder, default = com.Esri.gpt.catalog.search.RestUrlBuilder.
liveDataRendererFactoryBuilder Class associated with the building factories supporting live data rendering (i.e. preview), must extend: com.Esri.gpt.control.livedata.LiveDataRendererFactoryBuilder, default = com.Esri.gpt.control.livedata.LiveDataRendererFactoryBuilder.
AGSProcessor.interrogation.enabled Indicates whether or not ArcGIS server/service endpoints will be considered from the Upload Metadata page, valid values: "true" or "false", default = true.
AGSProcessor.GeoDataServer.recurse Indicates whether or not ArcGIS GeoDataServer endpoints will be recursed, publishing all underlying datasets having metadata, valid values: "true" or "false", default = true.
AGSProcessor.GeoDataServer.
maxDataElements
Specifies an upper threshold for data elements within an ArcGIS GeoDataServer. If the maxDataElements is exceeded, no data elements associated with the GeoDataServer will be published to the Geoportal. A value of -1 indicates no limit, default = 200.
AGSProcessor.GeoDataServer.
expandDescendants
Specifies whether or not descendants should be expanded when retrieving data elements from the GeoDataServer. If false, children are expanded (com.Esri.arcgisws.EsriDEExpandType.EsriDEExpandDescendants vs. com.Esri.arcgisws.EsriDEExpandType.EsriDEExpandChildren).
gptConfig/catalog/scheduler/thread
Optional parameter configuration for catalog synchronization thread element.
<thread class="com.Esri.gpt.catalog.context.CatalogSynchronizer" period='1[HOUR]' delay="30[SECOND]">
    <parameter key="feedbackSeconds" value="120"/>
    <parameter key="maxDeleteTokens" value="1000"/>
    <parameter key="maxSqlTokens" value="1000"/>
    <parameter key="maxUuidCache" value="100000"/>
</thread>
feedbackSeconds An approximate number of seconds between FINER log messages, default = 120.
maxDeleteTokens The maximum number of deletions to execute in a single transaction, default = 1000.
maxSqlTokens For an SQL SELECT statement, the maximum number of OR operators to include in a single WHERE clause, default = 1000.
maxUuidCache The maximum number of UUIDs to store in memory. The memory is only used while the synchronizer is active. Having a maxUuidCache greater than or equal to the number of documents within the catalog will result in the best performance, default = 100000.
gptConfig/catalog/search@mapViewerUrl Optional configuration to support a custom Map Viewer application.
Example: mapViewerUrl ="http://machine_name/map_viewer_app". Will automatically generate a link to launch a specified Map Viewer in the geoportal interface. To integrate Flex, Silverlight, or ArcGIS Online based viewers, see Map-Viewer
Clone this wiki locally