= !MapGuide 2.4 Release Notes = !MapGuide Open Source 2.4 Official Release is now available! * Release wiki: [wiki:Release/2.4] * Milestone: [milestone:2.4 2.4] * [query:?status=closed&group=component&resolution=fixed&milestone=2.4&order=status Resolved Tickets] [[TOC]] == Installation == Binaries for Windows and Linux (Ubuntu 12.04 and CentOS 5.6) have been posted to OSGeo Windows 32 bit installer: * [http://download.osgeo.org/mapguide/releases/2.4.0/Release/MapGuideOpenSource-2.4.0.7096-Final-x86.exe MapGuideOpenSource-2.4.0.7096-Final-x86.exe] * Size: 126,019,823 bytes * md5: 90ce2675cafb4e3bbe028b7c83a9d302 Windows 64 bit installer: * [http://download.osgeo.org/mapguide/releases/2.4.0/Release/MapGuideOpenSource-2.4.0.7096-Final-x64.exe MapGuideOpenSource-2.4.0.7096-Final-x64.exe] * Size: 130,732,076 bytes * md5: f7f0ace6915eabefaf687f030b59aec9 Windows 32-bit InstantSetup bundle: * [http://download.osgeo.org/mapguide/releases/2.4.0/Release/MapGuideOpenSource-2.4.0.7096-InstantSetup-x86.exe MapGuideOpenSource-2.4.0.7096-InstantSetup-x86.exe] * Size: 127,658,344 bytes * md5: f72225810ac48374b21904d99d754cf1 Windows 64-bit InstantSetup bundle: * [http://download.osgeo.org/mapguide/releases/2.4.0/Release/MapGuideOpenSource-2.4.0.7096-InstantSetup-x64.exe MapGuideOpenSource-2.4.0.7096-InstantSetup-x64.exe] * Size: 131,635,066 bytes * md5: 67c1ac6b4651819be5d20100706f97da Ubuntu Linux 12.04 install script: * [http://download.osgeo.org/mapguide/releases/2.4.0/Release/mginstallubuntu.sh mginstallubuntu.sh] * Size: 14,379 bytes * md5: f40659ad76e09aa2c8998a586851a64f CentOS 5.6 install script: * [http://download.osgeo.org/mapguide/releases/2.4.0/Release/mginstallcentos.sh mginstallcentos.sh] * 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 [http://ant.apache.org Apache Ant] installed. * [http://download.osgeo.org/mapguide/releases/2.4.0/Release/fusion-buildtools.zip fusion-buildtools.zip] * 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: {{{ ant compress }}} 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 Compatibility == ||||32-bit||64-bit|| ||Windows XP SP3||Yes||Maybe*|| ||Windows Server 2003||Yes||Maybe*|| ||Windows Vista||Maybe+||Maybe+|| ||Windows 7||Yes||Yes|| ||Windows Server 2008||Yes+||Yes+|| ||Windows Server 2008 R2||N/A||Yes|| * IIS configuration will probably not work. Apache config should work due to its self-contained nature + Not tested, but similar enough to Windows 7 to theoretically work == Additional Post Release Patches == N/A == Notable changes / Closed tickets for final release == General: * #743: Preserve PNG8 transparency for AGG renderer and improve PNG8 quantization. * NuGet packages available for the MapGuide .net API Fusion: * [http://trac.osgeo.org/fusion/ticket/538 #538]: Use MapMessage for FeatureInfo widget digitizations * [http://trac.osgeo.org/fusion/ticket/537 #537]: Fusion build tools == Notable changes / closed tickets for RC2 == General: * #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 Fusion: * [http://trac.osgeo.org/fusion/ticket/538 #538]: Use MapMessage for displaying digitization status * [http://trac.osgeo.org/fusion/ticket/540 #540]: Fusion API documentation is now included with the installer * [http://trac.osgeo.org/fusion/ticket/530 #530]: Eliminate use of xml2json.php FDO: * [http://trac.osgeo.org/fdo/ticket/848 #848]: Fix undefined symbols in PostgreSQL FDO provider for linux == Notable changes / closed tickets for RC1 == * Fusion fixes: * [http://trac.osgeo.org/fusion/ticket/527 527]: Resize of map window with commerical layer in MapGuide breaks context menu * [http://trac.osgeo.org/fusion/ticket/529 529]: TOS-compliant OpenLayers patch to remove Google Maps data popup * [http://trac.osgeo.org/fusion/ticket/528 528]: Feature Info widget defects * 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 [wiki:MapGuideRfc110 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 2.4.0.6757 instead of 1.0.0.1) * #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 ([wiki:MapGuideRfc110 RFC 110]) * Web Tier directories now include SVN metadata, allowing for the pulling of viewer updates and fixes instantly with a subversion client ([wiki:MapGuideRfc111 RFC 111]) * Path scaling support in Symbol Definitions ([wiki:MapGuideRfc113 RFC 113]) * New Feature Service API for save points [wiki:MapGuideRfc114 RFC 114] * Improved Coordinate System conversion performance ([wiki:MapGuideRfc116 RFC 116]) * IPv6 support ([wiki:MapGuideRfc118 RFC 118]) * Support for enhanced URL information in Layer Definitions ([wiki:MapGuideRfc119 RFC 119]) * Configurable Coordinate System dictonary paths via serverconfig.ini and webconfig.ini ([wiki:MapGuideRfc122 RFC 122]) * Feature Join performance optimizations ([wiki:MapGuideRfc123 RFC 123] and [http://themapguyde.blogspot.com.au/2011/12/improving-feature-join-experience-or.html]) * Toggle-able tooltips for AJAX and Fusion viewers ([wiki:MapGuideRfc120 RFC 120]) * Lots of performance and usability improvements in Fusion (see [http://themapguyde.blogspot.com.au/2011/12/fusion-is-actually-usable-now.html this link] for an overview) Also included are features from the (cancelled) 2.3 milestone * Datum Transformation enhancements ([wiki:MapGuideRfc94 RFC 94]) * WMS 1.3.0 support ([wiki:MapGuideRfc95 RFC 95]) * QuickPlot command for AJAX and Fusion viewers ([wiki:MapGuideRfc96 RFC 96]) * EPSG/SRID code changes ([wiki:MapGuideRfc98 RFC 98]) * WFS 1.1.0 support ([wiki:MapGuideRfc106 RFC 106]) * Watermark support ([wiki:MapGuideRfc108 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 [wiki:SubmitTicket report any defects]. == FDO Compatibility == MGOS 2.4.0 is compatible with [http://fdo.osgeo.org/content/fdo-370-downloads FDO 3.7.0]. FDO is compiled against the Oracle 11.2 instant client available from [http://www.oracle.com/technology/software/tech/oci/instantclient/index.html?rssid=rss_otn_soft 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. == Installer notes == 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. * For IIS6 and below, download and install the FastCGI extension from [http://www.iis.net/download/FastCGI this link] * For IIS7 and above, you can install FastCGI by enabling the CGI feature of your IIS installation. See [http://learn.iis.net/page.aspx/246/using-fastcgi-to-host-php-applications-on-iis/#EnableFastCGI this link] for more information. * 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 [http://download.osgeo.org/mapguide/releases/2.0.2/samples/Sheboygan.mgp 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. == Known Issues == * [http://trac.osgeo.org/fdo/ticket/844 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. * 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 ~~{{{\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 [http://trac.osgeo.org/mapguide/browser/branches/2.4/MgDev/Web/src/mapadmin/performanceReport_MapViewer.php?rev=6771#L43 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''' These "ghost" directories may impact on future installations. To ensure these "ghost" directories are completely gone after uninstallation, use the appcmd.exe utility to remove these virtual directories. You can find out what virtual directories are still there by running {{{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 {{{}}} configuration section:~~ ~~{{{}}}~~ * 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 ==#ApiChanges [wiki:MapGuideRfc110 RFC 110] A new API for rendering performance profiling [wiki:MapGuideRfc114 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 == [wiki:MapGuideRfc122 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 == [wiki:MapGuideRfc122 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. == 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 [http://www.7-zip.org 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. == Submissions == This list of submissions up to this release can be found [http://trac.osgeo.org/mapguide/timeline?from=04%2F27%2F12&daysback=376&changeset=on&update=Update here]