[mapguide-users] MapGuide Maestro API upcoming changes

Jackie Ng jumpinjackie at gmail.com
Wed Sep 27 07:27:35 PDT 2017


Hi All,

For those of you who build applications on top of the MapGuide Maestro API,
I want to announce some major changes to the Maestro API that will be taking
effect right now.

The MapGuide Maestro API now supports .net standard 2.0. 

This means Maestro API can now be used on .net platforms like .net Core 2.0,
Xamarin and many more. A full table of supported .net platforms can be found
here: https://docs.microsoft.com/en-us/dotnet/standard/net-standard

The move to support .net standard 2.0 has flow-on effects around tooling and
developer experience.

If you build Maestro and/or Maestro API from source, you now require Visual
Studio 2017 and the .net Core 2.0 SDK to build.

Also, there will no longer be a SDK package to download. The primary way to
acquire and consume the Maestro API going forward is through nuget packages.
You can try some pre-release packages that are available on nuget right now:

 - Maestro API: https://www.nuget.org/packages/OSGeo.MapGuide.MaestroAPI/
 - MapGuide Object Models Library:
https://www.nuget.org/packages/OSGeo.MapGuide.ObjectModels/
 - (Optional) FDO Expression Parsing Library:
https://www.nuget.org/packages/OSGeo.FDO.Expressions/

New pre-release packages are uploaded to nuget on every successful AppVeyor
build.

All nuget packages include net461 full-framework targets. This was needed to
preserve strong naming of the Maestro API. The netstandard2.0 target is not
strong-named because certain platforms like .net Core does not support
strong-named assemblies. If you consume the Maestro API nuget package from a
full-framework class library, you'll be consuming the (strong-named) net461
target, so things should be as they were before.

Supporting tools and sample application code that were also included with
the SDK package have/will be offloaded to a separate GitHub repository,
which I'll announce once all the sample code and tools have been updated to
work against the new nuget packages.

In terms of API documentation, since there's no longer a SDK package and
thus no need to generate a CHM file for it, I'm investigating an alternative
to Sandcastle so we can generate and host the HTML content via GitHub pages
(or even better, readthedocs)

One major change in the actual Maestro API itself as a result of supporting
.net standard 2.0 and delivering via nuget packages is that the HTTP
connection provider is now integrated into the Maestro API assembly itself.
This means that ConnectionProviders.xml and registration of provider
assemblies is only required if you are using the local (mg-desktop) provider
or a tool-generated wrapper provider around the official MapGuide .net API.

Now if you're merely a user of the MapGuide Maestro authoring application.
None of what I've said about should apply. Things should be just like they
were before.

That should cover most of the changes. Looking forward to feedback on these
changes.

- Jackie



--
Sent from: http://osgeo-org.1560.x6.nabble.com/MapGuide-Users-f4182607.html


More information about the mapguide-users mailing list