[mapserver-commits] r13011 - trunk/docs/en/development/rfc

svn at osgeo.org svn at osgeo.org
Tue Jan 24 14:54:45 EST 2012


Author: tomkralidis
Date: 2012-01-24 11:54:45 -0800 (Tue, 24 Jan 2012)
New Revision: 13011

Added:
   trunk/docs/en/development/rfc/ms-rfc-82.txt
Log:
add initial draft rfc 82


Added: trunk/docs/en/development/rfc/ms-rfc-82.txt
===================================================================
--- trunk/docs/en/development/rfc/ms-rfc-82.txt	                        (rev 0)
+++ trunk/docs/en/development/rfc/ms-rfc-82.txt	2012-01-24 19:54:45 UTC (rev 13011)
@@ -0,0 +1,129 @@
+.. _rfc82:
+
+==============================================================================
+MS RFC 82: Support for Enhanced Layer Metadata Management
+==============================================================================
+
+:Date: 2012/01/24
+:Authors: Tom Kralidis (tomkralidis at hotmail.com)
+:Last Edited: 2012/01/24
+:Status:  Proposed
+:Version: MapServer 6.2
+:Id: $Id:$
+
+Overview
+------------------------------------------------------------------------------
+
+OGC Web Services (OWS) have the ability to advertise content metadata
+associated with a given resource (WMS Layer, WFS FeatureType, WCS Coverage,
+SOS ObservationOffering), both inline to the Capabilities document and as
+a reference to a given URL (i.e. ISO metadata XML document).
+
+MapServer supports both inline (e.g. wms_title, wms_abstract) and URL based 
+(e.g. wms_metadataurl_href), metadata advertising for OWS Capabilities.  While
+this offers the flexibility of managing metadata for mapfiles in an arbitrary
+fashion, there is often duplication of metadata between metadata XML and mapfile
+directives.
+
+It is proposed that MapServer be enhanced to support direct handling of geospatial
+metadata documents in order to advertise OWS Capabilities metadata automatically.
+
+Advantages of this enhancement:
+
+* allow for updating of metadata XML without the need to edit the mapfile
+* smaller mapfiles
+* dynamic publishing of metadata for OWS services
+
+Technical Solution
+------------------------------------------------------------------------------
+
+Users will have the ability to refer to a single geospatial metadata document
+to provide all of their OWS metadata, i.e.:
+
+::
+
+  LAYER
+    METADATA
+      "ows_metadata_path" "/path/to/metadata.xml"
+      "ows_metadata_format" "ISO19115:2003"
+      ...
+    END
+  ...
+  END
+
+For inline metadata there will be no need to fill in "ows_title", "ows_abstract", etc.,
+as this will be dynamically driven from the metadata XML document.
+
+For metadata document advertisement, this will result in the following XML
+(e.g. WMS Capabilities metadata):
+
+::
+
+  <MetadataURL type="ISO19115:2003">
+    <Format>text/xml</Format>
+    <OnlineResource xlink:type="simple" xlink:href="http://host/cgi-bin/mapserv?service=WMS&version=1.3.0&request=GetLayerMetadata&layer=foo"/>
+  </MetadataURL> 
+
+MapServer will provide a GetLayerMetadata operation, which will read the file
+as defined in MAP.LAYER.METADATA/ows_metadata_path and return the content as the
+the HTTP response (with 'text/xml' as the MIME type).
+
+MapServer will also provide support for outputting a service metadata document
+formatted as ISO 19119:2005.  This is an alternative service description that
+supports the INSPIRE initiative.
+
+Implementation Details:
+
+mapmetadata.c
+
+- char * msMetadataGetLayerMetadata(layer.metadata)
+ - read value of metadata_file (MAP.LAYER.METADATA/ows_metadata_path)
+ - returns char * of content
+ - calling function will write to HTTP response
+ (if we have similar "read file, return a char *" type functions, use those instead)
+
+- layerObj msMetadataParseMetadata(metadata_format, metadata_file, ows_service_type)
+ - libxml2 required
+ - metadata format support: ISO 19115:2003 is initially, proposed; others can be
+   added
+ - read file (given format)
+  - parse and set layer->metadata as per the ows_service_type
+   - ows_title
+   - ows_abstract
+   - ows_keywordlist
+   - ows_extent
+
+- char * msMetadataGetServiceMetadata(map->web.metadata)
+ - read map->web.metadata
+ - return ISO 19119:2005 XML
+
+Backwards Compatibility Issues
+------------------------------------------------------------------------------
+
+There are no compatibility issues with existing mapfiles.  This enhancement
+will work as follows:
+
+* if MAP.LAYER.METADATA/ows_metadata_path is defined, parse metadata and
+  set OWS metadata values accorindingly
+* else, use normal OWS metadata handling
+
+Affected Files
+------------------------------------------------------------------------------
+
+* mapmetadata.c (new)
+* mapwms.c
+* mapwfs.c
+* mapwfs11.c
+* mapwcs.c
+* mapwcs11.c
+* mapwcs20.c
+* mapogcsos.c
+
+
+Ticket Id
+------------------------------------------------------------------------------
+
+* http://trac.osgeo.org/mapserver/ticket/TODOxxxx
+
+Voting History
+------------------------------------------------------------------------------



More information about the mapserver-commits mailing list