Changes between Version 1 and Version 2 of MapGuideRfc70
- Timestamp:
- 06/25/09 22:52:56 (16 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
MapGuideRfc70
v1 v2 8 8 9 9 ||RFC Template Version||(1.0)|| 10 ||Submission Date||June 2 3, 2009||10 ||Submission Date||June 26, 2009|| 11 11 ||Last Modified||Leaf Li [[Timestamp]]|| 12 12 ||Author||Leaf Li|| … … 24 24 == Overview == 25 25 26 This proposal is to refactor MapGuide Web .NET API to some common dlls.26 This proposal is to extend MapGuide Feature Service to support applying schema. 27 27 28 28 == Motivation == 29 29 30 Currently all MapGuide Web .NET API is in one single dll !MapGuieDotNetApi.dll, which includes Foundation, Geometry, !PlatformBase, !MapGuideCommon, !WebApp and !HttpHandler components. It isn’t good for users to reuse functionality provided by MapGuide Web .NET API. For example, users have to include a reference to all components even if they just want to use Geometry related API.30 Currently MapGuide Web API doesn’t support any functionality to create or modify schema of a feature source. The RFC is used to eliminate this limitation. 31 31 32 32 == Proposed Solution == 33 33 34 MapGuide Web .NET API will be divided into five separated dlls. SWIG is used to create MapGuide .NET API as before. 35 * OSGeo.!MapGuide.Foundation.dll: contains API in Foundation component. 36 * OSGeo.!MapGuide.Geometry.dll: contains API in Geometry compoent. 37 * OSGeo.!MapGuide.!PlatformBase.dll: contains API in !PlatformBase component. 38 * OSGeo.!MapGuide.!MapGuideCommon.dll: contains API in !MapGuideCommon compoent. 39 * OSGeo.!MapGuide.Web.dll: contains API in !WebApp and !HttpHandler components. 34 ApplySchema need not only support adding, modifying but also support deleting schema elements. So we need a method to mark the schema element for deletion. The method Delete() will be added to classes MgFeatureSchema, MgClassDefinition, MgPropertyDefinition for it. 40 35 41 36 == Implications == 42 37 43 Currently, there is no enough resources and funding to refator PHP and Java API. They may be implemented if resources and funding can be obtained in the future.38 This is new API only. There will be no effect on existing applications. However, API documentation need to be updated. 44 39 45 40 == Test Plan == 46 41 47 Run the existing unit tests. No need to add newunit tests.42 Add unit tests for method MgFeatureService::ApplySchema into the existing Feature Service unit tests. 48 43 49 44 == Funding/Resources ==