Thursday, 9 February 2012

A roadmap update for Maestro

Thought I might give an update about the state of play with the roadmap for MapGuide Maestro

Maestro 5.0

Maestro 5.0 will become the next major release. Here's a brief overview of what you can expect for this release:

  • This will be the first release targeting .net Framework 4.0
  • An addin for working with GeoREST
  • An addin to provide scripting/automation capabilities to Maestro with the IronPython scripting engine.
  • Trickling of assorted functionalities from FDO Toolbox
  • And much more!
The Maestro 5.0 SDK will also hopefully improve your application development experience
  • The Maestro API includes new interfaces for feature source manipulation (Insert, Update, Delete, Apply Schema). The LocalNative connection will have full support for these operations. 
  • The HTTP connection will have partial support for feature source manipulation (currently only Insert) if you include a new GeoREST url connection parameter (there is an implicit assumption here that the mapagent and GeoREST urls you are connecting to are both talking to the same MapGuide Server).
  • LocalNative connections no longer wrap the official API through ugly hacks like assembly binding redirection. LocalNative connection providers will directly reference the official MapGuide .net assemblies.
  • The Maestro SDK will include a new signing utility to automate the previously tedious process of signing the official MapGuide .net assemblies
  • The Maestro SDK will include the source code of the LocalNative connection provider so you can "roll your own" connection provider against your specific version of MapGuide/AIMS

These features will be showcased on this blog as they become implemented and refined. No definite timeline for release, so don't ask :-)

Maestro 4.x maintenance branch

For those of you using the Maestro API, moving to .net Framework 4.0 could be a game changer as the 4.0 CLR may introduce different behaviour to your existing .net code and/or the .net libraries your code uses. The reason for the change is to be able to have LocalNative connection provider support for future releases of MapGuide/AIMS, whose .net assemblies will be targeting .net Framework 4.0.

Maestro, being a .net 2.0 application cannot reference or load assemblies of a newer framework version, so this migration to .net Framework 4.0 is one of necessity. Mono support for .net Framework 4.0 is already quite stable (and we don't venture too far from the well supported subset of WinForms + BCL), so nothing breaking on this front.

So as to not impose an overly breaking change to the existing Maestro API users out there, we will maintain a 4.x branch that will remain targeting .net Framework 2.0 and will only receive bugfixes and minor enhancements. The features I've outlined above will not make it to this branch. Such fixes and minor enhancements will only be made on this maintenance branch only if there is demand for it.


SpatialGeek said...

Is MgCooker.exe working in Maestro via local platform.ini. I am getting the:
Failed to log on because: Could not load file or assembly 'OSGeo.Mapguide.Desktop, Version - 2.4.0,

SpatialGeek said...
This comment has been removed by a blog administrator.
Jackie Ng said...

MgCooker is not enabled for local connections yet, which is why it doesn't currently work.