Changes between Initial Version and Version 1 of MapGuideRfc101


Ignore:
Timestamp:
Jul 1, 2010, 5:41:20 AM (14 years ago)
Author:
rohitr
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • MapGuideRfc101

    v1 v1  
     1
     2= !MapGuide RFC 101 - Upgrading to Xerces 3.1.1 and removing it from the tree =
     3
     4This page contains an 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||(Date/Time submitted)||
     12||Last Modified||Rohit Razdan, 1 July 2010||
     13||Author||Rohit Razdan||
     14||RFC Status||draft||
     15||Implementation Status||pending||
     16||Proposed Milestone||2.3||
     17||Assigned PSC guide(s)||Trevor Wekel||
     18||'''Voting History'''||||
     19||+1||||
     20||+0||||
     21||-0||||
     22||-1||||
     23||no vote|| ||
     24
     25== Overview ==
     26
     27This RFC proposes removal of Xerces from the MapGuide source tree and attendant upgrade to version 3.1.1
     28
     29== Motivation ==
     30MapGuide 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.
     31
     32== Proposed Solution ==
     33
     34I propose to allow the user to install xerces-c++, and if already installed to use that existing installation with Mapguide. This involves two steps
     35
     36 * 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.
     37   * ./Server/src/UnitTesting/
     38   * ./Server/src/Common/Manager/
     39   * ./Server/src/Services/Kml/
     40   * ./Server/src/Services/Feature/
     41   * ./Server/src/Services/Resource/
     42   * ./Server/src/Services/Rendering/
     43   * ./Server/src/Services/Site/
     44   * ./Server/src/Services/Drawing/
     45   * ./Server/src/Services/Mapping/
     46   * ./Server/src/Core/
     47   * ./Web/src/JavaApi/
     48   * ./Web/src/HttpHandler/
     49   * ./Web/src/WebApp/
     50   * ./Web/src/PhpApi/
     51   * ./Common/Foundation/
     52   * ./Common/PlatformBase/
     53   * ./Common/Geometry/
     54   * ./Common/MdfParser/
     55   * ./Common/MapGuideCommon/
     56 
     57 * 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.
     58
     59//TODO : insert code changes here
     60
     61== Implications ==
     62In 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.
     63== Test Plan ==
     64
     65Use standard MapGuide unit tests.
     66
     67== Funding/Resources ==
     68
     69GSOC