From ee69289ad53a4c59af8a75eb7f3d540ce94ec38a Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 16 Sep 2024 11:35:18 +0000 Subject: [PATCH] Deployed 030c72c to master with MkDocs 1.4.2 and mike 2.0.0 --- master/references/qwc-admin-gui/index.html | 2 +- .../references/qwc-config-generator/index.html | 2 +- master/references/qwc-data-service/index.html | 2 +- master/references/qwc-db-auth/index.html | 2 +- .../references/qwc-document-service/index.html | 2 +- .../references/qwc-elevation-service/index.html | 2 +- master/references/qwc-ext-service/index.html | 2 +- .../qwc-feature-info-service/index.html | 2 +- master/references/qwc-ldap-auth/index.html | 2 +- master/references/qwc-legend-service/index.html | 2 +- master/references/qwc-map-viewer/index.html | 2 +- .../references/qwc-mapinfo-service/index.html | 2 +- master/references/qwc-ogc-service/index.html | 2 +- master/references/qwc-oidc-auth/index.html | 2 +- .../references/qwc-permalink-service/index.html | 2 +- master/references/qwc-print-service/index.html | 2 +- master/references/qwc-search-service/index.html | 2 +- .../qwc-services-permissions/index.html | 2 +- master/search/search_index.json | 2 +- master/sitemap.xml.gz | Bin 232 -> 232 bytes master/topics/Reports/index.html | 14 ++++++++------ 21 files changed, 27 insertions(+), 25 deletions(-) diff --git a/master/references/qwc-admin-gui/index.html b/master/references/qwc-admin-gui/index.html index 7ef97179..f1aab4b2 100644 --- a/master/references/qwc-admin-gui/index.html +++ b/master/references/qwc-admin-gui/index.html @@ -139,7 +139,7 @@

QWC Admin GUI

-

QWC Admin GUI

Type: object

JSON Schema

Type: stringFormat: uri Default: "https://raw.githubusercontent.com/qwc-services/qwc-admin-gui/master/schemas/qwc-admin-gui.json"

Reference to JSON schema of this config

Service name

Type: const
Specific value: "admin-gui"

Config options

Type: object

Type: string

DB connection URL

Type: string

The name of the DB schema which stores the qwc config. Default: qwc_config

Type: string

Config generator URL

Type: boolean

Show TOTP fields for two factor authentication

Type: array of object

Additional user fields

No Additional Items

Each item of this array must be:

Type: array of object

List of RegExes for whitelisted URLs

No Additional Items

Each item of this array must be:

Type: integer

Timeout in seconds for proxy requests

Type: string

Title displayed in Admin Gui home page

Type: string

Subtitle displayed in Admin Gui home page

Type: string

Solr Service base URL for collection

Type: string

Solr DataImportHandler for tenant

Type: string

Path to source DataImportHandler config file for tenant

Type: string

Path to Solr configs

Type: number

Wait time in seconds for checks during Solr index update

Type: integer

Max number of retries for checks during Solr index update

Type: string

URL to favicon

Type: array of string

List of plugins to load

No Additional Items

Each item of this array must be:

Type: string

Type: string

The path to the input configs. Required for 'themes' and 'config_editor' plugin.

Type: string

The path to QWC2 files. Required for 'themes' and 'alkis' plugins.

Type: string

The path to the QGIS projects. Required for 'themes' plugin.

Type: string

The path to the html info templates. Required for 'themes' plugin.

Type: string

The OGC service URL path prefix, i.e. /ows. Required for 'themes' plugin.

Type: string

The QGIS project file extension to look for. Default: '.qgs'

Type: string

The default Qgis server URL. Required for 'themes' plugin.

+

QWC Admin GUI

Type: object

JSON Schema

Type: stringFormat: uri Default: "https://raw.githubusercontent.com/qwc-services/qwc-admin-gui/master/schemas/qwc-admin-gui.json"

Reference to JSON schema of this config

Service name

Type: const
Specific value: "admin-gui"

Config options

Type: object

Type: string

DB connection URL

Type: string

The name of the DB schema which stores the qwc config. Default: qwc_config

Type: string

Config generator URL

Type: boolean

Show TOTP fields for two factor authentication

Type: array of object

Additional user fields

No Additional Items

Each item of this array must be:

Type: array of object

List of RegExes for whitelisted URLs

No Additional Items

Each item of this array must be:

Type: integer

Timeout in seconds for proxy requests

Type: string

Title displayed in Admin Gui home page

Type: string

Subtitle displayed in Admin Gui home page

Type: string

Solr Service base URL for collection

Type: string

Solr DataImportHandler for tenant

Type: string

Path to source DataImportHandler config file for tenant

Type: string

Path to Solr configs

Type: number

Wait time in seconds for checks during Solr index update

Type: integer

Max number of retries for checks during Solr index update

Type: string

URL to favicon

Type: array of string

List of plugins to load

No Additional Items

Each item of this array must be:

Type: string

Type: string

The path to the input configs. Required for 'themes' and 'config_editor' plugin.

Type: string

The path to QWC2 files. Required for 'themes' and 'alkis' plugins.

Type: string

The path to the QGIS projects. Required for 'themes' plugin.

Type: string

The path to the html info templates. Required for 'themes' plugin.

Type: string

The OGC service URL path prefix, i.e. /ows. Required for 'themes' plugin.

Type: string

The QGIS project file extension to look for. Default: '.qgs'

Type: string

The default Qgis server URL. Required for 'themes' plugin.

diff --git a/master/references/qwc-config-generator/index.html b/master/references/qwc-config-generator/index.html index e6eadb89..5d826a0b 100644 --- a/master/references/qwc-config-generator/index.html +++ b/master/references/qwc-config-generator/index.html @@ -139,7 +139,7 @@

QWC Config generator

-

QWC Config generator

Type: object

JSON Schema

Type: stringFormat: uri Default: "https://github.com/qwc-services/qwc-config-generator/raw/master/schemas/qwc-config-generator.json"

Reference to JSON schema of this config

Optional, path to a tenantConfig template. If specified, the contents of the file is merged with the contents of tenantConfig.json. Any occurence of $tenant$ in the template will be replaced with the current tenant name.

Type: string

QWC2 themes configuration


Type: object

Corresponds to contents of standalone QWC2 themesConfig.json

Type: object
Type: string

Path to themesConfig.json

Config options for Config generator

Type: object

Type: string

Tenant name. Example: default

Type: stringFormat: uri

Connection URL for configuration database. Example: postgresql:///?service=qwc_configdb

Type: string

The name of the DB schema which stores the qwc config. Default: qwc_config

Type: stringFormat: uri

Default QGIS Server URL for OGC requests. Example: http://qwc-qgis-server/ows/

Type: string

OWS service path prefix. Defaults to the path component of defaultqgisserverurl. Used to form the urls of autodetected projects below qgisprojectsscanbase_dir. Example: /ows

Type: string

The QGIS project file extension to look for. Default: '.qgs'

Type: string

Base path for QGIS projects. Example: /data

Type: string Default: "/layouts"

Directory containing print layouts.

Type: string

Subdirectory path relative to qgisprintlayouts_dir. If specified, only layouts within this subdir will be processed. Useful to specify separate print layouts per tenant.

Type: string Default: "/reports"

Directory containing the jasper report templates (*.jrxml).

Type: string

Path for QGIS projects, which should be automatically detected. Must be a subdir qgisprojectsbase_dir. Example: /data/scan

Type: boolean

Option to group scanned projects by directory in themes configuration. Default: false

Type: boolean

Option to save scanned projects and groups in themes configuration. Requires write access to INPUTCONFIGPATH for config generator service. Default: false

Type: boolean

Set whether resources are permitted or restricted by default. Example: true

Type: boolean

Whether info service/layer/attribute permissions should be inherited from the corresponding map/layer/attribute. Only useful if permissionsdefaultallow=false. Default: false

Type: boolean

Validate configuration against schema. Example: true

Type: string

Target path for generated service configs and permissions, if not set by $OUTPUTCONFIGPATH. Example: /config-out

Type: string

Path to the QWC2 directory, which will be used to autodetect thumbnails. If qgisprojectsscanbasedir is not set, then this option will be ignored. Example /qwc2

Type: boolean

Skip group layers containing print layers

Type: object

Layer opacity values for QGIS <= 3.10

Type: number

Timeout for GetProjectSettings, GetCapabilities and DescribeFeatureType requests. Default: 60sec

Type: boolean

Whether to automatically generate data service datasets used for key-value relationships without requiring corresponding data resources to be created. Warning: this will expose the key and value fields of the key-value table as world readable. Default: false

Type: boolean

Whether to generate nested nrelation forms instead of a tabluar view. Default: false

Type: boolean

Generate WFS service resources and permissions for the OGC service. Default: false

Type: object

Whether to use the default mapthumb (mapthumbs/default.jpg) instead of generating the thumbnail via GetMap if no custom thumbnail is provided. Default: false

Type: boolean

Ignore errors during generation to allow creating configuration files despite some errors. Default: false

Service configs

Type: array

Service specific config options for generating their service configs

No Additional Items

Each item of this array must be:


Generator config for a service

Type: object

Generator config for a QWC service

Type: string

Service name

Type: object

QWC service config options (cf. its JSON schema). This is copied unmodified to the service config.

Type: object

Generator config for Map Viewer

Type: const

Service name

Specific value: "mapViewer"

Type: object

Additional config for generating MapViewer resources

Type: object

Additional config for QWC2 application configuration

Type: string

Path to QWC2 config.json file. Example: /qwc2/config.json

Type: string

Path to QWC2 index.html file. Example: /qwc2/index.html

Type: object

Map Viewer config options (cf. JSON schema qwc-map-viewer.json). This is copied unmodified to the service config.

Type: object

Generator config for OGC service

Type: const

Service name

Specific value: "ogc"

Type: object

Additional config for generating OGC service resources

Type: object

Additional config for WMS services

Type: object

Custom OnlineResources shown in GetCapabilities

Type: stringFormat: uri

Default public base URL for OnlineResources

Type: stringFormat: uri

Public base URL for FeatureInfo OnlineResources

Type: stringFormat: uri

Public base URL for Legend OnlineResources

Type: object

OGC service config options (cf. JSON schema qwc-ogc-service.json). This is copied unmodified to the service config.

+

QWC Config generator

Type: object

JSON Schema

Type: stringFormat: uri Default: "https://github.com/qwc-services/qwc-config-generator/raw/master/schemas/qwc-config-generator.json"

Reference to JSON schema of this config

Optional, path to a tenantConfig template. If specified, the contents of the file is merged with the contents of tenantConfig.json. Any occurence of $tenant$ in the template will be replaced with the current tenant name.

Type: string

QWC2 themes configuration


Type: object

Corresponds to contents of standalone QWC2 themesConfig.json

Type: object
Type: string

Path to themesConfig.json

Config options for Config generator

Type: object

Type: string

Tenant name. Example: default

Type: stringFormat: uri

Connection URL for configuration database. Example: postgresql:///?service=qwc_configdb

Type: string

The name of the DB schema which stores the qwc config. Default: qwc_config

Type: stringFormat: uri

Default QGIS Server URL for OGC requests. Example: http://qwc-qgis-server/ows/

Type: string

OWS service path prefix. Defaults to the path component of defaultqgisserverurl. Used to form the urls of autodetected projects below qgisprojectsscanbase_dir. Example: /ows

Type: string

The QGIS project file extension to look for. Default: '.qgs'

Type: string

Base path for QGIS projects. Example: /data

Type: string Default: "/layouts"

Directory containing print layouts.

Type: string

Subdirectory path relative to qgisprintlayouts_dir. If specified, only layouts within this subdir will be processed. Useful to specify separate print layouts per tenant.

Type: string Default: "/reports"

Directory containing the jasper report templates (*.jrxml).

Type: string

Path for QGIS projects, which should be automatically detected. Must be a subdir qgisprojectsbase_dir. Example: /data/scan

Type: boolean

Option to group scanned projects by directory in themes configuration. Default: false

Type: boolean

Option to save scanned projects and groups in themes configuration. Requires write access to INPUTCONFIGPATH for config generator service. Default: false

Type: boolean

Set whether resources are permitted or restricted by default. Example: true

Type: boolean

Whether info service/layer/attribute permissions should be inherited from the corresponding map/layer/attribute. Only useful if permissionsdefaultallow=false. Default: false

Type: boolean

Validate configuration against schema. Example: true

Type: string

Target path for generated service configs and permissions, if not set by $OUTPUTCONFIGPATH. Example: /config-out

Type: string

Path to the QWC2 directory, which will be used to autodetect thumbnails. If qgisprojectsscanbasedir is not set, then this option will be ignored. Example /qwc2

Type: boolean

Skip group layers containing print layers

Type: object

Layer opacity values for QGIS <= 3.10

Type: number

Timeout for GetProjectSettings, GetCapabilities and DescribeFeatureType requests. Default: 60sec

Type: boolean

Whether to automatically generate data service datasets used for key-value relationships without requiring corresponding data resources to be created. Warning: this will expose the key and value fields of the key-value table as world readable. Default: false

Type: boolean

Whether to generate nested nrelation forms instead of a tabluar view. Default: false

Type: boolean

Generate WFS service resources and permissions for the OGC service. Default: false

Type: object

Whether to use the default mapthumb (mapthumbs/default.jpg) instead of generating the thumbnail via GetMap if no custom thumbnail is provided. Default: false

Type: boolean

Ignore errors during generation to allow creating configuration files despite some errors. Default: false

Service configs

Type: array

Service specific config options for generating their service configs

No Additional Items

Each item of this array must be:


Generator config for a service

Type: object

Generator config for a QWC service

Type: string

Service name

Type: object

QWC service config options (cf. its JSON schema). This is copied unmodified to the service config.

Type: object

Generator config for Map Viewer

Type: const

Service name

Specific value: "mapViewer"

Type: object

Additional config for generating MapViewer resources

Type: object

Additional config for QWC2 application configuration

Type: string

Path to QWC2 config.json file. Example: /qwc2/config.json

Type: string

Path to QWC2 index.html file. Example: /qwc2/index.html

Type: object

Map Viewer config options (cf. JSON schema qwc-map-viewer.json). This is copied unmodified to the service config.

Type: object

Generator config for OGC service

Type: const

Service name

Specific value: "ogc"

Type: object

Additional config for generating OGC service resources

Type: object

Additional config for WMS services

Type: object

Custom OnlineResources shown in GetCapabilities

Type: stringFormat: uri

Default public base URL for OnlineResources

Type: stringFormat: uri

Public base URL for FeatureInfo OnlineResources

Type: stringFormat: uri

Public base URL for Legend OnlineResources

Type: object

OGC service config options (cf. JSON schema qwc-ogc-service.json). This is copied unmodified to the service config.

diff --git a/master/references/qwc-data-service/index.html b/master/references/qwc-data-service/index.html index 4cf24f6b..3e8f4bbd 100644 --- a/master/references/qwc-data-service/index.html +++ b/master/references/qwc-data-service/index.html @@ -139,7 +139,7 @@

QWC Data Service

-

QWC Data Service

Type: object

JSON Schema

Type: stringFormat: uri Default: "https://github.com/qwc-services/qwc-data-service/raw/master/schemas/qwc-data-service.json"

Reference to JSON schema of this config

Service name

Type: const
Specific value: "data"

Config options

Type: object

Type: string

Base dir where attachments are stored

Type: string

Comma separated list of allowed attachment file extensions, i.e. '.png,.jpg'

Type: string

Captcha site secret key. Set to enable ReCAPTCHA verification for public users

Type: number

Maximum attachment file size in bytes

Type: string

Hostname of ClamD server listening on TCP port 3310. If set, uploaded files are checked by ClamAV

Type: string

Field suffix where to log the username who last changed an upload field, i.e. <fieldname>__<suffix> for the field <fieldname>. If empty, username is not logged.

Type: string

If specified, the timestamp of the creation of the record will be logged to the <createtimestampfield> field of the record.

Type: string

If specified, the timestamp of the last mutation to a record will be logged to the <edittimestampfield> field of the record.

Type: string

If specified, the username of the user who created a record with be logged to the <createuserfield> field of the record.

Type: string

If specified, the username of the last user who performed a mutation to a record with be logged to the <edituserfield> field of the record.

Type: boolean

Whether to allow null geometries by default

Type: object

Loopup of allowed attachment file extensions per dataset, values as comma separated list, i.e. '.png,.jpg'

Type: object

Lookup of maximum attachment file size in bytes per dataset

Type: string

The path pattern to use when saving attachments to disk. You can use {random}, {filename}, {ext} and {<field>}, where field refers to the respective field value of the committed feature. Default is '{random}/{filename}'

Resources

Type: object

Datasets

Type: array of object
No Additional Items

Each item of this array must be:

Dataset

Type: object

PostgreSQL metadata and field constraints for a dataset

Type: string

Dataset name

Type: string

DB connection string for read and write access (or read-only access if dbwriteurl is present)

Type: string

Optional DB connection string for write access

Type: string

Type: array of object

Dataset fields with optional constraints

No Additional Items

Each item of this array must be:

Type: object

Type: string

Field name

Type: enum (of string) Default: "text"

Must be one of:

  • "USER-DEFINED"
  • "bigint"
  • "boolean"
  • "character"
  • "character varying"
  • "date"
  • "double precision"
  • "file"
  • "integer"
  • "json"
  • "jsonb"
  • "numeric"
  • "real"
  • "smallint"
  • "text"
  • "time"
  • "timestamp with time zone"
  • "timestamp without time zone"
  • "uuid"

PostGIS geometry metadata

Type: object

Type: enum (of string)

Must be one of:

  • "POINT"
  • "POINTZ"
  • "LINESTRING"
  • "LINESTRINGZ"
  • "POLYGON"
  • "POLYGONZ"
  • "MULTIPOINT"
  • "MULTIPOINTZ"
  • "MULTILINESTRING"
  • "MULTILINESTRINGZ"
  • "MULTIPOLYGON"
  • "MULTIPOLYGONZ"

SRID

Type: integer

Spatial Reference System Identifier (EPSG code)

Allow NULL geometries

Type: boolean Default: false

Allow setting geometry values to NULL

+

QWC Data Service

Type: object

JSON Schema

Type: stringFormat: uri Default: "https://github.com/qwc-services/qwc-data-service/raw/master/schemas/qwc-data-service.json"

Reference to JSON schema of this config

Service name

Type: const
Specific value: "data"

Config options

Type: object

Type: string

Base dir where attachments are stored

Type: string

Comma separated list of allowed attachment file extensions, i.e. '.png,.jpg'

Type: string

Captcha site secret key. Set to enable ReCAPTCHA verification for public users

Type: number

Maximum attachment file size in bytes

Type: string

Hostname of ClamD server listening on TCP port 3310. If set, uploaded files are checked by ClamAV

Type: string

Field suffix where to log the username who last changed an upload field, i.e. <fieldname>__<suffix> for the field <fieldname>. If empty, username is not logged.

Type: string

If specified, the timestamp of the creation of the record will be logged to the <createtimestampfield> field of the record.

Type: string

If specified, the timestamp of the last mutation to a record will be logged to the <edittimestampfield> field of the record.

Type: string

If specified, the username of the user who created a record with be logged to the <createuserfield> field of the record.

Type: string

If specified, the username of the last user who performed a mutation to a record with be logged to the <edituserfield> field of the record.

Type: boolean

Whether to allow null geometries by default

Type: object

Loopup of allowed attachment file extensions per dataset, values as comma separated list, i.e. '.png,.jpg'

Type: object

Lookup of maximum attachment file size in bytes per dataset

Type: string

The path pattern to use when saving attachments to disk. You can use {random}, {filename}, {ext} and {<field>}, where field refers to the respective field value of the committed feature. Default is '{random}/{filename}'

Resources

Type: object

Datasets

Type: array of object
No Additional Items

Each item of this array must be:

Dataset

Type: object

PostgreSQL metadata and field constraints for a dataset

Type: string

Dataset name

Type: string

DB connection string for read and write access (or read-only access if dbwriteurl is present)

Type: string

Optional DB connection string for write access

Type: string

Type: array of object

Dataset fields with optional constraints

No Additional Items

Each item of this array must be:

Type: object

Type: string

Field name

Type: enum (of string) Default: "text"

Must be one of:

  • "USER-DEFINED"
  • "bigint"
  • "boolean"
  • "character"
  • "character varying"
  • "date"
  • "double precision"
  • "file"
  • "integer"
  • "json"
  • "jsonb"
  • "numeric"
  • "real"
  • "smallint"
  • "text"
  • "time"
  • "timestamp with time zone"
  • "timestamp without time zone"
  • "uuid"

PostGIS geometry metadata

Type: object

Type: enum (of string)

Must be one of:

  • "POINT"
  • "POINTZ"
  • "LINESTRING"
  • "LINESTRINGZ"
  • "POLYGON"
  • "POLYGONZ"
  • "MULTIPOINT"
  • "MULTIPOINTZ"
  • "MULTILINESTRING"
  • "MULTILINESTRINGZ"
  • "MULTIPOLYGON"
  • "MULTIPOLYGONZ"

SRID

Type: integer

Spatial Reference System Identifier (EPSG code)

Allow NULL geometries

Type: boolean Default: false

Allow setting geometry values to NULL

diff --git a/master/references/qwc-db-auth/index.html b/master/references/qwc-db-auth/index.html index b0a5c74e..f1949d07 100644 --- a/master/references/qwc-db-auth/index.html +++ b/master/references/qwc-db-auth/index.html @@ -139,7 +139,7 @@

QWC DB authentication service

-

QWC DB authentication service

Type: object

JSON Schema

Type: stringFormat: uri Default: "https://raw.githubusercontent.com/qwc-services/qwc-db-auth/master/schemas/qwc-db-auth.json"

Reference to JSON schema of this config

Service name

Type: const
Specific value: "db-auth"

Config options

Type: object

Type: string

DB connection URL

Type: string

The name of the DB schema which stores the qwc config. Default: qwc_config

Type: integer

Min password length

Type: integer

Max password length

Type: array of string

List of RegExes for additional password constraints

No Additional Items

Each item of this array must be:

Type: integer

Min number of password_constraints to match for password to be valid

Type: string

Validation message if password constraints are not met

Type: integer

Number of days until password expires, or -1 to disable

Type: integer

Show an expiry notice within this number of days before a password expires, or -1 to disable

Type: integer

Min number of seconds before password may be changed again, or -1 to disable

Type: boolean

Set whether previous passwords may be reused or not

Type: array of string

List of user info fields to include in JWT identity

No Additional Items

Each item of this array must be:

Type: string

URL to a logo image to show in the login form

Type: string

URL to a background image for the login page

Type: string

URL of custom stylesheet.

Type: string

URL to terms of use


Login hint text, shown above login form fields. Either a string, or dictionary {&#34;&lt;lang&gt;&#34;: &#34;&lt;text&gt;&#34;}. When providing a dictionary, the entry matching the current locale will be searched, with fallback to en if no entry for the current locale exists, and fallback to an empty string if no en entry exists.

Type: string
Type: object

All properties whose name matches the following regular expression must respect the following conditions

Property name regular expression: ^[a-z]{2}$
Type: string

Type: boolean

Whether 'username' and 'password', and possibly additional parameters, are passed as POST parameters. Additional parameters are appended to the target url query. Default: false

Type: integer

Maximum login attempts before login is blocked. Default: false

Type: boolean

Enable two factor authentication using TOTP. Default: false

Type: string

Issuer name for QR code URI. Default: 'QWC Services'

+

QWC DB authentication service

Type: object

JSON Schema

Type: stringFormat: uri Default: "https://raw.githubusercontent.com/qwc-services/qwc-db-auth/master/schemas/qwc-db-auth.json"

Reference to JSON schema of this config

Service name

Type: const
Specific value: "db-auth"

Config options

Type: object

Type: string

DB connection URL

Type: string

The name of the DB schema which stores the qwc config. Default: qwc_config

Type: integer

Min password length

Type: integer

Max password length

Type: array of string

List of RegExes for additional password constraints

No Additional Items

Each item of this array must be:

Type: integer

Min number of password_constraints to match for password to be valid

Type: string

Validation message if password constraints are not met

Type: integer

Number of days until password expires, or -1 to disable

Type: integer

Show an expiry notice within this number of days before a password expires, or -1 to disable

Type: integer

Min number of seconds before password may be changed again, or -1 to disable

Type: boolean

Set whether previous passwords may be reused or not

Type: array of string

List of user info fields to include in JWT identity

No Additional Items

Each item of this array must be:

Type: string

URL to a logo image to show in the login form

Type: string

URL to a background image for the login page

Type: string

URL of custom stylesheet.

Type: string

URL to terms of use


Login hint text, shown above login form fields. Either a string, or dictionary {&#34;&lt;lang&gt;&#34;: &#34;&lt;text&gt;&#34;}. When providing a dictionary, the entry matching the current locale will be searched, with fallback to en if no entry for the current locale exists, and fallback to an empty string if no en entry exists.

Type: string
Type: object

All properties whose name matches the following regular expression must respect the following conditions

Property name regular expression: ^[a-z]{2}$
Type: string

Type: boolean

Whether 'username' and 'password', and possibly additional parameters, are passed as POST parameters. Additional parameters are appended to the target url query. Default: false

Type: integer

Maximum login attempts before login is blocked. Default: false

Type: boolean

Enable two factor authentication using TOTP. Default: false

Type: string

Issuer name for QR code URI. Default: 'QWC Services'

diff --git a/master/references/qwc-document-service/index.html b/master/references/qwc-document-service/index.html index aebc8100..4c9cdbf6 100644 --- a/master/references/qwc-document-service/index.html +++ b/master/references/qwc-document-service/index.html @@ -139,7 +139,7 @@

QWC Document Service

-

QWC Document Service

Type: object

JSON Schema

Type: stringFormat: uri Default: "https://raw.githubusercontent.com/qwc-services/qwc-document-service/master/schemas/qwc-document-service.json"

Reference to JSON schema of this config

Service name

Type: const
Specific value: "document"

Config options

Type: object

Type: array of string

Login verification URL for requests with basic auth. Example: http://qwc-auth-service:9090/verify_login

No Additional Items

Each item of this array must be:

Type: string Default: "/reports"

Directory which contains reports.

Resources

Type: object

Type: array of object
No Additional Items

Each item of this array must be:

+

QWC Document Service

Type: object

JSON Schema

Type: stringFormat: uri Default: "https://raw.githubusercontent.com/qwc-services/qwc-document-service/master/schemas/qwc-document-service.json"

Reference to JSON schema of this config

Service name

Type: const
Specific value: "document"

Config options

Type: object

Type: array of string

Login verification URL for requests with basic auth. Example: http://qwc-auth-service:9090/verify_login

No Additional Items

Each item of this array must be:

Type: string Default: "/reports"

Directory which contains reports.

Resources

Type: object

Type: array of object
No Additional Items

Each item of this array must be:

diff --git a/master/references/qwc-elevation-service/index.html b/master/references/qwc-elevation-service/index.html index 82e9e3ac..dab9ee1c 100644 --- a/master/references/qwc-elevation-service/index.html +++ b/master/references/qwc-elevation-service/index.html @@ -139,7 +139,7 @@

QWC Elevation Service

-

QWC Elevation Service

Type: object

JSON Schema

Type: stringFormat: uri Default: "https://raw.githubusercontent.com/qwc-services/qwc-elevation-service/master/schemas/qwc-elevation-service.json"

Reference to JSON schema of this config

Service name

Type: const
Specific value: "elevation"

Config options

Type: object

Type: string

Elevation dataset (file or URL). Example: https://data.sourcepole.com/srtm1km3857.tif

+

QWC Elevation Service

Type: object

JSON Schema

Type: stringFormat: uri Default: "https://raw.githubusercontent.com/qwc-services/qwc-elevation-service/master/schemas/qwc-elevation-service.json"

Reference to JSON schema of this config

Service name

Type: const
Specific value: "elevation"

Config options

Type: object

Type: string

Elevation dataset (file or URL). Example: https://data.sourcepole.com/srtm1km3857.tif

diff --git a/master/references/qwc-ext-service/index.html b/master/references/qwc-ext-service/index.html index 6731bdfc..7dc2e377 100644 --- a/master/references/qwc-ext-service/index.html +++ b/master/references/qwc-ext-service/index.html @@ -139,7 +139,7 @@

QWC External Link Service

-

QWC External Link Service

Type: object

JSON Schema

Type: stringFormat: uri Default: "https://github.com/qwc-services/qwc-ext-service/raw/master/schemas/qwc-ext-service.json"

Reference to JSON schema of this config

Service name

Type: const
Specific value: "ext"

Config options

Type: object

Type: number

Timeout for post link requests, in seconds. Default: 30.

Resources

Type: object
+

QWC External Link Service

Type: object

JSON Schema

Type: stringFormat: uri Default: "https://github.com/qwc-services/qwc-ext-service/raw/master/schemas/qwc-ext-service.json"

Reference to JSON schema of this config

Service name

Type: const
Specific value: "ext"

Config options

Type: object

Type: number

Timeout for post link requests, in seconds. Default: 30.

Resources

Type: object

diff --git a/master/references/qwc-feature-info-service/index.html b/master/references/qwc-feature-info-service/index.html index 10e0d324..268eee5f 100644 --- a/master/references/qwc-feature-info-service/index.html +++ b/master/references/qwc-feature-info-service/index.html @@ -139,7 +139,7 @@

QWC FeatureInfo Service

-

QWC FeatureInfo Service

Type: object

JSON Schema

Type: stringFormat: uri Default: "https://raw.githubusercontent.com/qwc-services/qwc-feature-info-service/master/schemas/qwc-feature-info-service.json"

Reference to JSON schema of this config

Service name

Type: const
Specific value: "feature-info"

Config options

Type: object

Type: string

Default HTML info template

Type: string

Default HTML info template path

Type: string

Default HTML info template in Base64 encoding

Type: string

Default URL for WMS GetFeatureInfo queries

Type: string

Data service URL

Type: boolean

Transform image URLs to inline images

Type: boolean

Whether to skip empty feature attributes in WMS GetFeatureInfo responses (default: false)

Type: boolean

Whether to order the attributes according to order of the permitted attribute names in WMS GetFeatureInfo responses, rather than the order returned by WMS GetFeatureInfo (default: false)

Resources

Type: object

WMS service

Type: array of object
No Additional Items

Each item of this array must be:

WMS

Type: object

WMS service with nested layers and group layers

Type: string

WMS service name


Root layer of WMS (layer or group layer)

Type: object

Single layer

No Additional Properties

Type: string

WMS layer name

Type: const

Layer type

Specific value: "layer"

Type: string

Layer title

Type: array of object
No Additional Items

Each item of this array must be:

Type: object

Type: string

Formatting expression for converting attribute values

Type: string

Formatting expression for converting attribute values, in Base64 encoding

JSON attribute aliases

Type: array of object

Aliases for attributes in JSON values of type list

No Additional Items

Each item of this array must be:

Info template


Type: object

Info template for WMS GetFeatureInfo

No Additional Properties

Type: const
Specific value: "wms"

Type: string

Custom WMS URL if different from defaultqgisserver_url

Type: string

HTML template for info result

Type: string

Path to HTML template for info result

Type: string

HTML template for info result, in Base64 encoding

Type: object

Info template for DB Query

No Additional Properties

Type: object

The following properties are required:

  • type
  • db_url
  • sql
Type: object

The following properties are required:

  • type
  • db_url
  • sql_base64

Type: const
Specific value: "sql"

Type: string

Database connection string

Type: string

Query SQL in Base64 encoding

Type: string

HTML template for info result

Type: string

Path to HTML template for info result

Type: string

HTML template for info result, in Base64 encoding

Type: object

Info template using WMS GetFeatureInfo

No Additional Properties

Type: const
Specific value: "module"

Type: string

Custom info module name

Type: string

HTML template for info result

Type: string

Path to HTML template for info result.

Type: string

HTML template for info result, in Base64 encoding

Display field

Type: string

Show value of this attribute in feature result header

Feature report

Type: string

Name of corresponding feature report

Type: object

Group layer with nested sublayers

No Additional Properties

Type: string

WMS group layer name

Type: const

Layer type

Specific value: "layergroup"

Type: string

Group title

Type: array

Sublayers of this group layer (layers or group layers)

No Additional Items

Each item of this array must be:

Hide sublayers

Type: boolean

Hide sublayers of this group layer if set, to make the group layer look like a regular layer (Facade layer)

+

QWC FeatureInfo Service

Type: object

JSON Schema

Type: stringFormat: uri Default: "https://raw.githubusercontent.com/qwc-services/qwc-feature-info-service/master/schemas/qwc-feature-info-service.json"

Reference to JSON schema of this config

Service name

Type: const
Specific value: "feature-info"

Config options

Type: object

Type: string

Default HTML info template

Type: string

Default HTML info template path

Type: string

Default HTML info template in Base64 encoding

Type: string

Default URL for WMS GetFeatureInfo queries

Type: string

Data service URL

Type: boolean

Transform image URLs to inline images

Type: boolean

Whether to skip empty feature attributes in WMS GetFeatureInfo responses (default: false)

Type: boolean

Whether to order the attributes according to order of the permitted attribute names in WMS GetFeatureInfo responses, rather than the order returned by WMS GetFeatureInfo (default: false)

Resources

Type: object

WMS service

Type: array of object
No Additional Items

Each item of this array must be:

WMS

Type: object

WMS service with nested layers and group layers

Type: string

WMS service name


Root layer of WMS (layer or group layer)

Type: object

Single layer

No Additional Properties

Type: string

WMS layer name

Type: const

Layer type

Specific value: "layer"

Type: string

Layer title

Type: array of object
No Additional Items

Each item of this array must be:

Type: object

Type: string

Formatting expression for converting attribute values

Type: string

Formatting expression for converting attribute values, in Base64 encoding

JSON attribute aliases

Type: array of object

Aliases for attributes in JSON values of type list

No Additional Items

Each item of this array must be:

Info template


Type: object

Info template for WMS GetFeatureInfo

No Additional Properties

Type: const
Specific value: "wms"

Type: string

Custom WMS URL if different from defaultqgisserver_url

Type: string

HTML template for info result

Type: string

Path to HTML template for info result

Type: string

HTML template for info result, in Base64 encoding

Type: object

Info template for DB Query

No Additional Properties

Type: object

The following properties are required:

  • type
  • db_url
  • sql
Type: object

The following properties are required:

  • type
  • db_url
  • sql_base64

Type: const
Specific value: "sql"

Type: string

Database connection string

Type: string

Query SQL in Base64 encoding

Type: string

HTML template for info result

Type: string

Path to HTML template for info result

Type: string

HTML template for info result, in Base64 encoding

Type: object

Info template using WMS GetFeatureInfo

No Additional Properties

Type: const
Specific value: "module"

Type: string

Custom info module name

Type: string

HTML template for info result

Type: string

Path to HTML template for info result.

Type: string

HTML template for info result, in Base64 encoding

Display field

Type: string

Show value of this attribute in feature result header

Feature report

Type: string

Name of corresponding feature report

Type: object

Group layer with nested sublayers

No Additional Properties

Type: string

WMS group layer name

Type: const

Layer type

Specific value: "layergroup"

Type: string

Group title

Type: array

Sublayers of this group layer (layers or group layers)

No Additional Items

Each item of this array must be:

Hide sublayers

Type: boolean

Hide sublayers of this group layer if set, to make the group layer look like a regular layer (Facade layer)

diff --git a/master/references/qwc-ldap-auth/index.html b/master/references/qwc-ldap-auth/index.html index 7a2a0d91..cb5c7112 100644 --- a/master/references/qwc-ldap-auth/index.html +++ b/master/references/qwc-ldap-auth/index.html @@ -139,7 +139,7 @@

QWC LDAP authentication service

-

QWC LDAP authentication service

Type: object

JSON Schema

Type: stringFormat: uri Default: "https://raw.githubusercontent.com/qwc-services/qwc-ldap-auth/master/schemas/qwc-ldap-auth.json"

Reference to JSON schema of this config

Service name

Type: const
Specific value: "ldap-auth"

Config options

Type: object


Login hint text, shown above login form fields. Either a string, or dictionary {&#34;&lt;lang&gt;&#34;: &#34;&lt;text&gt;&#34;}. When providing a dictionary, the entry matching the current locale will be searched, with fallback to en if no entry for the current locale exists, and fallback to an empty string if no en entry exists.

Type: string
Type: object

All properties whose name matches the following regular expression must respect the following conditions

Property name regular expression: ^[a-z]{2}$
Type: string
+

QWC LDAP authentication service

Type: object

JSON Schema

Type: stringFormat: uri Default: "https://raw.githubusercontent.com/qwc-services/qwc-ldap-auth/master/schemas/qwc-ldap-auth.json"

Reference to JSON schema of this config

Service name

Type: const
Specific value: "ldap-auth"

Config options

Type: object


Login hint text, shown above login form fields. Either a string, or dictionary {&#34;&lt;lang&gt;&#34;: &#34;&lt;text&gt;&#34;}. When providing a dictionary, the entry matching the current locale will be searched, with fallback to en if no entry for the current locale exists, and fallback to an empty string if no en entry exists.

Type: string
Type: object

All properties whose name matches the following regular expression must respect the following conditions

Property name regular expression: ^[a-z]{2}$
Type: string

diff --git a/master/references/qwc-legend-service/index.html b/master/references/qwc-legend-service/index.html index 1859d059..a540d1d1 100644 --- a/master/references/qwc-legend-service/index.html +++ b/master/references/qwc-legend-service/index.html @@ -139,7 +139,7 @@

QWC Legend Service

-

QWC Legend Service

Type: object

JSON Schema

Type: stringFormat: uri Default: "https://raw.githubusercontent.com/qwc-services/qwc-legend-service/v2/schemas/qwc-legend-service.json"

Reference to JSON schema of this config

Service name

Type: const
Specific value: "legend"

Config options

Type: object

Type: string

Default base URL for forwarding WMS GetLegendGraphics requests

Type: number

Default font size for GetLegendGraphic request

Type: string

Path to legend images (required if using 'legend_image')

Resources

Type: object

WMS services

Type: array of object
No Additional Items

Each item of this array must be:

WMS service

Type: object

WMS service with nested layers and group layers

Type: string

WMS service name


Root layer of WMS (layer or group layer)

Type: object

Single layer

No Additional Properties

Type: string

WMS layer name

Type: const

Layer type

Specific value: "layer"

Type: string

Legend image path relative to 'legendimagespath'

Type: string

Legend image in Base64 encoding

Type: object

Group layer with nested sublayers

No Additional Properties

Type: string

WMS group layer name

Type: const

Layer type

Specific value: "layergroup"

Type: boolean

Hide sublayers of this group layer if set, to make the group layer look like a regular layer (Facade layer)

Type: string

Legend image path relative to 'legendimagespath' (only if hide_sublayers is set)

Type: string

Legend image in Base64 encoding (only if hide_sublayers is set)

+

QWC Legend Service

Type: object

JSON Schema

Type: stringFormat: uri Default: "https://raw.githubusercontent.com/qwc-services/qwc-legend-service/v2/schemas/qwc-legend-service.json"

Reference to JSON schema of this config

Service name

Type: const
Specific value: "legend"

Config options

Type: object

Type: string

Default base URL for forwarding WMS GetLegendGraphics requests

Type: number

Default font size for GetLegendGraphic request

Type: string

Path to legend images (required if using 'legend_image')

Resources

Type: object

WMS services

Type: array of object
No Additional Items

Each item of this array must be:

WMS service

Type: object

WMS service with nested layers and group layers

Type: string

WMS service name


Root layer of WMS (layer or group layer)

Type: object

Single layer

No Additional Properties

Type: string

WMS layer name

Type: const

Layer type

Specific value: "layer"

Type: string

Legend image path relative to 'legendimagespath'

Type: string

Legend image in Base64 encoding

Type: object

Group layer with nested sublayers

No Additional Properties

Type: string

WMS group layer name

Type: const

Layer type

Specific value: "layergroup"

Type: boolean

Hide sublayers of this group layer if set, to make the group layer look like a regular layer (Facade layer)

Type: string

Legend image path relative to 'legendimagespath' (only if hide_sublayers is set)

Type: string

Legend image in Base64 encoding (only if hide_sublayers is set)

diff --git a/master/references/qwc-map-viewer/index.html b/master/references/qwc-map-viewer/index.html index 9cfb97e6..905447f6 100644 --- a/master/references/qwc-map-viewer/index.html +++ b/master/references/qwc-map-viewer/index.html @@ -139,7 +139,7 @@

QWC Map Viewer

-

QWC Map Viewer

Type: object

JSON Schema

Type: stringFormat: uri Default: "https://raw.githubusercontent.com/qwc-services/qwc-map-viewer/v2/schemas/qwc-map-viewer.json"

Reference to JSON schema of this config

Service name

Type: const
Specific value: "map-viewer"

Config options

Type: object

Type: string

DB connection URL (for userinfofields). Can be set to an empty string if running without DB.

Type: string

The name of the DB schema which stores the qwc config. Default: qwc_config

Type: string

Path to QWC2 files

Type: string

QWC Auth Service URL

Type: string

CCC Service URL

Type: string

QWC Data Service URL

Type: string

DataProduct Service URL

Type: string

Document Service URL

Type: string

QWC Elevation Service URL

Type: string

QWC FeatureInfo Service URL

Type: string

Land Register Extract Service URL

Type: string

QWC Legend Service URL

Type: string

MapInfo Service URL

Type: string

QWC OGC Service URL

Type: string

PlotInfo Service URL

Type: string

QWC Print Service URL

Type: string

Proxy Service URL

Type: string

QWC Search Result Service URL

Type: string

QWC Search Service URL

Type: boolean

Whether to insert placeholder items for restricted themes in themes.json

Type: array of string

Whitelist of restricted theme names to include in themes.json. If empty, all restricted themes are shown.

No Additional Items

Each item of this array must be:

Type: boolean

Whether to redirect to login on auth service if requesting a restricted theme in URL params

Type: boolean

Whether to redirect to login on auth service if no themes are permitted

Type: array of string

List of user info fields to read from JWT identity

No Additional Items

Each item of this array must be:

Type: string

User info field to display instead of username

Type: boolean

Whether to enforce authentication before processing requests. Default: false

Type: array of string

Optional: List of paths that will be accessible without a JWT identity, if auth_required is set.

No Additional Items

Each item of this array must be:

Resources

Type: object

Type: object

Type: array of string

Restricted menu items

No Additional Items

Each item of this array must be:

Type: object

QWC2 application configuration (config.json)

Type: object

QWC2 themes configuration (themes.json)

Type: object
+

QWC Map Viewer

Type: object

JSON Schema

Type: stringFormat: uri Default: "https://raw.githubusercontent.com/qwc-services/qwc-map-viewer/v2/schemas/qwc-map-viewer.json"

Reference to JSON schema of this config

Service name

Type: const
Specific value: "map-viewer"

Config options

Type: object

Type: string

DB connection URL (for userinfofields). Can be set to an empty string if running without DB.

Type: string

The name of the DB schema which stores the qwc config. Default: qwc_config

Type: string

Path to QWC2 files

Type: string

QWC Auth Service URL

Type: string

CCC Service URL

Type: string

QWC Data Service URL

Type: string

DataProduct Service URL

Type: string

Document Service URL

Type: string

QWC Elevation Service URL

Type: string

QWC FeatureInfo Service URL

Type: string

Land Register Extract Service URL

Type: string

QWC Legend Service URL

Type: string

MapInfo Service URL

Type: string

QWC OGC Service URL

Type: string

PlotInfo Service URL

Type: string

QWC Print Service URL

Type: string

Proxy Service URL

Type: string

QWC Search Result Service URL

Type: string

QWC Search Service URL

Type: boolean

Whether to insert placeholder items for restricted themes in themes.json

Type: array of string

Whitelist of restricted theme names to include in themes.json. If empty, all restricted themes are shown.

No Additional Items

Each item of this array must be:

Type: boolean

Whether to redirect to login on auth service if requesting a restricted theme in URL params

Type: boolean

Whether to redirect to login on auth service if no themes are permitted

Type: array of string

List of user info fields to read from JWT identity

No Additional Items

Each item of this array must be:

Type: string

User info field to display instead of username

Type: boolean

Whether to enforce authentication before processing requests. Default: false

Type: array of string

Optional: List of paths that will be accessible without a JWT identity, if auth_required is set.

No Additional Items

Each item of this array must be:

Resources

Type: object

Type: object

Type: array of string

Restricted menu items

No Additional Items

Each item of this array must be:

Type: object

QWC2 application configuration (config.json)

Type: object

QWC2 themes configuration (themes.json)

Type: object

diff --git a/master/references/qwc-mapinfo-service/index.html b/master/references/qwc-mapinfo-service/index.html index 0c85a327..1faf75bc 100644 --- a/master/references/qwc-mapinfo-service/index.html +++ b/master/references/qwc-mapinfo-service/index.html @@ -139,7 +139,7 @@

QWC Mapinfo Service

-

QWC Mapinfo Service

Type: object

JSON Schema

Type: stringFormat: uri Default: "https://raw.githubusercontent.com/qwc-services/qwc-mapinfo-service/master/schemas/qwc-mapinfo-service.json"

Reference to JSON schema of this config

Service name

Type: const
Specific value: "mapinfo"

Config options


Type: object

The following properties are required:

  • db_url
  • info_table
  • info_geom_col
  • info_display_col
  • info_title
Type: object

The following properties are required:

  • db_url
  • info_sql
  • info_title
Type: object

The following properties are required:

  • queries

Type: string

DB connection for info queries

Type: string

Table to use

Type: string

Geometry column in table

Type: string

Display text column in table

Type: string

Display title

Type: string

Additional WHERE query

Info queries

Type: array of object
No Additional Items

Each item of this array must be:

Query


Type: object

The following properties are required:

  • db_url
  • info_table
  • info_geom_col
  • info_display_col
  • info_title
Type: object

The following properties are required:

  • db_url
  • info_sql
  • info_title

Type: string

DB connection for info queries

Type: string

Table to use

Type: string

Geometry column in table

Type: string

Display text column in table

Type: string

Display title

Type: string

Additional WHERE query

Type: string

SQL query text

+

QWC Mapinfo Service

Type: object

JSON Schema

Type: stringFormat: uri Default: "https://raw.githubusercontent.com/qwc-services/qwc-mapinfo-service/master/schemas/qwc-mapinfo-service.json"

Reference to JSON schema of this config

Service name

Type: const
Specific value: "mapinfo"

Config options


Type: object

The following properties are required:

  • db_url
  • info_table
  • info_geom_col
  • info_display_col
  • info_title
Type: object

The following properties are required:

  • db_url
  • info_sql
  • info_title
Type: object

The following properties are required:

  • queries

Type: string

DB connection for info queries

Type: string

Table to use

Type: string

Geometry column in table

Type: string

Display text column in table

Type: string

Display title

Type: string

Additional WHERE query

Info queries

Type: array of object
No Additional Items

Each item of this array must be:

Query


Type: object

The following properties are required:

  • db_url
  • info_table
  • info_geom_col
  • info_display_col
  • info_title
Type: object

The following properties are required:

  • db_url
  • info_sql
  • info_title

Type: string

DB connection for info queries

Type: string

Table to use

Type: string

Geometry column in table

Type: string

Display text column in table

Type: string

Display title

Type: string

Additional WHERE query

Type: string

SQL query text

diff --git a/master/references/qwc-ogc-service/index.html b/master/references/qwc-ogc-service/index.html index caf2fc7d..f6d3629a 100644 --- a/master/references/qwc-ogc-service/index.html +++ b/master/references/qwc-ogc-service/index.html @@ -139,7 +139,7 @@

QWC OGC Service

-

QWC OGC Service

Type: object

JSON Schema

Type: stringFormat: uri Default: "https://raw.githubusercontent.com/qwc-services/qwc-ogc-service/master/schemas/qwc-ogc-service.json"

Reference to JSON schema of this config

Service name

Type: const
Specific value: "ogc"

Config options

Type: object

Type: string

Default base URL for WMS/WFS requests

Type: string

Regex pattern of the external OGC URL pattern, used to detect EXTERNAL_WMS URLs in print requests which point to the OGC server itself. Can use $origin$, $tenant$ and $mountpoint$ as variables. Default: $origin$/.*/?$mountpoint$

Type: array of string

Login verification URL for requests with basic auth. Example: http://qwc-auth-service:9090/verify_login

No Additional Items

Each item of this array must be:

Type: string

Name of the active user parameter for the QGIS Server. Will be set to the name of the logged in user in qwc2

Type: boolean

Whether to enforce authentication before processing requests. Default: false

Type: array of string

Optional: List of paths that will be accessible without a JWT identity, if auth_required is set.

No Additional Items

Each item of this array must be:

Type: object

Optional: Marker parameter definitions

Type: string

Default value

Type: string

Parameter type (number, color, string)

Resources

Type: object

WMS services

Type: array of object
No Additional Items

Each item of this array must be:

WMS service

Type: object

WMS service with nested layers and group layers

Type: string

WMS service name

Type: string

Custom WMS URL if different from defaultqgisserver_url

Type: object

Custom OnlineResources shown in GetCapabilities

Type: string

Default public base URL for OnlineResources

Type: string

Public base URL for FeatureInfo OnlineResources

Type: string

Public base URL for Legend OnlineResources


Root layer of WMS (layer or group layer)

Type: object

Single layer

No Additional Properties

Type: string

WMS layer name

Type: const

Layer type

Specific value: "layer"

Type: array of string

Attributes for GetFeatureInfo

No Additional Items

Each item of this array must be:

Type: boolean

Whether this layer is queryable

Type: integer

Custom base opacity from 0-100 (Hidden sublayers only)

Type: object

Group layer with nested sublayers

No Additional Properties

Type: string

WMS group layer name

Type: const

Layer type

Specific value: "layergroup"

Type: boolean

Hide sublayers of this group layer if set, to make the group layer look like a regular layer (Facade layer)

Type: string

Custom WMS URL for printing, e.g. if using a separate QGIS project.

Type: array of string

Available print templates

No Additional Items

Each item of this array must be:

Type: number

Default font size for GetLegendGraphic request

Type: array of string

Internal layer names used for printing and raster export of background and external layers

No Additional Items

Each item of this array must be:

WFS services

Type: array of object
No Additional Items

Each item of this array must be:

WFS service

Type: object

WFS service with list of layers

Type: string

WFS service name

Type: string

Custom WFS URL if different from defaultqgisserver_url

Type: string

Custom OnlineResource shown in GetCapabilities

Type: array

List of WFS layers

No Additional Items

Each item of this array must be:

Type: object

Single layer

Type: string

WFS layer name

Type: array of string

Attributes for GetFeature and DescribeFeatureType

No Additional Items

Each item of this array must be:

+

QWC OGC Service

Type: object

JSON Schema

Type: stringFormat: uri Default: "https://raw.githubusercontent.com/qwc-services/qwc-ogc-service/master/schemas/qwc-ogc-service.json"

Reference to JSON schema of this config

Service name

Type: const
Specific value: "ogc"

Config options

Type: object

Type: string

Default base URL for WMS/WFS requests

Type: string

Regex pattern of the external OGC URL pattern, used to detect EXTERNAL_WMS URLs in print requests which point to the OGC server itself. Can use $origin$, $tenant$ and $mountpoint$ as variables. Default: $origin$/.*/?$mountpoint$

Type: array of string

Login verification URL for requests with basic auth. Example: http://qwc-auth-service:9090/verify_login

No Additional Items

Each item of this array must be:

Type: string

Name of the active user parameter for the QGIS Server. Will be set to the name of the logged in user in qwc2

Type: boolean

Whether to enforce authentication before processing requests. Default: false

Type: array of string

Optional: List of paths that will be accessible without a JWT identity, if auth_required is set.

No Additional Items

Each item of this array must be:

Type: object

Optional: Marker parameter definitions

Type: string

Default value

Type: string

Parameter type (number, color, string)

Resources

Type: object

WMS services

Type: array of object
No Additional Items

Each item of this array must be:

WMS service

Type: object

WMS service with nested layers and group layers

Type: string

WMS service name

Type: string

Custom WMS URL if different from defaultqgisserver_url

Type: object

Custom OnlineResources shown in GetCapabilities

Type: string

Default public base URL for OnlineResources

Type: string

Public base URL for FeatureInfo OnlineResources

Type: string

Public base URL for Legend OnlineResources


Root layer of WMS (layer or group layer)

Type: object

Single layer

No Additional Properties

Type: string

WMS layer name

Type: const

Layer type

Specific value: "layer"

Type: array of string

Attributes for GetFeatureInfo

No Additional Items

Each item of this array must be:

Type: boolean

Whether this layer is queryable

Type: integer

Custom base opacity from 0-100 (Hidden sublayers only)

Type: object

Group layer with nested sublayers

No Additional Properties

Type: string

WMS group layer name

Type: const

Layer type

Specific value: "layergroup"

Type: boolean

Hide sublayers of this group layer if set, to make the group layer look like a regular layer (Facade layer)

Type: string

Custom WMS URL for printing, e.g. if using a separate QGIS project.

Type: array of string

Available print templates

No Additional Items

Each item of this array must be:

Type: number

Default font size for GetLegendGraphic request

Type: array of string

Internal layer names used for printing and raster export of background and external layers

No Additional Items

Each item of this array must be:

WFS services

Type: array of object
No Additional Items

Each item of this array must be:

WFS service

Type: object

WFS service with list of layers

Type: string

WFS service name

Type: string

Custom WFS URL if different from defaultqgisserver_url

Type: string

Custom OnlineResource shown in GetCapabilities

Type: array

List of WFS layers

No Additional Items

Each item of this array must be:

Type: object

Single layer

Type: string

WFS layer name

Type: array of string

Attributes for GetFeature and DescribeFeatureType

No Additional Items

Each item of this array must be:

diff --git a/master/references/qwc-oidc-auth/index.html b/master/references/qwc-oidc-auth/index.html index 459fc1ea..3810a8ad 100644 --- a/master/references/qwc-oidc-auth/index.html +++ b/master/references/qwc-oidc-auth/index.html @@ -139,7 +139,7 @@

QWC OIDC authentication service

-

QWC OIDC authentication service

Type: object

JSON Schema

Type: stringFormat: uri Default: "https://github.com/qwc-services/qwc-oidc-auth/raw/main/schemas/qwc-oidc-auth.json"

Reference to JSON schema of this config

Service name

Type: const
Specific value: "oidc-auth"

Config options

Type: object

Type: stringFormat: uri

OpenID Connect Issuer URL

Type: string

Client ID

Type: string

Client secret

Type: string Default: "openid email profile"

Scopes

Type: string

Custom redirect URI after calling authorization endpoint

Type: string

Attribute for user name

Type: string

Attribute name of group memberships

Type: array of object

List of api token authorized to use tokenlogin endpoint

No Additional Items

Each item of this array must be:

Type: object

Type: string

Public keys URL to decode token

Type: object

Token validation parameters following authlib specs : https://docs.authlib.org/en/latest/jose/jwt.html#jwt-payload-claims-validation

+

QWC OIDC authentication service

Type: object

JSON Schema

Type: stringFormat: uri Default: "https://github.com/qwc-services/qwc-oidc-auth/raw/main/schemas/qwc-oidc-auth.json"

Reference to JSON schema of this config

Service name

Type: const
Specific value: "oidc-auth"

Config options

Type: object

Type: stringFormat: uri

OpenID Connect Issuer URL

Type: string

Client ID

Type: string

Client secret

Type: string Default: "openid email profile"

Scopes

Type: string

Custom redirect URI after calling authorization endpoint

Type: string

Attribute for user name

Type: string

Attribute name of group memberships

Type: array of object

List of api token authorized to use tokenlogin endpoint

No Additional Items

Each item of this array must be:

Type: object

Type: string

Public keys URL to decode token

Type: object

Token validation parameters following authlib specs : https://docs.authlib.org/en/latest/jose/jwt.html#jwt-payload-claims-validation

diff --git a/master/references/qwc-permalink-service/index.html b/master/references/qwc-permalink-service/index.html index cb48b47b..0aaf0662 100644 --- a/master/references/qwc-permalink-service/index.html +++ b/master/references/qwc-permalink-service/index.html @@ -139,7 +139,7 @@

QWC Permalink Service

-

QWC Permalink Service

Type: object

JSON Schema

Type: stringFormat: uri Default: "https://raw.githubusercontent.com/qwc-services/qwc-permalink-service/master/schemas/qwc-permalink-service.json"

Reference to JSON schema of this config

Service name

Type: const
Specific value: "permalink"

Config options

Type: object

Type: string

DB connection URL. Defaults to postgresql:///?service=qwc_configdb.

Type: string

The name of the DB schema which stores the qwc config. Default: qwc_config

Type: string

User bookmarks table. Defaults to qwcconfig.userbookmarks.

Type: string

Bookmarks sort order, defaults to "date, description".

Type: number

Default expiry period for permalinks, in days. Default: null (no expiry)

+

QWC Permalink Service

Type: object

JSON Schema

Type: stringFormat: uri Default: "https://raw.githubusercontent.com/qwc-services/qwc-permalink-service/master/schemas/qwc-permalink-service.json"

Reference to JSON schema of this config

Service name

Type: const
Specific value: "permalink"

Config options

Type: object

Type: string

DB connection URL. Defaults to postgresql:///?service=qwc_configdb.

Type: string

The name of the DB schema which stores the qwc config. Default: qwc_config

Type: string

User bookmarks table. Defaults to qwcconfig.userbookmarks.

Type: string

Bookmarks sort order, defaults to "date, description".

Type: number

Default expiry period for permalinks, in days. Default: null (no expiry)

diff --git a/master/references/qwc-print-service/index.html b/master/references/qwc-print-service/index.html index 12c0431a..ef3e1f7d 100644 --- a/master/references/qwc-print-service/index.html +++ b/master/references/qwc-print-service/index.html @@ -139,7 +139,7 @@

QWC Print Service

-

QWC Print Service

Type: object

JSON Schema

Type: stringFormat: uri Default: "https://raw.githubusercontent.com/qwc-services/qwc-print-service/master/schemas/qwc-print-service.json"

Reference to JSON schema of this config

Service name

Type: const
Specific value: "print"

Config options

Type: object

Type: string

OGC Service URL (internal)

Type: string

QGIS Server version (e.g. 2.18.19, 3.4.1)

Type: string

optional postfix to QGS name for printing

Type: string

optional filename for returned PDF (default: <WMS map name>.pdf)

Type: array of object
No Additional Items

Each item of this array must be:

Type: object

Type: array of object
No Additional Items

Each item of this array must be:

Type: object

Type: array of string
No Additional Items

Each item of this array must be:

Resources

Type: object

Type: array of object
No Additional Items

Each item of this array must be:

+

QWC Print Service

Type: object

JSON Schema

Type: stringFormat: uri Default: "https://raw.githubusercontent.com/qwc-services/qwc-print-service/master/schemas/qwc-print-service.json"

Reference to JSON schema of this config

Service name

Type: const
Specific value: "print"

Config options

Type: object

Type: string

OGC Service URL (internal)

Type: string

QGIS Server version (e.g. 2.18.19, 3.4.1)

Type: string

optional postfix to QGS name for printing

Type: string

optional filename for returned PDF (default: <WMS map name>.pdf)

Type: array of object
No Additional Items

Each item of this array must be:

Type: object

Type: array of object
No Additional Items

Each item of this array must be:

Type: object

Type: array of string
No Additional Items

Each item of this array must be:

Resources

Type: object

Type: array of object
No Additional Items

Each item of this array must be:

diff --git a/master/references/qwc-search-service/index.html b/master/references/qwc-search-service/index.html index eea7bcfb..f68df1e3 100644 --- a/master/references/qwc-search-service/index.html +++ b/master/references/qwc-search-service/index.html @@ -139,7 +139,7 @@

QWC Fulltext Search Service

-

QWC Fulltext Search Service

Type: object

JSON Schema

Type: stringFormat: uri Default: "https://raw.githubusercontent.com/qwc-services/qwc-fulltext-search-service/master/schemas/qwc-search-service.json"

Reference to JSON schema of this config

Service name

Type: const
Specific value: "search"

Config options

Type: object

Type: string

Search backend: solr or trgm. Default: solr.

Type: string

SOLR service URL

Type: string

Search result ordering for solr search results. Default: searchresultsort

Type: string

Trigram feature query SQL. You can use the placeholder parameters :term (full search string), :terms (list of words of the search string) and :thres (similarity threshold). The query must return the columns display, facetid, idfieldname, featureid, bbox (as a [xmin,ymin,xmax,ymax] string), srid.

Type: string

Trigram layer query SQL. You can use the placeholder parameters :term (full search string), :terms (list of words of the search string) and :thres (similarity threshold). The query must return the columns display, dataproductid, dsetinfo, sublayers.

Type: number

Trigram similarity treshold. Default: 0.3

Type: string Default: "[\\s,.:;\"]+"

Word split Regex

Type: integer Default: 50

Result count limit per search

Type: string

Default DB connection for geometry result query

Resources

Type: object

Search facets

Type: array of object
No Additional Items

Each item of this array must be:

Facet

Type: object

Type: string

Facet name

Type: string

Type: string Default: "search_v"

Table/View for search result geometries

Type: string Default: "geom"

Geometry column in search result table

Type: string Default: "subclass"

Facet name column in search result table

Type: string

DB connection for geometry result query

+

QWC Fulltext Search Service

Type: object

JSON Schema

Type: stringFormat: uri Default: "https://raw.githubusercontent.com/qwc-services/qwc-fulltext-search-service/master/schemas/qwc-search-service.json"

Reference to JSON schema of this config

Service name

Type: const
Specific value: "search"

Config options

Type: object

Type: string

Search backend: solr or trgm. Default: solr.

Type: string

SOLR service URL

Type: string

Search result ordering for solr search results. Default: searchresultsort

Type: string

Trigram feature query SQL. You can use the placeholder parameters :term (full search string), :terms (list of words of the search string) and :thres (similarity threshold). The query must return the columns display, facetid, idfieldname, featureid, bbox (as a [xmin,ymin,xmax,ymax] string), srid.

Type: string

Trigram layer query SQL. You can use the placeholder parameters :term (full search string), :terms (list of words of the search string) and :thres (similarity threshold). The query must return the columns display, dataproductid, dsetinfo, sublayers.

Type: number

Trigram similarity treshold. Default: 0.3

Type: string Default: "[\\s,.:;\"]+"

Word split Regex

Type: integer Default: 50

Result count limit per search

Type: string

Default DB connection for geometry result query

Resources

Type: object

Search facets

Type: array of object
No Additional Items

Each item of this array must be:

Facet

Type: object

Type: string

Facet name

Type: string

Type: string Default: "search_v"

Table/View for search result geometries

Type: string Default: "geom"

Geometry column in search result table

Type: string Default: "subclass"

Facet name column in search result table

Type: string

DB connection for geometry result query

diff --git a/master/references/qwc-services-permissions/index.html b/master/references/qwc-services-permissions/index.html index edfea8de..3ccf6646 100644 --- a/master/references/qwc-services-permissions/index.html +++ b/master/references/qwc-services-permissions/index.html @@ -139,7 +139,7 @@

QWC Services Permissions

-

QWC Services Permissions

Type: object

JSON Schema

Type: stringFormat: uri Default: "https://github.com/qwc-services/qwc-services-core/raw/master/schemas/qwc-services-permissions.json"

Reference to JSON schema of these permissions

Users

Type: array of object
No Additional Items

Each item of this array must be:

User

Type: object

Type: string

User name

Group memberships

Type: array of string
No Additional Items

Each item of this array must be:

Type: string

Role memberships

Type: array of string
No Additional Items

Each item of this array must be:

Type: string

Groups

Type: array of object
No Additional Items

Each item of this array must be:

Group

Type: object

Type: string

Group name

Role memberships

Type: array of string
No Additional Items

Each item of this array must be:

Type: string

Roles

Type: array of object
No Additional Items

Each item of this array must be:

Role

Type: object

Type: string

Role name

Permissions for role

Type: object

Type: array of object

Permitted WMS services and layers for all QWC services using WMS requests (i.e. OGC, FeatureInfo, Legend, Print service)

No Additional Items

Each item of this array must be:

WMS permissions

Type: object

Type: string

WMS service name

Type: array of object

Flat list of permitted layers and group layers

No Additional Items

Each item of this array must be:

Type: array of string
No Additional Items

Each item of this array must be:

Type: array of object

Permitted WFS services and layers for OGC service

No Additional Items

Each item of this array must be:

WFS permissions

Type: object

Type: string

WFS service name

Type: array of object

List of permitted layers

No Additional Items

Each item of this array must be:

Type: object

Type: array of string
No Additional Items

Each item of this array must be:

Type: array of string
No Additional Items

Each item of this array must be:

Type: array of object

Permitted datasets for Data service

No Additional Items

Each item of this array must be:

Dataset permissions

Type: object

Type: array of string
No Additional Items

Each item of this array must be:

Type: array of string
No Additional Items

Each item of this array must be:

Type: array of object

Permitted resources for custom Map viewer plugins

No Additional Items

Each item of this array must be:

Plugin permissions

Type: object

Type: string

Plugin name

Type: array of string

Plugin specific resources

No Additional Items

Each item of this array must be:

Type: array of string
No Additional Items

Each item of this array must be:

Type: array of string
No Additional Items

Each item of this array must be:

Type: array of string
No Additional Items

Each item of this array must be:

Type: array of string
No Additional Items

Each item of this array must be:

+

QWC Services Permissions

Type: object

JSON Schema

Type: stringFormat: uri Default: "https://github.com/qwc-services/qwc-services-core/raw/master/schemas/qwc-services-permissions.json"

Reference to JSON schema of these permissions

Users

Type: array of object
No Additional Items

Each item of this array must be:

User

Type: object

Type: string

User name

Group memberships

Type: array of string
No Additional Items

Each item of this array must be:

Type: string

Role memberships

Type: array of string
No Additional Items

Each item of this array must be:

Type: string

Groups

Type: array of object
No Additional Items

Each item of this array must be:

Group

Type: object

Type: string

Group name

Role memberships

Type: array of string
No Additional Items

Each item of this array must be:

Type: string

Roles

Type: array of object
No Additional Items

Each item of this array must be:

Role

Type: object

Type: string

Role name

Permissions for role

Type: object

Type: array of object

Permitted WMS services and layers for all QWC services using WMS requests (i.e. OGC, FeatureInfo, Legend, Print service)

No Additional Items

Each item of this array must be:

WMS permissions

Type: object

Type: string

WMS service name

Type: array of object

Flat list of permitted layers and group layers

No Additional Items

Each item of this array must be:

Type: array of string
No Additional Items

Each item of this array must be:

Type: array of object

Permitted WFS services and layers for OGC service

No Additional Items

Each item of this array must be:

WFS permissions

Type: object

Type: string

WFS service name

Type: array of object

List of permitted layers

No Additional Items

Each item of this array must be:

Type: object

Type: array of string
No Additional Items

Each item of this array must be:

Type: array of string
No Additional Items

Each item of this array must be:

Type: array of object

Permitted datasets for Data service

No Additional Items

Each item of this array must be:

Dataset permissions

Type: object

Type: array of string
No Additional Items

Each item of this array must be:

Type: array of string
No Additional Items

Each item of this array must be:

Type: array of object

Permitted resources for custom Map viewer plugins

No Additional Items

Each item of this array must be:

Plugin permissions

Type: object

Type: string

Plugin name

Type: array of string

Plugin specific resources

No Additional Items

Each item of this array must be:

Type: array of string
No Additional Items

Each item of this array must be:

Type: array of string
No Additional Items

Each item of this array must be:

Type: array of string
No Additional Items

Each item of this array must be:

Type: array of string
No Additional Items

Each item of this array must be:

diff --git a/master/search/search_index.json b/master/search/search_index.json index 4a3a109b..feb6972e 100644 --- a/master/search/search_index.json +++ b/master/search/search_index.json @@ -1 +1 @@ -{"config":{"indexing":"full","lang":["en"],"min_search_length":3,"prebuild_index":false,"separator":"[\\s\\-]+"},"docs":[{"location":"","text":"QWC2 / QWC Services \u00b6 QGIS Web Client 2 (QWC2) is a modular next generation responsive web client for QGIS Server, built with ReactJS and OpenLayers. The core concept of QWC2 is to display QGIS Projects which are published by QGIS Server via WMS. There are two ways to run QWC2: As part of the qwc-services ecosystem, includes additional services to which includes additional services to extend the viewer functionality (such as user administration, editing, etc.). This is the recommended approach. As a standalone viewer (static JS/HTML/CSS web application) on top of QGIS Server. QWC2 with qwc-servies on the backend provide a complete Web GIS infrastructure. Overview of functionalities \u00b6 Without any additional services, the stock QWC2 offers the following main functionalities: Theme switcher (a theme is a published QGIS project) Switchable background layers Layer tree Object information (feature info) Search with configurable providers Measurement tools Redlining (sketching) URL sharing Geolocation PDF printing Raster and DXF export Compare layers Import external layers (WMS, WFS, WMTS, KML, GeoJSON) When run as part of the qwc-services ecosystem, the following additional viewer functionalities are available: User administration Editing Fulltext search Compact permalinks Height profile Custom feature info templates Mapinfo popup Reports (via Jasper) qwc-services also provides the following enterprise relevant functionalities: Docker/Kubernetes or WSGI deployments Multi-tenant setup Custom service integration Multiple authentication backends Explore \u00b6 Developer Quickstart User guide Some public viewers: Demo | Glarus | Solothurn | Oslandia | Erft Verband Support \u00b6 Community support: Github Commercial Support: Sourcepole , Oslandia and other companies. Improve this web site","title":"Home"},{"location":"#qwc2-qwc-services","text":"QGIS Web Client 2 (QWC2) is a modular next generation responsive web client for QGIS Server, built with ReactJS and OpenLayers. The core concept of QWC2 is to display QGIS Projects which are published by QGIS Server via WMS. There are two ways to run QWC2: As part of the qwc-services ecosystem, includes additional services to which includes additional services to extend the viewer functionality (such as user administration, editing, etc.). This is the recommended approach. As a standalone viewer (static JS/HTML/CSS web application) on top of QGIS Server. QWC2 with qwc-servies on the backend provide a complete Web GIS infrastructure.","title":"QWC2 / QWC Services"},{"location":"#overview-of-functionalities","text":"Without any additional services, the stock QWC2 offers the following main functionalities: Theme switcher (a theme is a published QGIS project) Switchable background layers Layer tree Object information (feature info) Search with configurable providers Measurement tools Redlining (sketching) URL sharing Geolocation PDF printing Raster and DXF export Compare layers Import external layers (WMS, WFS, WMTS, KML, GeoJSON) When run as part of the qwc-services ecosystem, the following additional viewer functionalities are available: User administration Editing Fulltext search Compact permalinks Height profile Custom feature info templates Mapinfo popup Reports (via Jasper) qwc-services also provides the following enterprise relevant functionalities: Docker/Kubernetes or WSGI deployments Multi-tenant setup Custom service integration Multiple authentication backends","title":"Overview of functionalities"},{"location":"#explore","text":"Developer Quickstart User guide Some public viewers: Demo | Glarus | Solothurn | Oslandia | Erft Verband","title":"Explore"},{"location":"#support","text":"Community support: Github Commercial Support: Sourcepole , Oslandia and other companies. Improve this web site","title":"Support"},{"location":"FAQ/","text":"FAQ \u00b6 Changing the qwc-docker port \u00b6 In the default setup, qwc-docker will run on port 8088 . To change this, you can modify the api-gateway port mapping in docker-compose.yml , i.e. to run on port 1234 : qwc-api-gateway: image: nginx:1.19 ports: - \"1234:80\"","title":"FAQ"},{"location":"FAQ/#faq","text":"","title":"FAQ"},{"location":"FAQ/#changing-the-qwc-docker-port","text":"In the default setup, qwc-docker will run on port 8088 . To change this, you can modify the api-gateway port mapping in docker-compose.yml , i.e. to run on port 1234 : qwc-api-gateway: image: nginx:1.19 ports: - \"1234:80\"","title":"Changing the qwc-docker port"},{"location":"QuickStart/","text":"Quick start \u00b6 Running QWC2 as part of qwc-services \u00b6 qwc-services is a collection of loosely coupled micro-services for extending QWC2. The services communicate with each other via HTTP/Rest, and are mostly written in Python. The easiest way to run qwc-services is to use the readily available docker images, using the sample setup at qwc-docker . To be able to run qwc-docker , first install docker and docker compose : Docker: https://docs.docker.com/engine/install/ docker-compose: https://docs.docker.com/compose/install/ Then, follow these steps: Clone the qwc-docker sample setup at qwc-docker and copy the docker-compose and api-gateway configuration templates: git clone https://github.com/qwc-services/qwc-docker.git cd qwc-docker cp docker-compose-example.yml docker-compose.yml cp api-gateway/nginx-example.conf api-gateway/nginx.conf Set the password for the postgres superuser in docker-compose.yml : qwc-postgis: image: sourcepole/qwc-base-db: environment: POSTGRES_PASSWORD: '' Create a secret key: python3 -c 'import secrets; print(\"JWT_SECRET_KEY=\\\"%s\\\"\" % secrets.token_hex(48))' >.env Change the UID/GID which runs the QWC services to match the user/group which owns the shared volumes on the host by setting SERVICE_UID and SERVICE_GID in qwc-docker/docker-compose.yml . Set permissions for the shared solr data volume: sudo chown 8983:8983 volumes/solr/data Start all containers (will download all images from dockerhub when executed the first time): docker-compose up Note : If using the newer docker compose project, you need to write docker compose up instead of docker-compose up (and similarly for other docker-compose calls). Note : The sample docker-compose-example.yml uses latest-YYYY-lts as image versions. It is recommended to replace these with a fix version tag when deploying the application to prevent docker from automatically pulling new versions when the application is launched, which may be undesired. See Keeping QWC services up to date . The map viewer will run on http://localhost:8088/ . The admin GUI will run on http://localhost:8088/qwc_admin (default admin credentials: username admin , password admin , requires password change on first login). Next steps: Configure the themes Customize the viewer Configuring the services Set resource permissions Running QWC2 as a standalone viewer \u00b6 If you don't need the advanced functionalities provided by qwc-services or want to integrate QWC2 in another environment, you can run QWC2 as a standalone viewer. To work with QWC2, you will need a minimal development environment consisting of git , node and yarn . You will also need a running QGIS Server instance which serves your projects. The fastest way to get started is by cloning the demo application: git clone --recursive https://github.com/qgis/qwc2-demo-app.git Next, install all required dependencies: cd qwc2-demo-app yarn install Then, start a local development application: yarn start The development application will run by default on http://localhost:8081 . At this point, you can customize and configure the application according to your needs, as described in detail in the following chapters. The final step is to compile a deployable application bundle for production: yarn run prod You can then deploy the contents of the prod folder to your web server. Next steps: Configure the themes Customize the viewer","title":"Quick start"},{"location":"QuickStart/#quick-start","text":"","title":"Quick start"},{"location":"QuickStart/#running-qwc2-as-part-of-qwc-services","text":"qwc-services is a collection of loosely coupled micro-services for extending QWC2. The services communicate with each other via HTTP/Rest, and are mostly written in Python. The easiest way to run qwc-services is to use the readily available docker images, using the sample setup at qwc-docker . To be able to run qwc-docker , first install docker and docker compose : Docker: https://docs.docker.com/engine/install/ docker-compose: https://docs.docker.com/compose/install/ Then, follow these steps: Clone the qwc-docker sample setup at qwc-docker and copy the docker-compose and api-gateway configuration templates: git clone https://github.com/qwc-services/qwc-docker.git cd qwc-docker cp docker-compose-example.yml docker-compose.yml cp api-gateway/nginx-example.conf api-gateway/nginx.conf Set the password for the postgres superuser in docker-compose.yml : qwc-postgis: image: sourcepole/qwc-base-db: environment: POSTGRES_PASSWORD: '' Create a secret key: python3 -c 'import secrets; print(\"JWT_SECRET_KEY=\\\"%s\\\"\" % secrets.token_hex(48))' >.env Change the UID/GID which runs the QWC services to match the user/group which owns the shared volumes on the host by setting SERVICE_UID and SERVICE_GID in qwc-docker/docker-compose.yml . Set permissions for the shared solr data volume: sudo chown 8983:8983 volumes/solr/data Start all containers (will download all images from dockerhub when executed the first time): docker-compose up Note : If using the newer docker compose project, you need to write docker compose up instead of docker-compose up (and similarly for other docker-compose calls). Note : The sample docker-compose-example.yml uses latest-YYYY-lts as image versions. It is recommended to replace these with a fix version tag when deploying the application to prevent docker from automatically pulling new versions when the application is launched, which may be undesired. See Keeping QWC services up to date . The map viewer will run on http://localhost:8088/ . The admin GUI will run on http://localhost:8088/qwc_admin (default admin credentials: username admin , password admin , requires password change on first login). Next steps: Configure the themes Customize the viewer Configuring the services Set resource permissions","title":"Running QWC2 as part of qwc-services"},{"location":"QuickStart/#running-qwc2-as-a-standalone-viewer","text":"If you don't need the advanced functionalities provided by qwc-services or want to integrate QWC2 in another environment, you can run QWC2 as a standalone viewer. To work with QWC2, you will need a minimal development environment consisting of git , node and yarn . You will also need a running QGIS Server instance which serves your projects. The fastest way to get started is by cloning the demo application: git clone --recursive https://github.com/qgis/qwc2-demo-app.git Next, install all required dependencies: cd qwc2-demo-app yarn install Then, start a local development application: yarn start The development application will run by default on http://localhost:8081 . At this point, you can customize and configure the application according to your needs, as described in detail in the following chapters. The final step is to compile a deployable application bundle for production: yarn run prod You can then deploy the contents of the prod folder to your web server. Next steps: Configure the themes Customize the viewer","title":"Running QWC2 as a standalone viewer"},{"location":"UserGuide/","text":"User guide \u00b6 This section contains user documentation of the QWC2 application and QWC services. It describes some of the available features. Note : Depending on the specific viewer configuration, some functionalities might be missing or different than described in this section. Overview \u00b6 QGIS Web Client is composed of some essential features for the user to be able to navigate through its GIS data. The user interface is composed of : a map : navigate through your GIS data, zoom, pan a toolbar : configure some shortcuts for tools (none in this example) a logo : customize your application with your company logo a searchbar : search in the application according to configurable search providers a menu : navigate through all the tools and features of the application a scalebar : see what is the current scale of the map a coordinates display according to the mouse position in several configurable CRS (Coordinates Reference System) a drop-down list of scales : set the zoom of the map at a pre-defined scale shortcuts : configure shortcut buttons for some features (Show Layer Tree for example) home button : set the extent of the map at the home extent defined in your QGIS project location button : zoom at the location of your device zoom buttons : zoom in or out the map a background switcher : change background layer among those configured in the application attributions : links to the attributions data terms of use : links to the terms of use of the application Basic features \u00b6 Menu \u00b6 Here is a minimalist menu of the application with basic features : Theme \u00b6 Theme menu lists all the published QGIS projects in the application. One theme is linked to one QGIS project . You can switch from one to another by clicking on corresponding thumbnails. Then, the map is updated with data of the selected theme. Themes can be sorted in groups. You can also open a theme in a new tab, add a whole theme to the current map (to display several projects at the same time) or add some layers of a theme to the current one. Layers & Legend \u00b6 Layers & Legend menu allows user to show or hide any layer (or group of layers) on the map. Each layer comes from a published QGIS project (or theme ), or from an external WMS/WFS, or local file. On the top of this menu, you can print the legend of the displayed theme by clicking the print button. This will open a new window, where you can print this legend. The eye button is used to filter layers that are not visible. The trash button is used to remove all the layers displayed in the current map. You can retrieve layers from a QGIS project by selecting a theme in Theme menu. The i button displays a new window with all the informations about the current theme. These informations are retrieved from the QGIS project properties. For each layer, user can: remove the layer by clicking the trash button. This removes the layer only for the current context of the user, not for all the users. If the layer comes from the QGIS project, you can retrieve the deleted one by selecting the theme in Theme menu. change the order of display, by clicking up and down arrows buttons change opacity with the slider zoom on the layer extent with the magnifying glass button display layer legend by hovering the image on the left of the layer name or by clicking the i button (new window displaying info about the layer retrieved from QGIS project) The Show layer map tips option is used to display a tooltip when hovering an object on the map. It needs you have configured a map tip in layers properties. The Compare top layer option splits the map into two parts. On the left side, top layer (in the tree) is displayed while it is not on the right side. You can move the slider on the map to see the differences between the two sides. The Import layer submenu allows user to add some external data to the current map. You can configure some predefined URLs in the application. For example, Swisstopo WMTS is a predefined entry in the demo application which queries https://wmts10.geo.admin.ch/EPSG/2056/1.0.0/WMTSCapabilities.xml . You can also add other URLs that are not predefined in the application, https://wxs.ign.fr/clc/geoportail/r/wms?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetCapabilities if you want to add french Corine Land Cover data. By clicking on connect, there is a list of data available from the entered URL and you can add some of the layers to your current map by clicking on them. In the Import layer submenu, you can also import local files to the current map. Only some formats are supported ( GeoJSON , JSON , KML ). Map Tools \u00b6 In the Map Tools menu, user can retrieve some basic features of GIS webclient : * identify objects * measuring tools * drawing tools * export image Identify \u00b6 To identify an object and get attribute values, you can click directly on the map. If an object is present at the click position, there is a request sent to QGIS Server to get attributes of the clicked object. Results are displayed in a window with all objects identified. Geometry of queried objects are highlighted. You can zoom on an object extent, or browse results one by one in the Feature Info panel. Finally, you can export results of all identified objects ( JSON , GeoJSON , CSV or CSV + ZIP ). To be able to query an object, layer must be configured as queryable in the QGIS project (check the Identifiable checkbox in Project \u2192 Properties \u2192 Data Sources in your QGIS project). Identify Region \u00b6 User can also use Identify Region tool to identify multiple objects in the same time. Draw a polygon around the features to identify to get the results. Measure \u00b6 Measuring tools can be used to retrieve position, object length, object area, ... Values can be copied to clipboard with the copy button. Position \u00b6 Click on the map to get coordinates. Coordinates are displayed according to selected CRS in bottom bar of the application (here WGS 84 / Pseudo Mercator ). Length \u00b6 Draw a polyline on the map to measure the length of each segment and the sum of all these lengths. User can choose the units of measurement ( meters , feet , kilometers , miles ). Area \u00b6 Draw a polygon on the map to measure an area. User can choose the units of measurement ( square meters , square feet , square kilometers , square miles , hectares ). Bearing \u00b6 Draw a line on the map to get the bearing angle of this line (angle from start point to end point). Redlining \u00b6 In Redlining tool, user can add some annotations to the map in different temporary layers. The default layer in which you can add annotations is named Redlining . You can add new layers by clicking + button. Drawing layers are available in Layers & Legend menu. Drawing options are : * point * polyline * polygon * circle * text For each object, you can set border color, fill color, size. Fill the label entry to set text on your object. Once you have drawn objects, you can edit them by picking one and change options. Pick an object and click on trash button to delete it. Buffer option is used to create a buffer around the selected object. Raster Export \u00b6 Raster Export tool allows the user to export a screenshot of the map in an image ( png , jpeg ) at a specified resolution ( 96 dpi , 300 dpi ). Draw a rectangle on the map to export a region in an image. An image is opened in a new tab and you can save it on your computer with the specified format and resolution. Print \u00b6 With Print menu, you can export a layout configured in your QGIS project as PDF file. When clicking on the menu, a list of all available layouts of the theme (QGIS project) is displayed. You can set some options : scale, rotation, grid and custom text (if configured in the layout). Result is displayed in a new tab or in a window in the application. Then, you can save it in a file or print it. Help \u00b6 By default, Help menu displays the build date of the application. You can also customize this menu to have a link to the QWC User documentation. External Link \u00b6 External Link menu can be used to have a link to other resources. For example, your company site.","title":"User guide"},{"location":"UserGuide/#user-guide","text":"This section contains user documentation of the QWC2 application and QWC services. It describes some of the available features. Note : Depending on the specific viewer configuration, some functionalities might be missing or different than described in this section.","title":"User guide"},{"location":"UserGuide/#overview","text":"QGIS Web Client is composed of some essential features for the user to be able to navigate through its GIS data. The user interface is composed of : a map : navigate through your GIS data, zoom, pan a toolbar : configure some shortcuts for tools (none in this example) a logo : customize your application with your company logo a searchbar : search in the application according to configurable search providers a menu : navigate through all the tools and features of the application a scalebar : see what is the current scale of the map a coordinates display according to the mouse position in several configurable CRS (Coordinates Reference System) a drop-down list of scales : set the zoom of the map at a pre-defined scale shortcuts : configure shortcut buttons for some features (Show Layer Tree for example) home button : set the extent of the map at the home extent defined in your QGIS project location button : zoom at the location of your device zoom buttons : zoom in or out the map a background switcher : change background layer among those configured in the application attributions : links to the attributions data terms of use : links to the terms of use of the application","title":"Overview"},{"location":"UserGuide/#basic-features","text":"","title":"Basic features"},{"location":"UserGuide/#menu","text":"Here is a minimalist menu of the application with basic features :","title":"Menu"},{"location":"UserGuide/#theme","text":"Theme menu lists all the published QGIS projects in the application. One theme is linked to one QGIS project . You can switch from one to another by clicking on corresponding thumbnails. Then, the map is updated with data of the selected theme. Themes can be sorted in groups. You can also open a theme in a new tab, add a whole theme to the current map (to display several projects at the same time) or add some layers of a theme to the current one.","title":"Theme"},{"location":"UserGuide/#layers-legend","text":"Layers & Legend menu allows user to show or hide any layer (or group of layers) on the map. Each layer comes from a published QGIS project (or theme ), or from an external WMS/WFS, or local file. On the top of this menu, you can print the legend of the displayed theme by clicking the print button. This will open a new window, where you can print this legend. The eye button is used to filter layers that are not visible. The trash button is used to remove all the layers displayed in the current map. You can retrieve layers from a QGIS project by selecting a theme in Theme menu. The i button displays a new window with all the informations about the current theme. These informations are retrieved from the QGIS project properties. For each layer, user can: remove the layer by clicking the trash button. This removes the layer only for the current context of the user, not for all the users. If the layer comes from the QGIS project, you can retrieve the deleted one by selecting the theme in Theme menu. change the order of display, by clicking up and down arrows buttons change opacity with the slider zoom on the layer extent with the magnifying glass button display layer legend by hovering the image on the left of the layer name or by clicking the i button (new window displaying info about the layer retrieved from QGIS project) The Show layer map tips option is used to display a tooltip when hovering an object on the map. It needs you have configured a map tip in layers properties. The Compare top layer option splits the map into two parts. On the left side, top layer (in the tree) is displayed while it is not on the right side. You can move the slider on the map to see the differences between the two sides. The Import layer submenu allows user to add some external data to the current map. You can configure some predefined URLs in the application. For example, Swisstopo WMTS is a predefined entry in the demo application which queries https://wmts10.geo.admin.ch/EPSG/2056/1.0.0/WMTSCapabilities.xml . You can also add other URLs that are not predefined in the application, https://wxs.ign.fr/clc/geoportail/r/wms?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetCapabilities if you want to add french Corine Land Cover data. By clicking on connect, there is a list of data available from the entered URL and you can add some of the layers to your current map by clicking on them. In the Import layer submenu, you can also import local files to the current map. Only some formats are supported ( GeoJSON , JSON , KML ).","title":"Layers & Legend"},{"location":"UserGuide/#map-tools","text":"In the Map Tools menu, user can retrieve some basic features of GIS webclient : * identify objects * measuring tools * drawing tools * export image","title":"Map Tools"},{"location":"UserGuide/#identify","text":"To identify an object and get attribute values, you can click directly on the map. If an object is present at the click position, there is a request sent to QGIS Server to get attributes of the clicked object. Results are displayed in a window with all objects identified. Geometry of queried objects are highlighted. You can zoom on an object extent, or browse results one by one in the Feature Info panel. Finally, you can export results of all identified objects ( JSON , GeoJSON , CSV or CSV + ZIP ). To be able to query an object, layer must be configured as queryable in the QGIS project (check the Identifiable checkbox in Project \u2192 Properties \u2192 Data Sources in your QGIS project).","title":"Identify"},{"location":"UserGuide/#identify-region","text":"User can also use Identify Region tool to identify multiple objects in the same time. Draw a polygon around the features to identify to get the results.","title":"Identify Region"},{"location":"UserGuide/#measure","text":"Measuring tools can be used to retrieve position, object length, object area, ... Values can be copied to clipboard with the copy button.","title":"Measure"},{"location":"UserGuide/#position","text":"Click on the map to get coordinates. Coordinates are displayed according to selected CRS in bottom bar of the application (here WGS 84 / Pseudo Mercator ).","title":"Position"},{"location":"UserGuide/#length","text":"Draw a polyline on the map to measure the length of each segment and the sum of all these lengths. User can choose the units of measurement ( meters , feet , kilometers , miles ).","title":"Length"},{"location":"UserGuide/#area","text":"Draw a polygon on the map to measure an area. User can choose the units of measurement ( square meters , square feet , square kilometers , square miles , hectares ).","title":"Area"},{"location":"UserGuide/#bearing","text":"Draw a line on the map to get the bearing angle of this line (angle from start point to end point).","title":"Bearing"},{"location":"UserGuide/#redlining","text":"In Redlining tool, user can add some annotations to the map in different temporary layers. The default layer in which you can add annotations is named Redlining . You can add new layers by clicking + button. Drawing layers are available in Layers & Legend menu. Drawing options are : * point * polyline * polygon * circle * text For each object, you can set border color, fill color, size. Fill the label entry to set text on your object. Once you have drawn objects, you can edit them by picking one and change options. Pick an object and click on trash button to delete it. Buffer option is used to create a buffer around the selected object.","title":"Redlining"},{"location":"UserGuide/#raster-export","text":"Raster Export tool allows the user to export a screenshot of the map in an image ( png , jpeg ) at a specified resolution ( 96 dpi , 300 dpi ). Draw a rectangle on the map to export a region in an image. An image is opened in a new tab and you can save it on your computer with the specified format and resolution.","title":"Raster Export"},{"location":"UserGuide/#print","text":"With Print menu, you can export a layout configured in your QGIS project as PDF file. When clicking on the menu, a list of all available layouts of the theme (QGIS project) is displayed. You can set some options : scale, rotation, grid and custom text (if configured in the layout). Result is displayed in a new tab or in a window in the application. Then, you can save it in a file or print it.","title":"Print"},{"location":"UserGuide/#help","text":"By default, Help menu displays the build date of the application. You can also customize this menu to have a link to the QWC User documentation.","title":"Help"},{"location":"UserGuide/#external-link","text":"External Link menu can be used to have a link to other resources. For example, your company site.","title":"External Link"},{"location":"configuration/ResourcesPermissions/","text":"Managing Users, Resources and Permissions \u00b6 qwc-docker has a QWC configuration backend . That backend can be reached by default at http://localhost:8088/qwc_admin . The configuration backend allows to assign users and groups to roles. The roles in their turn can receive permissions on resources. These configuration settings will be stored in the configuration database . Out of the box qwc-docker comes with with a container qwc-postgis that contains the configuration database. Users, groups and roles \u00b6 Roles can be given permissions on resources. That means that if you want to give users or groups permissions on resources, then you have to first create a role, configure the permissions that the roles has on some resources, and then assign the role the users or groups. Resources \u00b6 The following resource types are available: Map : WMS corresponding to a QGIS Project Layer : Layer of a map Attribute : Attribute of a map layer (i.e. for WFS) Print template : Print composer template of a QGIS Project Data : Data layer for editing Attribute : Attribute of a data layer Data (create) : Data layer for creating features Data (read) : Data layer for reading features Data (update) : Data layer for updating features Data (delete) : Data layer for deleting features Viewer task : Permittable viewer tasks FeatureInfo service : Feature info service FeatureInfo layer : Feature info layer Attribute : Attribute of a info layer The resource name corresponds to the technical name of its resource (e.g. WMS layer name). Most notably, the name of a map resource corresponds to the relative path to the project below qgs-resources without .qgs extension (so i.e. the resource name for qgs-resources/subfolder/project.qgs will be subfolder/project ). Note: If your QGIS project is configured to return the field aliases rather than the field names in GetFeatureInfo , the resource name for layer attribute resources corresponds to the alias of the field. Available map , layer , attribute and print_template resources are determined from WMS GetProjectSettings and the QGIS projects. The data and their attribute resources define a data layer for the Data service . For more detailed CRUD permissions data_create , data_read , data_update and data_delete can be used instead of data ( data and write=False is equivalent to data_read ; data and write=True is equivalent to all CRUD resources combined). The viewer_task resource defines viewer functionalities (e.g. printing or raster export) that can be restricted or permitted. Their name (e.g. RasterExport ) will be matched against: - The key in menuItems and toolbarItems in the QWC2 config.json . - The name of a plugin entry in config.json . - The task configuration property of a TaskButton plugin entry in config.json Note : You can restrict tasks entires which specify a mode (i.e. {\"key\": \"Measure\", \"mode\": \"LineString\"} ) by concatenating the task key and the mode as the viewer_task resource name, i.e. MeasureLineString . The FeatureInfo service , FeatureInfo layer and subordinate Attribute resources allow controlling whether an entire WMS service, its layers or its attributes are queryable via GetFeatureInfo. Restricted viewer task items are then removed from the menu and toolbar in the map viewer. Viewer tasks not explicitly added as resources are kept unchanged from the config.json . Note : The resource types, i.e. for custom QWC2 plugins, can be extended by inserting new types into the qwc_config.resource_types table. These can be queried, e.g. in a custom service, by using PermissionClient::resource_permissions() or PermissionClient::resource_restrictions() from QWC Services Core . Permissions \u00b6 Permissions are based on roles. Roles can be assigned to groups or users, and users can be members of groups. A special role is \"public\". The \"public\" role applies always, no matter whether a user is signed in or is not signed in. Roles can be assigned permission for resources. The write flag is only used for data resources and determines whether a data layer is read-only. Based on the user's identity (user name and/or group name), all corresponding roles and their permissions and restrictions are collected. The service configurations are then modified according to these permissions and restrictions. By using the permissions_default_allow configuration setting in tenantConfig.json , some resources can be set to be permitted or restricted by default if no permissions are set (default: false ). Among affected resources are Map , Layer , Print template , Viewer task , FeatureInfo service , FeatureInfo layer . E.g.: permissions_default_allow=true : all maps and layers are permitted by default permissions_default_allow=false : maps and layers are only available if their resources and permissions are explicitly configured Restricted themes \u00b6 The display behaviour of restricted themes can be configured in the mapViewer service configuration in tenantConfig.json as follows: { \"name\": \"mapViewer\", \"config\": { \"show_restricted_themes\": false, \"show_restricted_themes_whitelist\": [], \"redirect_restricted_themes_to_auth\": false, \"internal_permalink_service_url\": \"http://qwc-permalink-service:9090\" } } show_restricted_themes : Whether to show placeholder items for restricted themes. Default: false . show_restricted_themes_whitelist : Whitelist of restricted theme names to display as placeholders. If empty, all restricted themes are shown. Only used if show_restricted_themes enabled. Default: [] . redirect_restricted_themes_to_auth : Whether to redirect to login on auth service if requesting a restricted theme in URL params, if not currently signed in. Default: false . internal_permalink_service_url : Internal permalink service URL for getting the theme from a resolved permalink for redirecting to login (default: http://qwc-permalink-service:9090 ). This is used only if redirect_restricted_themes_to_auth is enabled and permalink_service_url is set. Permissions file \u00b6 The QWC Config Generator generates a JSON file for all permissions from the QWC ConfigDB. See READMEs of QWC services for service specific contents in permissions.json . Group registration \u00b6 Using the optional Registration GUI allows users to request membership or unsubscribe from registrable groups. These requests can then be accepted or rejected in the Admin GUI . Workflow: Admin GUI admin user creates new groups with assigned roles and permissions on resources admin user configures registrable groups Registration GUI user select desired groups from registrable groups and submits application form admin users are notified of new registration requests Admin GUI admin user selects entry from list of pending registration requests admin user accepts or rejects registration requests for a user user is added to or removed from accepted groups user is notified of registration request updates Map Viewer user permissions are updated for new groups","title":"Resources and permissions"},{"location":"configuration/ResourcesPermissions/#managing-users-resources-and-permissions","text":"qwc-docker has a QWC configuration backend . That backend can be reached by default at http://localhost:8088/qwc_admin . The configuration backend allows to assign users and groups to roles. The roles in their turn can receive permissions on resources. These configuration settings will be stored in the configuration database . Out of the box qwc-docker comes with with a container qwc-postgis that contains the configuration database.","title":"Managing Users, Resources and Permissions"},{"location":"configuration/ResourcesPermissions/#users-groups-and-roles","text":"Roles can be given permissions on resources. That means that if you want to give users or groups permissions on resources, then you have to first create a role, configure the permissions that the roles has on some resources, and then assign the role the users or groups.","title":"Users, groups and roles"},{"location":"configuration/ResourcesPermissions/#resources","text":"The following resource types are available: Map : WMS corresponding to a QGIS Project Layer : Layer of a map Attribute : Attribute of a map layer (i.e. for WFS) Print template : Print composer template of a QGIS Project Data : Data layer for editing Attribute : Attribute of a data layer Data (create) : Data layer for creating features Data (read) : Data layer for reading features Data (update) : Data layer for updating features Data (delete) : Data layer for deleting features Viewer task : Permittable viewer tasks FeatureInfo service : Feature info service FeatureInfo layer : Feature info layer Attribute : Attribute of a info layer The resource name corresponds to the technical name of its resource (e.g. WMS layer name). Most notably, the name of a map resource corresponds to the relative path to the project below qgs-resources without .qgs extension (so i.e. the resource name for qgs-resources/subfolder/project.qgs will be subfolder/project ). Note: If your QGIS project is configured to return the field aliases rather than the field names in GetFeatureInfo , the resource name for layer attribute resources corresponds to the alias of the field. Available map , layer , attribute and print_template resources are determined from WMS GetProjectSettings and the QGIS projects. The data and their attribute resources define a data layer for the Data service . For more detailed CRUD permissions data_create , data_read , data_update and data_delete can be used instead of data ( data and write=False is equivalent to data_read ; data and write=True is equivalent to all CRUD resources combined). The viewer_task resource defines viewer functionalities (e.g. printing or raster export) that can be restricted or permitted. Their name (e.g. RasterExport ) will be matched against: - The key in menuItems and toolbarItems in the QWC2 config.json . - The name of a plugin entry in config.json . - The task configuration property of a TaskButton plugin entry in config.json Note : You can restrict tasks entires which specify a mode (i.e. {\"key\": \"Measure\", \"mode\": \"LineString\"} ) by concatenating the task key and the mode as the viewer_task resource name, i.e. MeasureLineString . The FeatureInfo service , FeatureInfo layer and subordinate Attribute resources allow controlling whether an entire WMS service, its layers or its attributes are queryable via GetFeatureInfo. Restricted viewer task items are then removed from the menu and toolbar in the map viewer. Viewer tasks not explicitly added as resources are kept unchanged from the config.json . Note : The resource types, i.e. for custom QWC2 plugins, can be extended by inserting new types into the qwc_config.resource_types table. These can be queried, e.g. in a custom service, by using PermissionClient::resource_permissions() or PermissionClient::resource_restrictions() from QWC Services Core .","title":"Resources"},{"location":"configuration/ResourcesPermissions/#permissions","text":"Permissions are based on roles. Roles can be assigned to groups or users, and users can be members of groups. A special role is \"public\". The \"public\" role applies always, no matter whether a user is signed in or is not signed in. Roles can be assigned permission for resources. The write flag is only used for data resources and determines whether a data layer is read-only. Based on the user's identity (user name and/or group name), all corresponding roles and their permissions and restrictions are collected. The service configurations are then modified according to these permissions and restrictions. By using the permissions_default_allow configuration setting in tenantConfig.json , some resources can be set to be permitted or restricted by default if no permissions are set (default: false ). Among affected resources are Map , Layer , Print template , Viewer task , FeatureInfo service , FeatureInfo layer . E.g.: permissions_default_allow=true : all maps and layers are permitted by default permissions_default_allow=false : maps and layers are only available if their resources and permissions are explicitly configured","title":"Permissions"},{"location":"configuration/ResourcesPermissions/#restricted-themes","text":"The display behaviour of restricted themes can be configured in the mapViewer service configuration in tenantConfig.json as follows: { \"name\": \"mapViewer\", \"config\": { \"show_restricted_themes\": false, \"show_restricted_themes_whitelist\": [], \"redirect_restricted_themes_to_auth\": false, \"internal_permalink_service_url\": \"http://qwc-permalink-service:9090\" } } show_restricted_themes : Whether to show placeholder items for restricted themes. Default: false . show_restricted_themes_whitelist : Whitelist of restricted theme names to display as placeholders. If empty, all restricted themes are shown. Only used if show_restricted_themes enabled. Default: [] . redirect_restricted_themes_to_auth : Whether to redirect to login on auth service if requesting a restricted theme in URL params, if not currently signed in. Default: false . internal_permalink_service_url : Internal permalink service URL for getting the theme from a resolved permalink for redirecting to login (default: http://qwc-permalink-service:9090 ). This is used only if redirect_restricted_themes_to_auth is enabled and permalink_service_url is set.","title":"Restricted themes"},{"location":"configuration/ResourcesPermissions/#permissions-file","text":"The QWC Config Generator generates a JSON file for all permissions from the QWC ConfigDB. See READMEs of QWC services for service specific contents in permissions.json .","title":"Permissions file"},{"location":"configuration/ResourcesPermissions/#group-registration","text":"Using the optional Registration GUI allows users to request membership or unsubscribe from registrable groups. These requests can then be accepted or rejected in the Admin GUI . Workflow: Admin GUI admin user creates new groups with assigned roles and permissions on resources admin user configures registrable groups Registration GUI user select desired groups from registrable groups and submits application form admin users are notified of new registration requests Admin GUI admin user selects entry from list of pending registration requests admin user accepts or rejects registration requests for a user user is added to or removed from accepted groups user is notified of registration request updates Map Viewer user permissions are updated for new groups","title":"Group registration"},{"location":"configuration/ServiceConfiguration/","text":"QWC Services configuration \u00b6 The architecture of qwc-services is as follows: API-Gateway: API Gateway, forwards requests to individual services http://localhost:8088 Auth-Service: Authentication service with local user database (default users: admin:admin, demo:demo) http://localhost:8088/auth/login Map viewer: QWC2 map viewer http://localhost:8088 OGC Service: Proxy for WMS/WFS requests filtered by permissions, calls QGIS Server http://localhost:8088/ows/api Admin GUI: Admin GUI http://localhost:8088/qwc_admin/ qwc-docker ships a pre-configured the qwc-services ecosystem as an easy to use application. Service overview \u00b6 Following is an overview of existing qwc-services : Applications : QWC2 Map Viewer : The map viewer application QWC Admin GUI : Configuration backend for managing users and permissions Registration GUI : GUI for registration of new users REST services : DB auth service : Authentication service with local user database LDAP auth service : LDAP Authentication service Data service : Data edit service, required for QWC2 editing functionality Document service : Service for generating Jasper reports Elevation service : Service for providing elevation data, required for QWC2 elevation profile Feature info service : Service for providing enhanced GetFeatureInfo responses to QWC2 Fulltext search service : Fulltext search service for the QWC2 search functionality Legend service : Service for providing enhanced legend graphics to QWC2 Mapinfo service : Service for providing additional information to the QWC2 right-click map context popup OGC service : Proxy for WMS/WFS requests filtered by permissions, calls QGIS Server Permalink service : Service for storing compat permalinks and bookmarks generated by QWC2 Print service : Service for enhancing the QWC2 GetPrint requests Configuration database : DB schema and migrations Configuration generator : Configuration generator qwc-docker layout \u00b6 The layout of the qwc-docker tree is as follows: Path Description \u251c\u2500 api-gateway/nginx.conf API gateway configuration. \u251c\u2500 volumes/ Contains folders which are mounted into the various containers. \u2502 \u251c\u2500 attachments Storage of files uploaded through the QWC2 editing functionality. \u2502 \u251c\u2500 config// Service configuration files, generated by qwc-config-generator . \u2502 \u251c\u2500 config-in// Input configuration files, processed by the qwc-config-generator . \u2502 \u2502 \u251c\u2500 config.json Master configuration for the QWC2 viewer. \u2502 \u2502 \u251c\u2500 index.html Viewer entry point. \u2502 \u2502 \u251c\u2500 themesConfig.json Themes configuration. \u2502 \u2502 \u2514\u2500 tenantConfig.json Master configuration file for qwc services. \u2502 \u251c\u2500 db/ Storage of configuration database (see Config DB ). \u2502 \u251c\u2500 info-templates/ Custom feature-info templates (see qwc-feature-info-service ). \u2502 \u251c\u2500 jasper-reports/ Jasper reports (see qwc-document-service ). \u2502 \u251c\u2500 legends/ Custom legend images (see qwc-legend-service ). \u2502 \u251c\u2500 qgs-resources/ QGIS projects and data referenced by the projects. \u2502 \u251c\u2500 qwc2/ QWC2 Viewer. \u2502 \u2514\u2500 solr/ Fulltext search index. \u251c\u2500 docker-compose.yml Container configuration file. \u251c\u2500 pg_service.conf Database service definitions. \u2514\u2500 pg_service-write.conf Database service definitions for write connections. Service configurations \u00b6 The master configuration file for the QWC services is located at qwc-docker/volumes/config-in//tenantConfig.json , where is the tenant name, default by default. See Multi Tenancy for more details on tenants. The file is structured as follows: { \"$schema\": \"https://github.com/qwc-services/qwc-config-generator/raw/master/schemas/qwc-config-generator.json\", \"service\": \"config-generator\", \"config\": { }, \"themesConfig\": \"./themesConfig.json\", \"services\": [ { \"name\": \" }, ... ] } Refer to the qwc-config-generator schema for the available ConfigGenerator config settings. themesConfig is a relative path to the theme configuration file as documented in Theme configuration . The services block contains the configuration for the individual QWC services, as documented in the reference . Note: All config settings can also be set as environment variables in capitalized form in docker-compose.yml . Note: Some variables must be set as environment variables in docker-compose.yml : ENV Default value Description INPUT_CONFIG_PATH config-in Base path for service configuration files OUTPUT_CONFIG_PATH /tmp Base path for service configuration files JWT_SECRET_KEY ******** secret key for JWT token TENANT_URL_RE None Regex for tenant extraction from base URL. Example: ^https?://.+?/(.+?)/ TENANT_HEADER None Tenant Header name. Example: Tenant Enabling additional services \u00b6 Add service entry in qwc-services/docker-compose.yml , setting the service mountpoint: SERVICE_MOUNTPOINT=/ Example: qwc-print-service: image: sourcepole/qwc-print-service:vYYYY.MM.DD environment: <<: *qwc-service-variables SERVICE_MOUNTPOINT: '/api/v1/print' volumes: - ./volumes/config:/srv/qwc_service/config:ro ports: - \"127.0.0.1:5020:9090\" Add corresponding entry in api-gateway/nginx.conf , example: location /api/v1/print { proxy_pass http://qwc-print-service:9090; } If necessary, uncomment/add the respective service url (see also the qwc-map-viewer schema reference ) in the mapViewer config block of volumes/config-in/default/tenantConfig.json , i.e. { \"name\": \"mapViewer\", \"generator_config\": { # ... }, \"config\": { \"print_service_url\": \"/api/v1/print/\", # ... } } Add the service configuration block below services in volumes/config-in/default/tenantConfig.json , according to the service config schema, i.e. { \"name\": \"print\", \"config\": { \"ogc_service_url\": \"http://qwc-ogc-service:9090/\", \"qgis_server_version\": \"3.16\" } } Configuration database \u00b6 The Configuration database (CofigDB) contains the database schema qwc_config for configurations and permissions of QWC services. This database uses the PostgreSQL connection service qwc_configdb by default, which can be setup for the corresponding database in the PostgreSQL connection service file qwc-docker/pg_service.conf . To use an external configuration database, either change the connection definition for qwc_configdb in qwc-docker/pg_service.conf or change the config_db_url in qwc-docker/volumes/config-in//tenantConfig.json . Database migrations \u00b6 Migrations to the ConfigDB are applied automatically by the qwc-base-db-migrate image which is included in the sample docker-compose-example.yml . To upgrade the ConfigDB to a newer version, it is sufficient to change the version of the image to the desired version, and migrations will be applied automatically next time the application is restarted. See the qwc-base-db README for more info. Keeping QWC services up to date \u00b6 When using qwc-docker , updating the services is a simple as updating the image tags in qwc-docker/docker-compose.yml . Two versioning schemes are available: vYYYY-MM-DD : These refer to the latest available \"development\" version of the respective images (i.e. v2023.05.12 ). vYYYY.X-lts : These refer to the long term support version of the respective images (i.e. v2023.1-lts ). You can always check the available tags on dockerhub, for example at https://hub.docker.com/r/sourcepole/qwc-config-generator . In particular, to special tags exist, latest , latest-lts and latest-YYYY-lts (i.e. latest-2024-lts ) which always refer to the latest available \"development\" and long term support versions respectively. Note however that using these tags will result in docker automatically pulling new versions when the application is launched, which may be undesired. The qwc-docker Upgrade Notes documents major changes, and in particular all incompatible changes between releases which require changes to the application specific code and/or configuration.","title":"Services"},{"location":"configuration/ServiceConfiguration/#qwc-services-configuration","text":"The architecture of qwc-services is as follows: API-Gateway: API Gateway, forwards requests to individual services http://localhost:8088 Auth-Service: Authentication service with local user database (default users: admin:admin, demo:demo) http://localhost:8088/auth/login Map viewer: QWC2 map viewer http://localhost:8088 OGC Service: Proxy for WMS/WFS requests filtered by permissions, calls QGIS Server http://localhost:8088/ows/api Admin GUI: Admin GUI http://localhost:8088/qwc_admin/ qwc-docker ships a pre-configured the qwc-services ecosystem as an easy to use application.","title":"QWC Services configuration"},{"location":"configuration/ServiceConfiguration/#service-overview","text":"Following is an overview of existing qwc-services : Applications : QWC2 Map Viewer : The map viewer application QWC Admin GUI : Configuration backend for managing users and permissions Registration GUI : GUI for registration of new users REST services : DB auth service : Authentication service with local user database LDAP auth service : LDAP Authentication service Data service : Data edit service, required for QWC2 editing functionality Document service : Service for generating Jasper reports Elevation service : Service for providing elevation data, required for QWC2 elevation profile Feature info service : Service for providing enhanced GetFeatureInfo responses to QWC2 Fulltext search service : Fulltext search service for the QWC2 search functionality Legend service : Service for providing enhanced legend graphics to QWC2 Mapinfo service : Service for providing additional information to the QWC2 right-click map context popup OGC service : Proxy for WMS/WFS requests filtered by permissions, calls QGIS Server Permalink service : Service for storing compat permalinks and bookmarks generated by QWC2 Print service : Service for enhancing the QWC2 GetPrint requests Configuration database : DB schema and migrations Configuration generator : Configuration generator","title":"Service overview"},{"location":"configuration/ServiceConfiguration/#qwc-docker-layout","text":"The layout of the qwc-docker tree is as follows: Path Description \u251c\u2500 api-gateway/nginx.conf API gateway configuration. \u251c\u2500 volumes/ Contains folders which are mounted into the various containers. \u2502 \u251c\u2500 attachments Storage of files uploaded through the QWC2 editing functionality. \u2502 \u251c\u2500 config// Service configuration files, generated by qwc-config-generator . \u2502 \u251c\u2500 config-in// Input configuration files, processed by the qwc-config-generator . \u2502 \u2502 \u251c\u2500 config.json Master configuration for the QWC2 viewer. \u2502 \u2502 \u251c\u2500 index.html Viewer entry point. \u2502 \u2502 \u251c\u2500 themesConfig.json Themes configuration. \u2502 \u2502 \u2514\u2500 tenantConfig.json Master configuration file for qwc services. \u2502 \u251c\u2500 db/ Storage of configuration database (see Config DB ). \u2502 \u251c\u2500 info-templates/ Custom feature-info templates (see qwc-feature-info-service ). \u2502 \u251c\u2500 jasper-reports/ Jasper reports (see qwc-document-service ). \u2502 \u251c\u2500 legends/ Custom legend images (see qwc-legend-service ). \u2502 \u251c\u2500 qgs-resources/ QGIS projects and data referenced by the projects. \u2502 \u251c\u2500 qwc2/ QWC2 Viewer. \u2502 \u2514\u2500 solr/ Fulltext search index. \u251c\u2500 docker-compose.yml Container configuration file. \u251c\u2500 pg_service.conf Database service definitions. \u2514\u2500 pg_service-write.conf Database service definitions for write connections.","title":"qwc-docker layout"},{"location":"configuration/ServiceConfiguration/#service-configurations","text":"The master configuration file for the QWC services is located at qwc-docker/volumes/config-in//tenantConfig.json , where is the tenant name, default by default. See Multi Tenancy for more details on tenants. The file is structured as follows: { \"$schema\": \"https://github.com/qwc-services/qwc-config-generator/raw/master/schemas/qwc-config-generator.json\", \"service\": \"config-generator\", \"config\": { }, \"themesConfig\": \"./themesConfig.json\", \"services\": [ { \"name\": \" }, ... ] } Refer to the qwc-config-generator schema for the available ConfigGenerator config settings. themesConfig is a relative path to the theme configuration file as documented in Theme configuration . The services block contains the configuration for the individual QWC services, as documented in the reference . Note: All config settings can also be set as environment variables in capitalized form in docker-compose.yml . Note: Some variables must be set as environment variables in docker-compose.yml : ENV Default value Description INPUT_CONFIG_PATH config-in Base path for service configuration files OUTPUT_CONFIG_PATH /tmp Base path for service configuration files JWT_SECRET_KEY ******** secret key for JWT token TENANT_URL_RE None Regex for tenant extraction from base URL. Example: ^https?://.+?/(.+?)/ TENANT_HEADER None Tenant Header name. Example: Tenant","title":"Service configurations"},{"location":"configuration/ServiceConfiguration/#enabling-additional-services","text":"Add service entry in qwc-services/docker-compose.yml , setting the service mountpoint: SERVICE_MOUNTPOINT=/ Example: qwc-print-service: image: sourcepole/qwc-print-service:vYYYY.MM.DD environment: <<: *qwc-service-variables SERVICE_MOUNTPOINT: '/api/v1/print' volumes: - ./volumes/config:/srv/qwc_service/config:ro ports: - \"127.0.0.1:5020:9090\" Add corresponding entry in api-gateway/nginx.conf , example: location /api/v1/print { proxy_pass http://qwc-print-service:9090; } If necessary, uncomment/add the respective service url (see also the qwc-map-viewer schema reference ) in the mapViewer config block of volumes/config-in/default/tenantConfig.json , i.e. { \"name\": \"mapViewer\", \"generator_config\": { # ... }, \"config\": { \"print_service_url\": \"/api/v1/print/\", # ... } } Add the service configuration block below services in volumes/config-in/default/tenantConfig.json , according to the service config schema, i.e. { \"name\": \"print\", \"config\": { \"ogc_service_url\": \"http://qwc-ogc-service:9090/\", \"qgis_server_version\": \"3.16\" } }","title":"Enabling additional services"},{"location":"configuration/ServiceConfiguration/#configuration-database","text":"The Configuration database (CofigDB) contains the database schema qwc_config for configurations and permissions of QWC services. This database uses the PostgreSQL connection service qwc_configdb by default, which can be setup for the corresponding database in the PostgreSQL connection service file qwc-docker/pg_service.conf . To use an external configuration database, either change the connection definition for qwc_configdb in qwc-docker/pg_service.conf or change the config_db_url in qwc-docker/volumes/config-in//tenantConfig.json .","title":"Configuration database"},{"location":"configuration/ServiceConfiguration/#database-migrations","text":"Migrations to the ConfigDB are applied automatically by the qwc-base-db-migrate image which is included in the sample docker-compose-example.yml . To upgrade the ConfigDB to a newer version, it is sufficient to change the version of the image to the desired version, and migrations will be applied automatically next time the application is restarted. See the qwc-base-db README for more info.","title":"Database migrations"},{"location":"configuration/ServiceConfiguration/#keeping-qwc-services-up-to-date","text":"When using qwc-docker , updating the services is a simple as updating the image tags in qwc-docker/docker-compose.yml . Two versioning schemes are available: vYYYY-MM-DD : These refer to the latest available \"development\" version of the respective images (i.e. v2023.05.12 ). vYYYY.X-lts : These refer to the long term support version of the respective images (i.e. v2023.1-lts ). You can always check the available tags on dockerhub, for example at https://hub.docker.com/r/sourcepole/qwc-config-generator . In particular, to special tags exist, latest , latest-lts and latest-YYYY-lts (i.e. latest-2024-lts ) which always refer to the latest available \"development\" and long term support versions respectively. Note however that using these tags will result in docker automatically pulling new versions when the application is launched, which may be undesired. The qwc-docker Upgrade Notes documents major changes, and in particular all incompatible changes between releases which require changes to the application specific code and/or configuration.","title":"Keeping QWC services up to date"},{"location":"configuration/ThemesConfiguration/","text":"Themes configuration \u00b6 A theme corresponds to a QGIS project, published as WMS and served by QGIS Server. The basic steps for configuring a theme are: Create a QGIS project and deploy it to QGIS Server Writing the QWC2 theme configuration Generating the themes configuration Creating and publishing a QGIS project \u00b6 The first step is to prepare a QGIS project for publishing. Besides the common tasks of adding and styling layers, the following table gives an overview of settings which influence how the theme is displayed in QWC2: What Where Description Service Metadata Project Properties \u2192 QGIS Server \u2192 Service capabilities Shown in the theme info dialog, invokable from the Layer Tree panel titlebar. Title, keywords Project Properties \u2192 QGIS Server \u2192 Service capabilities Theme title, displayed in the Theme Switcher, and keywords, useful for filtering. Map extent Project Properties \u2192 QGIS Server \u2192 WMS \u2192 Advertised extent The extent used as initial map extent when loading the theme, unless overridden in themesConfig.json . Queryable layers Project Properties \u2192 Data sources Mark layers as identifyable by the client. FeatureInfo geometry Project Properties \u2192 QGIS Server \u2192 WMS Capabilities \u2192 Add geometry to feature response Return feature geometries with the GetFeatureInfo request. Allows the client to highlight the selected features. Layer Display Field Vector Layer Properties \u2192 Display The field used in the identify results. Layer Map Tip Vector Layer Properties \u2192 Display The contents of the Map Tip shown when hovering over layers in the client, if displaying Map Tips is enabled in the Layer Tree. Layer Metadata Layer Properties \u2192 QGIS Server Shown in the client Layer Info dialog, invokable from the Layer Tree. Scale range Layer Properties \u2192 Rendering \u2192 Scale dependent visibility The scale range within which a layer is visible, useful to improve rendering performance. Initial visibility Layers Panel Initial visibility of layers and groups. Rendering order Layer Order Panel or Layers Panel Rendering order of the layers. If layer re-ordering is enabled in config.json , the order from the Layer Order Panel is ignored. Print layouts Layout manager The print layouts offered in the Print plugin. Print layout labels Layout manager Print layout labels with an ID will be exposed in the Print plugin. Note: a label ID starting with __ will not be exposed. Attribute form Vector Layer Properties \u2192 Attributes Form The configured attribute form will be displayed when editing in QWC2. External layers Layer Properties \u2192 QGIS Server \u2192 Data URL Mark the layer as an external layer to avoid cascaded requests. See Configuring external layers . Then, store the project in the publishing directory of your QGIS Server instance. When using qwc-docker , store the project as *.qgs below qwc-docker/volumes/qgs-resources . Alternatively, when using qwc-docker , you can also store the project in a database in QGIS using Project \u2192 Save To \u2192 PostgreSQL (see Storing projects in database ). Ensuring valid datasources \u00b6 A common issue is that the project will reference datasources in locations which cannot be resolved when QGIS Server reads the project, in particular when running QGIS Server inside a docker container. To avoid such issues: Make sure that any file-based resources are located on the same level or below the level of the *.qgs project file. Remember to copy all resources along with the *.qgs project file to the server. Load any PostgreSQL datasource in QGIS using a service, and make sure the service definition exists both in the pg_service.conf on your host system as well as in the qwc_docker/pg_service.conf and qwc_docker/pg_service-write.conf which are mounted inside the docker containers. For instance, to use default qwc-docker database, use the qwc_geodb service and add the service definition to your host pg_service.conf as follows: [qwc_geodb] host=localhost port=5439 dbname=qwc_demo user=qwc_service password=qwc_service sslmode=disable Configuring the themes in themesConfig.json \u00b6 The next step is to configure the theme for QWC2. There are two approaches: Automatic theme configuration (only when using qwc-docker ): Just copy the project file to the designated location and the qwc-config-generator will automatically generate a theme configuration using default parameters. Manual theme configuration : Manually configure a theme with the full set of configuration options. Automatic theme configuration \u00b6 When using qwc-docker , save your QGIS projects below qwc-docker/volumes/qgs-resources/scan . Adjust the default settings ( defaultMapCrs , defaultBackgroundLayers , etc.) as desired in qwc-docker/volumes/config-in//themesConfig.json . Then generate the theme configuration . You can configure an automatically configured theme as default theme by setting defaultTheme in themesConfig.json to the path to the QGIS project file below qwc-docker/volumes/qgs-resources , without the .qgs extension. For example to set qwc-docker/volumes/qgs-resources/scan/project.qgs as default theme, you'd write ... \"defaultTheme\": \"scan/project\" ... To use a custom thumbnail for an automatically configured theme, place a an image called .png in qwc-docker/volumes/qwc2/assets/img/mapthumbs . For example. if the project is called project_name.qgs , the name thumbnail image would be named project_name.png . Note: The auto-scan directory can be is controlled by qgis_projects_scan_base_dir in qwc-docker/volumes/config-in//themesConfig.json . Manual theme configuration \u00b6 The theme configuration file is located as follows: Standalone viewer: qwc2-app/themesConfig.json qwc-docker : qwc-docker/volumes/config-in//themesConfig.json Note : when using qwc-docker , the themes configuration may also be embedded as themesConfig directly in qwc-docker/volumes/config-in//tenantConfig.json . The themesConfig.json file contains a list of themes, optionally organized in groups, as well as a list of background layers: { \"themes\": { \"items\": [ { }, ... ], \"groups\": [ { \"title\": , \"items\": [{ }, ...], \"groups\": [ { }, ...] }, ... ], \"externalLayers\": [ { }, ... ], \"themeInfoLinks\": [ { }, ... ], \"pluginData\": { \"\": [{ }, ...], ... }, \"backgroundLayers\": [ { }, ... ], }, \"defaultMapCrs\": \"\", \"defaultBackgroundLayers\": \"\", \"defaultWMSVersion\": \"\", \"defaultScales\": [], \"defaultPrintScales\" [], \"defaultPrintResolutions\": [], \"defaultSearchProviders\": [], \"defaultPrintGrid\": [], \"defaultTheme\": \"\" } Refer to External layers , Theme info links , Plugin data and Background layers for the format of the respective definitions. Refer to the sample themesConfig.json for a complete example. The format of the theme definitions is as follows: Entry Description \"id\": \"\", Theme identificator. Autogenerated if not specified. \"url\": \"\", The address of desired WMS served by QGIS Server. \"mapCrs: \"\", Optional, map projection, defaults to defaultMapCrs . \"title\": \"\", Optional, override WMS title. \"description\": \"\", Optional, an additional description to show below the theme title. \"thumbnail\": \"\", Optional, image file in assets/img/mapthumbs (see Viewer assets ). If omitted, .png will be used if it exists below assets/img/mapthumbs , otherwise it is autogenerated via WMS GetMap. \"attribution\": \"\", Optional, attribution which will be shown in the bottom right corner of the map. \"attributionUrl\": \"\", Optional, link associated to the attribution \"scales\": [], List of denominators of allowed map scales. If omitted, defaults to defaultScales . \"printScales\": [], List of denominators of allowed print scales. If omitted, defaults to defaultPrintScales . \"printResolutions\": [], List of available print resolutions. If an empty list, resolutions are freely choseable. If omitted, defaults to defaultPrintResolutions . \"printGrid\": [ List of grid scale-dependent grid intervals to use when printing. If omitted, defaults to defaultPrintGrid . \u2063 {\"s\": , \"x\": , \"y\": }, Keep this list sorted in descending order by scale denominator. \u2063 {\"s\": , \"x\": , \"y\": } In this example, {x: , y: } will be used for > Scale >= . ], \"defaultPrintLayout\": \"\", Optional, name print layout to select by default. \"printLabelForSearchResult\": \"\", Optional, an ID of a print layout label to which the current search result text (if any) will be written to when printing. \"printLabelForAttribution\": \"\", Optional, an ID of a print layout label to which the current attribution text (if any) will be written to when printing. \"printLabelConfig\": { Optional, configuration of the text input fields for print layout labels. \u2063 \"\": { \u2063 \u2063 \"defaultValue\": \", Optional, default value. \u2063 \u2063