[mapguide-users] MapAgent parameters

Paul Spencer pspencer at dmsolutions.ca
Fri Mar 31 07:26:53 EST 2006


Jason,

I think it is possible to use the COPYRESOURCE operation to copy a  
resource from the session into the library.  In the previous version  
of mapagent, this was not supported but I believe it was added in the  
latest release.

cheers

Paul



On 30-Mar-06, at 8:21 PM, Jason Birch wrote:

>
> Is there a way of persist these runtime map definitions?  Either in a
> defined area of the server repository, or as an xml definition in  
> an FDO
> data store that could be recovered at will?  Or some other way  
> (manually
> iterating all of the session's properties for storage and recovery as
> needed - ick)?
>
> I could see using this for something like bookmarks, but I'm also
> thinking along the lines of providing a "history" tool that would  
> allow
> users to open a dialog with a scrolling set of thumbnails showing  
> their
> last n queries/zooms/whatever.  We've had history lists in the web
> browser for quite some time, it would be nice to see a graphical  
> history
> list in a geo browser.
>
> Jason
>
> -----Original Message-----
> From: Trevor Wekel [mailto:trevor.wekel at autodesk.com]
> Sent: Thursday, March 30, 2006 16:37
> To: users at mapguide.osgeo.org
> Subject: RE: [mapguide-users] MapAgent parameters
>
> Hi Andy, Hi list,
>
> As you have found out USERNAME, PASSWORD, and SESSION are all valid  
> HTTP
> request arguments.  USERNAME and PASSWORD are not "officially"  
> supported
> since they are clear text arguments but I am checking with the team to
> see if we should support it officially.  Obviously it is quite useful.
>
> The SESSION argument is very powerful.  When an authenticated user
> creates a session identifier (through Studio, the Viewers, API,  
> etc), a
> temporary data store is created for the user.  This datastore is  
> called
> the session repository.  Virtually anything could be stored there  
> using
> the MgResourceService APIs - either via HTTP, or via php/aspx/jsp
> script.  The session identifier is a guid similar to
> "923e3fff-ffff-ffff-8000-005056c00008"
>
> When a map is displayed through the viewers, a temporary runtime  
> object
> is created in the session repository for that map.  This runtime  
> object
> can be manipulated from script or HTTP calls to change the view  
> state of
> the map.  The view state includes the visible layers, the scale  
> factor,
> the map center point, etc.  Walt gave a short introduction to  
> modifying
> the state via HTTP in his email.
>
> For additional information on modifying the runtime map via script,  
> take
> a look at the buffer.php/aspx/jsp script in the mapviewerphp/net/java
> folders.  It does some manipulation on MgMap.  MgMap is the API object
> that gives access to the runtime map.  Here's a short snippet of PHP
> code with some interesting bits.
>
> $cred = new MgUserInformation($sessionId);
>
> $site = new MgSiteConnection();
> $site->Open($cred);
> $resourceSrvc = $site->CreateService(MgServiceType::ResourceService);
>
> //load the map runtime state
> $map = new MgMap();
> $map->Open($resourceSrvc, $mapName);
>
> By default, runtime maps are created at the root of the user's session
> repository using the basename of the resource identifier for the map.
> For example, if your map definition is located at
>
> Library://ProfessionalDeveloper/ExcellentMap.MapDefinition
>
> Then the $mapName argument should be "ExcellentMap".  MgMap.Open will
> use the session identifier specified in the call to
> MgSiteConnection.Open.  Just as an example, the full resource  
> identifier
> for the runtime map will be "Session:(guid)//ExcellentMap.Map".
> MgMap.Open creates this resource identifier using the $mapName and
> sessionId.
>
> You can use
>
> $map->GetLayers()
>
> to get a list of the layers on the map, manipulate the layers, and  
> then
> save the new runtime state back to the session repository using
>
> $map->Save($resourceSrvc);
>
>
> The script you are building may also need to "kick" the viewer side to
> force an update on the map.  This is accomplished by sending some
> JavaScript back in the HTTP response.
>
> <html>
> </body onload="parent.mapFrame.Refresh()"></body>
> </html>
>
>
> Selection is stored as a separate object in the session repository  
> under
> "Session:(guid)//ExcellentMap.Selection"
>
> Selection can be programmatically accessed and modified via
>
> MgSelection.Open($resourceSrvc, $mapName);
> MgSelection.Save($resourceSrvc, $mapName);
>
>
>
> -----Original Message-----
> From: Andy Morsell [mailto:amorsell at spatialgis.com]
> Sent: Thursday, March 30, 2006 11:59 AM
> To: users at mapguide.osgeo.org
> Subject: RE: [mapguide-users] MapAgent parameters
>
> Another cool thing I just discovered along these lines.  If you have
> programmatically created a selection object on the server as part of a
> session, if you pass the SESSION at the URL, it will draw the  
> selection.
> In this case, since the session is already validated, you do not  
> need to
> pass username or password nor are you prompted for it.
>
>
> Andy
>
> -----Original Message-----
> From: Jason Birch [mailto:Jason.Birch at nanaimo.ca]
> Sent: Thursday, March 30, 2006 10:17 AM
> To: users at mapguide.osgeo.org
> Subject: RE: [mapguide-users] MapAgent parameters
>
> Hey,  what do you know...
>
> I tried adding USERNAME=Anonymous to the request and it worked  
> (because
> the password is blank).  I then tried adding USERNAME=Administrator  
> and
> it prompted for authentication.  I then tried adding
> PASSWORD=mysupersecretpassword to the request and this bypassed
> authentication.
>
> I had tried this earlier, but guessed USER instead of USERNAME...
>
> Jason
>
> -----Original Message-----
> From: Jason Birch [mailto:Jason.Birch at nanaimo.ca]
> Sent: Thursday, March 30, 2006 10:06
> To: users at mapguide.osgeo.org
> Subject: RE: [mapguide-users] MapAgent parameters
>
> Thanks James,
>
> I had thought about that, but passing authentication info in the  
> link is
> so broken (especially in Internet Explorer:
> http://support.microsoft.com/kb/834489) that it's not really useful.
> This is just a "nice-to-have" until I get to the point of redeveloping
> my reports in asp.net or php.  I could see it being useful for  
> providing
> access to map images on sites that do not have one of the supported
> languages installed though.
>
> Jason
>
> -----Original Message-----
> From: James Card [mailto:james.card at calcad.com]
> Sent: Thursday, March 30, 2006 09:06
> To: users at mapguide.osgeo.org
> Subject: Re: [mapguide-users] MapAgent parameters
>
> On Wed, 29 Mar 2006 20:44:05 -0800, Jason Birch  
> <Jason.Birch at nanaimo.ca>
> wrote:
>
>> It's cool to be able to just call something like this: <URL:
>> http://localhost/mapguide/mapagent/mapagent.fcgi? 
>> OPERATION=GETMAPIMAGE
>> &VERSION=1.0.0&MAPNAME=Sheboygan&LOCALE=en&MAPDEFINITION=Library%3A 
>> %2F
>> %2FSamples%2FSheboygan%2FMaps% 
>> 2FSheboygan.MapDefinition&FORMAT=PNG&SET
>> VIEWCENTERX=-87.73&SETVIEWCENTERY=43.74&SETVIEWSCALE=5000&SETDISPLAYD 
>> P
>> I=300&SETDISPLAYWIDTH=3000&SETDISPLAYHEIGHT=2100
>>>
>>
>> It would be nice if I could specify a userid on that line and have  
>> the
>
>> agent authenticate using that user with a blank password.  I would be
>> lazy enough to use this to enhance some existing cold fusion reports.
>
> You can do this by embedding the user credentials in the URL, like  
> this:
>
> <URL:
> http://UserID:Password@localhost/mapguide/mapagent/mapagent.fcgi?...
>> . However, some browsers block this or prompt the user with a
> confirmation dialog before submitting the request to the server, so it
> may still not do exactly what you'd hoped for.
>
> --
> James Card
> California CAD Solutions, Inc.
> 209 578-5580 Voice
> 209 521-6493 FAX
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe at mapguide.osgeo.org
> For additional commands, e-mail: users-help at mapguide.osgeo.org
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe at mapguide.osgeo.org
> For additional commands, e-mail: users-help at mapguide.osgeo.org
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe at mapguide.osgeo.org
> For additional commands, e-mail: users-help at mapguide.osgeo.org
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe at mapguide.osgeo.org
> For additional commands, e-mail: users-help at mapguide.osgeo.org
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe at mapguide.osgeo.org
> For additional commands, e-mail: users-help at mapguide.osgeo.org
>

+-----------------------------------------------------------------+
|Paul Spencer                           pspencer at dmsolutions.ca   |
+-----------------------------------------------------------------+
|Applications & Software Development                              |
|DM Solutions Group Inc                 http://www.dmsolutions.ca/|
+-----------------------------------------------------------------+








More information about the Mapguide_users mailing list