MapGuide 2.4 Release Notes
MapGuide Open Source 2.4 Official Release is now available!
Table of Contents
- Fusion build tools
- Windows Compatibility
- Additional Post Release Patches
- Notable changes / Closed tickets for final release
- Notable changes / closed tickets for RC2
- Notable changes / closed tickets for RC1
- New Items for Beta 1
- Major New Items for Preview Release 2
- Major New Items
- FDO Compatibility
- Installer notes
- Known Issues
- API changes and notes
- New Server Configuration (serverconfig.ini) Options
- New Web Configuration (webconfig.ini) Options
- Debugging Installer failures
- Disk Space
Binaries for Windows and Linux (Ubuntu 12.04 and CentOS 5.6) have been posted to OSGeo
Windows 32 bit installer:
- Size: 126,019,823 bytes
- md5: 90ce2675cafb4e3bbe028b7c83a9d302
Windows 64 bit installer:
- Size: 130,732,076 bytes
- md5: f7f0ace6915eabefaf687f030b59aec9
Windows 32-bit MgInstantSetup bundle:
- Size: 127,658,344 bytes
- md5: f72225810ac48374b21904d99d754cf1
Windows 64-bit MgInstantSetup bundle:
- Size: 131,635,066 bytes
- md5: 67c1ac6b4651819be5d20100706f97da
Ubuntu Linux 12.04 install script:
- Size: 14,379 bytes
- md5: f40659ad76e09aa2c8998a586851a64f
CentOS 5.6 install script:
- Size: 1,762 bytes
- md5: 8d6e932397bf797f399063cb3d0677ef
Fusion build tools
Fusion build tools is a zip file containing the build.xml and associated build tools required to "re-compile" fusionSF.js and fusionSF-compressed.js on a production fusion installation.
Use the Fusion build tools if you have made patches and/or modifications to your fusion installation, and you need to build a new fusionSF.js and/or fusionSF-compressed.js
In order to use the Fusion build tools, you need to have Apache Ant installed.
- Size: 1,367,412 bytes
- md5: 714c87251369914610c816f9a3a3ce37
To use the Fusion build tools, extract the zip file contents into your fusion directory and navigate to this directory in the command prompt and execute the following command:
This will re-build fusionSF.js and fusionSF-compressed.js under fusion\lib
Due to the default installation location (under Program Files), you may need to do this under a UAC-elevated command prompt or fix the directory permissions so that normal users can create/modify files.
|Windows XP SP3||Yes||Maybe*|
|Windows Server 2003||Yes||Maybe*|
|Windows Server 2008||Yes+||Yes+|
|Windows Server 2008 R2||N/A||Yes|
|Windows Server 2012||N/A||Yes1|
+ Not tested, but similar enough to Windows 7 to theoretically work
- IIS configuration will probably not work. Apache config should work due to its self-contained nature
1 IIS configuration does not work, manual configuration successfully tested (Install MapGuide 2.4/2.5 on IIS). Apache config untested
Additional Post Release Patches
Notable changes / Closed tickets for final release
- #743: Preserve PNG8 transparency for AGG renderer and improve PNG8 quantization.
- NuGet? packages available for the MapGuide .net API
Notable changes / closed tickets for RC2
- #2104: AJAX viewer map display issues in Firefox >= 14
- #2090: JSON output for QUERYMAPFEATURES. Fusion patched to no longer send such responses to xml2json.php
- #2079: MapGuide Selection issue when legend is hidden
- #2097: API documentation cleanup and improvements
- #538: Use MapMessage? for displaying digitization status
- #540: Fusion API documentation is now included with the installer
- #530: Eliminate use of xml2json.php
- #848: Fix undefined symbols in PostgreSQL FDO provider for linux
Notable changes / closed tickets for RC1
- Fusion fixes:
- AJAX Viewer fixes:
- #1834: Support for specifying units for measure tool.
- #1263: Force use of . as decimal separator when emitting out scale lists.
- #1043: Fix tile offset bug when resizing the browser
- #1684: MAPNAME is now passed to task pane frame url on first load.
- #1780: Fix display of string properties in viewer which contain line breaks.
- #1711: Legend is still expandable when set to off
- Other fixes:
- #955, #1096: Fix broken KML rendering
- #2063: Add NLSPATH to mgserver.sh and mgserverd.sh allowing for FDO exception messages to be displayed instead of symbolic ids
- #649: Non-transactional failures to MgFeatureService?.UpdateFeatures?() now logged properly
- #2029: Devguide samples do not require loading the respective devguide mgp first.
- #1454: Fix linux memory stats in GETSITEINFO
- #2034: Include cause and root cause in MgFdoException? messages
New Items for Beta 1
- CentOS 5.6 tarball available for this release
- Ubuntu installer now supports 12.04 LTS
- InstantSetup? bundles are now 7-zip self-extracting executables (and half the size of zip files!). Includes updated MgInstantSetup utility to also set up registered FDO providers (#2026)
Notable closed tickets for Beta 1
- #2025: Installer now properly sets folder permissions for the new Profiling feature to work out of the box
- #1983: Fix MapTip? command when no toolbar exists
- #2024: MapGuide .net API assemblies are now properly version stamped (ie. The assembly version is now 22.214.171.12457 instead of 126.96.36.199)
- #531, #2005, #2013: Improved quality of thrown and logged error messages
- #1960: Fixed Java API memory leak issues
- #1105: Logged map rendering calls now include view extents
- #611, #1304: MgSelection? and MgMap? fixes
- #1996: Fix infinite loop on SQLite data readers
- #1998: Connection manager enhancements
Major New Items for Preview Release 2
- New MgInstantSetup zip bundles for flexible installation/configuration. Choose the MgInstantSetup bundle over the regular installer if you want to have side-by-side installations of MapGuide
- Ubuntu install available for this release. Install script now has a basic interactive text installer allowing for FDO provider selection.
Major New Items
- A new service for profiling performance (RFC 110)
- Web Tier directories now include SVN metadata, allowing for the pulling of viewer updates and fixes instantly with a subversion client (RFC 111)
- Path scaling support in Symbol Definitions (RFC 113)
- New Feature Service API for save points RFC 114
- Improved Coordinate System conversion performance (RFC 116)
- IPv6 support (RFC 118)
- Support for enhanced URL information in Layer Definitions (RFC 119)
- Configurable Coordinate System dictonary paths via serverconfig.ini and webconfig.ini (RFC 122)
- Feature Join performance optimizations (RFC 123 and http://themapguyde.blogspot.com.au/2011/12/improving-feature-join-experience-or.html)
- Toggle-able tooltips for AJAX and Fusion viewers (RFC 120)
- Lots of performance and usability improvements in Fusion (see this link for an overview)
Also included are features from the (cancelled) 2.3 milestone
- Datum Transformation enhancements (RFC 94)
- WMS 1.3.0 support (RFC 95)
- QuickPlot? command for AJAX and Fusion viewers (RFC 96)
- EPSG/SRID code changes (RFC 98)
- WFS 1.1.0 support (RFC 106)
- Watermark support (RFC 108)
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.
MGOS 2.4.0 is compatible with FDO 3.7.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.7 is compiled against GDAL 1.9.
Installing MGOS 2.4 (via the windows installer) alongside MGOS 2.2 or older releases is not a currently supported configuration. Consider using the MgInstantSetup bundle instead if you desire side-by-side installation
The installer does not currently support IIS Express as an IIS configuration option.
Please observe the updated software requirements if you are using .net and/or IIS configuration:
- IIS (all versions) require FastCGI for IIS to be installed.
- The supported .net Framework version for the MapGuide .net API is 4.0. You must have this version of the .net Framework installed before proceeding with installation.
For IIS6 and below, the installer will still set the ASP.net version to 2.0.50727. You will have to manually change the ASP.net version to 4.0.30319 post-install
Java configuration requires Java 6 (1.6.0) or higher.
The MgInstantSetup bundles only work with IIS7 or higher if you choose to use this web server. You must still satisfy the .net and FastCGI software requirements required for this configuration.
To assist new MapGuide users and developers, the installer also now bundles the following optional components:
- .net/PHP/Java viewer samples
- MapGuide Developer's Guide in HTML format with updated content
- .net/PHP/Java Developer's Guide Samples
All bundled samples require the Sheboygan dataset to be loaded into the MapGuide Server.
For Developer's Guide samples, the developer's guide data package needs to be loaded. These can be found in the root directories of the respective devguide samples in your MapGuide Web Tier installation.
Finally, due to coordinate system dictionary paths no longer tied to a global environment variable (RFC 122) a mandatory system reboot after installation is no longer required for all supported versions of Windows. However, a restart of Apache and/or IIS may be required for PHP to work.
For the InstantSetup? bundles, the MgInstantSetup utility requires .net Framework 3.5 to run. This is in addition to whatever existing software requirements imposed by this release of MapGuide Open Source.
For Tomcat configuration, the installer currently does not install Tomcat as a service (#953). You will have to do this manually post-installation.
Also ensure that you install the JVM of the same bitness as your installation of MapGuide. For example, you will get a java.lang.UnsatisfiedLinkError if you attempt to run a Tomcat from a 32-bit MapGuide installation on a 64-bit JVM. If you have both 32 and 64-bit JVMs installed, you must ensure that the Tomcat bundled with MapGuide is using the correct one. Tomcat will generally use the one indicated by the JAVA_HOME environment variable, so this may have to be set and/or overridden.
Although Ubuntu 11.10 was the only tested platform as of this writing. The ubuntu binaries are also known to work with the latest release as well (12.04)
The exe installer will automatically install the Visual C++ 2008 and Visual C++ 2010 redistributables if required. The Visual C++ 2008 redist installer if it is run, it will leave a whole bunch of temp files in the root of C drive (usually). This is a defect in the VC2008 redist installer.
- #2165: It is not actually possible to rollback a transaction in the event of MgFeatureService::UpdateFeatures?() when useTransaction = true. The workaround is to use the SQL Server FDO provider from the FDO 3.7 final release and update your application code to use the variant of UpdateFeatures that takes a MgTransaction
- There is a defect in RDBMS-based providers where it is not possible to insert features with these providers due to faulty post-insert processing. The providers have been fixed in the FDO 3.7 final release. Use the same workaround as above.
- Ubuntu: Install script may put duplicate FDO provider entries into providers.xml if the file already exists (eg. From a previous installation)
- There is a defect in the SQL Server provider that causes geometry columns with SRID between 4120 and 4999 to be rendered with coordinates flipped. The workaround is to either have these columns as geography or to set the SRID outside of this range.
Due to unavailability of build resources, this 2.4 release does not include the ArcSDE FDO provider. You may try registering the FDO 3.7 beta 1 provider in providers.xml after installation, but this has not been tested nor is it supported.. The ArcSDE FDO provider is included in the FDO 3.7 final release, and you can drop its providers into your 2.4 installation.
- CentOS: SELinux security settings will prevent MapGuide from loading FDO and other shared libraries. The CentOS install script will fix the security contexts of the so files within these extracted tarballs that it will download.
- CentOS: mgserver may throw double-free errors on service startup or server shutdown. Should not affect server behaviour.
- The Performance Profiler may not work due to insufficient permissions to save the generated report files. To fix this, ensure the directory
<Your MapGuide Install>\Web\www\mapadmin\profilingmapxml for windows and/usr/local/mapguideopensource-2.4.0/webserverextensions/www/mapadmin/profilingmapxml on linux has sufficient write permissions for the user account that the PHP executable runs under.
- For an InstantSetup?-based install with an Apache configuration, the Performance Profiler is hard-coded to always use mapviewerjava if it exists for displaying the map viewer for capturing extents for profiling. If you did not choose a Java configuration you will get the ajaxviewer.jsp source instead of the expected map viewer. To resolve this, delete the mapviewerjava directory
The installer will not remove the IIS virtual directories correctly if you specified a different virtual directory in IIS. For example, if you install with a virtual directory of "mapguide24" it will still remove the "mapguide" virtual directory on uninstall.
- Uninstallation can leave "ghost" IIS virtual directories behind, which currently include:
dotnetviewersample dotnetsamples mapviewernet
- Any virtual directory / application you create inside the mapguide virtual directory that was not created by the installer
appcmd.exe list vdir
IIS7.x: The installer does not properly configure the mapviewernet, dotnetviewersample and dotnetsamples directories as IIS applications if you enable such features in the installer. Workaround is to manually create these applications with IIS manager afterwards. #1984: An asp.net security setting prevents selection XML from being set from the .net viewer. The current workaround is to add the following line to web.config for the mapviewernet directory under the <system.web> configuration section: <httpRuntime requestValidationMode="2.0" />
- PHP Viewer and Developer's Guide samples will not work if the PHP viewer feature is not enabled. Likewise for .net and Java. Nothing in the installer will prevent you from making such a choice.
- For the IIS configuration or Apache configuration with a custom http port, you will have to update the WFS and WMS server name configuration properties via the MapGuide Site Administrator after installation if you intend to use such features. This is currently set to localhost:8008 for both.
#1985: 32-bit IIS configuration does not work on 64-bit windows. To fix this, set the "Enable 32-bit applications" property to true on the IIS application pool that is created by the installer.
- We have used a non-standard binary build of Apache/PHP to produce this installer, as a result some PHP extensions and Apache modules may not be available.
API changes and notes
RFC 110 A new API for rendering performance profiling
RFC 114 A new API for transaction save points
#649: When using MgFeatureService?.UpdateFeatures? or MgLayer?.UpdateFeatures? without a transaction, be sure to check the resulting collection for any MgStringProperty? instances, these instances contain the FDO error message for the matching command at the same position in the collection. This behaviour was not documented in previous versions of the API. The API documentation for 2.4 has been updated to reflect this.
New Server Configuration (serverconfig.ini) Options
RFC 122 introduces the MentorDictionaryPath? configuration property, which is the first place MapGuide Server will look for the coordinate system dictionary files. The MENTOR_DICTIONARY_PATH environment variable will be used instead if the specified path in serverconfig.ini does not exist
New Web Configuration (webconfig.ini) Options
RFC 122 introduces the MentorDictionaryPath? configuration property, which is the first place the MapGuide Web Tier will look for the coordinate system dictionary files. The MENTOR_DICTIONARY_PATH environment variable will be used instead if the specified path in webconfig.ini does not exist
Debugging Installer failures
If the installer fails, you can unpack the internal msi from the exe (see Disk Space section below) and run the msi like so:
msiexec /l*v install.log /i filenameofthe.msi
The Windows Installer engine will log all messages to install.log. Fatal errors thrown during installation are usually logged to this file. Be warned that this file can grow really large during installation.
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.
This list of submissions up to this release can be found here