Version 3 (modified by 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 | 1 July 2010) |
Last Modified | Rohit Razdan, 1 July 2010 |
Author | Rohit Razdan |
RFC Status | draft |
Implementation Status | pending |
Proposed Milestone | 2.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 this option to configure the makefiles. These modules depend on xerces source code.
- ./Server/src/UnitTesting/
- ./Server/src/Common/Manager/
- ./Server/src/Services/Kml/
- ./Server/src/Services/Feature/
- ./Server/src/Services/Resource/
- ./Server/src/Services/Rendering/
- ./Server/src/Services/Site/
- ./Server/src/Services/Drawing/
- ./Server/src/Services/Mapping/
- ./Server/src/Core/
- ./Web/src/JavaApi/
- ./Web/src/HttpHandler/
- ./Web/src/WebApp/
- ./Web/src/PhpApi/
- ./Common/Foundation/
- ./Common/PlatformBase/
- ./Common/Geometry/
- ./Common/MdfParser/
- ./Common/MapGuideCommon/
- 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