= !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 27, 2010||
||Author||Bruce Dechant||
||RFC Status||ready for review||
||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 !GetCapabilities() API that takes an additional connection string parameter.
Existing API: (This will not change)
{{{
MgByteReader* GetCapabilities(CREFSTRING providerName);
}}}
Proposed NEW API:
{{{
MgByteReader* GetCapabilities(CREFSTRING providerName, CREFSTRING connectionString);
}}}
Note: This NEW API will behave exactly the same as the old API if it is given an empty string as the connection string parameter.
== Implications ==
This change will NOT break existing API compatibility.
== Test Plan ==
!Build/Run on !Windows/Linux.
== !Funding/Resources ==
Supplied by Autodesk.