MapGuide 2.2 Release Candidate 1 Release Notes

MapGuide Open Source 2.2 Release Candidate 1 is now available!


Binaries for Windows and Linux have been posted to OSGeo

Windows 32 bit installer:

Windows 64 bit installer:

CentOS 5.4 / RedHat 5.4 binary tarballs for FDO and MapGuide:

Ubuntu 9.10 install script:

  • Due to compilation limitations, the Ubuntu build is based on CentOS 5.4 binaries. The installation script installs additional Ubuntu packages and creates symlinks to native Ubuntu libraries to resolve package differences between CentOS 5.4 and Ubuntu 9.10.
    • size:1875 bytes
    • md5sum:1d60ef3d543e73ba46db66feb01726e3

Major New Items

  • TBD

Thanks to the ever growing team of developers who are contributing to make the MapGuide Open Source project a more self-sustaining project.

Please report any defects.


Click here for instructions on how to migrate to MGOS 2.2 from older releases.

MGOS 2.2.0 is compatible with FDO 3.5.0.


FDO is compiled against the Oracle 11.2 instant client available from Instant Client Downloads. For a Linux installation, the Oracle shared library path should be included in LD_LIBRARY_PATH or ldconfig.

FDO 3.5 (which this release uses) introduces a simplified CONCAT expression function. This function is available for theming and filtering purposes.

Installer notes

The installer has been updated to allow for greater customisation of the initial configuration:

  • User-defined server/web port numbers
  • User-defined virtual directory name for both Apache and IIS
  • User-defined Apache port number
  • The choice of which web site to install the web extensions under (IIS 6.0)

Currently the installer is still only 32-bit.

API changes

RFC 66 added client side pinging for the AjaxViewer to keep sessions alive. API changes include a new HTTP GETSESSIONTIMEOUT and MgSiteConnection.GetSessionTimeout(). An <EnablePingServer> boolean element was added to WebLayout. Since these are new APIs, there is no impact on existing code.

RFC 70 introduces new API for creating and modifying the schema of a feature source. Delete methods are added to MgFeatureSchema, MgClassDefinition and MgPropertyDefinition. A new ApplySchema() method was added to MgFeatureService. A Decimal property was added to MgPropertyType for schema purposes. Since these are new APIs, there is no impact on existing code.

RFC 73 introduces a new GetResourceContents() API to MgResourceService. This new functionality is used internally by MgMap to reduce web extensions / server crosstalk when creating an MgMap object from a map definition. Since this is new API, there is no impact on existing code.

RFC 74 introduces a boolean "cascade" parameter to MgResourceService.MoveResource(). If cascade is enabled, dependant resources will be updated to point at the new location for the moved resource. Since this is new API, there is no impact on existing code.

RFC 77 allows MgFeatureService.CreateFeatureSource() to create a feature source without defining the feature class and spatial context. The previous implementation would throw an MgInvalidArgumentException. This behaviour change may affect existing code.

RFC 78 introduces explicit transaction management for Feature Service. A new MgTransaction object is created and MgFeatureService ExecuteSqlQuery, ExecuteSqlNonQuery, and UpdateFeatures are overloaded to use the new transaction object. Since this is new API, there is no impact on existing code.

RFC 79 adds more detailed exception classes derived from MgFdoException. The derived classes provide more information than the generic MgFdoException. Existing code should continue to work with MgFdoException and should be updated to make use of the derived exception classes.

RFC 80 adds parameter binding support to MgFeatureService ExecuteSqlQuery and ExecuteSqlNonQuery. Since this is new API, there is no impact on existing code.

RFC 82 extends the MapGuide readers to support property access by index in addition to property name. Accessing properties by index instead of property name may be faster for tight loop processing. Since this is new API, there is no impact on existing code.

RFC 84 adds database row fetch size to MgFeatureQueryOptions and MgFeatureService.ExecuteSqlQuery. Specifying a fetch size may improve FDO performance by reducing database round trips. Since this is new API, there is no impact on existing code.

RFC 87 adds to the schema returned from the HTTP GETSITEINFO request. If version 2.2.0 of GETSITEINFO is used, the following addiitional information will be returned working set, virtual memory, server cache size and server cache dropped entries. Since this is new version of GETSITEINFO, there is no impact on existing code.

RFC 89 introduced a number of changes required by the upgrade to PHP 5.3. These changes break existing code.

MgException class changes:
Change GetMessage() to GetExceptionMessage()

MgResources class changes:
Change GetMessage() to GetResourceMessage()

MgCoodinateSystem class changes:
Change GetCode() to GetCsCode()
Change SetCode() to SetCsCode() for consistency.
Change IsLegalCode() to IsLegalCsCode() for consistency.

MgCoodinateSystemDatum class changes:
Change GetCode() to GetDtCode()
Change SetCode() to SetDtCode() for consistency.
Change IsLegalCode() to IsLegalDtCode() for consistency.

MgCoodinateSystemEllipsoid class changes:
Change GetCode() to GetElCode()
Change SetCode() to SetElCode() for consistency.
Change IsLegalCode() to IsLegalElCode() for consistency.

MgWebInvokeScriptCommand class changes:
Change GetCode() to GetScriptCode()
Change SetCode() to SetScriptCode() for consistency.

The RFC 87 API changes will impact:

  • Viewers
  • Sample applications
  • Development guides
  • Existing applications

New Server Configuration (serverconfig.ini) Options

New Web Configuration (webconfig.ini) Options

Disk Space

The installer requires at least 1.5GB of disk space on C: during installation. Otherwise installation may not proceed.

If you do not have sufficient space on C:, you can open the installer file with 7-zip and extract the contents to another drive, and run the extracted setup.exe from there. It may also be helpful to set your TEMP environment variable to a different drive.


The complete list of submissions can be found here.

Last modified 14 years ago Last modified on Oct 7, 2010, 4:13:32 PM
Note: See TracWiki for help on using the wiki.