[mapserver-dev] Proposal to add built-in OpenLayers map viewer
Paul Spencer
pspencer at dmsolutions.ca
Mon Sep 27 17:36:21 EDT 2010
MapServer already supports something very much like this, you just need to put the path to the template (html file) in the WEB section of your map file. I suspect you can override that with tempate=[something] as part of the CGI parameters, although there are some security settings that need to be respected.
The advantage to Daniel's approach is that you don't need to have any external (local) dependencies, there are no templates to add to the various mapserver distributions and (presumably) no security constraints referencing external resources.
I think a separate effort that would be useful would be to build templates for viewer X, figure out the correct magic for invoking them for a given mapserver distribution (i.e. ms4w, fgs, etc) and provide instructions on how to make it work. Then ms4w users can develop a map file and know that they put TEMPLATE 'correct path' into their map files to have a quick preview using mode=browse
Cheers
Paul
On 2010-09-27, at 4:17 PM, Dan Little wrote:
> I sorta like the idea of "mode=browse" and then "template=[template]"
>
> Then have a "$prefix/share" directory that contains the "openlayers.html"
> template. So, "mapserv?..stuff..&mode=browse&template=openlayers", would then
> read form the share directory and regurgitate openlayers.html with any parsing
> freebies we could pore into it.
>
>
>
> ----- Original Message ----
>> From: "Lime, Steve D (DNR)" <Steve.Lime at state.mn.us>
>> To: Daniel Morissette <dmorissette at mapgears.com>; MapServer Dev List
>> <mapserver-dev at lists.osgeo.org>
>> Sent: Mon, September 27, 2010 1:45:37 PM
>> Subject: RE: [mapserver-dev] Proposal to add built-in OpenLayers map viewer
>>
>> Makes sense and would not prohibit other built in templates down the line. So
>> I'd be cool with mode=openlayers or even just mode=browse returning a basic
>> OL template if nothing else is defined.
>>
>> Steve
>>
>> -----Original Message-----
>> From: mapserver-dev-bounces at lists.osgeo.org
>> [mailto:mapserver-dev-bounces at lists.osgeo.org] On Behalf Of Daniel Morissette
>> Sent: Monday, September 27, 2010 1:11 PM
>> To: MapServer Dev List
>> Subject: Re: [mapserver-dev] Proposal to add built-in OpenLayers map viewer
>>
>> The need I'm trying to address is the ability for mapfile developers to
>> quickly test a mapfile just by typing a simple URL in their web browser.
>> While I can appreciate that admin tools and generic templates for all
>> sorts of viewers and frameworks would be nice to have, that is out of
>> scope for what I am currently proposing.
>>
>> What I propose is to add a simple function to mapserv.c (just a few
>> lines, really) that will spit out a few lines of HTML/JavaScript to
>> instantiate a very simple OpenLayers based viewer for a given mapfile
>> in response to a mapserv CGI request with mode=openlayers or a WMS
>> GetMap request with format=application/openlayers. I do not envision the
>> use of external or configurable templates for this since that would
>> imply dependencies on external files an I would ideally like something
>> really simple aimed at mapfile developers that works out of the box with
>> just the standalone mapserv executable and a regular mapfile without any
>> special configuration.
>>
>> Does my explanation make sense? Is this not considered useful enough by
>> itself to justify adding to the mapserv CGI? If there are no objections
>> to this little addition then I will write a RFC for it.
>>
>> Daniel
>>
>>
>> Lime, Steve D (DNR) wrote:
>>> So where are we at? I do like the idea. The technical solution, IMHO,
>>> will probably point to how this might work operationally. For example,
>>> if the plan were to simply embed a HTML/OL template in code then a
>>> mode=openlayers would make sense. However, if the template were stored
>>> externally and a basic one shipped with MapServer then I'd opt for
>>> mode=browse&template=openlayers. The advantage of the external templates
>>> is extensibility and users could edit the one(s) provided or add their
>>> own. They could also disable the functionality altogether by removing
>>> all templates. The downside is setting up access and then security. If
>>> external templates used the templating code and magic strings that would
>>> mitigate many issues...
>>>
>>>
>>>
>>> Steve
>>>
>>>
>>>
>>> *From:* mapserver-dev-bounces at lists.osgeo.org
>>> [mailto:mapserver-dev-bounces at lists.osgeo.org] *On Behalf Of *Tamas
>> Szekeres
>>> *Sent:* Friday, September 24, 2010 4:46 PM
>>> *To:* Daniel Morissette
>>> *Cc:* MapServer Dev List
>>> *Subject:* Re: [mapserver-dev] Proposal to add built-in OpenLayers map
>>> viewer
>>>
>>>
>>>
>>> Daniel,
>>>
>>> Adding a viewer with zoom and pan capabilities is a good idea which is
>>> better then having a single image in some cases. I foresee a reasonable
>>> Web administration interface to mapserver could also be established by
>>> such additions which would be a requirement too.
>>> However embedding code from a separate project seems to be a hassle,
>>> though the technical solution hasn't yet been mentioned in the ticket.
>>>
>>> I would be in favour of doing either:
>>>
>>> 1. Create a simple (mapserver specific) .js to provide the required
>>> functionality (which could be extended later with further options)
>>> 2. Provide a (pluggable) interface for use by the potential viewers in
>>> mapserver, and create a separate support package for at least one (like
>>> openlayers for instance) and include the external code to this package.
>>>
>>>
>>> (Just to put my 2 cents in)
>>>
>>> Best regards,
>>>
>>> Tamas
>>>
>>>
>>>
>>>
>>> 2010/9/24 Daniel Morissette <dmorissette at mapgears.com
>>> <mailto:dmorissette at mapgears.com>>
>>>
>>> This was discussed at the code sprint in Barcelona, and I just created a
>>> ticket for it. We'd like to add this to 6.0... but I am realizing just
>>> now that maybe I should start with a RFC...
>>>
>>> Anyway, here is what I wrote in the ticket, please feel free to comment,
>>> keeping in mind this has to remain __simple__:
>>>
>>> http://trac.osgeo.org/mapserver/ticket/3549
>>>
>>> Every once in a while we get requests for a simple way to test a
>>> mapfile. One way to handle this could be to do as GeoServer does and
>>> provide a built-in OpenLayers based map viewer. In the GeoServer case,
>>> this viewer is returned when one issues a WMS GetMap request with
>>> format=application/openlayers in it.
>>>
>>> I propose that we provide a similar functionality in MapServer, which
>>> would be triggered in one of two ways:
>>>
>>> 1- Using mapserv?map=/path/to/my.map&'''mode=openlayers''' ... in this
>>> case the viewer would be initialized based on the mapfile defaults, and
>>> some of the traditional mapserv CGI params may also work (such as map
>>> size, layer selection, etc.)
>>>
>>> 2- Using '''format=application/openlayers''' in a WMS GetMap request as
>>> GeoServer does. Note that in this case the rest of the GetMap parameters
>>> would be used to configure the map to view (BBOX, WIDTH, HEIGHT, LAYERS,
>>> etc.)
>>>
>>> Both cases would call the same function internally to produce a simple
>>> OpenLayeres viewer with one singletile layer for the whole map with the
>>> selected layers.
>>>
>>>
>>> --
>>> Daniel Morissette
>>> http://www.mapgears.com/
>>> _______________________________________________
>>> mapserver-dev mailing list
>>> mapserver-dev at lists.osgeo.org <mailto:mapserver-dev at lists.osgeo.org>
>>> http://lists.osgeo.org/mailman/listinfo/mapserver-dev
>>>
>>>
>>>
>>>
>>> ------------------------------------------------------------------------
>>>
>>> _______________________________________________
>>> mapserver-dev mailing list
>>> mapserver-dev at lists.osgeo.org
>>> http://lists.osgeo.org/mailman/listinfo/mapserver-dev
>>
>>
>> --
>> Daniel Morissette
>> http://www.mapgears.com/
>> _______________________________________________
>> mapserver-dev mailing list
>> mapserver-dev at lists.osgeo.org
>> http://lists.osgeo.org/mailman/listinfo/mapserver-dev
>>
>>
>> _______________________________________________
>> mapserver-dev mailing list
>> mapserver-dev at lists.osgeo.org
>> http://lists.osgeo.org/mailman/listinfo/mapserver-dev
>>
>
>
>
> _______________________________________________
> mapserver-dev mailing list
> mapserver-dev at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/mapserver-dev
__________________________________________
Paul Spencer
Chief Technology Officer
DM Solutions Group Inc
http://research.dmsolutions.ca/
More information about the mapserver-dev
mailing list