[mapguide-internals] DBXML upgrade for MapGuide 2.3

Rohit Razdan rrrazdan at gmail.com
Fri Jun 11 15:24:50 EDT 2010


Hi all,
As part of my GSOC project I have been attempting to make the
build/installation experience of MapGuide better on Linux. As part of this
attempt, I have been trying to use 'native' 3rd party OEMs where possible
and this mail is with regards to DBXML.

The version we are using right now is DBXML 2.3.10 with xerces 2.7. The
latest version is 2.5.16 compiled with Xerces 3.0.1 but requires Xerces
above 2.7.[1] MapGuide also uses Xerces sources and the code breaks if
Xerces is upgraded to anything above 2.7 (a summary of changes is at [2]).
Xerces is already an installable package on Ubuntu and there has been talk
of including DBXML as well. On CentOS, Xerces 2.7 is available. But DBXML is
not an installable package on Ubuntu or CentOS.

Now ideally we would want our user to install Xerces from the standard
repos, build/install DBXML ( I plan on creating rpm/debs for it ) and
build/install MapGuide independently from its dependencies.  But this would
involve updating the code base to the new standards. I am working on the
changes now and right now the changes *appear* to be not so major. The
issues I have faced till now [3] are only from the changes in Xerces but it
is entirely possible that upgrading from DBXML 2.3 to DBXML 2.5 would bring
its own changes.

So the options that we have right now are:-

   - Upgrade to DBXML 2.5 along with the latest Xerces. This would be a step
   in our aim of making MapGuide installation easy and standard.
   - Upgrade to DBXML 2.5 but retain Xerces 2.7 . This would be counter
   intuitive to our stated goals of independent 3rd part dependencies
   installation. In fact given that Xerces is available as a package, it makes
   more sense to upgrade Xerces first.
   - Upgrade to DBXML 2.4 which uses Xerces 2.8. This also breaks the code,
   but the fix appears to be pretty easy. Just including a header file that was
   previously automatically included. [3]
   - Package current DBXML 2.3 as an rpm/deb and continue to use Xerces 2.7.

Rohit

LINKS
[1]
http://www.oracle.com/technology/software/products/berkeley-db/xml/index.html.DBXML
download and changelog info.
[2] http://xerces.apache.org/xerces-c/migrate-archive-3.html . (Xerces
migration issue list)
[3] As part of a very preliminary look, the errors I have seen till now are
related to

   - "When using SAX2, including XMLReaderFactory to use createXMLReader
   doesn't include xercesc/parsers/SAX2XMLReaderImpl.hpp anymore."
   - "A number of DOM interfaces (DOMBuilder, DOMWriter, DOMInputSource,
   etc.) were replaced as part of the the final DOM Level 3 specification
   conformance work."

Of course more are to be expected. I am not familiar enough with the source
as of now.


More information about the mapguide-internals mailing list