Version 5 (modified by 14 years ago) ( diff ) | ,
---|
MapGuide RFC 105 - Enhance feature service GetCapabilities API
This page contains a change request (RFC) for the MapGuide Open Source project. More MapGuide RFCs can be found on the RFCs page.
Status
RFC Template Version | (1.0) |
Submission Date | July 20, 2010 |
Last Modified | Bruce Dechant July 20, 2010 |
Author | Bruce Dechant |
RFC Status | draft |
Implementation Status | incomplete |
Proposed Milestone | 2.3 |
Assigned PSC guide(s) | Bruce Dechant |
Voting History | |
+1 | |
+0 | |
-0 | |
-1 | |
Abstained |
Overview
This RFC proposes to add a NEW GetCapabilites() API to the feature service which contains an additional connection string parameter. This will primarily allow for acquiring the "runtime" capabilities of WFS/WMS providers.
Motivation
The existing Feature service GetCapabilties() API works correctly for most providers, but fails to return the true capabilities of the server connected to by a WFS/WMS provider because there is no way to specify the connection string containing the server.
Here is a subset of the WFS capabilities showing the differences.
WFS provider returned capabilites (existing API):
<Filter> <SupportsGeodesicDistance>false</SupportsGeodesicDistance> <SupportsNonLiteralGeometricOperations>true</SupportsNonLiteralGeometricOperations> </Filter>
WFS provider returned capabilites (NEW API with server specified in connection string):
<Filter> <Condition> <Type>Comparison</Type> <Type>Like</Type> <Type>Spatial</Type> </Condition> <Spatial> <Operation>EnvelopeIntersects</Operation> <Operation>Intersects</Operation> </Spatial> <SupportsGeodesicDistance>false</SupportsGeodesicDistance> <SupportsNonLiteralGeometricOperations>true</SupportsNonLiteralGeometricOperations> </Filter>
Proposed Solution
- Create a NEW GetCapabilites() API that takes an additional connection string parameter. This NEW parameter will cause the API to behave exactly as before if it is an empty string.
Existing API:
MgByteReader* GetCapabilities(CREFSTRING providerName);
Proposed NEW API:
MgByteReader* GetCapabilities(CREFSTRING providerName, CREFSTRING connectionString);
Implications
This change will NOT break existing API compatibility.
Test Plan
Build/Run on Windows/Linux.
Funding/Resources
Supplied by Autodesk.