[mapserver-dev] Proposal to add built-in OpenLayers map viewer

christopher.schmidt at nokia.com christopher.schmidt at nokia.com
Mon Sep 27 19:46:50 EDT 2010


On Sep 27, 2010, at 7:21 PM, ext Stephen Woodbridge wrote:

> Daniel,
> 
> One technical question I have is regarding versioning of OpenLayers.
> Since I assume you are just hitting the OpenLayers.org to pull in the JS
> do you need to be concerned about versions?
> 
> I think you would probably be safe within the OL 2.X versions but I'm
> not sure what OL 3.X will bring. Hopefully the trivial nature of this
> implementation will be able to side step any of those potential issues.
> You might want to talk to the OL dev team regarding future proofing such
> an implementation.
> 
> Obviously if it breaks down the line, we can do a dot release to fix it.

I would recommend simply referring to:

  /api/2.10/OpenLayers.js

We produce versioned copies of these APIs for this kind of case.

-- Chris

> Anyway, something to think about.
> I'm guessing this will not be a big issue.
> 
> -Steve W
> 
> On 9/27/2010 5:36 PM, Paul Spencer wrote:
>> 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/
>> 
>> _______________________________________________ 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



More information about the mapserver-dev mailing list