| Home | Products | Issue Tracker | Service Providers | FAQ | Twitter | Download

# Configuring TinyOWS with a standard Mapfile

## Mapfile Config File support for TinyOWS

TinyOWS supports as a configuration file a standard MapServer Mapfile. This allow a single file to configure both MapServer and TinyOWS. (e.g could be useful if you use them both, as one for WMS and the other as WFS-T)

TinyOWS does not handle all of the parameters in a Mapfile, but will ignore, without error, any extra parameters that are not implemented in TinyOWS.

If you prefer, you can configure TinyOWS using an XML file (Configuring TinyOWS with an XML File).

To indicate where your Mapfile is located, to TinyOWS binary, use the ‘’TINYOWS_MAPFILE’’ environment variable.

Here an example of a single Mapfile:

    MAP
        NAME "TinyOWS"

        WEB
             METADATA
                        "tinyows_schema_dir" "/usr/local/share/tinyows/schema/"
                        "tinyows_onlineresource" "127.0.0.1/cgi-bin/tinyows.fcgi"
                        "wfs_title" "TinyOWS service provided by a MapFile"
                        "wfs_contact" "foo@bar.net"
             END
        END

        LAYER
                NAME 'France'
                CONNECTIONTYPE postgis
                CONNECTION "host=127.0.0.1 user=postgres password=postgres dbname=tinyows_demo port=5432"
                METADATA
                        'wfs_title' 'France'
                        'wfs_namespace_prefix' 'tows'
                        'wfs_namespace_uri' 'http://www.mapserver.org/tinyows/'
                        'wfs_srs' 'EPSG:27582'
                        'tinyows_table'  'france'
                        'tinyows_writable' '1'
                        'tinyows_retrievable' '1'
                END
                DUMP TRUE
        END
    END

Current concepts and limitations:

- Only the PostGIS `CONNECTIONTYPE` is handled

- TinyOWS does not support all of the WFS parameters available in a Mapfile. But on the other hand, you are able to configure every part of TinyOWS with a Mapfile.

- The `CONNECTION` string value in each layer must be the same.

- Mapfile `PROJECTION` content is not parsed, so use explicit `wfs_srs`.

- Mapfile `LAYER` and `FILTER` are not parsed.

- Default values are TinyOWS ones, even for common properties shared by both TinyOWS and MapServer.

- TinyOWS does not use `DATA` element from Mapfile, so you have to use `tinyows_table` (and `tinyows_schema` if needed) in each layer.

- If `DUMP` is not set to `TRUE` on a layer, both read and write access are disabled for the layer.

## Mapfile path of each TinyOWS config element

Original TinyOWS XML Config File | Mapfile counterpart
--- | ---
/tinyows@online_resource | /map/metadata@tinyows_onlineresource
/tinyows@schema_dir | /map/metadata@tinyows_schema_dir
/tinyows@log | /map/metadata@tinyows_log
/tinyows@log_level | /map/metadata@tinyows_log_level
/tinyows@degree_precision | /map/metadata@tinyows_degree_precision
/tinyows@meter_precision | /map/metadata@tinyows_meter_precision
/tinyows@display_bbox | /map/metadata@tinyows_display_bbox
/tinyows@estimated_extent | /map/metadata@tinyows_estimated_extent
/tinyows@check_schema | /map/metadata@tinyows_check_schema
/tinyows@check_valid_geom | /map/metadata@tinyows_check_valid_geom
/tinyows@encoding | /map/metadata@wfs_encoding
/tinyows@db_encoding | /map/metadata@tinyows_db_encoding
/tinyows@expose_pk | /map/metadata@tinyows_expose_pk
/tinyows/limits@features | /map/metadata@wfs_maxfeatures
/tinyows/limits@geobbox | /map/metadata@tinyows_geobbox
/tinyows/pg@host | /map/layer@connection
/tinyows/pg@user | /map/layer@connection
/tinyows/pg@password | /map/layer@connection
/tinyows/pg@dbname | /map/layer@connection
/tinyows/pg@port | /map/layer@connection
/tinyows/pg@encoding | /map/metadata@tinyows_db_encoding
/tinyows/metadata@name | /map@name
/tinyows/metadata@title | /map/metadata@wfs_title
/tinyows/metadata@keywords | /map/metadata@wfs_keywordlist
/tinyows/metadata/abstract | /map/metadata@wfs_abstract
/tinyows/metadata@fees | /map/metadata@wfs_fees
/tinyows/metadata@access_constraints | /map/metadata@wfs_accessconstraints
/tinyows/layer@ns_prefix | /map/layer/metadata@wfs_namespace_prefix or /map/metadata@wfs_namespace_prefix
/tinyows/layer@ns_uri | /map/layer/metadata@wfs_namespace_uri or /map/metadata@wfs_namespace_uri
/tinyows/layer@name | /map/layer@name
/tinyows/layer@title | /map/layer/metadata@wfs_title
/tinyows/layer@retrievable | /map/layer/metadata@tinyows_retrievable and /map/layer@dump
/tinyows/layer@writable | /map/layer/metadata@tinyows_writable and /map/layer@dump
/tinyows/layer@schema | /map/layer/metadata@tinyows_schema
/tinyows/layer@keywords | /map/layer/metadata@wfs_keywordlist
/tinyows/layer/abstract | /map/layer/metadata@wfs_abstract
/tinyows/layer@srid | /map/metadata@wfs_srs and /map/layer/metadata@wfs_srs
/tinyows/layer@geobbox | /map/layer/metadata@tinyows_geobbox
/tinyows/layer@include_items | /map/layer/metadata@include_items
/tinyows/layer@exclude_items | /map/layer/metadata@exclude_items
/tinyows/layer@pkey | /map/layer/metadata@pkey
/tinyows/contact@name | /map/metadata@ows_contactorganization
/tinyows/contact@site |
/tinyows/contact@email | /map/metadata@ows_contactelectronicmailaddress
/tinyows/contact@individual_name | /map/metadata@ows_contactperson
/tinyows/contact@position | /map/metadata@ows_contactposition
/tinyows/contact@phone | /map/metadata@ows_contactvoicetelephone
/tinyows/contact@fax | /map/metadata@ows_contactfacsimiletelephone
/tinyows/contact@online_resource |
/tinyows/contact@address | /map/metadata@ows_address
/tinyows/contact@city | /map/metadata@ows_city
/tinyows/contact@administrative_area |
/tinyows/contact@country | /map/metadata@ows_country
/tinyows/contact@hours_of_service |
/tinyows/contact@contact_instructions |