wiki:MapGuideRfc101

Version 1 (modified by rohitr, 14 years ago) ( diff )

--

MapGuide RFC 101 - Upgrading to Xerces 3.1.1 and removing it from the tree

This page contains an 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 Date(Date/Time submitted)
Last ModifiedRohit Razdan, 1 July 2010
AuthorRohit Razdan
RFC Statusdraft
Implementation Statuspending
Proposed Milestone2.3
Assigned PSC guide(s)Trevor Wekel
Voting History
+1
+0
-0
-1
no vote

Overview

This RFC proposes removal of Xerces from the MapGuide source tree and attendant upgrade to version 3.1.1

Motivation

MapGuide uses Xerces libraries to perform XML manipulation. However the XML source tree is hardcoded into the Mapguide source tree, with the even the version number being hardcoded in the make files. Not only is this inelegant, but it also makes any upgrade tough. In this RFC I propose to remove the Xerces from the MapGuide source tree and upgrade it to version 3.1.1.

Proposed Solution

I propose to allow the user to install xerces-c++, and if already installed to use that existing installation with Mapguide. This involves two steps

  • Modifying the configure file to include an option --with-xercesc=<install directory>. Default would be /usr . Using to option to configure the makefiles. These modules depend on xerces source code.

  • Modifying the MapGuide code base for compatibility with Xerces 3.1.1. Xerces 3.1.1 introduces some major changes, both in terms of include files and also in terms of modifying the code to be compliant with DOM 3. Serializing classes like DOMWriter are not available and have been replaced with DOMLSSerializer.

TODO : insert code changes here

Implications

In terms of changes, the changes look minor. However extensive testing would have to be done to make sure that the upgrade is not causing any unwanted effect.

Test Plan

Use standard MapGuide unit tests.

Funding/Resources

GSOC

Note: See TracWiki for help on using the wiki.