c2cgeoportal-geoportal 2.6.0__py2.py3-none-any.whl → 2.8.1.180__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 +245 -95
- c2cgeoportal_geoportal/lib/__init__.py +67 -43
- c2cgeoportal_geoportal/lib/authentication.py +50 -26
- c2cgeoportal_geoportal/lib/bashcolor.py +17 -13
- c2cgeoportal_geoportal/lib/cacheversion.py +16 -8
- c2cgeoportal_geoportal/lib/caching.py +65 -193
- c2cgeoportal_geoportal/lib/check_collector.py +17 -10
- c2cgeoportal_geoportal/lib/checker.py +67 -65
- c2cgeoportal_geoportal/lib/common_headers.py +167 -0
- c2cgeoportal_geoportal/lib/dbreflection.py +61 -46
- c2cgeoportal_geoportal/lib/filter_capabilities.py +126 -88
- c2cgeoportal_geoportal/lib/fulltextsearch.py +6 -5
- c2cgeoportal_geoportal/lib/functionality.py +20 -17
- c2cgeoportal_geoportal/lib/headers.py +14 -5
- c2cgeoportal_geoportal/lib/i18n.py +4 -4
- c2cgeoportal_geoportal/lib/layers.py +30 -11
- c2cgeoportal_geoportal/lib/lingua_extractor.py +363 -240
- c2cgeoportal_geoportal/lib/loader.py +11 -16
- c2cgeoportal_geoportal/lib/metrics.py +28 -17
- c2cgeoportal_geoportal/lib/oauth2.py +392 -206
- c2cgeoportal_geoportal/lib/wmstparsing.py +105 -84
- c2cgeoportal_geoportal/lib/xsd.py +26 -16
- 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/geoportal/+dot+prospector.yaml → advance_create/{{cookiecutter.project}}/geoportal/.prospector.yaml} +8 -2
- c2cgeoportal_geoportal/scaffolds/{create/geoportal/Dockerfile_tmpl → advance_create/{{cookiecutter.project}}/geoportal/Dockerfile} +22 -15
- 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 +100 -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/{create/geoportal/setup.py_tmpl → advance_create/{{cookiecutter.project}}/geoportal/setup.py} +6 -7
- c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/tsconfig.json +8 -0
- c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/webpack.api.js +77 -0
- c2cgeoportal_geoportal/scaffolds/{create/geoportal/webpack.apps.js_tmpl → advance_create/{{cookiecutter.project}}/geoportal/webpack.apps.js} +29 -28
- c2cgeoportal_geoportal/scaffolds/{create → advance_create/{{cookiecutter.project}}}/geoportal/webpack.commons.js +4 -7
- c2cgeoportal_geoportal/scaffolds/{create → advance_create/{{cookiecutter.project}}}/geoportal/webpack.config.js +1 -1
- c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/__init__.py +42 -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/{create/geoportal/+package+_geoportal/static-ngeo/api/index.js_tmpl → advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static-ngeo/api/index.js} +1 -2
- c2cgeoportal_geoportal/scaffolds/{create/geoportal/+package+_geoportal/static-ngeo/js/+package+module.js_tmpl → advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static-ngeo/js/{{cookiecutter.package}}module.js} +4 -4
- c2cgeoportal_geoportal/scaffolds/{create/geoportal/+package+_geoportal/subscribers.py_tmpl → advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/subscribers.py} +1 -3
- c2cgeoportal_geoportal/scaffolds/advance_update/cookiecutter.json +18 -0
- c2cgeoportal_geoportal/scaffolds/{update/geoportal/CONST_Makefile_tmpl → advance_update/{{cookiecutter.project}}/geoportal/CONST_Makefile} +3 -27
- 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} +2 -5
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/.github/workflows/main.yaml +57 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/.github/workflows/rebuild.yaml +46 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/.github/workflows/update_l10n.yaml +66 -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/{{cookiecutter.project}}/Dockerfile +76 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/Makefile +70 -0
- c2cgeoportal_geoportal/scaffolds/create/{README.rst_tmpl → {{cookiecutter.project}}/README.rst} +4 -4
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/build +186 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/ci/config.yaml +22 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/ci/docker-compose-check +25 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/ci/requirements.txt +1 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/docker-compose-db.yaml +26 -0
- c2cgeoportal_geoportal/scaffolds/create/{docker-compose-lib.yaml → {{cookiecutter.project}}/docker-compose-lib.yaml} +165 -22
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/docker-compose-qgis.yaml +23 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/docker-compose.override.sample.yaml +66 -0
- c2cgeoportal_geoportal/scaffolds/create/{docker-compose.yaml → {{cookiecutter.project}}/docker-compose.yaml} +20 -15
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/env.default +101 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/env.project +69 -0
- c2cgeoportal_geoportal/scaffolds/create/{geoportal/vars.yaml_tmpl → {{cookiecutter.project}}/geoportal/vars.yaml} +126 -36
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static/css/mobile.css +0 -0
- c2cgeoportal_geoportal/scaffolds/create/{mapserver → {{cookiecutter.project}}/mapserver}/data/Readme.txt +3 -3
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/demo.map.tmpl +224 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/mapserver.conf +15 -0
- c2cgeoportal_geoportal/scaffolds/create/{mapserver/mapserver.map.tmpl_tmpl → {{cookiecutter.project}}/mapserver/mapserver.map.tmpl} +9 -18
- c2cgeoportal_geoportal/scaffolds/create/{print/print-apps/+package+ → {{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}}/A3_Landscape.jrxml +13 -8
- c2cgeoportal_geoportal/scaffolds/create/{print/print-apps/+package+ → {{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}}/A3_Portrait.jrxml +13 -8
- c2cgeoportal_geoportal/scaffolds/create/{print/print-apps/+package+ → {{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}}/A4_Landscape.jrxml +13 -8
- c2cgeoportal_geoportal/scaffolds/create/{print/print-apps/+package+ → {{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}}/A4_Portrait.jrxml +13 -8
- c2cgeoportal_geoportal/scaffolds/create/{print/print-apps/+package+ → {{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}}/config.yaml.tmpl +11 -4
- 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/{pyproject.toml → {{cookiecutter.project}}/pyproject.toml} +4 -0
- c2cgeoportal_geoportal/scaffolds/create/{qgisserver/pg_service.conf.tmpl_tmpl → {{cookiecutter.project}}/qgisserver/pg_service.conf.tmpl} +2 -2
- c2cgeoportal_geoportal/scaffolds/create/{run_alembic.sh → {{cookiecutter.project}}/run_alembic.sh} +3 -5
- 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/{setup.cfg_tmpl → {{cookiecutter.project}}/setup.cfg} +1 -1
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/spell-ignore-words.txt +5 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/tests/__init__.py +0 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/tests/test_app.py +38 -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 +61 -0
- c2cgeoportal_geoportal/scaffolds/update/{{cookiecutter.project}}/CONST_CHANGELOG.txt +273 -0
- c2cgeoportal_geoportal/scaffolds/update/{{cookiecutter.project}}/CONST_create_template/tests/test_testapp.py +48 -0
- c2cgeoportal_geoportal/scaffolds/update/{geoportal → {{cookiecutter.project}}/geoportal}/CONST_config-schema.yaml +64 -17
- c2cgeoportal_geoportal/scaffolds/update/{geoportal/CONST_vars.yaml_tmpl → {{cookiecutter.project}}/geoportal/CONST_vars.yaml} +396 -19
- c2cgeoportal_geoportal/scripts/__init__.py +16 -30
- c2cgeoportal_geoportal/scripts/c2cupgrade.py +272 -234
- c2cgeoportal_geoportal/scripts/create_demo_theme.py +3 -6
- c2cgeoportal_geoportal/scripts/manage_users.py +34 -39
- c2cgeoportal_geoportal/scripts/pcreate.py +310 -0
- c2cgeoportal_geoportal/scripts/theme2fts.py +128 -24
- c2cgeoportal_geoportal/scripts/urllogin.py +19 -11
- c2cgeoportal_geoportal/templates/login.html +88 -84
- c2cgeoportal_geoportal/templates/notlogin.html +59 -59
- c2cgeoportal_geoportal/templates/testi18n.html +6 -8
- c2cgeoportal_geoportal/views/__init__.py +23 -6
- c2cgeoportal_geoportal/views/dev.py +9 -7
- c2cgeoportal_geoportal/views/dynamic.py +56 -19
- c2cgeoportal_geoportal/views/entry.py +85 -24
- c2cgeoportal_geoportal/views/fulltextsearch.py +29 -23
- c2cgeoportal_geoportal/views/geometry_processing.py +17 -9
- c2cgeoportal_geoportal/views/i18n.py +91 -9
- c2cgeoportal_geoportal/views/layers.py +166 -133
- c2cgeoportal_geoportal/views/login.py +161 -93
- c2cgeoportal_geoportal/views/mapserverproxy.py +47 -31
- c2cgeoportal_geoportal/views/memory.py +12 -12
- c2cgeoportal_geoportal/views/ogcproxy.py +52 -30
- c2cgeoportal_geoportal/views/pdfreport.py +30 -26
- c2cgeoportal_geoportal/views/printproxy.py +60 -52
- c2cgeoportal_geoportal/views/profile.py +24 -23
- c2cgeoportal_geoportal/views/proxy.py +88 -72
- c2cgeoportal_geoportal/views/raster.py +37 -26
- c2cgeoportal_geoportal/views/resourceproxy.py +13 -11
- c2cgeoportal_geoportal/views/shortener.py +27 -25
- c2cgeoportal_geoportal/views/theme.py +472 -332
- c2cgeoportal_geoportal/views/tinyowsproxy.py +42 -44
- c2cgeoportal_geoportal/views/vector_tiles.py +80 -0
- {c2cgeoportal_geoportal-2.6.0.dist-info → c2cgeoportal_geoportal-2.8.1.180.dist-info}/METADATA +19 -8
- c2cgeoportal_geoportal-2.8.1.180.dist-info/RECORD +191 -0
- {c2cgeoportal_geoportal-2.6.0.dist-info → c2cgeoportal_geoportal-2.8.1.180.dist-info}/WHEEL +1 -1
- {c2cgeoportal_geoportal-2.6.0.dist-info → c2cgeoportal_geoportal-2.8.1.180.dist-info}/entry_points.txt +3 -0
- tests/__init__.py +10 -5
- tests/test_cachebuster.py +3 -5
- tests/test_caching.py +18 -26
- tests/test_checker.py +1 -3
- tests/test_decimaljson.py +5 -5
- tests/test_headerstween.py +1 -3
- tests/test_i18n.py +2 -2
- tests/test_init.py +16 -20
- tests/test_locale_negociator.py +4 -6
- tests/test_mapserverproxy_route_predicate.py +1 -4
- tests/test_raster.py +15 -17
- tests/test_wmstparsing.py +10 -12
- tests/xmlstr.py +1 -3
- c2cgeoportal_geoportal/scaffolds/__init__.py +0 -227
- c2cgeoportal_geoportal/scaffolds/create/+dot+dockerignore_tmpl +0 -12
- c2cgeoportal_geoportal/scaffolds/create/+dot+github/workflows/main.yaml_tmpl +0 -89
- c2cgeoportal_geoportal/scaffolds/create/+dot+github/workflows/rebuild.yaml_tmpl +0 -78
- c2cgeoportal_geoportal/scaffolds/create/+dot+gitignore_tmpl +0 -16
- c2cgeoportal_geoportal/scaffolds/create/Dockerfile_tmpl +0 -67
- c2cgeoportal_geoportal/scaffolds/create/Makefile +0 -3
- c2cgeoportal_geoportal/scaffolds/create/build_tmpl +0 -167
- c2cgeoportal_geoportal/scaffolds/create/ci/config.yaml_tmpl +0 -23
- c2cgeoportal_geoportal/scaffolds/create/ci/requirements.txt +0 -1
- c2cgeoportal_geoportal/scaffolds/create/ci/trigger +0 -68
- c2cgeoportal_geoportal/scaffolds/create/docker-compose.override.sample.yaml +0 -54
- c2cgeoportal_geoportal/scaffolds/create/env.default_tmpl +0 -67
- c2cgeoportal_geoportal/scaffolds/create/env.project_tmpl +0 -48
- c2cgeoportal_geoportal/scaffolds/create/geoportal/+dot+dockerignore_tmpl +0 -6
- c2cgeoportal_geoportal/scaffolds/create/geoportal/+dot+eslintrc_tmpl +0 -15
- c2cgeoportal_geoportal/scaffolds/create/geoportal/+package+_geoportal/__init__.py_tmpl +0 -58
- c2cgeoportal_geoportal/scaffolds/create/geoportal/+package+_geoportal/models.py_tmpl +0 -10
- c2cgeoportal_geoportal/scaffolds/create/geoportal/+package+_geoportal/static/robot.txt +0 -3
- c2cgeoportal_geoportal/scaffolds/create/geoportal/production.ini_tmpl +0 -106
- c2cgeoportal_geoportal/scaffolds/create/geoportal/tools/extract-messages.js +0 -39
- c2cgeoportal_geoportal/scaffolds/create/geoportal/tsconfig.json_tmpl +0 -9
- c2cgeoportal_geoportal/scaffolds/create/geoportal/webpack.api.js_tmpl +0 -72
- 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 -168
- c2cgeoportal_geoportal/scaffolds/create/qgisserver/geomapfish.yaml.tmpl_tmpl +0 -16
- c2cgeoportal_geoportal/scaffolds/create/spell-ignore-words.txt +0 -1
- c2cgeoportal_geoportal/scaffolds/create/tilegeneration/config.yaml.tmpl_tmpl +0 -185
- c2cgeoportal_geoportal/scaffolds/create/yamllint.yaml +0 -11
- c2cgeoportal_geoportal/scaffolds/update/+dot+upgrade.yaml_tmpl +0 -181
- c2cgeoportal_geoportal/scaffolds/update/CONST_CHANGELOG.txt_tmpl +0 -454
- c2cgeoportal_geoportal/templates/dynamic.js +0 -21
- c2cgeoportal_geoportal-2.6.0.dist-info/RECORD +0 -173
- /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/alembic.ini +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 → advance_create/{{cookiecutter.project}}}/geoportal/requirements.txt +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/images/markers/marker-blue.png +0 -0
- /c2cgeoportal_geoportal/scaffolds/create/{geoportal/+package+_geoportal → {{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal}/static/images/markers/marker-gold.png +0 -0
- /c2cgeoportal_geoportal/scaffolds/create/{geoportal/+package+_geoportal → {{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal}/static/images/markers/marker-green.png +0 -0
- /c2cgeoportal_geoportal/scaffolds/create/{geoportal/+package+_geoportal → {{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal}/static/images/markers/marker.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}}}/legend.jrxml +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-2.6.0.dist-info → c2cgeoportal_geoportal-2.8.1.180.dist-info}/top_level.txt +0 -0
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
vars:
|
3
3
|
# The package name
|
4
|
-
package: '{{package}}'
|
4
|
+
package: '{{cookiecutter.package}}'
|
5
5
|
main_ogc_server: source for image/png
|
6
6
|
|
7
7
|
srid: EPSG:-1
|
@@ -39,7 +39,7 @@ vars:
|
|
39
39
|
|
40
40
|
authentication:
|
41
41
|
two_factor: false
|
42
|
-
two_factor_issuer_name: '{{project}}'
|
42
|
+
two_factor_issuer_name: '{{cookiecutter.project}}'
|
43
43
|
oauth2_token_expire_minutes: 60
|
44
44
|
oauth2_authorization_expire_minutes: 10
|
45
45
|
max_consecutive_failures: 10
|
@@ -47,6 +47,33 @@ vars:
|
|
47
47
|
intranet:
|
48
48
|
networks: []
|
49
49
|
|
50
|
+
i18next:
|
51
|
+
ns:
|
52
|
+
- geomapfish
|
53
|
+
defaultNS: geomapfish
|
54
|
+
keySeparator: false
|
55
|
+
debug: false
|
56
|
+
detection:
|
57
|
+
order:
|
58
|
+
- querystring
|
59
|
+
- cookie
|
60
|
+
- localStorage
|
61
|
+
- sessionStorage
|
62
|
+
- navigator
|
63
|
+
- htmlTag
|
64
|
+
lookupQuerystring: lang
|
65
|
+
lookupCookie: i18next
|
66
|
+
lookupLocalStorage: i18nextLng
|
67
|
+
lookupSessionStorage: i18nextLng
|
68
|
+
caches:
|
69
|
+
- localStorage
|
70
|
+
excludeCacheFor:
|
71
|
+
- cimode
|
72
|
+
fallbackLng: false
|
73
|
+
interpolation:
|
74
|
+
escapeValue: false
|
75
|
+
backend: {}
|
76
|
+
|
50
77
|
interfaces_config:
|
51
78
|
default:
|
52
79
|
constants:
|
@@ -84,7 +111,9 @@ vars:
|
|
84
111
|
attachStacktrace: True
|
85
112
|
tags:
|
86
113
|
service: js
|
87
|
-
gmfAuthenticationConfig:
|
114
|
+
gmfAuthenticationConfig:
|
115
|
+
allowPasswordChange: true
|
116
|
+
allowPasswordReset: true
|
88
117
|
ngeoWfsPermalinkOptions:
|
89
118
|
wfsTypes: []
|
90
119
|
defaultFeatureNS: http://mapserver.gis.umn.edu/mapserver
|
@@ -127,6 +156,8 @@ vars:
|
|
127
156
|
ngeoMeasureDecimals: 0
|
128
157
|
ngeoMeasureSpherical: False
|
129
158
|
gmfSnappingConfig: {}
|
159
|
+
gmfSnappingOptions:
|
160
|
+
maxFeatures: 50
|
130
161
|
ngeoSnappingTolerance: 20
|
131
162
|
gmfObjectEditingToolsOptions: {}
|
132
163
|
gmfTreeManagerModeFlush: True
|
@@ -142,7 +173,7 @@ vars:
|
|
142
173
|
ngeoCsvSeparator: ','
|
143
174
|
gmfCsvFilename: query-results.csv
|
144
175
|
gmfDisplayQueryWindowOptions:
|
145
|
-
|
176
|
+
featuresStyle: &featureStyle
|
146
177
|
fill:
|
147
178
|
color: [255, 170, 0, 0.6]
|
148
179
|
stroke:
|
@@ -173,11 +204,14 @@ vars:
|
|
173
204
|
gmfLayerTreeOptions:
|
174
205
|
openLinksInNewWindow: False
|
175
206
|
isExpanded: False
|
207
|
+
layerIcon:
|
208
|
+
width: 20
|
209
|
+
height: 20
|
176
210
|
gmfDisclaimerOptions: {}
|
177
211
|
gmfBackgroundLayerSelectorOptions: {}
|
178
212
|
defaultTheme: Demo
|
179
213
|
defaultLang: en
|
180
|
-
gmfOptions:
|
214
|
+
gmfOptions: &gmfOptions
|
181
215
|
map: {}
|
182
216
|
view:
|
183
217
|
srid: '{srid}'
|
@@ -185,6 +219,8 @@ vars:
|
|
185
219
|
zoom: 3
|
186
220
|
resolutions: [250, 100, 50, 20, 10, 5, 2, 1, 0.5, 0.25, 0.1, 0.05]
|
187
221
|
extent: [2420000, 1030000, 2900000, 1350000]
|
222
|
+
constrainRotation: false
|
223
|
+
constrainResolution: true
|
188
224
|
gmfSearchOptions:
|
189
225
|
styles:
|
190
226
|
default:
|
@@ -221,12 +257,31 @@ vars:
|
|
221
257
|
projection: EPSG:{srid}
|
222
258
|
gmfPermalinkOptions:
|
223
259
|
crosshairStyle:
|
260
|
+
- regularShape:
|
261
|
+
stroke:
|
262
|
+
color: white
|
263
|
+
width: 5
|
264
|
+
points: 4
|
265
|
+
radius: 10
|
266
|
+
radius2: 0
|
267
|
+
angle: 0
|
268
|
+
- regularShape:
|
269
|
+
stroke:
|
270
|
+
color: red
|
271
|
+
width: 2
|
272
|
+
points: 4
|
273
|
+
radius: 10
|
274
|
+
radius2: 0
|
275
|
+
angle: 0
|
224
276
|
crosshairEnabledByDefault: False
|
225
277
|
useLocalStorage: False
|
226
278
|
pointRecenterZoom:
|
227
279
|
gmfElevationOptions:
|
228
280
|
layers: []
|
229
281
|
layersConfig: {}
|
282
|
+
gmfVectorTilesOptions:
|
283
|
+
projection: EPSG:{srid}
|
284
|
+
tileGrid: {}
|
230
285
|
ngeoGeolocationOptions:
|
231
286
|
positionFeatureStyle:
|
232
287
|
circle:
|
@@ -244,16 +299,22 @@ vars:
|
|
244
299
|
width: 2
|
245
300
|
zoom:
|
246
301
|
autoRotate: False
|
302
|
+
gmfWMSSourceOptions:
|
303
|
+
# The default value is 1.5 but it add a slight blur on the layer,
|
304
|
+
# 1 is also possible but the application will do a getMap on all the pan.
|
305
|
+
ratio: 2
|
306
|
+
|
247
307
|
dynamic_constants:
|
248
308
|
interface: interface
|
249
309
|
cacheVersion: cache_version
|
250
310
|
langUrls: lang_urls
|
311
|
+
gmfI18nextConfiguration: i18next_configuration
|
251
312
|
gmfTwoFactorAuth: two_factor
|
252
313
|
gmfSearchGroups: fulltextsearch_groups
|
253
314
|
static:
|
254
315
|
angularLocaleScript:
|
255
316
|
name: '/etc/static-ngeo/'
|
256
|
-
append: angular-locale_
|
317
|
+
append: angular-locale_{{'{{'}}locale{{'}}'}}.js
|
257
318
|
routes:
|
258
319
|
currentInterfaceUrl:
|
259
320
|
currentInterface: True
|
@@ -282,11 +343,14 @@ vars:
|
|
282
343
|
background: background
|
283
344
|
dynamic_params:
|
284
345
|
interface: interface
|
346
|
+
gmfVectorTilesUrl:
|
347
|
+
name: vector_tiles_root
|
285
348
|
desktop:
|
286
349
|
extends: default
|
287
350
|
redirect_interface: mobile
|
288
351
|
do_redirect: True
|
289
352
|
constants:
|
353
|
+
gmfOptions: *gmfOptions
|
290
354
|
ngeoProfileOptions: {}
|
291
355
|
ngeoStreetviewOptions:
|
292
356
|
viewer: 'mapillary'
|
@@ -307,9 +371,11 @@ vars:
|
|
307
371
|
LAYERFONTSIZE: '10'
|
308
372
|
ITEMFONTSIZE: '8'
|
309
373
|
hiddenAttributes:
|
374
|
+
- debug
|
310
375
|
- timezone
|
376
|
+
- username
|
311
377
|
gmfDisplayQueryGridOptions:
|
312
|
-
|
378
|
+
featuresStyle: *featureStyle
|
313
379
|
selectedFeatureStyle: *selectedFeatureStyle
|
314
380
|
gmfEditFeatureOptions:
|
315
381
|
tolerance: 10
|
@@ -336,15 +402,20 @@ vars:
|
|
336
402
|
radius: 3
|
337
403
|
gmfShareOptions:
|
338
404
|
enableEmail: True
|
405
|
+
gmfFitOptions:
|
406
|
+
# Padding (in pixels) to be correctly fitted inside the view. Values in the array are top, right, bottom and left padding.
|
407
|
+
padding: [50, 10, 50, 50]
|
339
408
|
routes:
|
340
409
|
gmfProfileJsonUrl:
|
341
410
|
name: profile.json
|
342
411
|
gmfPrintUrl:
|
343
412
|
name: printproxy
|
413
|
+
|
344
414
|
mobile:
|
345
415
|
extends: default
|
346
416
|
redirect_interface: desktop
|
347
417
|
constants:
|
418
|
+
gmfOptions: *gmfOptions
|
348
419
|
gmfMobileMeasureAreaOptions:
|
349
420
|
precision: 2
|
350
421
|
sketchStyle: &mobileMeasureStyle
|
@@ -384,10 +455,19 @@ vars:
|
|
384
455
|
radius: 8
|
385
456
|
radius2: 0
|
386
457
|
angle: 0
|
458
|
+
gmfFitOptions:
|
459
|
+
# Padding (in pixels) to be correctly fitted inside the view. Values in the array are top, right, bottom and left padding.
|
460
|
+
padding: [60, 60, 42, 10]
|
461
|
+
|
387
462
|
iframe_api:
|
388
463
|
extends: default
|
389
464
|
constants:
|
465
|
+
gmfOptions: *gmfOptions
|
390
466
|
gmfSearchGroups: []
|
467
|
+
gmfFitOptions:
|
468
|
+
# Padding (in pixels) to be correctly fitted inside the view. Values in the array are top, right, bottom and left padding.
|
469
|
+
padding: [20, 20, 20, 20]
|
470
|
+
|
391
471
|
api:
|
392
472
|
constants:
|
393
473
|
projections: *projections
|
@@ -413,15 +493,19 @@ vars:
|
|
413
493
|
cache:
|
414
494
|
std:
|
415
495
|
backend: c2cgeoportal.hybridsentinel
|
416
|
-
arguments:
|
496
|
+
arguments: &redis-cache-arguments
|
417
497
|
lock_timeout: '{REDIS_LOCK_TIMEOUT}' # seconds
|
418
498
|
redis_expiration_time: '{REDIS_EXPIRATION_TIME}' # seconds
|
419
499
|
distributed_lock: True
|
500
|
+
thread_local_lock: False
|
420
501
|
service_name: '{REDIS_SERVICENAME}'
|
421
502
|
socket_timeout: '{REDIS_TIMEOUT}' # seconds
|
422
503
|
db: 0
|
423
504
|
obj:
|
424
505
|
backend: dogpile.cache.memory
|
506
|
+
ogc-server:
|
507
|
+
backend: c2cgeoportal.hybridsentinel
|
508
|
+
arguments: *redis-cache-arguments
|
425
509
|
|
426
510
|
admin_interface:
|
427
511
|
layer_tree_max_nodes: 1000
|
@@ -431,89 +515,331 @@ vars:
|
|
431
515
|
# TreeItem
|
432
516
|
- name: searchAlias
|
433
517
|
type: list
|
518
|
+
description: >
|
519
|
+
Comma separated list of search aliases (keywords) to be added to the tsearch.ts field for
|
520
|
+
the considered tree item (theme, layer group or layer), that is to say that considered
|
521
|
+
tree item will match when searching for the search aliases.
|
522
|
+
relevant_for:
|
523
|
+
- treeitem
|
524
|
+
- name: searchLabelPattern
|
525
|
+
description: >
|
526
|
+
Template string for the label of tree items in the search results, for example: "{name} ({theme})"
|
527
|
+
Supported parameters:
|
528
|
+
<ul>
|
529
|
+
<li>name (name of the tree item)</li>
|
530
|
+
<li>parent (parent of the item, may be a group, a block or a theme)</li>
|
531
|
+
<li>block (name of the block to which the item belongs)</li>
|
532
|
+
<li>theme (name of the theme to which the item belongs)</li>
|
533
|
+
</ul>
|
534
|
+
relevant_for:
|
535
|
+
- treeitem
|
434
536
|
# Layers group
|
435
537
|
- name: exclusiveGroup
|
436
538
|
type: boolean
|
539
|
+
description: >
|
540
|
+
Whether the group contains children that have to be mutually exclusive, meaning that only
|
541
|
+
one child may be ON at any time.
|
542
|
+
relevant_for:
|
543
|
+
- layergroup
|
437
544
|
- name: isExpanded
|
438
545
|
type: boolean
|
546
|
+
description: >
|
547
|
+
Whether the layer group is expanded by default.
|
548
|
+
relevant_for:
|
549
|
+
- layergroup
|
439
550
|
- name: printNativeAngle
|
440
551
|
type: boolean
|
552
|
+
description: >
|
553
|
+
Whether the print should rotate the symbols.
|
554
|
+
relevant_for:
|
555
|
+
- layergroup
|
441
556
|
# Layer
|
442
557
|
- name: copyable
|
443
558
|
type: boolean
|
559
|
+
description: >
|
560
|
+
Whether the geometry from this data source can be copied to other data sources or not.
|
561
|
+
relevant_for:
|
562
|
+
- layer_wms
|
444
563
|
- name: legend
|
445
564
|
type: boolean
|
565
|
+
description: >
|
566
|
+
Display the legend of this layer.
|
567
|
+
relevant_for:
|
568
|
+
- layer_wms
|
569
|
+
- layer_wmts
|
446
570
|
- name: isLegendExpanded
|
447
571
|
type: boolean
|
572
|
+
description: >
|
573
|
+
Whether the legend is expanded by default.
|
574
|
+
relevant_for:
|
575
|
+
- layer_wms
|
576
|
+
- layer_wmts
|
448
577
|
- name: legendRule
|
578
|
+
description: >
|
579
|
+
The WMS "RULE" parameter used to display the icon in the layer tree. "Short version" of
|
580
|
+
the "iconURL" metadata.
|
581
|
+
relevant_for:
|
582
|
+
- layer_wms
|
449
583
|
- name: legendImage
|
450
584
|
type: url
|
585
|
+
description: >
|
586
|
+
The URL to the image used as a legend in the layer tree.
|
587
|
+
relevant_for:
|
588
|
+
- layer_wms
|
589
|
+
- layer_wmts
|
451
590
|
- name: hiDPILegendImages
|
452
591
|
type: json
|
592
|
+
description: >
|
593
|
+
The URLs to the hi DPI images used to print the legend of this layer.
|
594
|
+
It will contain a JSON mapping object with the DPI as key and the URL as value.
|
595
|
+
Note that the URL can't use the config scheme.
|
596
|
+
relevant_for:
|
597
|
+
- layer_wms
|
598
|
+
- layer_wmts
|
453
599
|
- name: iconUrl
|
454
600
|
type: url
|
601
|
+
description: >
|
602
|
+
The URL of the icon to display in the layer tree.
|
603
|
+
relevant_for:
|
604
|
+
- layer_wms
|
605
|
+
- layer_wmts
|
455
606
|
- name: metadataUrl
|
456
607
|
type: url
|
608
|
+
description: >
|
609
|
+
The URL to the information on this layer.
|
610
|
+
relevant_for:
|
611
|
+
- layer_wms
|
612
|
+
- layer_wmts
|
613
|
+
- layergroup
|
457
614
|
- name: disclaimer
|
458
615
|
translate: True
|
616
|
+
description: >
|
617
|
+
The disclaimer text for this element.
|
618
|
+
relevant_for:
|
619
|
+
- treeitem
|
459
620
|
- name: isChecked
|
460
621
|
type: boolean
|
622
|
+
description: >
|
623
|
+
Is the layer checked by default.
|
624
|
+
relevant_for:
|
625
|
+
- layer_wms
|
626
|
+
- layer_wmts
|
461
627
|
- name: identifierAttributeField
|
628
|
+
description: >
|
629
|
+
The field used in the "display query window" as feature title.
|
630
|
+
relevant_for:
|
631
|
+
- layer_wms
|
462
632
|
- name: maxResolution
|
463
633
|
type: float
|
634
|
+
description: >
|
635
|
+
The max resolution where the layer is visible. On WMTS layers it will
|
636
|
+
have an effect on the node in the layertree but not on the layertree directly.
|
637
|
+
relevant_for:
|
638
|
+
- layer_wms
|
639
|
+
- layer_wmts
|
464
640
|
- name: minResolution
|
465
641
|
type: float
|
642
|
+
description: >
|
643
|
+
The min resolution where the layer is visible. On WMTS layers it will
|
644
|
+
have an effect on the node in the layertree but not on the layer directly.
|
645
|
+
relevant_for:
|
646
|
+
- layer_wms
|
647
|
+
- layer_wmts
|
466
648
|
- name: opacity
|
467
649
|
type: float
|
650
|
+
description: >
|
651
|
+
Layer opacity. 1.0 means fully visible, 0 means invisible.
|
652
|
+
relevant_for:
|
653
|
+
- layer_wms
|
654
|
+
- layer_wmts
|
468
655
|
- name: thumbnail
|
469
656
|
type: url
|
657
|
+
description: >
|
658
|
+
The icon visible in the background selector.
|
659
|
+
relevant_for:
|
660
|
+
- layer_wms
|
661
|
+
- layer_wmts
|
470
662
|
- name: timeAttribute
|
663
|
+
description: >
|
664
|
+
The name of the time attribute. For WMS(-T) layers.
|
665
|
+
relevant_for:
|
666
|
+
- layer_wms
|
471
667
|
- name: geotablePrimaryKey
|
668
|
+
description: >
|
669
|
+
The name of the primary key field for edition.
|
670
|
+
relevant_for:
|
671
|
+
- layer_wms
|
472
672
|
- name: lastUpdateDateColumn
|
673
|
+
description: >
|
674
|
+
Define a column which will be automatically filled with the date of the last edit.
|
675
|
+
relevant_for:
|
676
|
+
- layer_wms
|
473
677
|
- name: lastUpdateUserColumn
|
678
|
+
description: >
|
679
|
+
Define a column which will be automatically filled with the user of the last edit.
|
680
|
+
relevant_for:
|
681
|
+
- layer_wms
|
474
682
|
- name: snappingConfig
|
475
683
|
type: json
|
684
|
+
description: >
|
685
|
+
The snapping configuration for the layer. If set, even if empty, the layer is considered to be
|
686
|
+
"snappable" and snapping is activated by default. To disable snapping by default, set "activated"
|
687
|
+
to false. Example value: {"tolerance": 50, "edge": false}.
|
688
|
+
relevant_for:
|
689
|
+
- layer_wms
|
476
690
|
- name: geometryValidation
|
477
691
|
type: boolean
|
692
|
+
description: >
|
693
|
+
Force validation of the geometries according to the layer type (point, line, polygon),
|
694
|
+
for example, to prevent creation of a 2-point polygon.
|
695
|
+
relevant_for:
|
696
|
+
- layer_wms
|
478
697
|
- name: customOpenLayersOptions
|
479
698
|
type: json
|
699
|
+
description: >
|
700
|
+
The custom OpenLayers WMS layer options.
|
701
|
+
relevant_for:
|
702
|
+
- layer_wms
|
703
|
+
- layer_wmts
|
480
704
|
- name: editingAttributesOrder
|
481
705
|
type: list
|
706
|
+
description: >
|
707
|
+
Specify the order of the editable attributes in the edit interface.
|
708
|
+
relevant_for:
|
709
|
+
- layer_wms
|
482
710
|
- name: editingEnumerations
|
483
711
|
type: json
|
712
|
+
description: >
|
713
|
+
Specify the value column and the order column on the relationship's target table of the
|
714
|
+
enumeration.
|
715
|
+
relevant_for:
|
716
|
+
- layer_wms
|
484
717
|
- name: readonlyAttributes
|
485
718
|
type: list
|
719
|
+
description: >
|
720
|
+
Set attributes as read only in the Editing form.
|
721
|
+
relevant_for:
|
722
|
+
- layer_wms
|
486
723
|
- name: queryIconPosition
|
487
724
|
type: list
|
725
|
+
description: >
|
726
|
+
Values to define the shape (bbox) to use to query the layer. The values are used like a
|
727
|
+
padding in css with 1, 2, 3 or 4 comma separated values: all / top-bottom, left-right /
|
728
|
+
top, right-left, bottom / top, right, bottom, left.
|
729
|
+
relevant_for:
|
730
|
+
- layer_wms
|
731
|
+
- layer_wmts
|
732
|
+
- name: editingSelectionAttribute
|
733
|
+
description: >
|
734
|
+
The field used in the selector tooltip to name the layer when multiple ones are selected on the map.
|
735
|
+
relevant_for:
|
736
|
+
- layer_wms
|
488
737
|
# WMS
|
489
738
|
- name: directedFilterAttributes
|
490
739
|
type: list
|
740
|
+
description: >
|
741
|
+
List of attribute names which should have rules already ready when using the filter
|
742
|
+
tools.
|
743
|
+
relevant_for:
|
744
|
+
- layer_wms
|
491
745
|
- name: enumeratedAttributes
|
492
746
|
type: list
|
747
|
+
description: >
|
748
|
+
List of attribute names which have enumerated attribute values (for filters purpose).
|
749
|
+
relevant_for:
|
750
|
+
- layer_wms
|
493
751
|
# WMTS layers
|
494
752
|
- name: ogcServer
|
753
|
+
description: >
|
754
|
+
The corresponding OGC server for a WMTS layer.
|
755
|
+
relevant_for:
|
756
|
+
- layer_wmts
|
495
757
|
- name: wmsLayers
|
758
|
+
description: >
|
759
|
+
Corresponding WMS/WFS layers (comma separated) that will be used instead of the WMTS layer
|
760
|
+
to do the query and for the print.
|
761
|
+
An OGCServer metadata must be set with the name of the OGC server.
|
762
|
+
See also printLayers and queryLayers metadata for more granularity.
|
763
|
+
relevant_for:
|
764
|
+
- layer_wmts
|
496
765
|
- name: queryLayers
|
766
|
+
description: >
|
767
|
+
Corresponding WFS layers (comma separated) that will be used instead of the WMTS layer
|
768
|
+
to do the query.
|
769
|
+
An OGCServer metadata must be set with the name of the OGC server.
|
770
|
+
relevant_for:
|
771
|
+
- layer_wmts
|
497
772
|
- name: printLayers
|
773
|
+
description: >
|
774
|
+
Corresponding WMS layers (comma separated) that will be used instead of the WMTS layer
|
775
|
+
for the print.
|
776
|
+
Used to increase the quality of the printed layer, by using native rotation and
|
777
|
+
generating an image in hi-DPI.
|
778
|
+
An OGCServer metadata must be set with the name of the OGC server.
|
779
|
+
relevant_for:
|
780
|
+
- layer_wmts
|
498
781
|
- name: maxQueryResolution
|
499
782
|
type: float
|
783
|
+
description: >
|
784
|
+
The max resolution where the layer is queryable.
|
785
|
+
relevant_for:
|
786
|
+
- layer_wmts
|
500
787
|
- name: minQueryResolution
|
501
788
|
type: float
|
789
|
+
description: >
|
790
|
+
The min resolution where the layer is queryable.
|
791
|
+
relevant_for:
|
792
|
+
- layer_wmts
|
793
|
+
- name: timeout
|
794
|
+
type: float
|
795
|
+
description: The fetch capabilities timeout in seconds. Use `300` by default.
|
796
|
+
relevant_for:
|
797
|
+
- layer_wmts
|
502
798
|
|
503
799
|
# The list of functionalities that can be configured
|
504
800
|
# through the admin interface.
|
505
801
|
available_functionalities:
|
506
802
|
- name: default_basemap
|
507
803
|
single: true
|
804
|
+
description: >
|
805
|
+
The background layer to load when the user select this theme.
|
806
|
+
relevant_for:
|
807
|
+
- theme
|
508
808
|
- name: default_theme
|
509
809
|
single: true
|
810
|
+
description: >
|
811
|
+
The theme to load when the user log in.
|
812
|
+
relevant_for:
|
813
|
+
- role
|
510
814
|
- name: print_template
|
815
|
+
description: >
|
816
|
+
Grant access to considered print template.
|
817
|
+
relevant_for:
|
818
|
+
- role
|
511
819
|
- name: mapserver_substitution
|
820
|
+
relevant_for:
|
821
|
+
- role
|
822
|
+
description: >
|
823
|
+
MapServer substitution of a variable in the mapfile.
|
824
|
+
See the documentation here:
|
825
|
+
https://camptocamp.github.io/c2cgeoportal/{{cookiecutter.geomapfish_main_version}}/administrator/mapfile.html?highlight=mapserver_substitution#variable-substitution
|
512
826
|
- name: filterable_layers
|
827
|
+
description: >
|
828
|
+
Grant access for filtering considered layer.
|
829
|
+
relevant_for:
|
830
|
+
- role
|
513
831
|
- name: preset_layer_filter
|
514
832
|
single: true
|
833
|
+
description: >
|
834
|
+
Name of the layer (data source) to select in the filter tool upon loading an application.
|
835
|
+
relevant_for:
|
836
|
+
- role
|
515
837
|
- name: open_panel
|
516
838
|
single: true
|
839
|
+
description: >
|
840
|
+
Name of a panel to open upon loading an application.
|
841
|
+
relevant_for:
|
842
|
+
- role
|
517
843
|
|
518
844
|
getitfixed:
|
519
845
|
enabled: false
|
@@ -582,17 +908,25 @@ vars:
|
|
582
908
|
qgisserver: '{QGISSERVER_URL}'
|
583
909
|
|
584
910
|
host_forward_host: []
|
911
|
+
headers_whitelist: []
|
912
|
+
headers_blacklist: []
|
585
913
|
|
586
914
|
# The "raster web services" configuration. See the "raster"
|
587
915
|
# chapter in the integrator documentation.
|
588
916
|
raster: {}
|
589
917
|
|
918
|
+
# the "vector tiles service" configuration. See the "vector tiles"
|
919
|
+
# chapter in the integrator documentation.
|
920
|
+
vector_tiles: {}
|
921
|
+
|
590
922
|
# Used by enumeration in the query builder
|
591
923
|
layers:
|
592
924
|
geometry_validation: True
|
593
925
|
|
594
926
|
# Used by reset_password and shortener to send emails
|
595
|
-
smtp:
|
927
|
+
smtp:
|
928
|
+
ssl: false
|
929
|
+
starttls: false
|
596
930
|
|
597
931
|
# Used to send an email on password reset
|
598
932
|
reset_password: {}
|
@@ -623,11 +957,17 @@ vars:
|
|
623
957
|
content_security_policy_main_script_src_extra: '
|
624
958
|
https://maps.google.com/
|
625
959
|
https://maps.googleapis.com/
|
626
|
-
https://www.google-analytics.com/
|
960
|
+
https://www.google-analytics.com/
|
961
|
+
https://*.googletagmanager.com/'
|
627
962
|
content_security_policy_main_style_src_extra: '
|
628
963
|
https://fonts.googleapis.com/'
|
629
|
-
content_security_policy_main_img_src_extra: '
|
630
|
-
|
964
|
+
content_security_policy_main_img_src_extra: '
|
965
|
+
https://*.google-analytics.com/
|
966
|
+
https://*.googletagmanager.com/'
|
967
|
+
content_security_policy_main_connect_src_extra: '
|
968
|
+
https://*.google-analytics.com/
|
969
|
+
https://*.analytics.google.com/
|
970
|
+
https://*.googletagmanager.com/'
|
631
971
|
content_security_policy_main_default_src: "
|
632
972
|
'self'
|
633
973
|
https://*
|
@@ -635,8 +975,6 @@ vars:
|
|
635
975
|
content_security_policy_main_script_src: "
|
636
976
|
'self'
|
637
977
|
'unsafe-inline'
|
638
|
-
'unsafe-eval'
|
639
|
-
https://cdn.polyfill.io/
|
640
978
|
{content_security_policy_main_script_src_extra}"
|
641
979
|
content_security_policy_main_style_src: "
|
642
980
|
'self'
|
@@ -645,7 +983,6 @@ vars:
|
|
645
983
|
content_security_policy_main_img_src: '
|
646
984
|
*
|
647
985
|
data:
|
648
|
-
blob:
|
649
986
|
{content_security_policy_main_img_src_extra}'
|
650
987
|
content_security_policy_main_connect_src: '
|
651
988
|
*
|
@@ -690,7 +1027,6 @@ vars:
|
|
690
1027
|
'self'
|
691
1028
|
'unsafe-inline'
|
692
1029
|
'unsafe-eval'
|
693
|
-
https://cdn.polyfill.io/
|
694
1030
|
{content_security_policy_apihelp_script_src_extra}"
|
695
1031
|
content_security_policy_apihelp_style_src: "
|
696
1032
|
'self'
|
@@ -720,6 +1056,8 @@ vars:
|
|
720
1056
|
https://stackpath.bootstrapcdn.com/
|
721
1057
|
{content_security_policy_c2c_style_src_extra}"
|
722
1058
|
|
1059
|
+
content_security_policy_iframe_api_frame_ancestors: "'self'"
|
1060
|
+
|
723
1061
|
global_headers:
|
724
1062
|
- pattern: '^/admin/.*'
|
725
1063
|
headers: &c2cgeoform_headers
|
@@ -743,6 +1081,10 @@ vars:
|
|
743
1081
|
headers:
|
744
1082
|
Access-Control-Allow-Origin: '*'
|
745
1083
|
Access-Control-Allow-Headers: X-Requested-With, Content-Type
|
1084
|
+
- pattern: '^/static-geomapfish/.*'
|
1085
|
+
headers:
|
1086
|
+
Access-Control-Allow-Origin: '*'
|
1087
|
+
Access-Control-Allow-Headers: X-Requested-With, Content-Type
|
746
1088
|
- pattern: '^/c2c$'
|
747
1089
|
headers:
|
748
1090
|
Content-Security-Policy: 'default-src {content_security_policy_c2c_default_src};
|
@@ -753,11 +1095,20 @@ vars:
|
|
753
1095
|
Content-Security-Policy: 'default-src {content_security_policy_c2c_default_src};
|
754
1096
|
script-src {content_security_policy_c2c_script_src};
|
755
1097
|
style-src {content_security_policy_c2c_style_src};'
|
1098
|
+
- pattern: '^/iframe_api(/theme/.*)?$'
|
1099
|
+
headers:
|
1100
|
+
Content-Security-Policy: 'default-src {content_security_policy_main_default_src};
|
1101
|
+
script-src {content_security_policy_main_script_src};
|
1102
|
+
style-src {content_security_policy_main_style_src};
|
1103
|
+
img-src {content_security_policy_main_img_src};
|
1104
|
+
connect-src {content_security_policy_main_connect_src};
|
1105
|
+
frame-ancestors {content_security_policy_iframe_api_frame_ancestors};'
|
756
1106
|
|
757
1107
|
# Control the HTTP headers
|
758
1108
|
headers:
|
759
1109
|
dynamic: &header
|
760
1110
|
cache_control_max_age: 600 # 10 minutes
|
1111
|
+
cache_control_max_age_nocache: 10 # 10 seconds, to avoid too many call
|
761
1112
|
access_control_max_age: 600 # 10 minutes
|
762
1113
|
access_control_allow_origin:
|
763
1114
|
- '*'
|
@@ -786,9 +1137,11 @@ vars:
|
|
786
1137
|
connect-src {content_security_policy_apihelp_connect_src}'
|
787
1138
|
profile: *header
|
788
1139
|
raster: *header
|
1140
|
+
vector_tiles: *header
|
789
1141
|
error: *header
|
790
1142
|
themes: &auth_header
|
791
1143
|
cache_control_max_age: 600 # 10 minutes
|
1144
|
+
cache_control_max_age_nocache: 10 # 10 seconds, to avoid too many call
|
792
1145
|
access_control_max_age: 600 # 10 minutes
|
793
1146
|
access_control_allow_origin:
|
794
1147
|
- '{VISIBLE_WEB_PROTOCOL}://{VISIBLE_WEB_HOST}'
|
@@ -800,7 +1153,9 @@ vars:
|
|
800
1153
|
fulltextsearch: *auth_header
|
801
1154
|
mapserver: *auth_header
|
802
1155
|
tinyows: *auth_header
|
803
|
-
layers:
|
1156
|
+
layers:
|
1157
|
+
<<: *auth_header
|
1158
|
+
cache_control_max_age_nocache: 0 # to refresh issue in editing
|
804
1159
|
shortener: *auth_header
|
805
1160
|
login:
|
806
1161
|
<<: *auth_header
|
@@ -899,7 +1254,7 @@ vars:
|
|
899
1254
|
# application. The value is the full python name
|
900
1255
|
# (full.module.path.function_name) of the function to call
|
901
1256
|
hooks: {}
|
902
|
-
# after_settings: {{package}}.after_settings_hook
|
1257
|
+
# after_settings: {{cookiecutter.package}}.after_settings_hook
|
903
1258
|
# Called just after the settings have been loaded. Allows to modify
|
904
1259
|
# the settings at runtime (they are constructed at build time).
|
905
1260
|
# The function receives one parameter: the settings object.
|
@@ -909,7 +1264,7 @@ vars:
|
|
909
1264
|
|
910
1265
|
# The c2cwsgiutils base path
|
911
1266
|
c2c:
|
912
|
-
base_path:
|
1267
|
+
base_path: /c2c
|
913
1268
|
|
914
1269
|
db_chooser:
|
915
1270
|
# List of {method path} regexes to force the usage of the master, even for GET and OPTIONS
|
@@ -998,6 +1353,10 @@ runtime_postprocess:
|
|
998
1353
|
- cache.std.arguments.redis_expiration_time
|
999
1354
|
- cache.std.arguments.socket_timeout
|
1000
1355
|
- cache.std.arguments.db
|
1356
|
+
- cache.ogc-server.arguments.lock_timeout
|
1357
|
+
- cache.ogc-server.arguments.redis_expiration_time
|
1358
|
+
- cache.ogc-server.arguments.socket_timeout
|
1359
|
+
- cache.ogc-server.arguments.db
|
1001
1360
|
- sqlalchemy\.pool_recycle
|
1002
1361
|
- sqlalchemy\.pool_size
|
1003
1362
|
- sqlalchemy\.max_overflow
|
@@ -1009,36 +1368,52 @@ runtime_postprocess:
|
|
1009
1368
|
- authentication.oauth2_token_expire_minutes
|
1010
1369
|
- headers.login.access_control_max_age
|
1011
1370
|
- headers.login.cache_control_max_age
|
1371
|
+
- headers.login.cache_control_max_age_nocache
|
1012
1372
|
- headers.index.access_control_max_age
|
1013
1373
|
- headers.index.cache_control_max_age
|
1374
|
+
- headers.index.cache_control_max_age_nocache
|
1014
1375
|
- headers.dynamic.access_control_max_age
|
1015
1376
|
- headers.dynamic.cache_control_max_age
|
1377
|
+
- headers.dynamic.cache_control_max_age_nocache
|
1016
1378
|
- headers.config.access_control_max_age
|
1017
1379
|
- headers.config.cache_control_max_age
|
1380
|
+
- headers.config.cache_control_max_age_nocache
|
1018
1381
|
- headers.api.access_control_max_age
|
1019
1382
|
- headers.api.cache_control_max_age
|
1383
|
+
- headers.api.cache_control_max_age_nocache
|
1020
1384
|
- headers.apihelp.access_control_max_age
|
1021
1385
|
- headers.apihelp.cache_control_max_age
|
1386
|
+
- headers.apihelp.cache_control_max_age_nocache
|
1022
1387
|
- headers.themes.access_control_max_age
|
1023
1388
|
- headers.themes.cache_control_max_age
|
1389
|
+
- headers.themes.cache_control_max_age_nocache
|
1024
1390
|
- headers.fulltextsearch.access_control_max_age
|
1025
1391
|
- headers.fulltextsearch.cache_control_max_age
|
1392
|
+
- headers.fulltextsearch.cache_control_max_age_nocache
|
1026
1393
|
- headers.mapserver.access_control_max_age
|
1027
1394
|
- headers.mapserver.cache_control_max_age
|
1395
|
+
- headers.mapserver.cache_control_max_age_nocache
|
1028
1396
|
- headers.tinyows.access_control_max_age
|
1029
1397
|
- headers.tinyows.cache_control_max_age
|
1398
|
+
- headers.tinyows.cache_control_max_age_nocache
|
1030
1399
|
- headers.layers.access_control_max_age
|
1031
1400
|
- headers.layers.cache_control_max_age
|
1401
|
+
- headers.layers.cache_control_max_age_nocache
|
1032
1402
|
- headers.print.access_control_max_age
|
1033
1403
|
- headers.print.cache_control_max_age
|
1404
|
+
- headers.print.cache_control_max_age_nocache
|
1034
1405
|
- headers.profile.access_control_max_age
|
1035
1406
|
- headers.profile.cache_control_max_age
|
1407
|
+
- headers.profile.cache_control_max_age_nocache
|
1036
1408
|
- headers.raster.access_control_max_age
|
1037
1409
|
- headers.raster.cache_control_max_age
|
1410
|
+
- headers.raster.cache_control_max_age_nocache
|
1038
1411
|
- headers.shortener.access_control_max_age
|
1039
1412
|
- headers.shortener.cache_control_max_age
|
1413
|
+
- headers.shortener.cache_control_max_age_nocache
|
1040
1414
|
- headers.error.access_control_max_age
|
1041
1415
|
- headers.error.cache_control_max_age
|
1416
|
+
- headers.error.cache_control_max_age_nocache
|
1042
1417
|
- shortener.length
|
1043
1418
|
- checker.fulltextsearch.level
|
1044
1419
|
- checker.lang.level
|
@@ -1065,6 +1440,8 @@ runtime_postprocess:
|
|
1065
1440
|
- metrics.total_python_object_memory
|
1066
1441
|
|
1067
1442
|
no_interpreted:
|
1443
|
+
- admin_interface.available_functionalities[].description
|
1444
|
+
- admin_interface.available_metadata[].description
|
1068
1445
|
- interfaces_config.default.static.angularLocaleScript.append
|
1069
1446
|
- interfaces_config.default.constants.gmfMousePositionOptions.projections[].filter
|
1070
1447
|
- interfaces_config.default.constants.gmfMobileMeasurePointOptions.format
|