MapGuide Open Source 2.0.0 demo site

If you’re interested in seeing what the recently released MapGuide Open Source 2.0.0 with DM Solutions Fusion (which in turn uses OpenLayers) looks like, you’re in luck!

We’ve put together an experimental / beta server for us to demonstrate and test new features for MapGuide. For now, it’s showing MGOS 2.0.0 Release, with some minor tweaks to the templates to use 8bit PNGs. Have a look here:

http://mapguidebeta.osgeo.org/

-J

MapGuide Open Source: More Fusion, Less Confusion

Fusion is incredibly flexible and cool technology for building web mapping applications. It is also very new technology with limited documentation, leaving more than a few people wondering how to figure it out.

Not to worry, help is on the way! :)

With the MapGuide Open Source 2.0 Beta2 release, a bit of documentation for Fusion was quietly placed in the MapGuide section of the OSGeo download server.

These docs are still a bit “beta” (ie. incomplete), but there is some good information in there for anyone looking to get their feet wet with Fusion. I would suggest ignoring the “Installing and Configuring” doc. Start with “Introduction” (briefly), go on to “Generic Web Mapping Application Components”, then “Widget Concepts”, and finally “Create A Basic Web Mapping Application”.

Apart from the documentation, there is also a new template called “learn” included in the Beta2 installer. Look familiar?

New Fusion Template: Learn

That’s right, this looks a LOT like the existing “AJAX” viewer. Although it isn’t as fancy as the fusion templates that I posted about previously, it does have a lot of functionality. Fortunately, it is absolutely riddled with comments, and is a lot easier to reverse-engineer. It is a good starting point for beginning to understand some of the more involved Jx layout capabilities, advanced widgets, etc. You can find it in the MapGuide install directory, under

WebServerExtensions/www/fusion/templates/mapguide/learn/.

If you are looking for something more bite-sized to get started with, you might also find this small code sample useful:

http://trac.osgeo.org/mapguide/wiki/CodeSamples/Fusion/SuperSimple

This gives you an _extremely_ basic application that uses a few lines of straight HTML/CSS/XML and no JavaScript other than what Fusion loads itself. I obviously didn’t take too much time to make it look pretty:

Super Simple Fusion App

I have high hopes that the Fusion documentation will be considerably more complete before MapGuide Open Source 2.0 is released, but now early adopters have something to play with.

If you haven’t downloaded the latest beta, please help us to make it better by trying it out and reporting any problems.

-J

MapGuide Open Source 2.0 beta1: Chock full o’ goodness

Get ‘em while they’re hot, the MapGuide Open Source 2.0 beta installers are ready for your consumption.

Grab the source code or installers, and then head over to the samples page to find some Fusion layout examples to play with. The Milestone, Release, and Release Notes pages provide more information for the details-inclined.

This release absolutely has enough new features to justify a major version jump. Although the list of new features and bug fixes in this release is immense, a few of the biggies (in my mind) are:

  • Fusion Support (by DM Solutions Group)
  • Introduction of AGG rendering (optional)
  • Stability Improvements
  • JSON output format from CGI calls for easier AJAX

The initial Fusion technology preview was really cool looking, but this beta shows off what is possible to an even larger extent. Have a look at the following screen shots!

Fusion Example 1

Fusion Example 2

Fusion Example 3

Fusion Example 4

Fusion Example 5

If that doesn’t give you a reasonable idea of the flexibility and capabilities of MapGuide Open Source when coupled with Fusion, I don’t know what will :)

The AGG renderer, while somewhat less flashy, is nonetheless a major improvement in MapGuide’s ability to deliver nice looking maps to the user. Have a look at the GD version of a zoomed-in area of my cemetery map:

GD Renderer Example

And compare it to the AGG version of the same:

AGG Renderer Example

Pay special attention to the accurate rendering of line widths, and the nice smooth anti-aliasing.

Although stability has been addressed throughout the code base, another feature that I have been waiting for is losing FastCGI support in favour of a native Apache module and ISAPI extension. FastCGI caused intermittent service interruptions, and these new modules appear to have addressed this problem. My testing to this point has shown considerably higher stability.

And finally, JSON output from the MapAgent will make application developers’ lives a lot easier. Rather than getting back XML from the MapAgent, you can request JSON so you don’t have to deal with XML parsing any more.

Of course, with the amount of changes that went into this release under the hood, it’s likely that there will be some issues. Please make sure that if you run into a bug you report it.

-J

Listing MapGuide Data File Locations

Over on the MapGuide Users mailing list, Zac said: "it would be nice to add a text file listing the unmanaged resources"

Happy to oblige! :)

OK, not quite, but I’ve created a simple command-line PHP script that talks to the MapGuide repository and outputs a CSV containing the ResourceID and File Path for all data sources that I’ve recognised as file-based. I’ll leave it as an exercise for the reader to filter this to only show unmanaged data sources.

Sample output:

C:\MgTest\listpaths>php cli_listfiles.php admin

“Library://Test/Data/MyImages.FeatureSource”,”C:\TestData\img_ecw”
“Library://Test/Data/MyImages2.FeatureSource”,”C:\TestData\img_ecw”
“Library://Test/Data/MyImages3.FeatureSource”,”C:\TestData\img_sid”
“Library://Test/Data/ABC123.FeatureSource”,”C:\TestData\img_ecw\”
“Library://Test/Data/MyImages4.FeatureSource”,”C:\TestData\img_sid\”
“Library://ImageTest/Data/ImageTest.FeatureSource”,”C:\ImageTest”
“Library://ImageTest/Data/Tiled.FeatureSource”,”C:\ImageTest\”
“Library://SdfTest/Data/bc_border.FeatureSource”,”%MG_DATA_FILE_PATH%”

I think this shows how easy it is to throw around the XML that MapGuide uses in its repositories.

-J