Changes between Initial Version and Version 1 of MapGuideRfc139


Ignore:
Timestamp:
Jun 30, 2014, 8:30:37 AM (10 years ago)
Author:
jng
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • MapGuideRfc139

    v1 v1  
     1
     2= !MapGuide RFC 139 - Update version number to 3.0 and remove various cruft and deprecated APIs =
     3
     4This page contains a change request (RFC) for the !MapGuide Open Source project.
     5More !MapGuide RFCs can be found on the [wiki:MapGuideRfcs RFCs] page.
     6
     7
     8== Status ==
     9
     10||RFC Template Version||(1.0)||
     11||Submission Date||1 July 2014||
     12||Last Modified||||
     13||Author||Jackie Ng||
     14||RFC Status||draft||
     15||Implementation Status||Pending||
     16||Proposed Milestone||3.0||
     17||Assigned PSC guide(s)||(when determined)||
     18||'''Voting History'''||(vote date)||
     19||+1||||
     20||+0||||
     21||-0||||
     22||-1||||
     23||no vote|| ||
     24
     25== Overview ==
     26
     27This RFC proposes to set the version number of the next MapGuide release to be 3.0 and remove several deprecated APIs in the process
     28
     29== Motivation ==
     30
     31MapGuide has several bits of accumulated cruft that have existed for a while now:
     32
     33 * Clunky MgMap APIs
     34 * MgCreateSdfParams superceded by MgFileFeatureSourceParams
     35 * DWF eMap support that requires old and specific versions of Autodesk Design Review / DWF viewer plugin to properly consume these APIs and services
     36 * MapGuideDotNetApi.dll as a type-forwarding wrapper assembly to ensure old MapGuide applications that referenced MapGuideDotNetApi.dll did not break due to the assembly split in RFC 68.
     37
     38Users and developers have had several years of releases to move to non-deprecated alternatives. This cruft should be safe to remove now.
     39
     40To best communicate the removal of this cruft, we should also bump the version number to 3.0.
     41
     42== Proposed Solution ==
     43
     44Set the base version number in MapGuide to 3.0.0.0
     45
     46Ensure that any doxygen content for APIs introduced in this development cycle are set to `\since 3.0`
     47
     48Demote the following list of deprecated APIs from PUBLISHED_API. Such APIs may still be accessible from C++ code:
     49{{{
     50MgMap::MgMap();
     51MgMap::Open(MgResourceService*, CREFSTRING);
     52MgMap::Save(MgResourceService*);
     53}}}
     54
     55Remove these methods and classes
     56{{{
     57class MgCreateSdfParams;
     58MgMappingService::GenerateMap(MgMap*, CREFSTRING, MgDwfVersion*);
     59MgMappingService::GenerateMapUpdate(MgMap*, INT32, CREFSTRING, MgDwfVersion*);
     60}}}
     61
     62Update Oem build process to not build the DWF EMap toolkit.
     63
     64Remove EMap renderers from the Renderers project.
     65
     66Remove the MapGuideDotNetApi project in the web tier. Since the [http://trac.osgeo.org/mapguide/wiki/MapGuideRfc68 .net assembly split], MapGuideDotNetApi.dll is just a thin type-forwarding assembly that's there so that old MapGuide applications that were built against MapGuideDotNetApi.dll did not break. Being a 3.0 release, we can break free from this cruft and expect .net applications to reference the split assemblies individually.
     67
     68Remove the following operations from the mapagent:
     69{{{
     70GETMAP
     71GETMAPUPDATE
     72}}}
     73
     74Remove all eMap-related files from the AJAX viewer code.
     75
     76Check and update our various .net/Java/PHP code in web tier and samples to ensure that none of the above deprecated APIs are being used.
     77
     78The following list of deprecated APIs are spared from the chopping block in this RFC
     79{{{
     80MgFeatureService::DescribeSchema(MgResourceIdentifier*, CREFSTRING);
     81MgFeatureService::DescribeSchemaAsXml(MgResourceIdentifier*, CREFSTRING);
     82MgSpatialContextReader::IsActive();
     83}}}
     84
     85== Implications ==
     86
     87Applications using the above deprecated APIs will have to migrate their code to use the suggested alternatives.
     88
     89.net applications that were built against MapGuideDotNetApi will have to reference the split .net assemblies and be re-compiled.
     90
     91This RFC removes DWF eMap support from the MapGuide viewer and its APIs. Affected users should migrate to the current client viewer offerings.
     92
     93== Test Plan ==
     94
     95Run existing test suite to ensure no breakages
     96
     97== Funding / Resources ==
     98
     99Community