Tuesday, 20 November 2012

Announcing: MapGuide Maestro 5.0 beta 5 and 4.0.4 maintenance

Here's another beta for Maestro 5.0 and a matching 4.0.4 maintenance release.

Since 4.0.4 is a maintenance release there isn't much to talk about other than there's bug fixes :)

So let's talk about the 5.0 beta instead. Here's what's new.

More SharpDevelop goodness

As already mentioned, we've expanded our use of SharpDevelop code and components to give us improved versions of existing functionality:

  • A smarter, more responsive IronPython REPL
  • XML folding support for the Generic XML editor
  • FDO Expression Editor syntax highlighting
Sadly, Mono did not want to cooperate with us despite our code (and the SharpDevelop version we're using) sticking to the Mono compatible subset of the Base Class Library + Windows Forms. So the zip distribution (which you would install for Mono) does not include the IronPython REPL functionality and uses the existing FDO Expression Editor implementation on Mono.

Local resource previews

As part of eating our own dogfood, previews for certain resources will now use our own built-in map viewer component. The main benefits of using a locally-based previewing mechanism that:
  • It is generally snappier as we don't have to spin up an external web browser to show the preview
  • It is smarter about the initial view if we're previewing layers where the scale range is not 0 - Infinity
  • Our preview UI has more niceties over the browser-based previewing mechanism
If this feature is not working for you or you prefer the old way of previewing things, you can turn this option off in the Application preferences.

Updated SDK

This is the first release in the Maestro 5.0 series to include a matching SDK. This includes some new samples
All these samples have been migrated to .net Framework 4.0 / VS 2010 (You can use the VS 2012 express editions as well if you so choose). You cannot use the Maestro 5.0 API in a version of the .net Framework that is older than 4.0.

As I hinted to when I started on the road to Maestro 5.0, the new SDK also contains a build tool to "roll your own" LocalNative provider, which lets you use the MaestroAPI over the official MapGuide API. This is a much more convenient way than me having to build a LocalNative provider for n specific versions of MapGuide

Simply point to where your official MapGuide .net API assemblies are and hit Build to build your LocalNative provider. Then you can use this provider by registering the dll in the ConnectionProviders.xml of your MaestroAPI application.

Please Note: Because this is still a beta, the Maestro APIs are not set in stone. APIs may still change from now until the final release.

Other cool stuff

We've tweaked the WMS Configuration UI to better handle some of the more obscure WMS servers I've encountered in my journey thus far.
  • You can now edit the FDO logical class name/description
  • You can also swap the class name/description individually or in a batch. This is a convenience function for some WMS Servers where the layer names actually end as the FDO logical class description instead of class name when processed by the WMS FDO provider.

We've also made the FDO class name encoding/decoding in Maestro to behave more like its FDO counterpart so that problems like this should no longer happen anymore. We've backed this up with the same test suite and data used to exercise the name encoding/decoding in FDO proper. Basically, you shouldn't get strange looking FDO class names anymore. They should get properly encoded and decoded.

When deleting a resource with dependent resources, we're now nice enough to tell you what they are

For folders, we just give you a catch-all question which may or may not be true, simply because we don't want to waste CPU cycles computing affected references if we happen to be trashing a big folder.

There is also a new context menu option for selected resources that allows you to compile a full dependency list for a given resource

This produces a list of resources that the selected resource either directly or indirectly depends on, which can be saved to a text file

This feature combines nicely with an improvement to the Package builder to allow packaging an explicit list of resource ids instead of a particular folder. Because sometimes, you just want to package a specific resource and everything it depends on, instead of a particular folder which may then package a whole bunch of other junk which you don't particularly want.

On the theming front, ColorBrewer color ramps can now be reversed if you so desire.

We've improved your ability to rapidly translate Web Layout and Flexible Layout documents, but previewing such documents (or any browser-based preview actually) in the AJAX/Fusion viewer will still default to using the en locale. You can now choose what locale that browser-based previews will default to in the Application preferences.

This has the effect of basically tacking a locale=your_selected_locale to whatever preview URLs you launch from Maestro

So with that all said and done ... Go forth and download!

1 comment:

mapNinja said...

Excellent as ever... can you do a post about when and why to use the tool to "roll your own" LocalNative provider