Table Of Contents

Previous topic


Next topic



class gxp.plugins.GeoNodeCatalogueSource(config)

Plugin for creating WMS layers lazily. The difference with the WMSSource is that the url is configured on the layer not on the source. This means that this source can create WMS layers for any url. This is particularly useful when working against a Catalogue Service, such as GeoNode.

Example Use

Configuration in the gxp.Viewer:

defaultSourceType: "gxp_wmssource",
sources: {
    "opengeo": {
        url: ""

A typical configuration for a layer from this source (in the layers array of the viewer’s map config option would look like this:

    source: "opengeo",
    name: "world",
    group: "background"

n optional ‘getFeatureInfo’ property can also be passed to ustomize the sort order, visibility, & labels for layer attributes.

sample ‘getFeatureInfo’ configuration would look like this:
    fields: ["twn_name","pop1990"]
    propertyNames: {"pop1990": "1990 Population",  "twn_name": "Town"}

Within the ‘getFeatureInfo’ configuration, the ‘fields’ property determines sort order & visibility (any attributes not included are not displayed) and ‘propertyNames’ specifies the labels for the attributes.

For initial programmatic layer configurations, to leverage lazy loading of the Capabilities document, it is recommended to configure layers with the fields listed in requiredProperties.

Config Options

Configuration properties in addition to those listed for Ext.util.Observable.


Object Optional additional params to send in the requests.


Array Fields to use for the JsonReader. By default the following fields are provided: title, abstract, bounds and URI. Optionally this can be overridden by applications to provide different or additional mappings.


Boolean Normally we do not want these sources to show up in the AddLayers dialog for the source combobox. Set to false for a certain source to show up anyway whenever that makes sense, e.g. by using a catalogue source to retrieve all the layers for a capabilities grid.


Object An optional object to pass to the constructor of the ProtocolProxy. This can be used e.g. to set listeners.


Array(String) List of config properties that are required for each layer from this source to allow lazy loading, in addition to name. Default is ["title", "bbox"]. When the source loads layers from a WMS that does not provide layers in all projections, srs should be included in this list. Fallback values are available for title (the WMS layer name), bbox (the map’s maxExtent as array), and srs (the map’s projection, e.g. “EPSG:4326”).


String Root property in the JSON response. Defaults to ‘results’.


String Optional title for this source.


String Online resource of the catalogue service.


String If specified, the version string will be included in WMS GetCapabilities requests. By default, no version is set.

Public Properties

Public properties in addition to those listed for Ext.util.Observable.


Boolean Set to true if you don’t want this LayerSource to show up in the AddLayers dialog. Defaults to false.


Boolean. true when the source is ready, but its store hasn’t been loaded yet (i.e. lazy source). Read-only.


Array(String) List of config properties that are required for a complete layer configuration, in addition to name.


String A descriptive title for this layer source.

Public Methods

Public methods in addition to those listed for Ext.util.Observable.

Parameters:configObject The application config for this layer. or null when the source is lazy.

Create a layer record given the config. Applications should check that the source is not lazy` or that the config is complete (i.e. configured with all fields listed in requiredProperties before using this method. Otherwise, it is recommended to use the asynchronous gxp.Viewer.createLayerRecord() method on the target viewer instead, which will load the source’s store to complete the configuration if necessary.


Create the store that will be used for the GeoNode searches.

  • the layer to issue a WMS DescribeLayer request for
  • callbackFunction Callback function. Will be called with an from a as first argument, or false if the WMS does not support DescribeLayer.
  • scopeObject Optional scope for the callback.

Get a DescribeLayer response from this source’s WMS.


Filter the store by querying the catalogue service. :param options: Object An object with the following keys:

. list-table::
widths:20 80
    • queryString
    • the search string
    • limit
    • the maximum number of records to retrieve
    • filters
    • additional filters to include in the query

Create a config object that can be used to recreate the given record.

Returns:Object with keys start and limit.

Get the names of the parameters to use for paging.

GeoNodeCatalogueSource.getProjection() a record from this source’s store
Returns:OpenLayers.Projection A suitable projection for the layerRecord. If the layer is available in the map projection, the map projection will be returned. Otherwise an equal projection, or null if none is available.

Get the projection that the source will use for the layer created in createLayerRecord. If the layer is not available in a projection that fits the map projection, null will be returned.

  • the WMS layer to issue a WFS DescribeFeatureType request for
  • callbackFunction Callback function. Will be called with a containing the schema as first argument, or false if the WMS does not support DescribeLayer or the layer is not associated with a WFS feature type.
  • scopeObject Optional scope for the callback.

Gets the schema for a layer of this source, if the layer is a feature layer.


Gets the configured source state.

  • callbackFunction
  • scopeObject


Creates a WFS protocol for the given WMS layer record.

Parameters:targetObject The object initializing this plugin.


Events in addition to those listed for Ext.util.Observable.


Fires if the layer source fails to load.


Fires when the layer source is ready for action.