Thursday, 2 April 2015

Announcing: MapGuide Maestro 6.0M4

Just so I don't scare you people off with the "alpha" label, I'll be calling these releases "milestones" instead :)

So here's the 4th milestone release of Maestro 6.0, here's the goodies you can find in this release.

MapGuide 3.0 support

Maestro now supports the new resource types and schema revisions introduced with MapGuide Open Source 3.0

The new Tile Set Definition resource has specialized editor support.

Map Definitions using the new schema, have the option of the choice of tile source

An inline tile source will be as before, where you can define base map groups and layers within the Map Definition.

An external tile source, will replace the base map UI with a new UI that simply asks for the Tile Set Definition you want to link against.

When linking against a Tile Set Definition, it is important to note that its coordinate system will take precedence

Also important to note is that you can only link to Tile Sets using the Default tile provider. Linking against XYZ tile providers is not supported in MGOS 3.0 and Maestro will prevent such an action from taking place.

MgCooker has also been updated to support tile seeding of Tile Set Definitions.

However, only Tile Set Definitions using the Default tile provider are supported. For Tile Set Definitions using the XYZ provider, consider using other tile seeding mechanisms for now.

FDO Expression and Filter support

Maestro now supports the ability to parse FDO Expression and Filter strings in pure 100% managed .net code without needing to use FDO itself. This feat was made possible through the use of the Irony language implementation library which made implementing the grammar and appropriate parsers for the FDO expression and filter syntax a dead simple affair.

With the ability to parse FDO Expressions and Filters, our Expression Editor is enhanced as follows:

We now have the ability to validate the given filter or expression for syntax validity.

With the ability to analyse the structure of FDO filters and expressions, we can now also ensure you are referencing valid identifiers in your filter or expression. Such invalid identifiers will be caught by the validation process.

Finally, a new tool is included that lets you see the parse tree of the given filter or expression.

As a developer, this functionality is accessible in its own 100% managed .net class library (OSGeo.FDO.Expressions.dll) should you have a need to parse FDO filters and expressions in your application without using FDO itself.

Reading user input from IronPython console

The IronPython script console now supports reading user input from stdin with Python's input() and raw_input() functions. Previously, you would've had to construct your own input GUIs and display them in order to capture any user input from your IronPython scripts.

With this in place, such workarounds are no longer required and allows for more flexible Maestro automation scripts as a result.

Advanced Stylization editor improvements

We've improved the Composite Symbolization editor to better work with component symbols.

Firstly, component symbols now show the applicable geometry context.

Secondly, component symbols can be re-ordered as ordering affects how the final composite style will look, so having the ability to re-order component symbols is important.

Finally, the best bit of these improvements is that now you can export a component symbol out to its own Symbol Definition.

This promotes better re-use of Symbol Definitions within layers as you can already use an external Symbol Definition as a component symbol. This new feature helps to make this process much more streamlined.

mapguide-rest support

Maestro now includes a dedicated addin to easily author up, upload and manage restcfg.json files in mapguide-rest.

This addin takes advantage of new authoring APIs introduced in mapguide-rest 1.0 RC1, and thus this is the minimum required version of mapguide-rest that this addin will work with.

This feature deserves its own blog post so stay tuned.

Other stuff

We've now moved to .net Framework 4.5. This means Maestro will no longer run on Windows XP.

From a developer perspective, we've done some major re-structuring to allow for better developer scenarios. The most pertinent example being that all the various ObjectModels assemblies have now been combined into a single assembly. Referencing this single assembly gives you the ability to work with every supported resource and schema revision from MapGuide 1.0 to MapGuide 3.0 as strongly-typed classes instead of XML.



Chad Snoke said...

Can you explain to me how to add a raster from PostGIS into maestro throug the PostGIS provider? I've loaded the raster into PostGIS using the raster2pgsql.. but when I add it as a feature source and then raster layer I get an geometry error. What am I doing wrong?

Jackie Ng said...

The PostGIS FDO provider is vector data only. You'll have to consume the raster data through other means (probably the GDAL FDO provider with a GDAL binary that has PostGIS raster support built in)

Chad Snoke said...

Thanks for the tip Jackie... I've found documentation on this but can't get it to work. Very frustrating.. why wouldn't this be built in, out of the box function?

Jackie Ng said...

This is because when we build GDAL and OGR from source, we build using the standard profile of supported drivers (ie. Any driver in the links below where "Compiled by default" is "Yes")

It is not possible for us to build GDAL and OGR from source with support for every known driver out there, either due to licensing or logistics, which is why the standard response has always been to use a different GDAL dll built with the same MSVC compiler used for MapGuide that has been built with support for a greater range of raster/vector data formats.

Up to MapGuide 2.5.2, was the place to get such custom GDAL binaries.

For MapGuide 2.6 onwards? You're out of luck as that site does not offer MSVC 2012 compiled verion of GDAL 1.10

Chad said...

That must be the reason I can't get 2.6 to work with any of the DLLs I try.

It just seems like raster support out of Post would be a pretty basic request.

How would you recommend storing and serving out a raster layer.. since Post isn't an option for me?

Jackie Ng said...

I'm looking at doing a custom build of GDAL 1.10 that you can drop in and replace your MapGuide 2.6 or 3.0 copy that has a greater range of vector and raster format support.

It won't be the kitchen sink in terms of format support, but PostGIS raster and vector should have support in this custpm GDAL build

Jackie Ng said...

You can try a custom build of GDAL 1.10 I just made available that you can use with MapGuide 2.6 or 3.0:

This build has PostGIS raster support.

נמרוד כנען said...

1. We are getting Error message when you try to save LayerDefenition XML Edit mode, for all layers - able to do so (save) only after deleting "Empty space falowing the last XML row in file"

2. Unable to save changes for Layer property's "Display Name".

Chad Snoke said...

It is extremely important when you create the data definitions and the rest, that you follow the work flow in the documentation. It is frustrating how stringent the workflow is, but follow the steps exactly. The other thing is you really can't modify the data set after defining it too much.. I noticed it caused problems with layers not showing up.

Gabby Michaels said...

Thanks for the blog Jackie. I'm a newbie. Maestro 6.0 worked perfectly on GDAL (new resource > feature source > GDAL provider), and my tif raster appears seamless on browser along with vector. Now I want to learn about Mapguide-Rest. I'm looking for tutorial of Rest explorer on Maestro. Why can't I login to http://localhost:8008/mapguide/rest/v1?

massi said...

can i use maestro with IMS 2018 ???

Best regards

Jackie Ng said...

Maestro will work with any version of MapGuide/AIMS going forward unless that release changes/removes one or more mapagent APIs that Maestro uses, which is almost never the case.