[mapserver-users] Parameterized MapFile using CGI variable

Fawcett, David (MPCA) david.fawcett at state.mn.us
Fri Apr 29 11:02:57 EDT 2011


Nicolas,

I didn't have a mapfile that utilizes connection handy, but I did test using INCLUDE to substitute the value for DATA in an individual layer.

Here is part of the layer definition:

LAYER
  NAME "watersheds"
  STATUS DEFAULT
  #DATA 'majclip'
  INCLUDE "inc_data_majclip.map"
  TYPE POLYGON

The file inc_data_majclip.map contains:

  DATA "majclip"

Based on this, I would assume that you should be able to do the same with the CONNECTION for each of your layers.

David.

From: Nicolas BOUTET [mailto:nicolas.boutet at geosys.com]
Sent: Friday, April 29, 2011 9:49 AM
To: Fawcett, David (MPCA); mapserver-users at lists.osgeo.org
Subject: RE: [mapserver-users] Parameterized MapFile using CGI variable

Thank you David,

Yes, using INCLUDE should be a good solution. But as I know in MapServer 5.6, CONNECTION is a parameter of my LAYER objects, and not an object itself. So I cannot have a CONNECTION object declared in a separate map file... And I prefer to not have to duplicate the layers in different map files.

Nicolas


De : Fawcett, David (MPCA) [mailto:david.fawcett at state.mn.us]
Envoyé : vendredi 29 avril 2011 16:37
À : nicolas.boutet at geosys.com; mapserver-users at lists.osgeo.org
Objet : RE: [mapserver-users] Parameterized MapFile using CGI variable

One potential way to do it would be with the use of 'include's.

http://mapserver.org/mapfile/Include.html

The primary mapfile wouldn't have a connection object, but it would contain:

INCLUDE "connect_info.map"

Then on each machine, you would have a different version of connect_info.map that contained the correct connection object for that machine.

This wouldn't give you the flexibility of changing it through the CGI interface, but would allow you to use the same exact mapfile on both machines.

David.

From: mapserver-users-bounces at lists.osgeo.org [mailto:mapserver-users-bounces at lists.osgeo.org] On Behalf Of Nicolas BOUTET
Sent: Friday, April 29, 2011 8:57 AM
To: mapserver-users at lists.osgeo.org
Subject: [mapserver-users] Parameterized MapFile using CGI variable

Dear All,

I have 2 MapServer servers. One for Production use, and the other for Validation use.
The MAP files placed on those servers are similar except that each server has a different Oracle database as datasource.
For now, I have some different CONNECTION values depending if the map file is on the Production or on the Validation server. So finally I must have different MAP files.

Is there a way to have exactly the same map files on the 2 servers, and to use a variable to parameterize the CONNECTION.

For example, I would like to set the CONNECTION of my layers to "%ORACLECONNECTIONSTRING%" and to set a CGI Environment variable named ORACLECONNECTIONSTRING to the correct value on each server.

Nicolas

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/mapserver-users/attachments/20110429/dd9dfd5d/attachment.html


More information about the mapserver-users mailing list