Most of what's thrown out was the UI code, the backend stuff has been re-organised to be more cleaner and clearer.
The main changes you'll see API-wise are: * No giant, monolithic ServerConnectionI (now called IServerConnection) interface. Methods that were in this interface are now broken up and added to the respective service interfaces (IFeatureService, IResourceService, etc). These service interface are accessible from the server connection interface. The server connection is still your root object in this new API. Most of the underlying implementation of this connection remains the same, just a re-org of the API into something more manageable. * Implementations of the server connection interface now reside in separate assemblies so there's one for http, one for the official MapGuide API. ConnectionProviders.xml is used to determine which appropriate impl to return, but from the consumer's perpsective, they still see and interact through the same interface. * All resources are defined via interfaces, so you have: - IFeatureSource - ILayerDefinition - IMapDefinition - IWebLayout - etc, etc All xsd generated classes implement these interfaces. The server connection will handle all the serialization and deserialization for you (Just like before). If you need to create fresh instances, you use the new ObjectFactory class to create any resource type you need. This plugs up a major hole in the previous xsd generated classes where you normally have to init all the reference fields/properties of a resource object manually (such was the quality of the code generated by xsd.exe), otherwise you may get a NullReferenceException. These interfaces cover the properties exposed through the v1.0.0 schema of each respective resource type. Changes in newer versions are exposed via separate interfaces (eg. IWebLayout2 interface for the WebLayout 1.1.0 schema, which exposes a ping server property), and you can use version checking built into each resource interface to determine whether it is safe to cast to these newer interfaces to tap in to that extra functionality. In summary: More modular server connection interface, access resource objects (most things in this API actually) through interfaces. Definite break in backward compatibility. - Jackie -- View this message in context: http://osgeo-org.1803224.n2.nabble.com/Seeking-testers-for-Maestro-3-0-tp5653936p5654381.html Sent from the MapGuide Users mailing list archive at Nabble.com. _______________________________________________ mapguide-users mailing list [email protected] http://lists.osgeo.org/mailman/listinfo/mapguide-users
