I believe that in 2.0, Map Suite has the methods SaveToXML and LoadToXML for saving and loading the settings of the map. While this is not very handy, you can also modify with an XML editor the XML file if you want to change some settings non programatically. I could not find anything comparable in 3.0. MapInfo has geoset manager with .GST files and ESRI has .MXD files. What is ThinkGeo's strategy for offering an easy, robust API for saving, modifying and loading the settings of the map in 3.0. Thank you.
How to save, modify and load the settings of the map?
Adolfo,
I’m glad you asked. Our plan is to use WCF data contracts on all of our objects to be be able to serialize and deserialize them. The 2.x method had many downsides especially when we added new methods and properties. With WCF we can version the data contracts and handle new properties easily. The other advantage is that we can control exactly what the XML looks like as far as property names etc. This will make the XML nice looking and more intuitive.
Currently we have been focusing on getting the releases out of beta so the API is locked down. Since we are now there this was the next phase in the plan. For the next major release we plan to have the entire core annotated with WCF contracts.
This won’t be release overnight and we are targeting May or June for that release. At the same time we have the User Manual, final release of the Desktop Edition, beta of the SilverLight edition and a few other things.
Currently we have open and close on all the objects that hold state that need to be closed. If you close them all of the objects are serialization through the soap formatter and binary formatter. The only bad thing with these is that they do not handle versioning at all. This is why we are going with WCF.
We are always open to comments and suggestions as well.
David
I have a follow up question. In 2.x, the installation of Map Suite comes with Map Suite Explorer which, to my understanding, is a simple viewer for loading and modifying the styles of layer. You can also save the entire map with its settings to XML and then load the entire map to the control using LoadFromXML. In 3.x, you also get a Map Suite Explorer but there does not seem to have a way to save and load the settings of the map.
Is the WCF strategy you are talking about for serialization going to be integrated in the future Map Suite Explorer to give the convenience of saving the settings?
I think this is a huge benefit for the developer to have that tool. ESRI, MapInfo provide such a tool, as well as Tatuk with their Free Viewer.
tatukgis.com/products/viewer/viewer.aspx
Adolfo,
Yes, when we come out with the WCF contract we will include this in Map Suite Explorer. To give you a little glimpse into what we are planning we are going to really enhance Map Suite Explorer into a complete platform. This will include a plug-in system, a scripting system based on .net languages and really make it a first class product. This is for the second half of 2009 but it will be an exciting project. We want you to be able to build applications in it if you choose and supply many of the scripts for common GIS practices like projection, polygon simplification and others. This will also of course include a way to save your work and bring it all back up later from an XML file.
David