Settings

The following variables can be added to or edited in the project’s local_settings.py:

Base settings

G3WADMIN_PROJECT_APPS

Custom django map server module other than qdjango (QGIS-Server provider)

G3WADMIN_LOCAL_MORE_APPS

Custom django modules that is possible to add, i.e. g3w-admin-frontend (https://github.com/g3w-suite/g3w-admin-frontend) module and other third part django modules. G3W-SUITE accessory modules:

DATASOURCE_PATH

Path to geo data directory (shp, Spatialite, raster, etc..).

G3WFILE_FORM_UPLOAD_FORMATS

List of formats file that file form ajax uploader can manage at global level. Default is [‘qgs’, ‘qgz’, ‘png’, ‘jpg’, ‘jpeg’, ‘pdf’, ‘doc’, ‘docx’, ‘xls’, ‘xlsx’, ‘ods’]

Important

Last part of path could be common with QGIS project datasource path. I.e.:

QGIS project: <datasource>/<path>/<to>/project_data/<geodata>.shp</datasource>

local_settings.py: DATASOURCE_PATH = /<local_server_<path>/<to>/project_data

Mandatory.

G3WADMIN_VECTOR_LAYER_DOWNLOAD_FORMATS

Default is [‘shp’, ‘xls’], set download data format. Values possible:
  • shp: download into Esri Shape format.

  • xls: download into Excel format

  • gpx: download into GPS format (only for Point and Line layers)

RESET_USER_PASSWORD

Default is False, set tot True to activate reset user password by email workflow. If set to True remember to set Django emailing settings (https://docs.djangoproject.com/en/2.2/topics/email/).

CLIENT_OWS_METHOD

Default is ‘GET’, set to ‘POST’ to change default http call method.

Database logging

With v3.6.x version G3W-SUITE can save message logs inside the database. To activate it is sufficient add a new log handler inside Django LOGGING settings and use it for a logger:

LOGGING = {
    ...
    'handlers': {
        ...
        'db_log': {
            'level': 'DEBUG',
            'class': 'core.utils.logs.db_handler.DatabaseLogHandler'
            },
        ...
    }
    ...
    'loggers': {
        ...
        '': {
            'handlers': ['db_log'],
            'level': 'DEBUG',
        },
        ...
    }
}

Important

This logging system continues to save log records with no upper limit. To keep the table from getting too big, there is a django command that deletes records older than a set number of days. Is possible set a cronjob with the follow command:

python3 manage.py clear_db_logs –days 30

In this case records older than 30 days will be deleted.

Frontend portal setting

FRONTEND

Default is False, set to True for activate G3W-SUITE frontend portal like g3w-admin-frontend. If it’s set to True base url path for G3W-SUITE admin section become /admin/.

FRONTEND_APP

Module name added to G3WADMIN_LOCAL_MORE_APPS to use as portal-frontend. I.e.:

G3WADMIN_LOCAL_MORE_APPS = [
    ...
    'frontend',
    ...
]

FRONTEND = True
FRONTEND_APP = 'frontend'

General layout settings

G3WSUITE_POWERD_BY

Default is True, set to False for don’t show bottom attribution informations.

G3WSUITE_CUSTOM_STATIC_URL

A custom url from to load custom static files as images, css, etc..

G3WSUITE_CUSTOM_TITLE

G3W-SUITE html page title. If is not set, title is: g3w-admin for admin section and g3w-client for webgis client.

G3WSUITE_FAVICON

Favorite icon image. Mandatory is set G3WSUITE_CUSTOM_STATIC_URL

G3WSUITE_CUSTOM_CSS

A list of custom css files added to admin pages and to the client. Mandatory is set G3WSUITE_CUSTOM_STATIC_URL. I.e.:

G3WSUITE_CUSTOM_CSS = [
    G3WSUITE_CUSTOM_STATIC_URL +'css/custom.css'
]

G3WSUITE_CUSTOM_JS

A list of custom js files added to admin pages and to the client. Mandatory is set G3WSUITE_CUSTOM_STATIC_URL. I.e.:

G3WSUITE_CUSTOM_JS = [
    G3WSUITE_CUSTOM_STATIC_URL +'js/custom.js'
]

Client layout settings

G3W_CLIENT_SEARCH_TITLE

Custom webgis client search section title.

G3W_CLIENT_SEARCH_ENDPOINT

Search url endpoint for ‘searches calling’, default ows.
  • ows: by wms search;

  • api: by g3w-suite layer vector API.

G3W_CLIENT_LEGEND

A dict to customize QGIS-server legend image generate with WMS GetLegendGraphics request. I.e.:

G3W_CLIENT_LEGEND = {
   'color': 'red',
   'fontsize': 8,
   'transparent': True,
   'boxspace': 4,
   'layerspace': 4,
   'layertitle': True,
   'layertitlespace': 4,
   'symbolspace': None,
   'iconlabelspace': 2,
   'symbolwidth': 8,
   'symbolheight': 4
}

G3W_CLIENT_RIGHT_PANEL

Custom properties settings for webgis right panel section (default, width 33%). A the moment only width is managed. I.e.:

G3W_CLIENT_RIGHT_PANEL = {
    'width': 33
}

G3W_CLIENT_NOT_SHOW_EMPTY_VECTORLAYER

Default is False. Set to True for remove from webgis TOC vector layer empty, without data.

GEOCONDING_PROVIDERS

Set the geocoding providers available for webgis services:

GEOCODING_PROVIDERS = {
  "nominatim": {
    "label": "Nominatim (OSM)",
    "url": "https://nominatim.openstreetmap.org/search"
  },
}

You can also add custom providers (or edit the existing ones within static/client/geocoding-providers folder), just remember to use javascript file name as “provider” identifier:

https://dev.g3wsuite.it/static/client/geocoding-providers/nominatim.js
https://dev.g3wsuite.it/static/client/geocoding-providers/bing_streets.js
https://dev.g3wsuite.it/static/client/geocoding-providers/bing_places.js
https://dev.g3wsuite.it/static/client/geocoding-providers/your_custom_provider.js
VENDOR_KEYS['bing'] = 'bing.secret.key'

GEOCODING_PROVIDERS = {
 "nominatim": {
   "label": "Nominatim (OSM)",
   "url": "https://nominatim.openstreetmap.org/search",
   # "icon": "road",
 },
 "bing_streets": {
    "label": "Bing Streets",
    "url": "https://dev.virtualearth.net/REST/v1/Locations/?key=" + VENDOR_KEYS['bing'],
    # "icon": "road",
  },
 "bing_places": {
    "label": "Bing Places",
    "url": "https://dev.virtualearth.net/REST/v1/LocalSearch/?key=" + VENDOR_KEYS['bing'],
    # "icon": "poi",
  },
  "your_custom_provider": {
    "label": "Custom Provider",
    "url": "url": "https://your-custom-server.com/Search/?key=super.secret.key",
    "icon": "poi",
  },
}

NB: for more info see: Getting a Bing maps key <https://learn.microsoft.com/en-us/bingmaps/getting-started/bing-maps-dev-center-help/getting-a-bing-maps-key>

Editing settings

Settings params for editing module.

EDITING_SHOW_ACTIVE_BUTTON

Default is True. Set to False for not show editing button activate/deactivate into layers project list.

EDITING_ANONYMOUS

Default is False. Set to True to render possible give to anonymous user editing permissions.

EDITING_LOGGING

Default is False. Set to True to log users editing action into database.

Caching settings

Settings params for caching module

TILESTACHE_CACHE_NAME

A name to identify caching

TILESTACHE_CACHE_TYPE

Default is Disk to save tile on a disk. Set to Memcache for to use Memcached caching framework (https://www.memcached.org/)

TILESTACHE_CACHE_DISK_PATH

Path to disk space where to save tile created by tilestache if TILESTAHCE_CACHE_TYEPE is se to Disk.

TILESTACHE_CACHE_TOKEN

Mandatory, strign to use as token for internal WMS call for caching module.

Filemanger settings

Settings params for filemanager module.

FILEMANAGER_ROOT_PATH

Mandatory, path to disk space where to CRUD geo data files i.e. Shp Raster, etc.

FILEMANAGER_MAX_UPLOAD_N_FILES

Default is 5, max number files to upload simultaneously.

Qplotly settings

LOAD_QPLOTLY_FROM_PROJECT

Default is False, set to True to import DataPlotly settings from QGIS project.

Openrouteservice settings

ORS_API_ENDPOINT

Default is http://localhost:8080/ors/v2/, this is the endpoint for Openrouteservice API.

ORS_API_KEY

Openrouteservice API key, optional, can be blank if the key is not required by the endpoint.

ORS_PROFILES

List of available Openrouteservice profiles, default: ("driving-car", "driving-hgv")

Vendors settings

Settings variables about third part services, i.e. Google API etc..

VENDOR_KEYS

A list with services API keys. I.e.:

VENDOR_KEYS = {
 'google': 'fhgnrjwipòflsjhjjdhjdhashhabs',
 'bing': 'agbsgtrkADgstejaaklkklkds8irncdfk'
}

At the moment only Google and Bing services are supported, for background base map and for google geoconding service plus of Nominatim default service.

Google reCAPTCHA

Google reCAPTCHA system can be added to login form and to password reset form ((is activated)) and registration form (is activated)

RECAPTCHA

Default is False, active or deactive Google reCAPTCHA checkbox.

RECAPTCHA_VERSION

Default is 2, reCAPTCHA version 2 or 3

RECAPTCHA_PUBLIC_KEY

Required if RECAPTCHA is True, Google reCAPATCHA public key.

RECAPTCHA_PRIVATE_KEY

Required if RECAPTCHA is True, Google reCAPATCHA private key.

Registration

Settings variables for user registration system.

REGISTRATION_OPEN

Default is False, Activate/deactivate the user registration system.

REGISTRATION_ACTIVE_BY_ADMIN

Default is False, if True the activation of a self-signed user must be done by administrator user.

ACCOUNT_ACTIVATION_DAYS

Default is 2, this is the number of days users will have to activate their accounts after registering. If a user does not activate within that period, the account will remain permanently inactive unless a site administrator manually activates it.

REGISTRATION_EMAIL_SUBJECT_PREFIX

Default [G3W-SUITE], Prefix for email subjects of Registration workflow: activation, activated and activation admin email.

REGISTRATION_EMAIL_BODY_SIGN

Default g3wsuite.it, Email’s sign of emails of Registration workflow: activation, activated and activation admin email.

Caching

Settings variables for caching workflow