Bug 153 - [chameleon] case sensitivity in keymap widget
: [chameleon] case sensitivity in keymap widget
Status: CLOSED FIXED
: Chameleon
Widget
: 1.99
: PC Windows 2000
: P3 minor
: 1.99 beta 2
Assigned To:
:
:
:
:
:
  Show dependency treegraph
 
Reported: 2003-11-28 16:06 by
Modified: 2004-06-29 16:33 (History)


Attachments


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2003-11-28 16:06:29
In the keymap widget 'epsg' in the srs parameter MUST be in lower case or else 
the keymap won't draw. e.g.:
SRS="epsg:42304"  works
SRS="EPSG:42304"  doesn't work

I would think that either should be acceptable.
------- Comment #1 From 2004-04-05 15:12:35 -------
This is also going to be an issue in 1.99 since it actually seems to be a
MapServer issue.  In general, attribute names are case-INsensitive but attribute
values are case sensitive.  For instance, if you have an image named KeyMap.png
then you must specify the attribute value as KeyMap.png on some operating
systems that treat filenames case-sensitively.  The same applies to epsg codes
from proj, I am not sure if this should actually be fixed or not in Chameleon
(or MapServer perhaps).  If fixed in MapServer then it would work for anything
that (ever) provides projection support.  If fixed in Chameleon then it will
likely  have to be implemented every time we come across a widget that takes an
SRS as a parameter (there are quite a few right now that would require the same
fix).

Comments welcome on this one.
------- Comment #2 From 2004-04-14 09:31:17 -------
unless someone comments on this, I'll close it as wontfix ...
------- Comment #3 From 2004-04-14 10:09:32 -------
The different cases in MapServer are a bit confusing I have to admit, but there
are technical (and performance) reasons behind them that can be justified for
MapServer as a toolkit I think. In MapServer, EPSG SRS are specified in one of
two ways:

1- In the PROJECTION object as 
   PROJECTION
     "init=epsg:42304"
   END

2- In wms_* metadata as "EPSG:42304" in uppercase.

#1 is passed directly to PROJ, MapServer doesn't control that format and the
epsg part of the init= argument is a filename, that's why it has to be
lowercase.  #2 is used for OGC-related metadata and uses the uppercase form that
OGC dictates.

However Chameleon doesn't have to repeat the same since it is targetted at a
different audience. Actually, what Chameleon does is not exactly in line with
either of MapServer's behavior: it creates a third way of setting SRS which is
to use "epsg:xxx" in lowercase, so it's not in line with anything MapServer does.  

I think I know why things were done this way internally: you probably just take
whatever value you receive and prepend it with "init=" before setting the
projection object.  So you're not passing the SRS value directly to MapServer
anyway, and since you're modifying the value anyway it might not be a huge deal
to adjust the cases.
------- Comment #4 From 2004-04-16 08:18:12 -------
I'll take a look at this one.
------- Comment #5 From 2004-04-16 08:32:03 -------
Scoured source for references to building a projection string from some user
input by appending it to "init=" and used strtolower on the user input to ensure
that the epsg text is lowercase before a new projection object is created. 
Following code was affected:

BoundingBoxPopup.widet.php
KeyMap.widget.php
MapImageWidget.widget.php
ProjectionSelector.widget.php
QuickZoom.widget.php
drawmap.php
------- Comment #6 From 2004-06-22 16:01:28 -------
verified, by editing local hawaii.map and html keymap widget using beta 2
2004-06-20.
------- Comment #7 From 2004-06-24 11:06:40 -------
change target to beta 2 for Linux verification and closer of bug 
------- Comment #8 From 2004-06-29 16:33:07 -------
Verified on Fedora Core 1 Chameleon 20040625 by modifying "keymap" widget
attributes in "hawaii_demo.html" like this:

<cwc2 type="KeyMap"
image="/home/nsavard/demos/hawaii_chameleon/htdocs/images/keymap.png"
width="100" height="75" color="-1 -1 -1" outlinecolor="255 0 0" minx="-160.5"
miny=" 18.37" maxx="-154.36" maxy="23" srs="EPSG:4326"/>