c2cgeoportal-geoportal 2.5.0.100__py2.py3-none-any.whl → 2.7.1.156__py2.py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- c2cgeoportal_geoportal/__init__.py +261 -130
- c2cgeoportal_geoportal/lib/__init__.py +74 -120
- c2cgeoportal_geoportal/lib/authentication.py +170 -21
- c2cgeoportal_geoportal/lib/bashcolor.py +17 -13
- c2cgeoportal_geoportal/lib/cacheversion.py +19 -11
- c2cgeoportal_geoportal/lib/caching.py +66 -160
- c2cgeoportal_geoportal/lib/check_collector.py +17 -10
- c2cgeoportal_geoportal/lib/checker.py +62 -64
- c2cgeoportal_geoportal/lib/common_headers.py +170 -0
- c2cgeoportal_geoportal/lib/dbreflection.py +70 -31
- c2cgeoportal_geoportal/lib/filter_capabilities.py +127 -97
- c2cgeoportal_geoportal/lib/fulltextsearch.py +50 -0
- c2cgeoportal_geoportal/lib/functionality.py +36 -21
- c2cgeoportal_geoportal/lib/headers.py +14 -5
- c2cgeoportal_geoportal/lib/i18n.py +39 -0
- c2cgeoportal_geoportal/lib/layers.py +29 -10
- c2cgeoportal_geoportal/lib/lingua_extractor.py +408 -211
- c2cgeoportal_geoportal/lib/loader.py +18 -16
- c2cgeoportal_geoportal/lib/metrics.py +29 -18
- c2cgeoportal_geoportal/lib/oauth2.py +1036 -0
- c2cgeoportal_geoportal/lib/wmstparsing.py +115 -90
- c2cgeoportal_geoportal/lib/xsd.py +29 -19
- c2cgeoportal_geoportal/resources.py +15 -9
- c2cgeoportal_geoportal/scaffolds/advance_create/ci/config.yaml +26 -0
- c2cgeoportal_geoportal/scaffolds/advance_create/cookiecutter.json +18 -0
- c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/.dockerignore +6 -0
- c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/.eslintrc.yaml +19 -0
- c2cgeoportal_geoportal/scaffolds/{create/+dot+prospector.yaml → advance_create/{{cookiecutter.project}}/geoportal/.prospector.yaml} +8 -4
- c2cgeoportal_geoportal/scaffolds/{create/geoportal/Dockerfile_tmpl → advance_create/{{cookiecutter.project}}/geoportal/Dockerfile} +24 -15
- c2cgeoportal_geoportal/scaffolds/{create → advance_create/{{cookiecutter.project}}}/geoportal/alembic.ini +1 -0
- c2cgeoportal_geoportal/scaffolds/{create/geoportal/alembic.yaml_tmpl → advance_create/{{cookiecutter.project}}/geoportal/alembic.yaml} +1 -1
- c2cgeoportal_geoportal/scaffolds/{create/geoportal/development.ini_tmpl → advance_create/{{cookiecutter.project}}/geoportal/development.ini} +34 -15
- c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/gunicorn.conf.py +102 -0
- c2cgeoportal_geoportal/scaffolds/{create → advance_create/{{cookiecutter.project}}}/geoportal/lingua-client.cfg +1 -0
- c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/production.ini +38 -0
- c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/requirements.txt +2 -0
- c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/setup.py +25 -0
- c2cgeoportal_geoportal/scaffolds/{create → advance_create/{{cookiecutter.project}}}/geoportal/tools/extract-messages.js +8 -6
- c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/tsconfig.json +8 -0
- c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/webpack.api.js +75 -0
- c2cgeoportal_geoportal/scaffolds/{create/geoportal/webpack.apps.js_tmpl → advance_create/{{cookiecutter.project}}/geoportal/webpack.apps.js} +31 -28
- c2cgeoportal_geoportal/scaffolds/{create → advance_create/{{cookiecutter.project}}}/geoportal/webpack.commons.js +3 -7
- c2cgeoportal_geoportal/scaffolds/{create → advance_create/{{cookiecutter.project}}}/geoportal/webpack.config.js +4 -4
- c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/__init__.py +47 -0
- c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/authentication.py +10 -0
- c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/dev.py +14 -0
- c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/models.py +8 -0
- c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/multi_organization.py +7 -0
- c2cgeoportal_geoportal/scaffolds/{create/geoportal/+package+_geoportal → advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal}/resources.py +4 -3
- c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static-ngeo/api/index.js +12 -0
- c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static-ngeo/js/{{cookiecutter.package}}module.js +25 -0
- c2cgeoportal_geoportal/scaffolds/{create/geoportal/+package+_geoportal/subscribers.py_tmpl → advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/subscribers.py} +3 -6
- c2cgeoportal_geoportal/scaffolds/advance_update/cookiecutter.json +18 -0
- c2cgeoportal_geoportal/scaffolds/{update/geoportal/CONST_Makefile_tmpl → advance_update/{{cookiecutter.project}}/geoportal/CONST_Makefile} +32 -20
- c2cgeoportal_geoportal/scaffolds/create/cookiecutter.json +18 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/.dockerignore +14 -0
- c2cgeoportal_geoportal/scaffolds/create/{+dot+editorconfig → {{cookiecutter.project}}/.editorconfig} +4 -8
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/.github/workflows/main.yaml +43 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/.github/workflows/rebuild.yaml +46 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/.github/workflows/update_l10n.yaml +65 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/.gitignore +16 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/.prettierignore +1 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/.prettierrc.yaml +2 -0
- c2cgeoportal_geoportal/scaffolds/create/{Dockerfile_tmpl → {{cookiecutter.project}}/Dockerfile} +34 -24
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/Makefile +14 -0
- c2cgeoportal_geoportal/scaffolds/create/{README.rst_tmpl → {{cookiecutter.project}}/README.rst} +4 -4
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/build +162 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/ci/config.yaml +25 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/ci/requirements.txt +1 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/docker-compose-lib.yaml +474 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/docker-compose.override.sample.yaml +67 -0
- c2cgeoportal_geoportal/scaffolds/create/{docker-compose.yaml → {{cookiecutter.project}}/docker-compose.yaml} +43 -18
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/env.default +82 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/env.project +60 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/geoportal/vars.yaml +396 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static/css/mobile.css +0 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static/images/markers/marker-blue.png +0 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static/images/markers/marker-gold.png +0 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static/images/markers/marker-green.png +0 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static/images/markers/marker.png +0 -0
- c2cgeoportal_geoportal/scaffolds/create/{mapserver → {{cookiecutter.project}}/mapserver}/data/Readme.txt +1 -1
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/demo.map.tmpl +224 -0
- c2cgeoportal_geoportal/scaffolds/create/{mapserver/mapserver.map.tmpl_tmpl → {{cookiecutter.project}}/mapserver/mapserver.map.tmpl} +7 -15
- c2cgeoportal_geoportal/scaffolds/create/{print/print-apps/+package+ → {{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}}/A3_Landscape.jrxml +17 -9
- c2cgeoportal_geoportal/scaffolds/create/{print/print-apps/+package+ → {{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}}/A3_Portrait.jrxml +17 -9
- c2cgeoportal_geoportal/scaffolds/create/{print/print-apps/+package+ → {{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}}/A4_Landscape.jrxml +17 -9
- c2cgeoportal_geoportal/scaffolds/create/{print/print-apps/+package+ → {{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}}/A4_Portrait.jrxml +17 -9
- c2cgeoportal_geoportal/scaffolds/create/{print/print-apps/+package+ → {{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}}/config.yaml.tmpl +30 -27
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}/legend.jrxml +109 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}/localisation.properties +4 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}/localisation_fr.properties +4 -0
- c2cgeoportal_geoportal/scaffolds/create/{project.yaml_tmpl → {{cookiecutter.project}}/project.yaml} +6 -6
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/pyproject.toml +3 -0
- c2cgeoportal_geoportal/scaffolds/create/{qgisserver/pg_service.conf.tmpl_tmpl → {{cookiecutter.project}}/qgisserver/pg_service.conf.tmpl} +2 -2
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/scripts/db-backup +110 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/scripts/db-restore +114 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/setup.cfg +7 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/spell-ignore-words.txt +3 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/tilegeneration/config.yaml.tmpl +195 -0
- c2cgeoportal_geoportal/scaffolds/update/cookiecutter.json +18 -0
- c2cgeoportal_geoportal/scaffolds/update/{{cookiecutter.project}}/.upgrade.yaml +191 -0
- c2cgeoportal_geoportal/scaffolds/update/{{cookiecutter.project}}/CONST_CHANGELOG.txt +1160 -0
- c2cgeoportal_geoportal/scaffolds/update/{geoportal → {{cookiecutter.project}}/geoportal}/CONST_config-schema.yaml +99 -47
- c2cgeoportal_geoportal/scaffolds/update/{{cookiecutter.project}}/geoportal/CONST_vars.yaml +1410 -0
- c2cgeoportal_geoportal/scripts/__init__.py +18 -32
- c2cgeoportal_geoportal/scripts/c2cupgrade.py +295 -200
- c2cgeoportal_geoportal/scripts/create_demo_theme.py +5 -6
- c2cgeoportal_geoportal/scripts/manage_users.py +34 -37
- c2cgeoportal_geoportal/scripts/pcreate.py +312 -0
- c2cgeoportal_geoportal/scripts/theme2fts.py +92 -25
- c2cgeoportal_geoportal/scripts/urllogin.py +23 -17
- c2cgeoportal_geoportal/templates/login.html +88 -84
- c2cgeoportal_geoportal/templates/notlogin.html +62 -0
- c2cgeoportal_geoportal/templates/testi18n.html +6 -8
- c2cgeoportal_geoportal/views/__init__.py +23 -4
- c2cgeoportal_geoportal/views/dev.py +9 -7
- c2cgeoportal_geoportal/views/dynamic.py +71 -40
- c2cgeoportal_geoportal/views/entry.py +93 -24
- c2cgeoportal_geoportal/views/fulltextsearch.py +36 -29
- c2cgeoportal_geoportal/views/geometry_processing.py +15 -7
- c2cgeoportal_geoportal/views/i18n.py +91 -9
- c2cgeoportal_geoportal/views/layers.py +173 -134
- c2cgeoportal_geoportal/views/login.py +206 -87
- c2cgeoportal_geoportal/views/mapserverproxy.py +59 -35
- c2cgeoportal_geoportal/views/memory.py +13 -13
- c2cgeoportal_geoportal/views/ogcproxy.py +48 -30
- c2cgeoportal_geoportal/views/pdfreport.py +31 -27
- c2cgeoportal_geoportal/views/printproxy.py +70 -54
- c2cgeoportal_geoportal/views/profile.py +25 -24
- c2cgeoportal_geoportal/views/proxy.py +100 -70
- c2cgeoportal_geoportal/views/raster.py +47 -29
- c2cgeoportal_geoportal/views/resourceproxy.py +13 -11
- c2cgeoportal_geoportal/views/shortener.py +31 -24
- c2cgeoportal_geoportal/views/theme.py +475 -365
- c2cgeoportal_geoportal/views/tinyowsproxy.py +46 -39
- c2cgeoportal_geoportal/views/vector_tiles.py +80 -0
- {c2cgeoportal_geoportal-2.5.0.100.dist-info → c2cgeoportal_geoportal-2.7.1.156.dist-info}/METADATA +17 -11
- c2cgeoportal_geoportal-2.7.1.156.dist-info/RECORD +185 -0
- {c2cgeoportal_geoportal-2.5.0.100.dist-info → c2cgeoportal_geoportal-2.7.1.156.dist-info}/WHEEL +1 -1
- {c2cgeoportal_geoportal-2.5.0.100.dist-info → c2cgeoportal_geoportal-2.7.1.156.dist-info}/entry_points.txt +3 -1
- tests/__init__.py +24 -3
- tests/test_cachebuster.py +1 -3
- tests/test_caching.py +19 -26
- tests/test_checker.py +2 -3
- tests/test_decimaljson.py +4 -4
- tests/test_headerstween.py +0 -3
- tests/test_i18n.py +31 -0
- tests/test_init.py +12 -27
- tests/test_locale_negociator.py +6 -6
- tests/test_mapserverproxy_route_predicate.py +0 -2
- tests/test_raster.py +18 -5
- tests/test_wmstparsing.py +7 -8
- c2cgeoportal_geoportal/scaffolds/__init__.py +0 -226
- c2cgeoportal_geoportal/scaffolds/create/+dot+dockerignore_tmpl +0 -11
- c2cgeoportal_geoportal/scaffolds/create/+dot+github/workflows/ci.yaml_tmpl +0 -56
- c2cgeoportal_geoportal/scaffolds/create/+dot+gitignore_tmpl +0 -12
- c2cgeoportal_geoportal/scaffolds/create/build_tmpl +0 -144
- c2cgeoportal_geoportal/scaffolds/create/docker-compose-lib.yaml_tmpl +0 -302
- c2cgeoportal_geoportal/scaffolds/create/docker-compose.override.sample.yaml_tmpl +0 -54
- c2cgeoportal_geoportal/scaffolds/create/env.default_tmpl +0 -49
- c2cgeoportal_geoportal/scaffolds/create/env.project_tmpl +0 -39
- c2cgeoportal_geoportal/scaffolds/create/geoportal/+dot+dockerignore_tmpl +0 -5
- c2cgeoportal_geoportal/scaffolds/create/geoportal/+dot+eslintrc_tmpl +0 -19
- c2cgeoportal_geoportal/scaffolds/create/geoportal/+package+_geoportal/__init__.py_tmpl +0 -48
- c2cgeoportal_geoportal/scaffolds/create/geoportal/+package+_geoportal/models.py_tmpl +0 -10
- c2cgeoportal_geoportal/scaffolds/create/geoportal/+package+_geoportal/static/images/favicon.ico +0 -0
- c2cgeoportal_geoportal/scaffolds/create/geoportal/+package+_geoportal/static/robot.txt +0 -3
- c2cgeoportal_geoportal/scaffolds/create/geoportal/+package+_geoportal/static-ngeo/api/index.js_tmpl +0 -37
- c2cgeoportal_geoportal/scaffolds/create/geoportal/+package+_geoportal/static-ngeo/js/+package+module.js_tmpl +0 -22
- c2cgeoportal_geoportal/scaffolds/create/geoportal/production.ini_tmpl +0 -106
- c2cgeoportal_geoportal/scaffolds/create/geoportal/requirements.txt +0 -2
- c2cgeoportal_geoportal/scaffolds/create/geoportal/setup.py_tmpl +0 -18
- c2cgeoportal_geoportal/scaffolds/create/geoportal/tsconfig.json_tmpl +0 -9
- c2cgeoportal_geoportal/scaffolds/create/geoportal/vars.yaml_tmpl +0 -224
- c2cgeoportal_geoportal/scaffolds/create/geoportal/webpack.api.js_tmpl +0 -71
- c2cgeoportal_geoportal/scaffolds/create/mapserver/demo.map.tmpl_tmpl +0 -262
- c2cgeoportal_geoportal/scaffolds/create/mapserver/tinyows.xml +0 -36
- c2cgeoportal_geoportal/scaffolds/create/print/print-apps/+package+/config.yaml +0 -166
- c2cgeoportal_geoportal/scaffolds/create/print/print-apps/+package+/legend.jrxml +0 -27
- c2cgeoportal_geoportal/scaffolds/create/qgisserver/geomapfish.yaml.tmpl_tmpl +0 -29
- c2cgeoportal_geoportal/scaffolds/create/scripts/publish-docker +0 -124
- c2cgeoportal_geoportal/scaffolds/create/setup.cfg_tmpl +0 -3
- c2cgeoportal_geoportal/scaffolds/create/spell-ignore-words.txt +0 -1
- c2cgeoportal_geoportal/scaffolds/create/tilegeneration/config.yaml.tmpl_tmpl +0 -169
- c2cgeoportal_geoportal/scaffolds/create/yamllint.yaml +0 -11
- c2cgeoportal_geoportal/scaffolds/update/+dot+upgrade.yaml_tmpl +0 -171
- c2cgeoportal_geoportal/scaffolds/update/CONST_CHANGELOG.txt_tmpl +0 -64
- c2cgeoportal_geoportal/scaffolds/update/geoportal/CONST_vars.yaml_tmpl +0 -783
- c2cgeoportal_geoportal/templates/dynamic.js +0 -21
- c2cgeoportal_geoportal-2.5.0.100.dist-info/RECORD +0 -162
- tests/test_get_url.py +0 -96
- tests/test_lib.py +0 -77
- /c2cgeoportal_geoportal/{scaffolds/create/geoportal/+package+_geoportal/static/css/desktop.css → py.typed} +0 -0
- /c2cgeoportal_geoportal/scaffolds/{create/geoportal/Makefile_tmpl → advance_create/{{cookiecutter.project}}/geoportal/Makefile} +0 -0
- /c2cgeoportal_geoportal/scaffolds/{create → advance_create/{{cookiecutter.project}}}/geoportal/language_mapping +0 -0
- /c2cgeoportal_geoportal/scaffolds/{create → advance_create/{{cookiecutter.project}}}/geoportal/lingua-server.cfg +0 -0
- /c2cgeoportal_geoportal/scaffolds/{create/geoportal/+package+_geoportal → advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal}/views/__init__.py +0 -0
- /c2cgeoportal_geoportal/scaffolds/create/{geoportal/+package+_geoportal/locale/en/LC_MESSAGES/+package+_geoportal-client.po → {{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/locale/en/LC_MESSAGES/{{cookiecutter.package}}_geoportal-client.po} +0 -0
- /c2cgeoportal_geoportal/scaffolds/create/{geoportal/+package+_geoportal/static/css/iframe_api.css → {{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static/css/desktop.css} +0 -0
- /c2cgeoportal_geoportal/scaffolds/create/{geoportal/+package+_geoportal/static/css/mobile.css → {{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static/css/iframe_api.css} +0 -0
- /c2cgeoportal_geoportal/scaffolds/create/{geoportal/+package+_geoportal → {{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal}/static/images/banner_left.png +0 -0
- /c2cgeoportal_geoportal/scaffolds/create/{geoportal/+package+_geoportal → {{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal}/static/images/banner_right.png +0 -0
- /c2cgeoportal_geoportal/scaffolds/create/{geoportal/+package+_geoportal → {{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal}/static/images/blank.png +0 -0
- /c2cgeoportal_geoportal/scaffolds/create/{geoportal/+package+_geoportal → {{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal}/static/robot.txt.tmpl +0 -0
- /c2cgeoportal_geoportal/scaffolds/create/{mapserver → {{cookiecutter.project}}/mapserver}/data/TM_EUROPE_BORDERS-0.3.sql +0 -0
- /c2cgeoportal_geoportal/scaffolds/create/{mapserver → {{cookiecutter.project}}/mapserver}/fonts/Arial.ttf +0 -0
- /c2cgeoportal_geoportal/scaffolds/create/{mapserver → {{cookiecutter.project}}/mapserver}/fonts/Arialbd.ttf +0 -0
- /c2cgeoportal_geoportal/scaffolds/create/{mapserver → {{cookiecutter.project}}/mapserver}/fonts/Arialbi.ttf +0 -0
- /c2cgeoportal_geoportal/scaffolds/create/{mapserver → {{cookiecutter.project}}/mapserver}/fonts/Ariali.ttf +0 -0
- /c2cgeoportal_geoportal/scaffolds/create/{mapserver → {{cookiecutter.project}}/mapserver}/fonts/NotoSans-Bold.ttf +0 -0
- /c2cgeoportal_geoportal/scaffolds/create/{mapserver → {{cookiecutter.project}}/mapserver}/fonts/NotoSans-BoldItalic.ttf +0 -0
- /c2cgeoportal_geoportal/scaffolds/create/{mapserver → {{cookiecutter.project}}/mapserver}/fonts/NotoSans-Italic.ttf +0 -0
- /c2cgeoportal_geoportal/scaffolds/create/{mapserver → {{cookiecutter.project}}/mapserver}/fonts/NotoSans-Regular.ttf +0 -0
- /c2cgeoportal_geoportal/scaffolds/create/{mapserver → {{cookiecutter.project}}/mapserver}/fonts/Verdana.ttf +0 -0
- /c2cgeoportal_geoportal/scaffolds/create/{mapserver → {{cookiecutter.project}}/mapserver}/fonts/Verdanab.ttf +0 -0
- /c2cgeoportal_geoportal/scaffolds/create/{mapserver → {{cookiecutter.project}}/mapserver}/fonts/Verdanai.ttf +0 -0
- /c2cgeoportal_geoportal/scaffolds/create/{mapserver → {{cookiecutter.project}}/mapserver}/fonts/Verdanaz.ttf +0 -0
- /c2cgeoportal_geoportal/scaffolds/create/{mapserver → {{cookiecutter.project}}/mapserver}/fonts.conf +0 -0
- /c2cgeoportal_geoportal/scaffolds/create/{mapserver → {{cookiecutter.project}}/mapserver}/tinyows.xml.tmpl +0 -0
- /c2cgeoportal_geoportal/scaffolds/create/{print/print-apps/+package+ → {{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}}/logo.png +0 -0
- /c2cgeoportal_geoportal/scaffolds/create/{print/print-apps/+package+ → {{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}}/north.svg +0 -0
- /c2cgeoportal_geoportal/scaffolds/create/{print/print-apps/+package+ → {{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}}/results.jrxml +0 -0
- /c2cgeoportal_geoportal/scaffolds/create/{run_alembic.sh → {{cookiecutter.project}}/run_alembic.sh} +0 -0
- {c2cgeoportal_geoportal-2.5.0.100.dist-info → c2cgeoportal_geoportal-2.7.1.156.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,1410 @@
|
|
1
|
+
---
|
2
|
+
vars:
|
3
|
+
# The package name
|
4
|
+
package: '{{cookiecutter.package}}'
|
5
|
+
main_ogc_server: source for image/png
|
6
|
+
|
7
|
+
srid: EPSG:-1
|
8
|
+
|
9
|
+
# Sqlalchemy schema
|
10
|
+
schema: '{PGSCHEMA}'
|
11
|
+
# Sqlalchemy static schema
|
12
|
+
schema_static: '{PGSCHEMA_STATIC}'
|
13
|
+
|
14
|
+
dbsessions: {}
|
15
|
+
|
16
|
+
enable_admin_interface: True
|
17
|
+
|
18
|
+
# Database information
|
19
|
+
sqlalchemy:
|
20
|
+
url: postgresql://{PGUSER}:{PGPASSWORD}@{PGHOST}:{PGPORT}/{PGDATABASE}?sslmode={PGSSLMODE}
|
21
|
+
pool_recycle: '{SQLALCHEMY_POOL_RECYCLE}'
|
22
|
+
pool_size: '{SQLALCHEMY_POOL_SIZE}'
|
23
|
+
max_overflow: '{SQLALCHEMY_MAX_OVERFLOW}'
|
24
|
+
executemany_mode: batch
|
25
|
+
sqlalchemy_slave:
|
26
|
+
url: postgresql://{PGUSER}:{PGPASSWORD}@{PGHOST_SLAVE}:{PGPORT_SLAVE}/{PGDATABASE}?sslmode={PGSSLMODE}
|
27
|
+
pool_recycle: '{SQLALCHEMY_SLAVE_POOL_RECYCLE}'
|
28
|
+
pool_size: '{SQLALCHEMY_SLAVE_POOL_SIZE}'
|
29
|
+
max_overflow: '{SQLALCHEMY_SLAVE_MAX_OVERFLOW}'
|
30
|
+
executemany_mode: batch
|
31
|
+
|
32
|
+
# Session backend
|
33
|
+
session:
|
34
|
+
type: 'ext:redis'
|
35
|
+
url: 'redis://{REDIS_HOST}:{REDIS_PORT}/{REDIS_DB}'
|
36
|
+
|
37
|
+
# 10 days of default cache
|
38
|
+
default_max_age: 864000
|
39
|
+
|
40
|
+
authentication:
|
41
|
+
two_factor: false
|
42
|
+
two_factor_issuer_name: '{{cookiecutter.project}}'
|
43
|
+
oauth2_token_expire_minutes: 60
|
44
|
+
oauth2_authorization_expire_minutes: 10
|
45
|
+
max_consecutive_failures: 10
|
46
|
+
|
47
|
+
intranet:
|
48
|
+
networks: []
|
49
|
+
|
50
|
+
i18next:
|
51
|
+
ns:
|
52
|
+
- geomapfish
|
53
|
+
defaultNS: geomapfish
|
54
|
+
debug: false
|
55
|
+
detection:
|
56
|
+
order:
|
57
|
+
- querystring
|
58
|
+
- cookie
|
59
|
+
- localStorage
|
60
|
+
- sessionStorage
|
61
|
+
- navigator
|
62
|
+
- htmlTag
|
63
|
+
lookupQuerystring: lang
|
64
|
+
lookupCookie: i18next
|
65
|
+
lookupLocalStorage: i18nextLng
|
66
|
+
lookupSessionStorage: i18nextLng
|
67
|
+
caches:
|
68
|
+
- localStorage
|
69
|
+
excludeCacheFor:
|
70
|
+
- cimode
|
71
|
+
fallbackLng: false
|
72
|
+
interpolation:
|
73
|
+
escapeValue: false
|
74
|
+
backend: {}
|
75
|
+
|
76
|
+
interfaces_config:
|
77
|
+
default:
|
78
|
+
constants:
|
79
|
+
gmfProjectionsOptions: &projections
|
80
|
+
'EPSG:21781':
|
81
|
+
definition:
|
82
|
+
- +proj=somerc
|
83
|
+
- +lat_0=46.95240555555556
|
84
|
+
- +lon_0=7.439583333333333
|
85
|
+
- +k_0=1
|
86
|
+
- +x_0=600000
|
87
|
+
- +y_0=200000
|
88
|
+
- +ellps=bessel
|
89
|
+
- +towgs84=674.374,15.056,405.346,0,0,0,0
|
90
|
+
- +units=m
|
91
|
+
- +no_defs
|
92
|
+
extent: [420000, 30000, 900000, 350000]
|
93
|
+
'EPSG:2056':
|
94
|
+
definition:
|
95
|
+
- +proj=somerc
|
96
|
+
- +lat_0=46.95240555555556
|
97
|
+
- +lon_0=7.439583333333333
|
98
|
+
- +k_0=1
|
99
|
+
- +x_0=2600000
|
100
|
+
- +y_0=1200000
|
101
|
+
- +ellps=bessel
|
102
|
+
- +towgs84=674.374,15.056,405.346,0,0,0,0
|
103
|
+
- +units=m
|
104
|
+
- +no_defs
|
105
|
+
extent: [2420000, 1030000, 2900000, 1350000]
|
106
|
+
sentryOptions:
|
107
|
+
dsn: '{SENTRY_URL}'
|
108
|
+
release: '{SENTRY_CLIENT_RELEASE}'
|
109
|
+
environment: '{SENTRY_CLIENT_ENVIRONMENT}'
|
110
|
+
attachStacktrace: True
|
111
|
+
tags:
|
112
|
+
service: js
|
113
|
+
gmfAuthenticationConfig:
|
114
|
+
allowPasswordChange: true
|
115
|
+
allowPasswordReset: true
|
116
|
+
ngeoWfsPermalinkOptions:
|
117
|
+
wfsTypes: []
|
118
|
+
defaultFeatureNS: http://mapserver.gis.umn.edu/mapserver
|
119
|
+
defaultFeaturePrefix: feature
|
120
|
+
crosshairStyle:
|
121
|
+
- regularShape:
|
122
|
+
stroke:
|
123
|
+
color: white
|
124
|
+
width: 5
|
125
|
+
points: 4
|
126
|
+
radius: 10
|
127
|
+
radius2: 0
|
128
|
+
angle: 0
|
129
|
+
- regularShape:
|
130
|
+
stroke:
|
131
|
+
color: red
|
132
|
+
width: 2
|
133
|
+
points: 4
|
134
|
+
radius: 10
|
135
|
+
radius2: 0
|
136
|
+
angle: 0
|
137
|
+
ngeoScaleSelectorOptions:
|
138
|
+
values: [1000000, 500000, 200000, 100000, 50000, 20000, 10000, 5000, 2000, 1000, 500, 200]
|
139
|
+
dropup: True
|
140
|
+
ngeoStringToHtmlReplacements:
|
141
|
+
# Hyperlink
|
142
|
+
- expression: ^(https?:\/\/.+)$
|
143
|
+
tags: gm
|
144
|
+
template: <a target="_blank" href="$1">$1</a>
|
145
|
+
# Mailto
|
146
|
+
- expression: ^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\\\.[A-Z]{2,}$
|
147
|
+
tags: gim
|
148
|
+
template: <a href="mailto:$1">$1</a>
|
149
|
+
ngeoTilesPreloadingLimit:
|
150
|
+
ngeoUsedKeyRegexp:
|
151
|
+
- .*
|
152
|
+
ngeoQueryOptions:
|
153
|
+
limit: 20
|
154
|
+
ngeoMeasurePrecision: 3
|
155
|
+
ngeoMeasureDecimals: 0
|
156
|
+
ngeoMeasureSpherical: False
|
157
|
+
gmfSnappingConfig: {}
|
158
|
+
gmfSnappingOptions:
|
159
|
+
maxFeatures: 50
|
160
|
+
ngeoSnappingTolerance: 20
|
161
|
+
gmfObjectEditingToolsOptions: {}
|
162
|
+
gmfTreeManagerModeFlush: True
|
163
|
+
gmfThemesOptions: {}
|
164
|
+
ngeoPointfilter:
|
165
|
+
gmfAuthenticationNoReloadRole:
|
166
|
+
ngeoNominatimSearchDefaultParams: {}
|
167
|
+
ngeoNominatimUrl: https://nominatim.openstreetmap.org/
|
168
|
+
ngeoCsvEncoding: utf-8
|
169
|
+
ngeoCsvExtension: .csv
|
170
|
+
ngeoCsvIncludeHeader: True
|
171
|
+
ngeoCsvQuote: '"'
|
172
|
+
ngeoCsvSeparator: ','
|
173
|
+
gmfCsvFilename: query-results.csv
|
174
|
+
gmfDisplayQueryWindowOptions:
|
175
|
+
featuresStyle: &featureStyle
|
176
|
+
fill:
|
177
|
+
color: [255, 170, 0, 0.6]
|
178
|
+
stroke:
|
179
|
+
color: [255, 170, 0, 1]
|
180
|
+
width: 2
|
181
|
+
zIndex: 10
|
182
|
+
circle:
|
183
|
+
fill:
|
184
|
+
color: [255, 170, 0, 0.6]
|
185
|
+
stroke:
|
186
|
+
color: [255, 170, 0, 1]
|
187
|
+
width: 2
|
188
|
+
radius: 5
|
189
|
+
selectedFeatureStyle: &selectedFeatureStyle
|
190
|
+
fill:
|
191
|
+
color: [255, 0, 0, 0.6]
|
192
|
+
stroke:
|
193
|
+
color: [255, 0, 0, 1]
|
194
|
+
width: 2
|
195
|
+
zIndex: 10
|
196
|
+
circle:
|
197
|
+
fill:
|
198
|
+
color: [255, 0, 0, 0.6]
|
199
|
+
stroke:
|
200
|
+
color: [255, 0, 0, 1]
|
201
|
+
width: 2
|
202
|
+
radius: 5
|
203
|
+
gmfLayerTreeOptions:
|
204
|
+
openLinksInNewWindow: False
|
205
|
+
isExpanded: False
|
206
|
+
layerIcon:
|
207
|
+
width: 20
|
208
|
+
height: 20
|
209
|
+
gmfDisclaimerOptions: {}
|
210
|
+
gmfBackgroundLayerSelectorOptions: {}
|
211
|
+
defaultTheme: Demo
|
212
|
+
defaultLang: en
|
213
|
+
gmfOptions:
|
214
|
+
map: {}
|
215
|
+
view:
|
216
|
+
srid: '{srid}'
|
217
|
+
center: [2600000, 1200000]
|
218
|
+
zoom: 3
|
219
|
+
resolutions: [250, 100, 50, 20, 10, 5, 2, 1, 0.5, 0.25, 0.1, 0.05]
|
220
|
+
extent: [2420000, 1030000, 2900000, 1350000]
|
221
|
+
constrainRotation: false
|
222
|
+
gmfSearchOptions:
|
223
|
+
styles:
|
224
|
+
default:
|
225
|
+
fill:
|
226
|
+
color: [65, 134, 240, 0.5]
|
227
|
+
stroke:
|
228
|
+
color: [65, 134, 240, 1]
|
229
|
+
width: 2
|
230
|
+
circle:
|
231
|
+
fill:
|
232
|
+
color: [65, 134, 240, 0.5]
|
233
|
+
stroke:
|
234
|
+
color: [65, 134, 240, 1]
|
235
|
+
width: 2
|
236
|
+
radius: 5
|
237
|
+
gmfCoordinatesLayerName:
|
238
|
+
regularShape:
|
239
|
+
stroke:
|
240
|
+
color: [0, 0, 0, 0.7]
|
241
|
+
width: 2
|
242
|
+
points: 4
|
243
|
+
radius: 8
|
244
|
+
radius2: 0
|
245
|
+
angle: 0
|
246
|
+
datasources:
|
247
|
+
- labelKey: label
|
248
|
+
groupActions:
|
249
|
+
- action: add_theme
|
250
|
+
title: Add a theme
|
251
|
+
- action: add_group
|
252
|
+
title: Add a sub theme
|
253
|
+
- action: add_layer
|
254
|
+
title: Add a layer
|
255
|
+
projection: EPSG:{srid}
|
256
|
+
gmfPermalinkOptions:
|
257
|
+
crosshairStyle:
|
258
|
+
- regularShape:
|
259
|
+
stroke:
|
260
|
+
color: white
|
261
|
+
width: 5
|
262
|
+
points: 4
|
263
|
+
radius: 10
|
264
|
+
radius2: 0
|
265
|
+
angle: 0
|
266
|
+
- regularShape:
|
267
|
+
stroke:
|
268
|
+
color: red
|
269
|
+
width: 2
|
270
|
+
points: 4
|
271
|
+
radius: 10
|
272
|
+
radius2: 0
|
273
|
+
angle: 0
|
274
|
+
crosshairEnabledByDefault: False
|
275
|
+
useLocalStorage: False
|
276
|
+
pointRecenterZoom:
|
277
|
+
gmfElevationOptions:
|
278
|
+
layers: []
|
279
|
+
layersConfig: {}
|
280
|
+
gmfVectorTilesOptions:
|
281
|
+
projection: EPSG:{srid}
|
282
|
+
tileGrid: {}
|
283
|
+
ngeoGeolocationOptions:
|
284
|
+
positionFeatureStyle:
|
285
|
+
circle:
|
286
|
+
radius: 6
|
287
|
+
fill:
|
288
|
+
color: rgba(230, 100, 100, 1)
|
289
|
+
stroke:
|
290
|
+
color: rgba(230, 40, 40, 1)
|
291
|
+
width: 2
|
292
|
+
accuracyFeatureStyle:
|
293
|
+
fill:
|
294
|
+
color: rgba(100, 100, 230, 0.3)
|
295
|
+
stroke:
|
296
|
+
color: rgba(40, 40, 230, 1)
|
297
|
+
width: 2
|
298
|
+
zoom:
|
299
|
+
autoRotate: False
|
300
|
+
dynamic_constants:
|
301
|
+
interface: interface
|
302
|
+
cacheVersion: cache_version
|
303
|
+
langUrls: lang_urls
|
304
|
+
gmfI18nextConfiguration: i18next_configuration
|
305
|
+
gmfTwoFactorAuth: two_factor
|
306
|
+
gmfSearchGroups: fulltextsearch_groups
|
307
|
+
static:
|
308
|
+
angularLocaleScript:
|
309
|
+
name: '/etc/static-ngeo/'
|
310
|
+
append: angular-locale_{{'{{'}}locale{{'}}'}}.js
|
311
|
+
routes:
|
312
|
+
currentInterfaceUrl:
|
313
|
+
currentInterface: True
|
314
|
+
authenticationBaseUrl:
|
315
|
+
name: base
|
316
|
+
gmfLayersUrl:
|
317
|
+
name: layers_root
|
318
|
+
gmfRasterUrl:
|
319
|
+
name: raster
|
320
|
+
gmfShortenerCreateUrl:
|
321
|
+
name: shortener_create
|
322
|
+
ngeoPermalinkOgcserverUrl:
|
323
|
+
name: mapserverproxy
|
324
|
+
params:
|
325
|
+
ogcserver: '{main_ogc_server}'
|
326
|
+
fulltextsearchUrl:
|
327
|
+
name: fulltextsearch
|
328
|
+
params:
|
329
|
+
limit: 30
|
330
|
+
partitionlimit: 5
|
331
|
+
dynamic_params:
|
332
|
+
interface: interface
|
333
|
+
gmfTreeUrl:
|
334
|
+
name: themes
|
335
|
+
params:
|
336
|
+
background: background
|
337
|
+
dynamic_params:
|
338
|
+
interface: interface
|
339
|
+
gmfVectorTilesUrl:
|
340
|
+
name: vector_tiles_root
|
341
|
+
desktop:
|
342
|
+
extends: default
|
343
|
+
redirect_interface: mobile
|
344
|
+
do_redirect: True
|
345
|
+
constants:
|
346
|
+
ngeoProfileOptions: {}
|
347
|
+
ngeoStreetviewOptions:
|
348
|
+
viewer: 'mapillary'
|
349
|
+
gmfPrintOptions:
|
350
|
+
legend:
|
351
|
+
# See:
|
352
|
+
# https://www.mapserver.org/development/rfc/ms-rfc-101.html
|
353
|
+
# https://docs.qgis.org/testing/en/docs/user_manual/working_with_ogc/server/services.html#getlegendgraphics
|
354
|
+
useBbox: true
|
355
|
+
label:
|
356
|
+
qgis: false
|
357
|
+
params:
|
358
|
+
# See:
|
359
|
+
# https://docs.qgis.org/testing/en/docs/user_manual/working_with_ogc/server/services.html#getlegendgraphics
|
360
|
+
qgis:
|
361
|
+
LAYERFONTFAMILY: DejaVu Sans
|
362
|
+
ITEMFONTFAMILY: DejaVu Sans
|
363
|
+
LAYERFONTSIZE: '10'
|
364
|
+
ITEMFONTSIZE: '8'
|
365
|
+
hiddenAttributes:
|
366
|
+
- timezone
|
367
|
+
gmfDisplayQueryGridOptions:
|
368
|
+
featuresStyle: *featureStyle
|
369
|
+
selectedFeatureStyle: *selectedFeatureStyle
|
370
|
+
gmfEditFeatureOptions:
|
371
|
+
tolerance: 10
|
372
|
+
closeAfterSave: false
|
373
|
+
highlightStyle:
|
374
|
+
circle:
|
375
|
+
radius: 7
|
376
|
+
fill:
|
377
|
+
color: [255, 139, 139, 0.6]
|
378
|
+
stroke:
|
379
|
+
color: [255, 0, 0, 1]
|
380
|
+
width: 3
|
381
|
+
fill:
|
382
|
+
color: [255, 139, 139, 0.6]
|
383
|
+
stroke:
|
384
|
+
color: [255, 0, 0, 1]
|
385
|
+
width: 3
|
386
|
+
gmfProfileOptions:
|
387
|
+
linesConfiguration: {}
|
388
|
+
hoverPointStyle:
|
389
|
+
circle:
|
390
|
+
fill:
|
391
|
+
color: '#ffffff'
|
392
|
+
radius: 3
|
393
|
+
gmfShareOptions:
|
394
|
+
enableEmail: True
|
395
|
+
routes:
|
396
|
+
gmfProfileJsonUrl:
|
397
|
+
name: profile.json
|
398
|
+
gmfPrintUrl:
|
399
|
+
name: printproxy
|
400
|
+
mobile:
|
401
|
+
extends: default
|
402
|
+
redirect_interface: desktop
|
403
|
+
constants:
|
404
|
+
gmfMobileMeasureAreaOptions:
|
405
|
+
precision: 2
|
406
|
+
sketchStyle: &mobileMeasureStyle
|
407
|
+
fill:
|
408
|
+
color: rgba(255, 128, 128, 0.2)
|
409
|
+
stroke:
|
410
|
+
color: rgba(255, 0, 0, 0.5)
|
411
|
+
lineDash: [10, 10]
|
412
|
+
width: 2
|
413
|
+
regularShape:
|
414
|
+
stroke:
|
415
|
+
color: rgba(0, 0, 0, 0.7)
|
416
|
+
width: 2
|
417
|
+
points: 4
|
418
|
+
radius: 8
|
419
|
+
radius2: 0
|
420
|
+
angle: 0
|
421
|
+
gmfMobileMeasureLengthOptions:
|
422
|
+
precision: 2
|
423
|
+
sketchStyle: *mobileMeasureStyle
|
424
|
+
gmfMobileMeasurePointOptions:
|
425
|
+
decimals: 0
|
426
|
+
rasterLayers: []
|
427
|
+
format: '{x}, {y}'
|
428
|
+
sketchStyle:
|
429
|
+
fill:
|
430
|
+
color: rgba(255, 255, 255, 0.2)
|
431
|
+
stroke:
|
432
|
+
color: rgba(0, 0, 0, 0.5)
|
433
|
+
lineDash: [10, 10]
|
434
|
+
width: 2
|
435
|
+
regularShape:
|
436
|
+
stroke:
|
437
|
+
color: rgba(0, 0, 0, 0.7)
|
438
|
+
width: 2
|
439
|
+
points: 4
|
440
|
+
radius: 8
|
441
|
+
radius2: 0
|
442
|
+
angle: 0
|
443
|
+
iframe_api:
|
444
|
+
extends: default
|
445
|
+
constants:
|
446
|
+
gmfSearchGroups: []
|
447
|
+
api:
|
448
|
+
constants:
|
449
|
+
projections: *projections
|
450
|
+
# The projection of the map
|
451
|
+
projection: EPSG:{srid}
|
452
|
+
routes:
|
453
|
+
themesUrl:
|
454
|
+
name: themes
|
455
|
+
params:
|
456
|
+
background: background
|
457
|
+
dynamic_params:
|
458
|
+
interface: interface
|
459
|
+
localeUrl:
|
460
|
+
name: localejson
|
461
|
+
searchUrl:
|
462
|
+
name: fulltextsearch
|
463
|
+
params:
|
464
|
+
limit: 30
|
465
|
+
partitionlimit: 5
|
466
|
+
dynamic_params:
|
467
|
+
interface: interface
|
468
|
+
|
469
|
+
cache:
|
470
|
+
std:
|
471
|
+
backend: c2cgeoportal.hybridsentinel
|
472
|
+
arguments:
|
473
|
+
lock_timeout: '{REDIS_LOCK_TIMEOUT}' # seconds
|
474
|
+
redis_expiration_time: '{REDIS_EXPIRATION_TIME}' # seconds
|
475
|
+
distributed_lock: True
|
476
|
+
service_name: '{REDIS_SERVICENAME}'
|
477
|
+
socket_timeout: '{REDIS_TIMEOUT}' # seconds
|
478
|
+
db: 0
|
479
|
+
obj:
|
480
|
+
backend: dogpile.cache.memory
|
481
|
+
|
482
|
+
admin_interface:
|
483
|
+
layer_tree_max_nodes: 1000
|
484
|
+
|
485
|
+
# The list of available variable names for the `Metadatas` form.
|
486
|
+
available_metadata:
|
487
|
+
# TreeItem
|
488
|
+
- name: searchAlias
|
489
|
+
type: list
|
490
|
+
description: >
|
491
|
+
Comma separated list of search aliases (keywords) to be added to the tsearch.ts field for
|
492
|
+
the considered tree item (theme, layer group or layer), that is to say that considered
|
493
|
+
tree item will match when searching for the search aliases.
|
494
|
+
relevant_for:
|
495
|
+
- treeitem
|
496
|
+
# Layers group
|
497
|
+
- name: exclusiveGroup
|
498
|
+
type: boolean
|
499
|
+
description: >
|
500
|
+
Whether the group contains children that have to be mutually exclusive, meaning that only
|
501
|
+
one child may be ON at any time.
|
502
|
+
relevant_for:
|
503
|
+
- layergroup
|
504
|
+
- name: isExpanded
|
505
|
+
type: boolean
|
506
|
+
description: >
|
507
|
+
Whether the layer group is expanded by default.
|
508
|
+
relevant_for:
|
509
|
+
- layergroup
|
510
|
+
- name: printNativeAngle
|
511
|
+
type: boolean
|
512
|
+
description: >
|
513
|
+
Whether the print should rotate the symbols.
|
514
|
+
relevant_for:
|
515
|
+
- layergroup
|
516
|
+
# Layer
|
517
|
+
- name: copyable
|
518
|
+
type: boolean
|
519
|
+
description: >
|
520
|
+
Whether the geometry from this data source can be copied to other data sources or not.
|
521
|
+
relevant_for:
|
522
|
+
- layer_wms
|
523
|
+
- name: legend
|
524
|
+
type: boolean
|
525
|
+
description: >
|
526
|
+
Display the legend of this layer.
|
527
|
+
relevant_for:
|
528
|
+
- layer_wms
|
529
|
+
- layer_wmts
|
530
|
+
- name: isLegendExpanded
|
531
|
+
type: boolean
|
532
|
+
description: >
|
533
|
+
Whether the legend is expanded by default.
|
534
|
+
relevant_for:
|
535
|
+
- layer_wms
|
536
|
+
- layer_wmts
|
537
|
+
- name: legendRule
|
538
|
+
description: >
|
539
|
+
The WMS "RULE" parameter used to display the icon in the layer tree. "Short version" of
|
540
|
+
the "iconURL" metadata.
|
541
|
+
relevant_for:
|
542
|
+
- layer_wms
|
543
|
+
- name: legendImage
|
544
|
+
type: url
|
545
|
+
description: >
|
546
|
+
The URL to the image used as a legend in the layer tree.
|
547
|
+
relevant_for:
|
548
|
+
- layer_wms
|
549
|
+
- layer_wmts
|
550
|
+
- name: hiDPILegendImages
|
551
|
+
type: json
|
552
|
+
description: >
|
553
|
+
The URLs to the hi DPI images used to print the legend of this layer.
|
554
|
+
It will contain a JSON mapping object with the DPI as key and the URL as value.
|
555
|
+
Note that the URL can't use the config scheme.
|
556
|
+
relevant_for:
|
557
|
+
- layer_wms
|
558
|
+
- layer_wmts
|
559
|
+
- name: iconUrl
|
560
|
+
type: url
|
561
|
+
description: >
|
562
|
+
The URL of the icon to display in the layer tree.
|
563
|
+
relevant_for:
|
564
|
+
- layer_wms
|
565
|
+
- layer_wmts
|
566
|
+
- name: metadataUrl
|
567
|
+
type: url
|
568
|
+
description: >
|
569
|
+
The URL to the information on this layer.
|
570
|
+
relevant_for:
|
571
|
+
- layer_wms
|
572
|
+
- layer_wmts
|
573
|
+
- layergroup
|
574
|
+
- name: disclaimer
|
575
|
+
translate: True
|
576
|
+
description: >
|
577
|
+
The disclaimer text for this element.
|
578
|
+
relevant_for:
|
579
|
+
- treeitem
|
580
|
+
- name: isChecked
|
581
|
+
type: boolean
|
582
|
+
description: >
|
583
|
+
Is the layer checked by default.
|
584
|
+
relevant_for:
|
585
|
+
- layer_wms
|
586
|
+
- layer_wmts
|
587
|
+
- name: identifierAttributeField
|
588
|
+
description: >
|
589
|
+
The field used in the "display query window" as feature title.
|
590
|
+
relevant_for:
|
591
|
+
- layer_wms
|
592
|
+
- name: maxResolution
|
593
|
+
type: float
|
594
|
+
description: >
|
595
|
+
The max resolution where the layer is visible. On WMTS layers it will
|
596
|
+
have an effect on the node in the layertree but not on the layertree directly.
|
597
|
+
relevant_for:
|
598
|
+
- layer_wms
|
599
|
+
- layer_wmts
|
600
|
+
- name: minResolution
|
601
|
+
type: float
|
602
|
+
description: >
|
603
|
+
The min resolution where the layer is visible. On WMTS layers it will
|
604
|
+
have an effect on the node in the layertree but not on the layer directly.
|
605
|
+
relevant_for:
|
606
|
+
- layer_wms
|
607
|
+
- layer_wmts
|
608
|
+
- name: opacity
|
609
|
+
type: float
|
610
|
+
description: >
|
611
|
+
Layer opacity. 1.0 means fully visible, 0 means invisible.
|
612
|
+
relevant_for:
|
613
|
+
- layer_wms
|
614
|
+
- layer_wmts
|
615
|
+
- name: thumbnail
|
616
|
+
type: url
|
617
|
+
description: >
|
618
|
+
The icon visible in the background selector.
|
619
|
+
relevant_for:
|
620
|
+
- layer_wms
|
621
|
+
- layer_wmts
|
622
|
+
- name: timeAttribute
|
623
|
+
description: >
|
624
|
+
The name of the time attribute. For WMS(-T) layers.
|
625
|
+
relevant_for:
|
626
|
+
- layer_wms
|
627
|
+
- name: geotablePrimaryKey
|
628
|
+
description: >
|
629
|
+
The name of the primary key field for edition.
|
630
|
+
relevant_for:
|
631
|
+
- layer_wms
|
632
|
+
- name: lastUpdateDateColumn
|
633
|
+
description: >
|
634
|
+
Define a column which will be automatically filled with the date of the last edit.
|
635
|
+
relevant_for:
|
636
|
+
- layer_wms
|
637
|
+
- name: lastUpdateUserColumn
|
638
|
+
description: >
|
639
|
+
Define a column which will be automatically filled with the user of the last edit.
|
640
|
+
relevant_for:
|
641
|
+
- layer_wms
|
642
|
+
- name: snappingConfig
|
643
|
+
type: json
|
644
|
+
description: >
|
645
|
+
The snapping configuration for the layer. If set, even if empty, the layer is considered to be
|
646
|
+
"snappable" and snapping is activated by default. To disable snapping by default, set "activated"
|
647
|
+
to false. Example value: {"tolerance": 50, "edge": false}.
|
648
|
+
relevant_for:
|
649
|
+
- layer_wms
|
650
|
+
- name: geometryValidation
|
651
|
+
type: boolean
|
652
|
+
description: >
|
653
|
+
Force validation of the geometries according to the layer type (point, line, polygon),
|
654
|
+
for example, to prevent creation of a 2-point polygon.
|
655
|
+
relevant_for:
|
656
|
+
- layer_wms
|
657
|
+
- name: customOpenLayersOptions
|
658
|
+
type: json
|
659
|
+
description: >
|
660
|
+
The custom OpenLayers WMS layer options.
|
661
|
+
relevant_for:
|
662
|
+
- layer_wms
|
663
|
+
- layer_wmts
|
664
|
+
- name: editingAttributesOrder
|
665
|
+
type: list
|
666
|
+
description: >
|
667
|
+
Specify the order of the editable attributes in the edit interface.
|
668
|
+
relevant_for:
|
669
|
+
- layer_wms
|
670
|
+
- name: editingEnumerations
|
671
|
+
type: json
|
672
|
+
description: >
|
673
|
+
Specify the value column and the order column on the relationship's target table of the
|
674
|
+
enumeration.
|
675
|
+
relevant_for:
|
676
|
+
- layer_wms
|
677
|
+
- name: readonlyAttributes
|
678
|
+
type: list
|
679
|
+
description: >
|
680
|
+
Set attributes as read only in the Editing form.
|
681
|
+
relevant_for:
|
682
|
+
- layer_wms
|
683
|
+
- name: queryIconPosition
|
684
|
+
type: list
|
685
|
+
description: >
|
686
|
+
Values to define the shape (bbox) to use to query the layer. The values are used like a
|
687
|
+
padding in css with 1, 2, 3 or 4 comma separated values: all / top-bottom, left-right /
|
688
|
+
top, right-left, bottom / top, right, bottom, left.
|
689
|
+
relevant_for:
|
690
|
+
- layer_wms
|
691
|
+
- layer_wmts
|
692
|
+
- name: editingSelectionAttribute
|
693
|
+
description: >
|
694
|
+
The field used in the selector tooltip to name the layer when multiple ones are selected on the map.
|
695
|
+
relevant_for:
|
696
|
+
- layer_wms
|
697
|
+
# WMS
|
698
|
+
- name: directedFilterAttributes
|
699
|
+
type: list
|
700
|
+
description: >
|
701
|
+
List of attribute names which should have rules already ready when using the filter
|
702
|
+
tools.
|
703
|
+
relevant_for:
|
704
|
+
- layer_wms
|
705
|
+
- name: enumeratedAttributes
|
706
|
+
type: list
|
707
|
+
description: >
|
708
|
+
List of attribute names which have enumerated attribute values (for filters purpose).
|
709
|
+
relevant_for:
|
710
|
+
- layer_wms
|
711
|
+
# WMTS layers
|
712
|
+
- name: ogcServer
|
713
|
+
description: >
|
714
|
+
The corresponding OGC server for a WMTS layer.
|
715
|
+
relevant_for:
|
716
|
+
- layer_wmts
|
717
|
+
- name: wmsLayers
|
718
|
+
description: >
|
719
|
+
Corresponding WMS/WFS layers (comma separated) that will be used instead of the WMTS layer
|
720
|
+
to do the query and for the print.
|
721
|
+
An OGCServer metadata must be set with the name of the OGC server.
|
722
|
+
See also printLayers and queryLayers metadata for more granularity.
|
723
|
+
relevant_for:
|
724
|
+
- layer_wmts
|
725
|
+
- name: queryLayers
|
726
|
+
description: >
|
727
|
+
Corresponding WFS layers (comma separated) that will be used instead of the WMTS layer
|
728
|
+
to do the query.
|
729
|
+
An OGCServer metadata must be set with the name of the OGC server.
|
730
|
+
relevant_for:
|
731
|
+
- layer_wmts
|
732
|
+
- name: printLayers
|
733
|
+
description: >
|
734
|
+
Corresponding WMS layers (comma separated) that will be used instead of the WMTS layer
|
735
|
+
for the print.
|
736
|
+
Used to increase the quality of the printed layer, by using native rotation and
|
737
|
+
generating an image in hi-DPI.
|
738
|
+
An OGCServer metadata must be set with the name of the OGC server.
|
739
|
+
relevant_for:
|
740
|
+
- layer_wmts
|
741
|
+
- name: maxQueryResolution
|
742
|
+
type: float
|
743
|
+
description: >
|
744
|
+
The max resolution where the layer is queryable.
|
745
|
+
relevant_for:
|
746
|
+
- layer_wmts
|
747
|
+
- name: minQueryResolution
|
748
|
+
type: float
|
749
|
+
description: >
|
750
|
+
The min resolution where the layer is queryable.
|
751
|
+
relevant_for:
|
752
|
+
- layer_wmts
|
753
|
+
- name: timeout
|
754
|
+
type: float
|
755
|
+
description: The fetch capabilities timeout in seconds. Use `300` by default.
|
756
|
+
relevant_for:
|
757
|
+
- layer_wmts
|
758
|
+
|
759
|
+
# The list of functionalities that can be configured
|
760
|
+
# through the admin interface.
|
761
|
+
available_functionalities:
|
762
|
+
- name: default_basemap
|
763
|
+
single: true
|
764
|
+
description: >
|
765
|
+
The background layer to load when the user select this theme.
|
766
|
+
relevant_for:
|
767
|
+
- theme
|
768
|
+
- name: default_theme
|
769
|
+
single: true
|
770
|
+
description: >
|
771
|
+
The theme to load when the user log in.
|
772
|
+
relevant_for:
|
773
|
+
- role
|
774
|
+
- name: print_template
|
775
|
+
description: >
|
776
|
+
Grant access to considered print template.
|
777
|
+
relevant_for:
|
778
|
+
- role
|
779
|
+
- name: mapserver_substitution
|
780
|
+
relevant_for:
|
781
|
+
- role
|
782
|
+
description: >
|
783
|
+
MapServer substitution of a variable in the mapfile.
|
784
|
+
See the documentation here:
|
785
|
+
https://camptocamp.github.io/c2cgeoportal/{{cookiecutter.geomapfish_main_version}}/administrator/mapfile.html?highlight=mapserver_substitution#variable-substitution
|
786
|
+
- name: filterable_layers
|
787
|
+
description: >
|
788
|
+
Grant access for filtering considered layer.
|
789
|
+
relevant_for:
|
790
|
+
- role
|
791
|
+
- name: preset_layer_filter
|
792
|
+
single: true
|
793
|
+
description: >
|
794
|
+
Name of the layer (data source) to select in the filter tool upon loading an application.
|
795
|
+
relevant_for:
|
796
|
+
- role
|
797
|
+
- name: open_panel
|
798
|
+
single: true
|
799
|
+
description: >
|
800
|
+
Name of a panel to open upon loading an application.
|
801
|
+
relevant_for:
|
802
|
+
- role
|
803
|
+
|
804
|
+
getitfixed:
|
805
|
+
enabled: false
|
806
|
+
|
807
|
+
functionalities:
|
808
|
+
# Functionalities that are made available to Mako templates and loginuser.
|
809
|
+
available_in_templates:
|
810
|
+
- default_basemap
|
811
|
+
- default_theme
|
812
|
+
- filterable_layers
|
813
|
+
- print_template
|
814
|
+
- preset_layer_filter
|
815
|
+
- open_panel
|
816
|
+
|
817
|
+
urllogin: {}
|
818
|
+
|
819
|
+
http_options:
|
820
|
+
timeout: 300
|
821
|
+
|
822
|
+
tinyowsproxy:
|
823
|
+
# URL to internal TinyOWS instance
|
824
|
+
tinyows_url: '{TINYOWS_URL}'
|
825
|
+
ogc_server: '{main_ogc_server}'
|
826
|
+
|
827
|
+
# If the `online_resource` url in the TinyOWS configuration is not set
|
828
|
+
# to the TinyOWS proxy url (e.g. when the service is also used without
|
829
|
+
# the proxy), the proxy can replace the original `online_resource`
|
830
|
+
# url with the proxy url.
|
831
|
+
# proxy_online_resource: {VISIBLE_WEB_PROTOCOL}://{VISIBLE_WEB_HOST}{VISIBLE_ENTRY_POINT}tinyows_proxy
|
832
|
+
# online_resource: http://localhost{VISIBLE_ENTRY_POINT}tinyows
|
833
|
+
#
|
834
|
+
# When running a c2cgeoportal appl. in debug mode (with `make serve`)
|
835
|
+
# the host has to be set explicitly in a vhost environment.
|
836
|
+
# tinyows_host: {VISIBLE_WEB_HOST}
|
837
|
+
|
838
|
+
api:
|
839
|
+
ogc_server: '{main_ogc_server}'
|
840
|
+
|
841
|
+
resourceproxy:
|
842
|
+
# List of urls from which it is safe to load content
|
843
|
+
targets: {}
|
844
|
+
# exempletargetname: https://www.camptocamp.com/?param1=%s¶m2=%s
|
845
|
+
|
846
|
+
# List of allowed headers
|
847
|
+
allowed_headers:
|
848
|
+
- Cache-Control
|
849
|
+
- Content-Encoding
|
850
|
+
- Content-Language
|
851
|
+
- Content-Type
|
852
|
+
- Date
|
853
|
+
- ETag
|
854
|
+
- Vary
|
855
|
+
|
856
|
+
fulltextsearch:
|
857
|
+
defaultlimit: 30
|
858
|
+
maxlimit: 200
|
859
|
+
languages:
|
860
|
+
fr: french
|
861
|
+
en: english
|
862
|
+
de: german
|
863
|
+
|
864
|
+
servers:
|
865
|
+
internal: http://localhost/
|
866
|
+
local: '{VISIBLE_WEB_PROTOCOL}://{VISIBLE_WEB_HOST}{VISIBLE_ENTRY_POINT}'
|
867
|
+
mapserver: '{MAPSERVER_URL}'
|
868
|
+
qgisserver: '{QGISSERVER_URL}'
|
869
|
+
|
870
|
+
host_forward_host: []
|
871
|
+
headers_whitelist: []
|
872
|
+
headers_blacklist: []
|
873
|
+
|
874
|
+
# The "raster web services" configuration. See the "raster"
|
875
|
+
# chapter in the integrator documentation.
|
876
|
+
raster: {}
|
877
|
+
|
878
|
+
# the "vector tiles service" configuration. See the "vector tiles"
|
879
|
+
# chapter in the integrator documentation.
|
880
|
+
vector_tiles: {}
|
881
|
+
|
882
|
+
# Used by enumeration in the query builder
|
883
|
+
layers:
|
884
|
+
geometry_validation: True
|
885
|
+
|
886
|
+
# Used by reset_password and shortener to send emails
|
887
|
+
smtp:
|
888
|
+
ssl: false
|
889
|
+
starttls: false
|
890
|
+
|
891
|
+
# Used to send an email on password reset
|
892
|
+
reset_password: {}
|
893
|
+
|
894
|
+
# The shortener base configuration
|
895
|
+
shortener:
|
896
|
+
# The base of created URL
|
897
|
+
base_url: '{VISIBLE_WEB_PROTOCOL}://{VISIBLE_WEB_HOST}{VISIBLE_ENTRY_POINT}s/'
|
898
|
+
allowed_hosts:
|
899
|
+
- '{VISIBLE_WEB_HOST}'
|
900
|
+
length: 4
|
901
|
+
|
902
|
+
# Define whether the MapServer proxy should hide the OGC capabilities.
|
903
|
+
hide_capabilities: false
|
904
|
+
|
905
|
+
# For print proxy
|
906
|
+
print_url: '{PRINT_URL}'
|
907
|
+
print_get_redirect: false # if true, redirects (302) directly to the print to fetch the report
|
908
|
+
|
909
|
+
devserver_url: http://{DEVSERVER_HOST}{VISIBLE_ENTRY_POINT}
|
910
|
+
|
911
|
+
pdfreport:
|
912
|
+
print_url: '{PRINT_URL}'
|
913
|
+
|
914
|
+
lingua_extractor: {}
|
915
|
+
|
916
|
+
content_security_policy_main_default_src_extra: ''
|
917
|
+
content_security_policy_main_script_src_extra: '
|
918
|
+
https://maps.google.com/
|
919
|
+
https://maps.googleapis.com/
|
920
|
+
https://www.google-analytics.com/
|
921
|
+
https://*.googletagmanager.com/'
|
922
|
+
content_security_policy_main_style_src_extra: '
|
923
|
+
https://fonts.googleapis.com/'
|
924
|
+
content_security_policy_main_img_src_extra: '
|
925
|
+
https://*.google-analytics.com/
|
926
|
+
https://*.googletagmanager.com/'
|
927
|
+
content_security_policy_main_connect_src_extra: '
|
928
|
+
https://*.google-analytics.com/
|
929
|
+
https://*.analytics.google.com/
|
930
|
+
https://*.googletagmanager.com/'
|
931
|
+
content_security_policy_main_default_src: "
|
932
|
+
'self'
|
933
|
+
https://*
|
934
|
+
{content_security_policy_main_default_src_extra}"
|
935
|
+
content_security_policy_main_script_src: "
|
936
|
+
'self'
|
937
|
+
'unsafe-inline'
|
938
|
+
{content_security_policy_main_script_src_extra}"
|
939
|
+
content_security_policy_main_style_src: "
|
940
|
+
'self'
|
941
|
+
'unsafe-inline'
|
942
|
+
{content_security_policy_main_style_src_extra}"
|
943
|
+
content_security_policy_main_img_src: '
|
944
|
+
*
|
945
|
+
data:
|
946
|
+
{content_security_policy_main_img_src_extra}'
|
947
|
+
content_security_policy_main_connect_src: '
|
948
|
+
*
|
949
|
+
{content_security_policy_main_connect_src_extra}'
|
950
|
+
|
951
|
+
content_security_policy_admin_default_src_extra: ''
|
952
|
+
content_security_policy_admin_script_src_extra: ''
|
953
|
+
content_security_policy_admin_style_src_extra: ''
|
954
|
+
content_security_policy_admin_img_src_extra: ''
|
955
|
+
content_security_policy_admin_worker_src_extra: ''
|
956
|
+
content_security_policy_admin_default_src: "
|
957
|
+
'self'
|
958
|
+
{content_security_policy_admin_default_src_extra}"
|
959
|
+
content_security_policy_admin_script_src: "
|
960
|
+
'self'
|
961
|
+
'unsafe-inline'
|
962
|
+
{content_security_policy_admin_script_src_extra}"
|
963
|
+
content_security_policy_admin_style_src: "
|
964
|
+
'self'
|
965
|
+
'unsafe-inline'
|
966
|
+
https://stackpath.bootstrapcdn.com/
|
967
|
+
{content_security_policy_admin_style_src_extra}"
|
968
|
+
content_security_policy_admin_img_src: '
|
969
|
+
*
|
970
|
+
data:
|
971
|
+
{content_security_policy_admin_img_src_extra}'
|
972
|
+
content_security_policy_admin_worker_src: "
|
973
|
+
'self'
|
974
|
+
blob:
|
975
|
+
{content_security_policy_admin_worker_src_extra}"
|
976
|
+
|
977
|
+
content_security_policy_apihelp_default_src_extra: ''
|
978
|
+
content_security_policy_apihelp_script_src_extra: ''
|
979
|
+
content_security_policy_apihelp_style_src_extra: ''
|
980
|
+
content_security_policy_apihelp_img_src_extra: ''
|
981
|
+
content_security_policy_apihelp_connect_src_extra: ''
|
982
|
+
content_security_policy_apihelp_default_src: "
|
983
|
+
'self'
|
984
|
+
https://*
|
985
|
+
{content_security_policy_apihelp_default_src_extra}"
|
986
|
+
content_security_policy_apihelp_script_src: "
|
987
|
+
'self'
|
988
|
+
'unsafe-inline'
|
989
|
+
'unsafe-eval'
|
990
|
+
{content_security_policy_apihelp_script_src_extra}"
|
991
|
+
content_security_policy_apihelp_style_src: "
|
992
|
+
'self'
|
993
|
+
'unsafe-inline'
|
994
|
+
https://stackpath.bootstrapcdn.com/
|
995
|
+
{content_security_policy_apihelp_style_src_extra}"
|
996
|
+
content_security_policy_apihelp_img_src: '
|
997
|
+
*
|
998
|
+
data:
|
999
|
+
{content_security_policy_apihelp_img_src_extra}'
|
1000
|
+
content_security_policy_apihelp_connect_src: '
|
1001
|
+
*
|
1002
|
+
{content_security_policy_apihelp_connect_src_extra}'
|
1003
|
+
|
1004
|
+
content_security_policy_c2c_default_src_extra: ''
|
1005
|
+
content_security_policy_c2c_script_src_extra: ''
|
1006
|
+
content_security_policy_c2c_style_src_extra: ''
|
1007
|
+
content_security_policy_c2c_default_src: "
|
1008
|
+
'self'
|
1009
|
+
{content_security_policy_c2c_default_src_extra}"
|
1010
|
+
content_security_policy_c2c_script_src: "
|
1011
|
+
'self'
|
1012
|
+
{content_security_policy_c2c_script_src_extra}"
|
1013
|
+
content_security_policy_c2c_style_src: "
|
1014
|
+
'self'
|
1015
|
+
'unsafe-inline'
|
1016
|
+
https://stackpath.bootstrapcdn.com/
|
1017
|
+
{content_security_policy_c2c_style_src_extra}"
|
1018
|
+
|
1019
|
+
content_security_policy_iframe_api_frame_ancestors: "'self'"
|
1020
|
+
|
1021
|
+
global_headers:
|
1022
|
+
- pattern: '^/admin/.*'
|
1023
|
+
headers: &c2cgeoform_headers
|
1024
|
+
X-Frame-Options: SAMEORIGIN
|
1025
|
+
X-Xss-Protection: 1; mode=block
|
1026
|
+
X-Content-Type-Options: nosniff
|
1027
|
+
Referrer-Policy: same-origin
|
1028
|
+
Strict-Transport-Security: max-age=31536000; includeSubDomains
|
1029
|
+
Content-Security-Policy: 'default-src {content_security_policy_admin_default_src};
|
1030
|
+
script-src {content_security_policy_admin_script_src};
|
1031
|
+
style-src {content_security_policy_admin_style_src};
|
1032
|
+
img-src {content_security_policy_admin_img_src};
|
1033
|
+
worker-src {content_security_policy_admin_worker_src}'
|
1034
|
+
- pattern: '^/getitfixed.*'
|
1035
|
+
headers: *c2cgeoform_headers
|
1036
|
+
- pattern: '^/static/.*'
|
1037
|
+
headers:
|
1038
|
+
Access-Control-Allow-Origin: '*'
|
1039
|
+
Access-Control-Allow-Headers: X-Requested-With, Content-Type
|
1040
|
+
- pattern: '^/static-ngeo/.*'
|
1041
|
+
headers:
|
1042
|
+
Access-Control-Allow-Origin: '*'
|
1043
|
+
Access-Control-Allow-Headers: X-Requested-With, Content-Type
|
1044
|
+
- pattern: '^/static-geomapfish/.*'
|
1045
|
+
headers:
|
1046
|
+
Access-Control-Allow-Origin: '*'
|
1047
|
+
Access-Control-Allow-Headers: X-Requested-With, Content-Type
|
1048
|
+
- pattern: '^/c2c$'
|
1049
|
+
headers:
|
1050
|
+
Content-Security-Policy: 'default-src {content_security_policy_c2c_default_src};
|
1051
|
+
script-src {content_security_policy_c2c_script_src};
|
1052
|
+
style-src {content_security_policy_c2c_style_src};'
|
1053
|
+
- pattern: '^/c2c/.*'
|
1054
|
+
headers:
|
1055
|
+
Content-Security-Policy: 'default-src {content_security_policy_c2c_default_src};
|
1056
|
+
script-src {content_security_policy_c2c_script_src};
|
1057
|
+
style-src {content_security_policy_c2c_style_src};'
|
1058
|
+
- pattern: '^/iframe_api(/theme/.*)?$'
|
1059
|
+
headers:
|
1060
|
+
Content-Security-Policy: 'default-src {content_security_policy_main_default_src};
|
1061
|
+
script-src {content_security_policy_main_script_src};
|
1062
|
+
style-src {content_security_policy_main_style_src};
|
1063
|
+
img-src {content_security_policy_main_img_src};
|
1064
|
+
connect-src {content_security_policy_main_connect_src};
|
1065
|
+
frame-ancestors {content_security_policy_iframe_api_frame_ancestors};'
|
1066
|
+
|
1067
|
+
# Control the HTTP headers
|
1068
|
+
headers:
|
1069
|
+
dynamic: &header
|
1070
|
+
cache_control_max_age: 600 # 10 minutes
|
1071
|
+
cache_control_max_age_nocache: 10 # 10 seconds, to avoid too many call
|
1072
|
+
access_control_max_age: 600 # 10 minutes
|
1073
|
+
access_control_allow_origin:
|
1074
|
+
- '*'
|
1075
|
+
index:
|
1076
|
+
<<: *header
|
1077
|
+
headers: &sec_headers
|
1078
|
+
X-Frame-Options: SAMEORIGIN
|
1079
|
+
X-Xss-Protection: 1; mode=block
|
1080
|
+
X-Content-Type-Options: nosniff
|
1081
|
+
Referrer-Policy: origin
|
1082
|
+
Strict-Transport-Security: max-age=31536000; includeSubDomains
|
1083
|
+
Content-Security-Policy: 'default-src {content_security_policy_main_default_src};
|
1084
|
+
script-src {content_security_policy_main_script_src};
|
1085
|
+
style-src {content_security_policy_main_style_src};
|
1086
|
+
img-src {content_security_policy_main_img_src};
|
1087
|
+
connect-src {content_security_policy_main_connect_src}'
|
1088
|
+
api: *header
|
1089
|
+
apihelp:
|
1090
|
+
<<: *header
|
1091
|
+
headers:
|
1092
|
+
<<: *sec_headers
|
1093
|
+
Content-Security-Policy: 'default-src {content_security_policy_apihelp_default_src};
|
1094
|
+
script-src {content_security_policy_apihelp_script_src};
|
1095
|
+
style-src {content_security_policy_apihelp_style_src};
|
1096
|
+
img-src {content_security_policy_apihelp_img_src};
|
1097
|
+
connect-src {content_security_policy_apihelp_connect_src}'
|
1098
|
+
profile: *header
|
1099
|
+
raster: *header
|
1100
|
+
vector_tiles: *header
|
1101
|
+
error: *header
|
1102
|
+
themes: &auth_header
|
1103
|
+
cache_control_max_age: 600 # 10 minutes
|
1104
|
+
cache_control_max_age_nocache: 10 # 10 seconds, to avoid too many call
|
1105
|
+
access_control_max_age: 600 # 10 minutes
|
1106
|
+
access_control_allow_origin:
|
1107
|
+
- '{VISIBLE_WEB_PROTOCOL}://{VISIBLE_WEB_HOST}'
|
1108
|
+
- '*'
|
1109
|
+
headers:
|
1110
|
+
Strict-Transport-Security: max-age=31536000; includeSubDomains
|
1111
|
+
config: *auth_header
|
1112
|
+
print: *auth_header
|
1113
|
+
fulltextsearch: *auth_header
|
1114
|
+
mapserver: *auth_header
|
1115
|
+
tinyows: *auth_header
|
1116
|
+
layers:
|
1117
|
+
<<: *auth_header
|
1118
|
+
cache_control_max_age_nocache: 0 # to refresh issue in editing
|
1119
|
+
shortener: *auth_header
|
1120
|
+
login:
|
1121
|
+
<<: *auth_header
|
1122
|
+
access_control_allow_origin:
|
1123
|
+
- '{VISIBLE_WEB_PROTOCOL}://{VISIBLE_WEB_HOST}'
|
1124
|
+
|
1125
|
+
# Checker configuration
|
1126
|
+
checker_ogc_server: source for image/png
|
1127
|
+
checker:
|
1128
|
+
forward_host: False
|
1129
|
+
base_internal_url: http://localhost:8080
|
1130
|
+
fulltextsearch:
|
1131
|
+
disable: False
|
1132
|
+
level: 3
|
1133
|
+
search: text to search
|
1134
|
+
lang:
|
1135
|
+
level: 3
|
1136
|
+
files: [ngeo]
|
1137
|
+
phantomjs:
|
1138
|
+
disable: []
|
1139
|
+
routes:
|
1140
|
+
- name: desktop
|
1141
|
+
params:
|
1142
|
+
no_redirect: 'true'
|
1143
|
+
environment: &phantomjs-env
|
1144
|
+
HTTP_MAP:
|
1145
|
+
https://localhost:8484/tiles/: http://localhost:8080/tiles/
|
1146
|
+
level: 6
|
1147
|
+
- name: mobile
|
1148
|
+
params:
|
1149
|
+
no_redirect: 'true'
|
1150
|
+
environment: *phantomjs-env
|
1151
|
+
level: 6
|
1152
|
+
- name: iframe_api
|
1153
|
+
params:
|
1154
|
+
no_redirect: 'true'
|
1155
|
+
environment: *phantomjs-env
|
1156
|
+
level: 6
|
1157
|
+
- name: apihelp
|
1158
|
+
environment: *phantomjs-env
|
1159
|
+
level: 6
|
1160
|
+
routes:
|
1161
|
+
disable: []
|
1162
|
+
routes:
|
1163
|
+
- name: apijs
|
1164
|
+
level: 3
|
1165
|
+
params:
|
1166
|
+
version: '2'
|
1167
|
+
- name: printproxy_capabilities
|
1168
|
+
level: 3
|
1169
|
+
- name: mapserverproxy
|
1170
|
+
checker_name: mapserverproxy_wms
|
1171
|
+
params:
|
1172
|
+
SERVICE: WMS
|
1173
|
+
VERSION: 1.1.1
|
1174
|
+
REQUEST: GetCapabilities
|
1175
|
+
ogcserver: '{checker_ogc_server}'
|
1176
|
+
level: 3
|
1177
|
+
- name: mapserverproxy
|
1178
|
+
checker_name: mapserverproxy_wfs
|
1179
|
+
params:
|
1180
|
+
SERVICE: WFS
|
1181
|
+
VERSION: 1.1.0
|
1182
|
+
REQUEST: GetCapabilities
|
1183
|
+
ogcserver: '{checker_ogc_server}'
|
1184
|
+
level: 3
|
1185
|
+
themes:
|
1186
|
+
params:
|
1187
|
+
version: '2'
|
1188
|
+
level: 4
|
1189
|
+
interfaces: {}
|
1190
|
+
print:
|
1191
|
+
level: 5
|
1192
|
+
|
1193
|
+
# Check collector configuration
|
1194
|
+
check_collector:
|
1195
|
+
hosts:
|
1196
|
+
- display: Main
|
1197
|
+
url: 'http://localhost:8080{VISIBLE_ENTRY_POINT}'
|
1198
|
+
max_level: 3
|
1199
|
+
level: 10
|
1200
|
+
|
1201
|
+
# What web page is authorized to use the API
|
1202
|
+
authorized_referers:
|
1203
|
+
- '{VISIBLE_WEB_PROTOCOL}://{VISIBLE_WEB_HOST}/'
|
1204
|
+
|
1205
|
+
metrics:
|
1206
|
+
memory_maps_rss: False
|
1207
|
+
memory_maps_size: False
|
1208
|
+
memory_cache: True
|
1209
|
+
memory_cache_all: False
|
1210
|
+
raster_data: False
|
1211
|
+
total_python_object_memory: True
|
1212
|
+
|
1213
|
+
# Hooks that can be called at different moments in the life of the
|
1214
|
+
# application. The value is the full python name
|
1215
|
+
# (full.module.path.function_name) of the function to call
|
1216
|
+
hooks: {}
|
1217
|
+
# after_settings: {{cookiecutter.package}}.after_settings_hook
|
1218
|
+
# Called just after the settings have been loaded. Allows to modify
|
1219
|
+
# the settings at runtime (they are constructed at build time).
|
1220
|
+
# The function receives one parameter: the settings object.
|
1221
|
+
|
1222
|
+
# Statistics are disabled by default
|
1223
|
+
stats: {}
|
1224
|
+
|
1225
|
+
# The c2cwsgiutils base path
|
1226
|
+
c2c:
|
1227
|
+
base_path: /c2c
|
1228
|
+
|
1229
|
+
db_chooser:
|
1230
|
+
# List of {method path} regexes to force the usage of the master, even for GET and OPTIONS
|
1231
|
+
# This supersedes the slave list.
|
1232
|
+
master:
|
1233
|
+
- GET {VISIBLE_ENTRY_POINT}s/.* # The shortener updates the last_hit column on GET
|
1234
|
+
- GET {VISIBLE_ENTRY_POINT}oauth/login # The oauth2 login when we are already logged
|
1235
|
+
# List of {method path} regexes to force the usage of the slave
|
1236
|
+
slave:
|
1237
|
+
- \w+ {VISIBLE_ENTRY_POINT}printproxy/.* # The print proxy is never writing to the DB
|
1238
|
+
|
1239
|
+
runtime_environment:
|
1240
|
+
- name: VISIBLE_WEB_HOST
|
1241
|
+
default: localhost
|
1242
|
+
- name: VISIBLE_WEB_PROTOCOL
|
1243
|
+
default: https
|
1244
|
+
- name: VISIBLE_ENTRY_POINT
|
1245
|
+
default: /
|
1246
|
+
- PGHOST
|
1247
|
+
- PGHOST_SLAVE
|
1248
|
+
- name: PGPORT
|
1249
|
+
default: '5432'
|
1250
|
+
- name: PGPORT_SLAVE
|
1251
|
+
default: '5432'
|
1252
|
+
- PGUSER
|
1253
|
+
- PGPASSWORD
|
1254
|
+
- name: PGDATABASE
|
1255
|
+
default: geomapfish
|
1256
|
+
- name: PGSSLMODE
|
1257
|
+
default: prefer
|
1258
|
+
- name: PGSCHEMA
|
1259
|
+
default: main
|
1260
|
+
- name: PGSCHEMA_STATIC
|
1261
|
+
default: main_static
|
1262
|
+
- name: SQLALCHEMY_POOL_RECYCLE
|
1263
|
+
default: '30'
|
1264
|
+
- name: SQLALCHEMY_POOL_SIZE
|
1265
|
+
default: '5'
|
1266
|
+
- name: SQLALCHEMY_MAX_OVERFLOW
|
1267
|
+
default: '25'
|
1268
|
+
- name: SQLALCHEMY_SLAVE_POOL_RECYCLE
|
1269
|
+
default: '30'
|
1270
|
+
- name: SQLALCHEMY_SLAVE_POOL_SIZE
|
1271
|
+
default: '5'
|
1272
|
+
- name: SQLALCHEMY_SLAVE_MAX_OVERFLOW
|
1273
|
+
default: '25'
|
1274
|
+
- name: TINYOWS_URL
|
1275
|
+
default: http://tinyows:8080/
|
1276
|
+
- name: MAPSERVER_URL
|
1277
|
+
default: http://mapserver:8080/
|
1278
|
+
- name: QGISSERVER_URL
|
1279
|
+
default: http://qgisserver:8080/
|
1280
|
+
- name: PRINT_URL
|
1281
|
+
default: http://print:8080/print/
|
1282
|
+
- name: DEVSERVER_HOST
|
1283
|
+
default: webpack-dev-server:8080
|
1284
|
+
- name: REDIS_HOST
|
1285
|
+
default: redis
|
1286
|
+
- name: REDIS_PORT
|
1287
|
+
default: '6372'
|
1288
|
+
- name: REDIS_DB
|
1289
|
+
default: '0'
|
1290
|
+
- name: REDIS_SERVICENAME
|
1291
|
+
default: 'mymaster'
|
1292
|
+
- name: REDIS_TIMEOUT
|
1293
|
+
default: '30'
|
1294
|
+
- name: REDIS_LOCK_TIMEOUT
|
1295
|
+
default: '120' # Two minutes
|
1296
|
+
- name: REDIS_EXPIRATION_TIME
|
1297
|
+
default: '86400' # One day
|
1298
|
+
- name: TILEGENERATION_SQS_QUEUE
|
1299
|
+
default: queue_name
|
1300
|
+
- name: TILEGENERATION_S3_BUCKET
|
1301
|
+
default: bucket_name
|
1302
|
+
- name: SENTRY_URL
|
1303
|
+
default: ''
|
1304
|
+
- name: SENTRY_CLIENT_RELEASE
|
1305
|
+
default: ''
|
1306
|
+
- name: SENTRY_CLIENT_ENVIRONMENT
|
1307
|
+
default: ''
|
1308
|
+
|
1309
|
+
runtime_postprocess:
|
1310
|
+
- expression: int({})
|
1311
|
+
vars:
|
1312
|
+
- cache.std.arguments.lock_timeout
|
1313
|
+
- cache.std.arguments.redis_expiration_time
|
1314
|
+
- cache.std.arguments.socket_timeout
|
1315
|
+
- cache.std.arguments.db
|
1316
|
+
- sqlalchemy\.pool_recycle
|
1317
|
+
- sqlalchemy\.pool_size
|
1318
|
+
- sqlalchemy\.max_overflow
|
1319
|
+
- sqlalchemy_slave\.pool_recycle
|
1320
|
+
- sqlalchemy_slave\.pool_size
|
1321
|
+
- sqlalchemy_slave\.max_overflow
|
1322
|
+
- authentication.max_consecutive_failures
|
1323
|
+
- authentication.oauth2_authorization_expire_minutes
|
1324
|
+
- authentication.oauth2_token_expire_minutes
|
1325
|
+
- headers.login.access_control_max_age
|
1326
|
+
- headers.login.cache_control_max_age
|
1327
|
+
- headers.login.cache_control_max_age_nocache
|
1328
|
+
- headers.index.access_control_max_age
|
1329
|
+
- headers.index.cache_control_max_age
|
1330
|
+
- headers.index.cache_control_max_age_nocache
|
1331
|
+
- headers.dynamic.access_control_max_age
|
1332
|
+
- headers.dynamic.cache_control_max_age
|
1333
|
+
- headers.dynamic.cache_control_max_age_nocache
|
1334
|
+
- headers.config.access_control_max_age
|
1335
|
+
- headers.config.cache_control_max_age
|
1336
|
+
- headers.config.cache_control_max_age_nocache
|
1337
|
+
- headers.api.access_control_max_age
|
1338
|
+
- headers.api.cache_control_max_age
|
1339
|
+
- headers.api.cache_control_max_age_nocache
|
1340
|
+
- headers.apihelp.access_control_max_age
|
1341
|
+
- headers.apihelp.cache_control_max_age
|
1342
|
+
- headers.apihelp.cache_control_max_age_nocache
|
1343
|
+
- headers.themes.access_control_max_age
|
1344
|
+
- headers.themes.cache_control_max_age
|
1345
|
+
- headers.themes.cache_control_max_age_nocache
|
1346
|
+
- headers.fulltextsearch.access_control_max_age
|
1347
|
+
- headers.fulltextsearch.cache_control_max_age
|
1348
|
+
- headers.fulltextsearch.cache_control_max_age_nocache
|
1349
|
+
- headers.mapserver.access_control_max_age
|
1350
|
+
- headers.mapserver.cache_control_max_age
|
1351
|
+
- headers.mapserver.cache_control_max_age_nocache
|
1352
|
+
- headers.tinyows.access_control_max_age
|
1353
|
+
- headers.tinyows.cache_control_max_age
|
1354
|
+
- headers.tinyows.cache_control_max_age_nocache
|
1355
|
+
- headers.layers.access_control_max_age
|
1356
|
+
- headers.layers.cache_control_max_age
|
1357
|
+
- headers.layers.cache_control_max_age_nocache
|
1358
|
+
- headers.print.access_control_max_age
|
1359
|
+
- headers.print.cache_control_max_age
|
1360
|
+
- headers.print.cache_control_max_age_nocache
|
1361
|
+
- headers.profile.access_control_max_age
|
1362
|
+
- headers.profile.cache_control_max_age
|
1363
|
+
- headers.profile.cache_control_max_age_nocache
|
1364
|
+
- headers.raster.access_control_max_age
|
1365
|
+
- headers.raster.cache_control_max_age
|
1366
|
+
- headers.raster.cache_control_max_age_nocache
|
1367
|
+
- headers.shortener.access_control_max_age
|
1368
|
+
- headers.shortener.cache_control_max_age
|
1369
|
+
- headers.shortener.cache_control_max_age_nocache
|
1370
|
+
- headers.error.access_control_max_age
|
1371
|
+
- headers.error.cache_control_max_age
|
1372
|
+
- headers.error.cache_control_max_age_nocache
|
1373
|
+
- shortener.length
|
1374
|
+
- checker.fulltextsearch.level
|
1375
|
+
- checker.lang.level
|
1376
|
+
- checker.print.level
|
1377
|
+
- checker.themes.level
|
1378
|
+
- check_collector.max_level
|
1379
|
+
- check_collector.level
|
1380
|
+
|
1381
|
+
- expression: str({}).lower() in ("true", "yes", "1")
|
1382
|
+
vars:
|
1383
|
+
- authentication.two_factor
|
1384
|
+
- getitfixed.enabled
|
1385
|
+
- layers.geometry_validation
|
1386
|
+
- smtp.ssl
|
1387
|
+
- smtp.starttls
|
1388
|
+
- hide_capabilities
|
1389
|
+
- checker.forward_host
|
1390
|
+
- checker.fulltextsearch.disable
|
1391
|
+
- metrics.memory_maps_rss
|
1392
|
+
- metrics.memory_maps_size
|
1393
|
+
- metrics.memory_cache
|
1394
|
+
- metrics.memory_cache_all
|
1395
|
+
- metrics.raster_data
|
1396
|
+
- metrics.total_python_object_memory
|
1397
|
+
|
1398
|
+
no_interpreted:
|
1399
|
+
- admin_interface.available_functionalities[].description
|
1400
|
+
- admin_interface.available_metadata[].description
|
1401
|
+
- interfaces_config.default.static.angularLocaleScript.append
|
1402
|
+
- interfaces_config.default.constants.gmfMousePositionOptions.projections[].filter
|
1403
|
+
- interfaces_config.default.constants.gmfMobileMeasurePointOptions.format
|
1404
|
+
- interfaces_config.default.constants.ngeoStringToHtmlReplacements[].expression
|
1405
|
+
- interfaces_config.mobile.constants.gmfMousePositionOptions.projections[].filter
|
1406
|
+
- interfaces_config.mobile.constants.gmfMobileMeasurePointOptions.format
|
1407
|
+
- interfaces_config.mobile.constants.ngeoStringToHtmlReplacements[].expression
|
1408
|
+
- interfaces_config.desktop.constants.gmfMousePositionOptions.projections[].filter
|
1409
|
+
- interfaces_config.desktop.constants.gmfMobileMeasurePointOptions.format
|
1410
|
+
- interfaces_config.desktop.constants.ngeoStringToHtmlReplacements[].expression
|