ngds / ckanext-geoserver-bku03232018

5 stars 6 forks source link

parameters key value pair not getting populated in metadata for GeoServer dataset deployment #11

Open smrgeoinfo opened 9 years ago

smrgeoinfo commented 9 years ago

The layer name for a WMS or the typeName for a WFS distribution of a dataset need to be included in the metadata. for example metadata see http://uat-ngds.reisys.com/metadata/iso-19139/885a735f-fa41-42a5-ad59-45bc8b3a980d.xml or http://www.geothermaldata.org/dataset/new-jersey-borehole-lithology-intervals

here's the explanation from the USGIN ISO metadata profile 4.16.3 CI_OnlineResource name and description In order to provide further clarity and guidance for the utilization of linked resources USGIN recommends use of the CI_OnlineResource/name property as indicated in Table 13. In order to identify the linkage element that locates the service description document (see 4.22 Operation metadata), USGIN mandates using CI_OnlineResource/name = "serviceDescription" in the CI_OnlineResource element with the linkage to the service description. The assumption is that any client that can connect to the service will know what to expect as the service description provided by that service.

The description property may be used to provide information about the online resource, and more usefully, to provide an explanation of how the other content of the CI_OnlineResource element is to be used to access the resource. The linkage/description should provide any necessary additional information in a text narrative as well. In some cases the protocol, applicationProfile and name properties may be insufficient to enable machine access to the resource through the provided link. The CI_OnlineResource/description element may include key values pairs to provide additional necessary information. USGIN recommendataion is to encode these in a 'parameter' object using JSON syntax. The parameters value is a list of key:value pairs enclosed in curly brackets ('{"key":"value", "key1":"value1"…}'). The keys should be the exact string that is required for the data access request parameter. For example, a dataset distributed through a particular layer in a multi-layer WMS:

<gmd:description>
  <gco:CharacterString>
        Whatever descriptive text you want. 
        parameters:{"layers":"gtp_datagap_well_data_collection",
               "styles":"wellsDataSLD"} 
  </gco:CharacterString>
</gmd:description>

The above example also shows how to encode multiple parameters. In the case of a dataset distributed through a particular feature type in a multi-feature WFS:

<gmd:description>
  <gco:CharacterString>
        Whatever descriptive text you want. 
        parameters:{"typeName":"BoreholeLithInterval2.0"} 
 </gco:CharacterString>
</gmd:description>

In some cases, a WFS may offer multiple feature types based on the same base dataset, for example a geologic map service that offers a separate contacts and faults feature types from the same geologic lines dataset. In this case, the typeName values will be a comma-delimited list:

<gmd:description>
  <gco:CharacterString>
        Whatever descriptive text you want. 
        parameters:{"typeName":"contacts,faults"} 
  </gco:CharacterString>
</gmd:description>
JihadMotii-REISys commented 9 years ago

Fix: https://github.com/REI-Systems/ckanext-metadata/commit/c82605a0bf27318a971ac19f843d8dc9dc357c73 Please test the fix and let me know. e.g: http://uat-ngds.reisys.com/metadata/iso-19139/bca5c6c7-0664-4c86-a195-d0335ea40a90.xml