[mapguide-users] .NET Objects for working with Mapguide Resources
Darrin Maidlow
dmaidlow at landorgis.com
Sat May 24 16:46:50 EDT 2008
Hi Kenneth,
Thanks for the feedback. You are very right in that dual development
streams would be a bad thing and a waste of a lot of time. What I was
hoping to accomplish with that XSD codegen was to create a set of relatively
light weight objects to roundtrip the xml. Eliminate the use of XML tools
for working with the mapguide entities, then return the entities back to XML
for use with the Mapguide API. I was not planning a full API project.
Again, you are right in that there is still some messing around needed to be
done with the linq code - I had problems with nulls just as you mentioned =)
To answer your question, as far as I can see, the linq dll is required for
the generated code to function. A lot of the generated functionality
requires methods that exist within the linq to XSD dll file.
I spent some time trying to find more info on the MeastroAPI today, but was
not able to find much. Likely because of the move over to osgeo. I have
not had a chance to actually work with the API again yet, but perhaps you
could answer a couple questions for me.
Does Meastro API come with the abovementioned objects I was looking for?
Can I shove some XML from the repository into a new object, do some work,
and then spit the new XML back out? If so, I'm assuming that I could
continue to work with the web tier API from Mapguide?
thx
darrin
From: mapguide-users-bounces at lists.osgeo.org
[mailto:mapguide-users-bounces at lists.osgeo.org] On Behalf Of Kenneth
Skovhede, GEOGRAF A/S
Sent: Thursday, May 22, 2008 12:04 PM
To: MapGuide Users Mail List
Subject: Re: [mapguide-users] .NET Objects for working with Mapguide
Resources
That is a smart way to convert Xsd to classes. Is it possible to extract the
generated code and use it without LinQ for .Net 2.0?
I'm not sure what you mean by "wanted to stay closer to the core API". Your
generated classes expose the MapGuide Xml as .Net classes.
You can then use .Net objects "directly" instead of handling Xml. That is
exactly what the MaestroAPI does.
I have implemented a connection interface that enables you to communicate
with MapGuide either via the MapGuide API, or through Http.
If you use the LocalNativeConnection exclusively, MaestroAPI is doing the
exact same thing your code does.
If you (or someone else) has questions about MaestroAPI usage, please ask
away.
If you (or someone else) find missing functionality, or has improvements for
MaestroAPI, let me know.
I have a short introduction to MaestroAPI usage here:
http://code.google.com/p/mapstudioos/wiki/HowToUseMapGuideAPI
(The site is being migrated to here:
http://trac.osgeo.org/mapguide/wiki/maestro)
I like your code, and if you are up for it, I think we both could benefit
from one great API extension, rather than two good ones.
I have learned that after you have the serialization in place there are many
places where you must handle trivial stuff like
converting null string to empty string, empty collections to null
collections, etc. MaestroAPI handles much of this already,
and I would be sad to see you spend your time implementing that for another
project.
Regards, Kenneth Skovhede, GEOGRAF A/S
Darrin Maidlow skrev:
Hi Maksim,
I looked at early on in my learnage, but wanted to stay closer to the core
API provided by Mapguide Project / Autodesk. ADN support could offer some
help with the built in API, and if needed escalate off to the devs. I did
also have some problems getting the Maestro API running - but that was right
around the transition between 1.1 and 2.0 - and working all night with too
much redbull probably didn't help either =)
darrin
From: mapguide-users-bounces at lists.osgeo.org
[mailto:mapguide-users-bounces at lists.osgeo.org] On Behalf Of Maksim Sestic
Sent: Thursday, May 22, 2008 7:40 AM
To: 'MapGuide Users Mail List'
Subject: RE: [mapguide-users] .NET Objects for working with Mapguide
Resources
Hi Darrin,
Thanks for the tip. Please take a look at Kenneth's Meastro API:
http://trac.osgeo.org/mapguide/browser/trunk/Tools/Maestro/MaestroAPI
It relies on .NET 2.0 for MG types (de)serialization.
Regards,
Maksim Sestic
_____
From: mapguide-users-bounces at lists.osgeo.org
[mailto:mapguide-users-bounces at lists.osgeo.org] On Behalf Of Darrin Maidlow
Sent: Thursday, May 22, 2008 15:28
To: mapguide-users at lists.osgeo.org
Subject: [mapguide-users] .NET Objects for working with Mapguide Resources
Hi List,
I've written two posts I thought I would share with you on the topic of .NET
based MG dev. The first describes a method I've worked out to create
relatively robust .NET based objects based on the Xml Schema Definitions
provided with the server. Please note, I currently am only working with
MGE 2009. I have not tried this code on MGOS. If you do try them on MGOS,
please let me know what results have.
In a nutshell, one can get the resource XML from the resource service, load
it into the object with the provided .parse method, manipulate the object
(without having to use xml) e.g. add child objects, change properties etc,
and finally spit it back out to XML for saving back to the repository. Yay
no longer need to be jealous of the PHP guys and their object factories =D
The second is a dynamic authoring example using these objects, manipulating
the MapDefinition before the viewer has loaded it.
Both come with full source code, and Visual Studio 2008 projects. I hope
they are helpful to the other .NET devs out there.
http://www.webrade.com/blogs/darrin/2008/05/16/CreatingNETObjectsForMapguide
XMLSchemaDefinitionsXSDUsingLINQ.aspx
http://www.webrade.com/blogs/darrin/2008/05/21/DynamicAuthoringInMapguideEnt
erpriseBeforeTheViewerHasLoaded.aspx
Enjoy.
darrin
__________ NOD32 3118 (20080521) Information __________
This message was checked by NOD32 antivirus system.
http://www.eset.com
_____
_______________________________________________
mapguide-users mailing list
mapguide-users at lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/mapguide-users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/mapguide-users/attachments/20080524/418391e9/attachment.html
More information about the mapguide-users
mailing list