wiki:MapGuideRfc139

Version 2 (modified by jng, 10 years ago) ( diff )

--

MapGuide RFC 139 - Update version number to 3.0 and remove various cruft and deprecated APIs

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 Date1 July 2014
Last Modified
AuthorJackie Ng
RFC Statusdraft
Implementation StatusPending
Proposed Milestone3.0
Assigned PSC guide(s)(when determined)
Voting History(vote date)
+1
+0
-0
-1
no vote

Overview

This RFC proposes to set the version number of the next MapGuide release to be 3.0 and remove several deprecated APIs in the process

Motivation

MapGuide has several bits of accumulated cruft that have existed for a while now:

Users and developers have had several years of releases to move to non-deprecated alternatives. This cruft should be safe to remove now.

To best communicate the removal of this cruft, we should also bump the version number to 3.0.

Proposed Solution

Set the base version number in MapGuide to 3.0.0.0

Ensure that any doxygen content for APIs introduced in this development cycle are set to \since 3.0

Demote the following list of deprecated APIs from PUBLISHED_API. Such APIs may still be accessible from C++ code:

MgMap::MgMap();
MgMap::Open(MgResourceService*, CREFSTRING);
MgMap::Save(MgResourceService*);

Remove these methods and classes

class MgCreateSdfParams;
MgMappingService::GenerateMap(MgMap*, CREFSTRING, MgDwfVersion*);
MgMappingService::GenerateMapUpdate(MgMap*, INT32, CREFSTRING, MgDwfVersion*);

Update Oem build process to not build the DWF EMap toolkit.

Remove EMap renderers from the Renderers project.

Remove the MapGuideDotNetApi project in the web tier. Since the .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.

Remove the following operations from the mapagent:

GETMAP
GETMAPUPDATE

Remove all eMap-related files from the AJAX viewer code.

Check 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.

The following list of deprecated APIs are spared from the chopping block in this RFC

MgFeatureService::DescribeSchema(MgResourceIdentifier*, CREFSTRING);
MgFeatureService::DescribeSchemaAsXml(MgResourceIdentifier*, CREFSTRING);
MgSpatialContextReader::IsActive();

These changes have been carried out in the v30 sandbox. Upon adoption of this RFC, this sandbox will be merged into trunk.

Implications

Applications using the above deprecated APIs will have to migrate their code to use the suggested alternatives.

.net applications that were built against MapGuideDotNetApi will have to reference the split .net assemblies and be re-compiled.

This RFC removes DWF eMap support from the MapGuide viewer and its APIs. Affected users should migrate to the current client viewer offerings.

Test Plan

Run existing test suite to ensure no breakages

Funding / Resources

Community

Note: See TracWiki for help on using the wiki.