MS RFC 8: Pluggable External Feature Layer Providers

Frank Warmerdam warmerdam at POBOX.COM
Thu Oct 27 09:21:31 EDT 2005

On 10/27/05, Daniel Morissette <dmorissette at> wrote:
> So this means that the PLUGINLIB parameter needs to be set explicitly
> for each layer that uses a given plugin? Is the value the full path to a
> .so file (DLL on Windows)? e.g.
> PLUGINLIB  "/opt/mapserver/plugins/"
> This could make it painful to migrate mapfiles from windows to Linux
> because then you need to edit every single layer to change the path and
> extension.
> How about a more automated mechanism where we set a MS_PLUGIN_DIR
> variable in the environment prior to calling MapServer or via a CONFIG
> directive at the map level, then the PLUGINLIB becomes a PLUGIN keyword
> whose value is the basename of the plugin file?


The dynamic shared library loading code (on win32 and linux)
normally looks in the current shared library path to pick up
unqualified shared library names.  So folks can just put
"" and it would look in various places, including
wherever it is picking up the shared libraries that mapserver
depends on.

However, I do think it is a good idea for the plugin code
to add ".so" or ".dll" as needed for the platform if only a
basename is provided.  I also think it is a good idea for
to support an optional MS_PLUGIN_DIR config variable
to predefine a directory to look in for plugins.

I also like the idea of "CONNECTIONTYPE PLUGIN"

Best regards,
I set the clouds in motion - turn up   | Frank Warmerdam, warmerdam at
light and sound - activate the windows |
and watch the world go round - Rush    | Geospatial Programmer for Rent

More information about the mapserver-dev mailing list