= !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 [wiki:MapGuideRfcs 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):
{{{
false
true
}}}
WFS provider returned capabilites (NEW API with server specified in connection string):
{{{
Comparison
Like
Spatial
EnvelopeIntersects
Intersects
false
true
}}}
== 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.