c2cgeoportal-geoportal 2.7.1.156__py2.py3-none-any.whl → 2.8.1.87__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.
Files changed (101) hide show
  1. c2cgeoportal_geoportal/__init__.py +23 -14
  2. c2cgeoportal_geoportal/lib/__init__.py +3 -5
  3. c2cgeoportal_geoportal/lib/authentication.py +10 -14
  4. c2cgeoportal_geoportal/lib/caching.py +8 -6
  5. c2cgeoportal_geoportal/lib/checker.py +10 -6
  6. c2cgeoportal_geoportal/lib/common_headers.py +2 -2
  7. c2cgeoportal_geoportal/lib/dbreflection.py +8 -8
  8. c2cgeoportal_geoportal/lib/filter_capabilities.py +8 -6
  9. c2cgeoportal_geoportal/lib/lingua_extractor.py +11 -12
  10. c2cgeoportal_geoportal/lib/loader.py +1 -1
  11. c2cgeoportal_geoportal/lib/oauth2.py +217 -100
  12. c2cgeoportal_geoportal/lib/wmstparsing.py +8 -12
  13. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/Dockerfile +9 -11
  14. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/development.ini +1 -1
  15. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/gunicorn.conf.py +3 -3
  16. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/requirements.txt +1 -1
  17. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/webpack.api.js +6 -4
  18. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/webpack.apps.js +1 -3
  19. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/webpack.commons.js +1 -0
  20. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/__init__.py +1 -6
  21. c2cgeoportal_geoportal/scaffolds/advance_update/{{cookiecutter.project}}/geoportal/CONST_Makefile +0 -20
  22. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/.github/workflows/main.yaml +21 -7
  23. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/.github/workflows/rebuild.yaml +1 -1
  24. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/.github/workflows/update_l10n.yaml +2 -1
  25. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/Dockerfile +22 -22
  26. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/Makefile +58 -2
  27. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/build +49 -29
  28. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/ci/config.yaml +2 -5
  29. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/ci/docker-compose-check +25 -0
  30. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/ci/requirements.txt +1 -1
  31. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/docker-compose-db.yaml +26 -0
  32. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/docker-compose-lib.yaml +35 -26
  33. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/docker-compose-qgis.yaml +23 -0
  34. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/docker-compose.override.sample.yaml +0 -2
  35. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/docker-compose.yaml +3 -3
  36. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/env.default +21 -2
  37. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/env.project +9 -0
  38. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/geoportal/vars.yaml +38 -14
  39. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/data/Readme.txt +2 -2
  40. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/mapserver.conf +15 -0
  41. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/mapserver.map.tmpl +2 -3
  42. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}/A3_Landscape.jrxml +5 -0
  43. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}/A3_Portrait.jrxml +5 -0
  44. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}/A4_Landscape.jrxml +5 -0
  45. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}/A4_Portrait.jrxml +5 -0
  46. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}/config.yaml.tmpl +6 -0
  47. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/pyproject.toml +4 -0
  48. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/run_alembic.sh +3 -5
  49. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/scripts/db-backup +5 -8
  50. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/scripts/db-restore +5 -8
  51. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/spell-ignore-words.txt +2 -0
  52. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/tests/__init__.py +0 -0
  53. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/tests/test_app.py +38 -0
  54. c2cgeoportal_geoportal/scaffolds/update/{{cookiecutter.project}}/.upgrade.yaml +2 -132
  55. c2cgeoportal_geoportal/scaffolds/update/{{cookiecutter.project}}/CONST_CHANGELOG.txt +200 -1105
  56. c2cgeoportal_geoportal/scaffolds/update/{{cookiecutter.project}}/CONST_create_template/tests/test_testapp.py +48 -0
  57. c2cgeoportal_geoportal/scaffolds/update/{{cookiecutter.project}}/geoportal/CONST_config-schema.yaml +17 -15
  58. c2cgeoportal_geoportal/scaffolds/update/{{cookiecutter.project}}/geoportal/CONST_vars.yaml +48 -2
  59. c2cgeoportal_geoportal/scripts/__init__.py +3 -5
  60. c2cgeoportal_geoportal/scripts/c2cupgrade.py +1 -2
  61. c2cgeoportal_geoportal/scripts/pcreate.py +8 -10
  62. c2cgeoportal_geoportal/scripts/theme2fts.py +58 -3
  63. c2cgeoportal_geoportal/scripts/urllogin.py +2 -2
  64. c2cgeoportal_geoportal/views/__init__.py +1 -3
  65. c2cgeoportal_geoportal/views/dynamic.py +2 -3
  66. c2cgeoportal_geoportal/views/entry.py +2 -10
  67. c2cgeoportal_geoportal/views/fulltextsearch.py +1 -1
  68. c2cgeoportal_geoportal/views/geometry_processing.py +3 -3
  69. c2cgeoportal_geoportal/views/layers.py +10 -11
  70. c2cgeoportal_geoportal/views/login.py +63 -8
  71. c2cgeoportal_geoportal/views/mapserverproxy.py +3 -4
  72. c2cgeoportal_geoportal/views/ogcproxy.py +6 -2
  73. c2cgeoportal_geoportal/views/pdfreport.py +1 -1
  74. c2cgeoportal_geoportal/views/printproxy.py +6 -8
  75. c2cgeoportal_geoportal/views/profile.py +1 -1
  76. c2cgeoportal_geoportal/views/proxy.py +6 -9
  77. c2cgeoportal_geoportal/views/raster.py +2 -2
  78. c2cgeoportal_geoportal/views/resourceproxy.py +1 -1
  79. c2cgeoportal_geoportal/views/shortener.py +1 -2
  80. c2cgeoportal_geoportal/views/theme.py +97 -61
  81. c2cgeoportal_geoportal/views/tinyowsproxy.py +3 -12
  82. c2cgeoportal_geoportal/views/vector_tiles.py +1 -1
  83. {c2cgeoportal_geoportal-2.7.1.156.dist-info → c2cgeoportal_geoportal-2.8.1.87.dist-info}/METADATA +20 -15
  84. {c2cgeoportal_geoportal-2.7.1.156.dist-info → c2cgeoportal_geoportal-2.8.1.87.dist-info}/RECORD +100 -94
  85. {c2cgeoportal_geoportal-2.7.1.156.dist-info → c2cgeoportal_geoportal-2.8.1.87.dist-info}/entry_points.txt +1 -0
  86. tests/__init__.py +3 -2
  87. tests/test_cachebuster.py +3 -3
  88. tests/test_caching.py +1 -1
  89. tests/test_checker.py +1 -1
  90. tests/test_decimaljson.py +1 -1
  91. tests/test_headerstween.py +1 -1
  92. tests/test_i18n.py +1 -1
  93. tests/test_init.py +14 -15
  94. tests/test_locale_negociator.py +4 -4
  95. tests/test_mapserverproxy_route_predicate.py +1 -2
  96. tests/test_raster.py +15 -15
  97. tests/test_wmstparsing.py +10 -10
  98. tests/xmlstr.py +1 -3
  99. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/tools/extract-messages.js +0 -41
  100. {c2cgeoportal_geoportal-2.7.1.156.dist-info → c2cgeoportal_geoportal-2.8.1.87.dist-info}/WHEEL +0 -0
  101. {c2cgeoportal_geoportal-2.7.1.156.dist-info → c2cgeoportal_geoportal-2.8.1.87.dist-info}/top_level.txt +0 -0
@@ -1 +1 @@
1
- c2cciutils==1.1.*
1
+ c2cciutils[checks,publish]==1.4.16
@@ -0,0 +1,26 @@
1
+ # This file is used by the acceptance tests to have a local database.
2
+
3
+ version: '2.3'
4
+
5
+ volumes:
6
+ postgresql_data:
7
+
8
+ services:
9
+ config: &db-config
10
+ environment:
11
+ - PGHOST=db
12
+ - PGHOST_SLAVE=db
13
+ - PGSSLMODE=prefer
14
+ geoportal: *db-config
15
+ # geoportal-advance: *db-config
16
+ tools: *db-config
17
+ alembic: *db-config
18
+ # alembic-advance: *db-config
19
+ # webpack_dev_server: *db-config
20
+
21
+ db:
22
+ extends:
23
+ file: docker-compose-lib.yaml
24
+ service: db
25
+ volumes:
26
+ - postgresql_data:/var/lib/postgresql/data
@@ -1,4 +1,5 @@
1
- ---
1
+ # This file is managed by c2cgeoportal, it contains the default services configuration
2
+
2
3
  version: '2.3'
3
4
 
4
5
  services:
@@ -64,9 +65,11 @@ services:
64
65
  - AZURE_STORAGE_SAS_TOKEN
65
66
  - TILEGENERATION_AZURE_CONTAINER
66
67
  - RASTER_BASE_PATH
68
+ - DISABLE_HAPROXY_LOGGING
69
+ - HAPROXY_LOGGING_OPTIONS
67
70
 
68
71
  print:
69
- image: camptocamp/mapfish_print:3.28
72
+ image: camptocamp/mapfish_print:3.30
70
73
  user: www-data
71
74
  restart: unless-stopped
72
75
  environment:
@@ -74,12 +77,13 @@ services:
74
77
  - PGOPTIONS
75
78
 
76
79
  mapserver:
77
- image: camptocamp/mapserver:7.6-gdal3.7
80
+ image: camptocamp/mapserver:8.0-gdal3.7
78
81
  user: www-data
79
82
  restart: unless-stopped
80
83
  entrypoint: []
81
84
  environment:
82
85
  - PGOPTIONS
86
+ - MAPSERVER_CONFIG_FILE=/etc/mapserver/mapserver.conf
83
87
 
84
88
  qgisserver:
85
89
  image: camptocamp/geomapfish-qgisserver:gmf${GEOMAPFISH_MAIN_VERSION}-qgis${QGIS_VERSION}
@@ -106,30 +110,26 @@ services:
106
110
  - CPL_VSIL_CURL_CACHE_SIZE
107
111
  - CPL_VSIL_CURL_USE_HEAD
108
112
  - GDAL_DISABLE_READDIR_ON_OPEN
109
- - QGIS_SERVER_LOG_LEVEL=2
113
+ - QGIS_SERVER_LOG_LEVEL
110
114
  - QGIS_AUTH_DB_DIR_PATH
111
115
  - QGIS_SERVER_IGNORE_BAD_LAYERS
112
116
  - QGIS_SERVER_DISABLE_GETPRINT
113
117
  - PGSERVICEFILE
114
- - LOG_LEVEL=INFO
118
+ - LOG_LEVEL=${QGIS_LOG_LEVEL}
115
119
  - LOG_TYPE
116
120
  - C2CGEOPORTAL_LOG_LEVEL
117
121
  - SQL_LOG_LEVEL
118
122
  - OTHER_LOG_LEVEL
119
123
  - GEOMAPFISH_ACCESSCONTROL_BASE_URL=${QGISSERVER_URL}
120
- - QGIS_SERVER_TRUST_LAYER_METADATA=TRUE
121
- - QGIS_SERVER_PARALLEL_RENDERING=FALSE
122
- - MAX_CACHE_LAYERS=100
123
- - QGIS_SERVER_IGNORE_BAD_LAYERS=TRUE
124
- - QGIS_SERVER_CACHE_SIZE=60 # MB
125
- - QGIS_SERVER_WMS_MAX_HEIGHT=5000
126
- - QGIS_SERVER_WMS_MAX_WIDTH=5000
127
- - QGIS_SERVER_API_WFS3_MAX_LIMIT=10000
128
- - QGIS_SERVER_DISABLE_GETPRINT=TRUE
129
- - QGIS_SERVER_LANDING_PAGE_PROJECTS_DIRECTORIES=/etc/qgisserver/
130
- - QGIS_SERVER_OVERRIDE_SYSTEM_LOCALE=fr
131
- - QGIS_AUTH_DB_DIR_PATH=/etc/qgisserver/
132
- - PGSERVICEFILE=/etc/qgisserver/pg_service.conf
124
+ - QGIS_SERVER_TRUST_LAYER_METADATA
125
+ - QGIS_SERVER_PARALLEL_RENDERING
126
+ - MAX_CACHE_LAYERS
127
+ - QGIS_SERVER_CACHE_SIZE
128
+ - QGIS_SERVER_WMS_MAX_HEIGHT
129
+ - QGIS_SERVER_WMS_MAX_WIDTH
130
+ - QGIS_SERVER_API_WFS3_MAX_LIMIT
131
+ - QGIS_SERVER_LANDING_PAGE_PROJECTS_DIRECTORIES
132
+ - QGIS_SERVER_OVERRIDE_SYSTEM_LOCALE
133
133
 
134
134
  tinyows:
135
135
  image: camptocamp/tinyows:master
@@ -137,7 +137,7 @@ services:
137
137
  restart: unless-stopped
138
138
 
139
139
  redis:
140
- image: &redis-image redis:6
140
+ image: &redis-image redis:7.0
141
141
  user: www-data
142
142
  restart: unless-stopped
143
143
  command:
@@ -198,6 +198,14 @@ services:
198
198
  - C2C_PROFILER_PATH
199
199
  - C2C_PROFILER_MODULES
200
200
  - C2C_SECRET
201
+ - C2C_AUTH_GITHUB_REPOSITORY
202
+ - C2C_AUTH_GITHUB_ACCESS_TYPE
203
+ - C2C_AUTH_GITHUB_CLIENT_ID
204
+ - C2C_AUTH_GITHUB_CLIENT_SECRET
205
+ - C2C_AUTH_GITHUB_SCOPE
206
+ - C2C_AUTH_GITHUB_SECRET
207
+ - C2C_AUTH_GITHUB_PROXY_URL
208
+ - C2C_USE_SESSION=true
201
209
  - TILECLOUD_LOG_LEVEL
202
210
  - TILECLOUD_CHAIN_LOG_LEVEL
203
211
  - C2CWSGI_LOG_LEVEL
@@ -238,7 +246,6 @@ services:
238
246
  - PGPASSWORD
239
247
  - PGDATABASE
240
248
  - PGSSLMODE
241
- - PGSCHEMA
242
249
  - PGSCHEMA_STATIC
243
250
  - PGOPTIONS
244
251
  - SQLALCHEMY_POOL_RECYCLE
@@ -291,6 +298,13 @@ services:
291
298
  - C2C_PROFILER_MODULES
292
299
  - C2C_DEBUG_VIEW_ENABLED=TRUE
293
300
  - C2C_SECRET
301
+ - C2C_AUTH_GITHUB_REPOSITORY
302
+ - C2C_AUTH_GITHUB_ACCESS_TYPE
303
+ - C2C_AUTH_GITHUB_CLIENT_ID
304
+ - C2C_AUTH_GITHUB_CLIENT_SECRET
305
+ - C2C_AUTH_GITHUB_SCOPE
306
+ - C2C_AUTH_GITHUB_SECRET
307
+ - C2C_AUTH_GITHUB_PROXY_URL
294
308
  - LOG_LEVEL
295
309
  - C2CGEOPORTAL_LOG_LEVEL
296
310
  - SQL_LOG_LEVEL
@@ -379,7 +393,6 @@ services:
379
393
  - C2C_PROFILER_PATH
380
394
  - C2C_PROFILER_MODULES
381
395
  - C2C_DEBUG_VIEW_ENABLED=TRUE
382
- - C2C_SECRET
383
396
  - LOG_LEVEL
384
397
  - C2CGEOPORTAL_LOG_LEVEL
385
398
  - SQL_LOG_LEVEL
@@ -408,7 +421,6 @@ services:
408
421
  - PGPASSWORD
409
422
  - PGDATABASE
410
423
  - PGSSLMODE
411
- - PGSCHEMA
412
424
  - PGSCHEMA_STATIC
413
425
  - LOG_TYPE
414
426
 
@@ -418,7 +430,7 @@ services:
418
430
  build: *geoportal-build
419
431
 
420
432
  front:
421
- image: haproxy:2.3
433
+ image: haproxy:2.6.7
422
434
  restart: unless-stopped
423
435
  volumes:
424
436
  - ${FRONT_LOG_DIRECTORY}:/dev/log:rw
@@ -466,9 +478,6 @@ services:
466
478
  db:
467
479
  image: camptocamp/postgres:${POSTGRES_TAG}
468
480
  environment:
469
- - PGUSER
470
- - PGPASSWORD
471
- - PGDATABASE
472
481
  - POSTGRES_PASSWORD=${PGPASSWORD}
473
482
  - POSTGRES_DB=${PGDATABASE}
474
483
  - POSTGRES_USER=${PGUSER}
@@ -0,0 +1,23 @@
1
+ # This file is used to run QGIS client from the Docker image
2
+
3
+ version: '2'
4
+
5
+ services:
6
+ qgis:
7
+ extends:
8
+ file: docker-compose-lib.yaml
9
+ service: qgisserver
10
+ image: camptocamp/qgis-server:${QGIS_VERSION}-desktop
11
+ user: root
12
+ volumes_from:
13
+ - config
14
+ volumes:
15
+ - ${HOME}:${HOME}
16
+ - /tmp/.X11-unix:/tmp/.X11-unix
17
+ environment:
18
+ - PGSERVICEFILE=/etc/qgisserver/pg_service.conf
19
+ - DISPLAY=unix${DISPLAY}
20
+ - QGIS_DEBUG=0
21
+ - QGIS_LOG_FILE=/dev/null
22
+ - PGOPTIONS=-c statement_timeout=30000
23
+ - AZURE_STORAGE_CONNECTION_STRING
@@ -1,4 +1,3 @@
1
- ---
2
1
  # This file can be renamed as `docker-compose.override.yaml` and uncomment the desired lines for
3
2
  # development. The file `docker-compose.override.yaml` is ignored by Git by default.
4
3
 
@@ -25,7 +24,6 @@ services:
25
24
  # - PRINT_URL=http://print:8080/print/
26
25
  - PYTHONWARNINGS=default::DeprecationWarning
27
26
  - SQLALCHEMY_WARN_20=true
28
- - C2CWSGIUTILS_FORCE_PROTO=https
29
27
  ports:
30
28
  - 5678:5678 # For remote debugging using Visual Studio Code
31
29
 
@@ -1,5 +1,4 @@
1
- ---
2
- # The project Docker compose file for development.
1
+ # The project Docker compose file.
3
2
 
4
3
  version: '2.3'
5
4
 
@@ -23,6 +22,7 @@ services:
23
22
  extends:
24
23
  file: docker-compose-lib.yaml
25
24
  service: mapserver
25
+
26
26
  volumes_from:
27
27
  - config:ro
28
28
  volumes:
@@ -107,7 +107,7 @@ services:
107
107
  volumes_from:
108
108
  - config:ro
109
109
 
110
- # Rich image for project development with e.-g. vim, tree, awscli, psql, ...
110
+ # Rich image for project development with e.-g. vim, psql, ...
111
111
  tools:
112
112
  extends:
113
113
  file: docker-compose-lib.yaml
@@ -30,6 +30,11 @@ DISABLE_LOCAL=
30
30
  # For backward compatibility
31
31
  DISABLE_MUTUALIZED_PRINT=#
32
32
  DISABLE_LOCAL_PRINT=
33
+ # Set DISABLE_HAPROXY_LOGGING to # to disable logging
34
+ DISABLE_HAPROXY_LOGGING=
35
+ HAPROXY_LOGGING_OPTIONS="log global
36
+ option httplog
37
+ option dontlognull"
33
38
 
34
39
  GEOPORTAL_INTERNAL_URL=http://geoportal:8080
35
40
  GEOPORTAL_INTERNAL_HOST=geoportal
@@ -71,12 +76,26 @@ TILECLOUD_LOG_LEVEL=INFO
71
76
  TILECLOUD_CHAIN_LOG_LEVEL=INFO
72
77
  C2CWSGIUTILS_LOG_LEVEL=INFO
73
78
  LOG_TYPE=console
79
+
80
+ # QGIS
81
+ QGIS_LOG_LEVEL=INFO # For the plugin
82
+ QGIS_SERVER_LOG_LEVEL=2
74
83
  CPL_VSIL_CURL_USE_CACHE=TRUE
75
84
  CPL_VSIL_CURL_CACHE_SIZE=128000000
76
85
  CPL_VSIL_CURL_USE_HEAD=FALSE
77
86
  GDAL_DISABLE_READDIR_ON_OPEN=TRUE
78
87
  QGIS_AUTH_DB_DIR_PATH=/etc/qgisserver/
79
- QGIS_SERVER_IGNORE_BAD_LAYERS=true
80
- QGIS_SERVER_DISABLE_GETPRINT=true
88
+ QGIS_SERVER_IGNORE_BAD_LAYERS=TRUE
89
+ QGIS_SERVER_DISABLE_GETPRINT=TRUE
81
90
  PGSERVICEFILE=/etc/qgisserver/pg_service.conf
91
+ QGIS_SERVER_TRUST_LAYER_METADATA=TRUE
92
+ QGIS_SERVER_PARALLEL_RENDERING=FALSE
93
+ MAX_CACHE_LAYERS=100
94
+ QGIS_SERVER_CACHE_SIZE=60 # MB
95
+ QGIS_SERVER_WMS_MAX_HEIGHT=5000
96
+ QGIS_SERVER_WMS_MAX_WIDTH=5000
97
+ QGIS_SERVER_API_WFS3_MAX_LIMIT=10000
98
+ QGIS_SERVER_LANDING_PAGE_PROJECTS_DIRECTORIES=/etc/qgisserver/
99
+ QGIS_SERVER_OVERRIDE_SYSTEM_LOCALE=fr
100
+
82
101
  FRONT_LOG_DIRECTORY=/dev/log
@@ -58,3 +58,12 @@ C2C_REDIS_URL=redis://redis:6379/0
58
58
 
59
59
  # Set a strong password here for authentication on technical interfaces behind path /c2c
60
60
  C2C_SECRET=
61
+ # Or use connection via GitHub, see: https://camptocamp.github.io/c2cgeoportal/{{cookiecutter.geomapfish_main_version}}/integrator/c2cwsgiutils.html#authentication
62
+ C2C_AUTH_GITHUB_REPOSITORY=camptocamp/{{cookiecutter.package}}
63
+ C2C_AUTH_GITHUB_ACCESS_TYPE=admin
64
+ C2C_AUTH_GITHUB_CLIENT_ID=210aefe26259de1e9532
65
+ #C2C_AUTH_GITHUB_CLIENT_SECRET=<github OAuth application client secret>
66
+ C2C_AUTH_GITHUB_SCOPE=repo
67
+ #C2C_AUTH_GITHUB_SECRET=<secret>
68
+ #C2C_AUTH_GITHUB_PROXY_URL=https://geoservicies.camptocamp.com/redirect
69
+ C2C_USE_SESSION=true
@@ -2,17 +2,31 @@
2
2
  extends: CONST_vars.yaml
3
3
 
4
4
  vars:
5
+ # To use an other SRID you should change:
6
+ # - vars.srid
7
+ # - vars.alternate_projections
8
+ # - vars.resolutions
9
+ # - vars.extent
10
+ # - vars.tilesOrigin
11
+ # - vars.interfaces_config.default.constants.gmfOptions.view.center
12
+ # - vars.interfaces_config.default.constants.gmfOptions.wmtsTopLeft
13
+ # - vars.interfaces_config.default.constants.gmfVectorTilesOptions.tileGrid.origin
5
14
  srid: &srid {{cookiecutter.srid}}
6
15
 
16
+ main_ogc_server: source for image/png
17
+
7
18
  alternate_projections: &alternate_projections
8
19
  - EPSG:4326
9
20
  - EPSG:{srid}
10
21
  - EPSG:21781
11
22
 
12
- resolutions: &resolutions [250, 100, 50, 20, 10, 5, 2, 1, 0.5, 0.25, 0.1, 0.05]
23
+ resolutions: &resolutions [250, 100, 50, 20, 10, 5, 2.5, 1, 0.5, 0.25, 0.1, 0.05]
13
24
 
14
25
  extent: &extent [2420000, 1030000, 2900000, 1350000]
15
26
 
27
+ # Origin of the tiles [left, top]
28
+ tilesOrigin: &tilesOrigin [2420000, 1350000]
29
+
16
30
  # The application's default language. This is the language used by
17
31
  # the application if no specific language is specified in the URLs.
18
32
  # This also defines the language used for the text search.
@@ -30,7 +44,7 @@ vars:
30
44
  constants:
31
45
  defaultTheme: Demo
32
46
  defaultLang: '{default_locale_name}'
33
- gmfOptions:
47
+ gmfOptions: &gmfOptions
34
48
  map: {}
35
49
  view: &view
36
50
  projection: EPSG:{srid}
@@ -39,6 +53,8 @@ vars:
39
53
  resolutions: *resolutions
40
54
  extent: *extent
41
55
  geolocalisation: True
56
+ # Used to get pixel perfect render on WMTS layers [left, top]
57
+ wmtsTopLeft: *tilesOrigin
42
58
  gmfElevationOptions:
43
59
  layers: [aster, srtm]
44
60
  gmfSearchOptions:
@@ -49,7 +65,7 @@ vars:
49
65
  projection: EPSG:{srid}
50
66
  tileGrid:
51
67
  extent: *extent
52
- origin: [2420000, 1350000]
68
+ origin: *tilesOrigin
53
69
  resolutions: *resolutions
54
70
  routes:
55
71
  fulltextsearchUrl:
@@ -60,12 +76,12 @@ vars:
60
76
  desktop:
61
77
  constants:
62
78
  gmfOptions:
79
+ <<: *gmfOptions
63
80
  map:
64
81
  maxTilesLoading: 128
65
82
  view:
66
83
  <<: *view
67
84
  constrainResolution: True
68
- geolocalisation: True
69
85
  gmfExternalOGCServers:
70
86
  - name: swisstopo WMS
71
87
  type: WMS
@@ -103,11 +119,10 @@ vars:
103
119
  mobile:
104
120
  constants:
105
121
  gmfOptions:
106
- map: {}
122
+ <<: *gmfOptions
107
123
  view:
108
124
  <<: *view
109
125
  autoRotate: True
110
- geolocalisation: True
111
126
  gmfMobileMeasurePointOptions:
112
127
  rasterLayers:
113
128
  - name: aster
@@ -115,6 +130,10 @@ vars:
115
130
  - name: srtm
116
131
  unit: m
117
132
 
133
+ iframe_api:
134
+ constants:
135
+ gmfOptions: *gmfOptions
136
+
118
137
  api:
119
138
  constants:
120
139
  # The resolutions list.
@@ -162,11 +181,8 @@ vars:
162
181
  geometry_validation: True
163
182
 
164
183
  api:
165
- {}
166
- # The OGC server used by the API.
167
- # ogc_server: Main PNG
168
184
  # The name of the API in JavaScript
169
- # name: <package>
185
+ name: '{{cookiecutter.package}}'
170
186
 
171
187
  # The "vector tiles web service" configuration. See the "vector tiles"
172
188
  # chapter in the integrator documentation.
@@ -283,17 +299,22 @@ vars:
283
299
  std:
284
300
  # Standalone version
285
301
  backend: c2cgeoportal.hybrid
286
- arguments:
302
+ arguments: &redis-cache-arguments
287
303
  host: '{REDIS_HOST}'
288
304
  port: '{REDIS_PORT}'
289
305
  db: '{REDIS_DB}'
290
306
  # Kubernetes version
291
- # arguments:
307
+ # arguments: &redis-cache-arguments
292
308
  # sentinels:
293
309
  # - - '{REDIS_HOST}'
294
310
  # - '{REDIS_PORT}'
295
311
  # connection_kwargs:
296
312
  # db: '{REDIS_DB}'
313
+ ogc-server:
314
+ # Standalone version
315
+ backend: c2cgeoportal.hybrid
316
+ # All versions
317
+ arguments: *redis-cache-arguments
297
318
 
298
319
  # This parameter set the list of hosts allowed to use the iframe api.
299
320
  # 'self' will block all external usage, you must add additional hosts separated by space.
@@ -328,6 +349,7 @@ update_paths:
328
349
  - api
329
350
  - authorized_referers
330
351
  - cache.std.arguments
352
+ - cache.ogc-server.arguments
331
353
  - cache.obj
332
354
  - check_collector.disabled
333
355
  - check_collector.hosts
@@ -368,10 +390,12 @@ update_paths:
368
390
  - interfaces_config.default.dynamic_constants
369
391
  - interfaces_config.default.static
370
392
  - interfaces_config.default.routes.fulltextsearchUrl
371
- - interfaces_config.desktop.constants
393
+ - interfaces_config.desktop.constants.gmfOptions.view
394
+ - interfaces_config.desktop.constants.gmfPrintOptions
372
395
  - interfaces_config.desktop.routes
396
+ - interfaces_config.mobile.constants.gmfOptions.view
373
397
  - interfaces_config.mobile.constants.gmfMobileMeasurePointOptions
374
- - interfaces_config.iframe_api.constants
398
+ - interfaces_config.iframe_api.constants.gmfOptions.view
375
399
  - interfaces_config.api.constants
376
400
  - interfaces_config.api.routes.searchUrl
377
401
  - interfaces_theme
@@ -20,7 +20,7 @@ ISO3 String(3) ISO 3166-1 Alpha-3 Country Code
20
20
  UN Short Integer(3) ISO 3166-1 Numeric-3 Country Code
21
21
  NAME String(50) Name of country/area
22
22
  AREA Long Integer(7) Land area, FAO Statistics (2002)
23
- POP2005 Double(10,0) Population, World Polulation Prospects (2005)
23
+ POP2005 Double(10,0) Population, World Population Prospects (2005)
24
24
  REGION Short Integer(3) Macro geographical (continental region), UN Statistics
25
25
  SUBREGION Short Integer(3) Geogrpahical sub-region, UN Statistics
26
26
  LON FLOAT (7,3) Longitude
@@ -36,7 +36,7 @@ CHANGELOG VERSION 0.3 - 30 July 2008
36
36
 
37
37
  CHANGELOG VERSION 0.2 - 1 April 2008
38
38
 
39
- - Made new ZIP archieves. No change in dataset.
39
+ - Made new ZIP archives. No change in dataset.
40
40
 
41
41
 
42
42
  CHANGELOG VERSION 0.1 - 13 March 2008
@@ -0,0 +1,15 @@
1
+ # Documentation: https://mapserver.org/mapfile/config.html
2
+
3
+ CONFIG
4
+
5
+ ENV
6
+ MS_MAPFILE "/etc/mapserver/mapserver.map"
7
+ END
8
+
9
+ #
10
+ # Map aliases
11
+ #
12
+ MAPS
13
+ END
14
+
15
+ END
@@ -35,7 +35,7 @@ MAP
35
35
  STATUS ON
36
36
 
37
37
  FONTSET "fonts.conf"
38
- #SYMBOLSET "symbole.sym"
38
+ #SYMBOLSET "symbol.sym"
39
39
 
40
40
  CONFIG "CPL_VSIL_CURL_USE_CACHE" "TRUE"
41
41
  CONFIG "CPL_VSIL_CURL_CACHE_SIZE" "128000000"
@@ -70,10 +70,9 @@ MAP
70
70
  "wms_abstract" "changeme"
71
71
  "ows_onlineresource" "${VISIBLE_WEB_PROTOCOL}://${VISIBLE_WEB_HOST}${VISIBLE_ENTRY_POINT}mapserv_proxy?ogcserver=source%20for%20image%2Fpng"
72
72
  "wms_srs" "EPSG:{{cookiecutter.srid}}"
73
- "wms_encoding" "UTF-8"
74
73
  "wms_enable_request" "*"
75
74
  "wfs_enable_request" "!*"
76
- "wfs_encoding" "UTF-8"
75
+ "wms_allow_getmap_without_styles" "true"
77
76
  END
78
77
  END
79
78
  LEGEND
@@ -2,6 +2,7 @@
2
2
  <!-- Created with Jaspersoft Studio version 6.6.0.final using JasperReports Library version 6.6.0 -->
3
3
  <jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="gmf16_A3_landscape" pageWidth="1191" pageHeight="842" orientation="Landscape" columnWidth="1151" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="2646b6ef-0cc4-4852-b6e9-8c4dc54c2e84">
4
4
  <parameter name="title" class="java.lang.String"/>
5
+ <parameter name="username" class="java.lang.String"/>
5
6
  <parameter name="comments" class="java.lang.String"/>
6
7
  <parameter name="debug" class="java.lang.Boolean"/>
7
8
  <parameter name="mapSubReport" class="java.lang.String"/>
@@ -197,6 +198,10 @@ $P{mapContext}.getScale().getDenominator()).replace(",","\'")]]></textFieldExpre
197
198
  <textElement verticalAlignment="Bottom"/>
198
199
  <textFieldExpression><![CDATA[" / " + $V{PAGE_NUMBER}]]></textFieldExpression>
199
200
  </textField>
201
+ <textField>
202
+ <reportElement x="0" y="15" width="300" height="15" uuid="f2fb034e-297f-4107-a5f5-da84722deb70"/>
203
+ <textFieldExpression><![CDATA[$P{username}]]></textFieldExpression>
204
+ </textField>
200
205
  </band>
201
206
  </pageFooter>
202
207
  </jasperReport>
@@ -2,6 +2,7 @@
2
2
  <!-- Created with Jaspersoft Studio version 6.6.0.final using JasperReports Library version 6.6.0 -->
3
3
  <jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="gmf16_A3_portrait" pageWidth="842" pageHeight="1191" columnWidth="802" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="041e6c80-82d5-4055-a560-dd402f39361f">
4
4
  <parameter name="title" class="java.lang.String"/>
5
+ <parameter name="username" class="java.lang.String"/>
5
6
  <parameter name="comments" class="java.lang.String"/>
6
7
  <parameter name="debug" class="java.lang.Boolean"/>
7
8
  <parameter name="mapSubReport" class="java.lang.String"/>
@@ -175,6 +176,10 @@
175
176
  <textElement verticalAlignment="Bottom"/>
176
177
  <textFieldExpression><![CDATA[" / " + $V{PAGE_NUMBER}]]></textFieldExpression>
177
178
  </textField>
179
+ <textField>
180
+ <reportElement x="0" y="15" width="300" height="15" uuid="f2fb034e-297f-4107-a5f5-da84722deb70"/>
181
+ <textFieldExpression><![CDATA[$P{username}]]></textFieldExpression>
182
+ </textField>
178
183
  </band>
179
184
  </pageFooter>
180
185
  </jasperReport>
@@ -4,6 +4,7 @@
4
4
  <property name="com.jaspersoft.studio.unit." value="pixel"/>
5
5
  <property name="com.jaspersoft.studio.data.defaultdataadapter" value="One Empty Record"/>
6
6
  <parameter name="title" class="java.lang.String"/>
7
+ <parameter name="username" class="java.lang.String"/>
7
8
  <parameter name="comments" class="java.lang.String"/>
8
9
  <parameter name="debug" class="java.lang.Boolean"/>
9
10
  <parameter name="mapSubReport" class="java.lang.String"/>
@@ -190,6 +191,10 @@
190
191
  <reportElement x="0" y="1" width="300" height="14" uuid="dc102ea9-973f-4717-a872-0d24d4de1e17"/>
191
192
  <textFieldExpression><![CDATA[$R{info}]]></textFieldExpression>
192
193
  </textField>
194
+ <textField>
195
+ <reportElement x="0" y="15" width="300" height="15" uuid="f2fb034e-297f-4107-a5f5-da84722deb70"/>
196
+ <textFieldExpression><![CDATA[$P{username}]]></textFieldExpression>
197
+ </textField>
193
198
  </band>
194
199
  </pageFooter>
195
200
  </jasperReport>
@@ -1,6 +1,7 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
2
  <jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="gmf16_A4_portrait" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20">
3
3
  <parameter name="title" class="java.lang.String"/>
4
+ <parameter name="username" class="java.lang.String"/>
4
5
  <parameter name="comments" class="java.lang.String"/>
5
6
  <parameter name="debug" class="java.lang.Boolean"/>
6
7
  <parameter name="mapSubReport" class="java.lang.String"/>
@@ -160,6 +161,10 @@
160
161
  <textElement verticalAlignment="Bottom"/>
161
162
  <textFieldExpression><![CDATA[" / " + $V{PAGE_NUMBER}]]></textFieldExpression>
162
163
  </textField>
164
+ <textField>
165
+ <reportElement x="0" y="15" width="300" height="15"/>
166
+ <textFieldExpression><![CDATA[$P{username}]]></textFieldExpression>
167
+ </textField>
163
168
  </band>
164
169
  </pageFooter>
165
170
  </jasperReport>
@@ -18,6 +18,9 @@ templates:
18
18
  title:
19
19
  !string &title
20
20
  default: ""
21
+ username:
22
+ !string &username
23
+ default: ""
21
24
  comments:
22
25
  !string &comments
23
26
  default: ""
@@ -121,6 +124,7 @@ templates:
121
124
  reportTemplate: A4_Landscape.jrxml
122
125
  attributes:
123
126
  title: *title
127
+ username: *username
124
128
  comments: *comments
125
129
  debug: *debug
126
130
  legend: *legend
@@ -138,6 +142,7 @@ templates:
138
142
  reportTemplate: A3_Portrait.jrxml
139
143
  attributes:
140
144
  title: *title
145
+ username: *username
141
146
  comments: *comments
142
147
  debug: *debug
143
148
  legend: *legend
@@ -155,6 +160,7 @@ templates:
155
160
  reportTemplate: A3_Landscape.jrxml
156
161
  attributes:
157
162
  title: *title
163
+ username: *username
158
164
  comments: *comments
159
165
  debug: *debug
160
166
  legend: *legend
@@ -1,3 +1,7 @@
1
1
  [tool.black]
2
2
  line-length = 110
3
3
  target-version = ['py38']
4
+
5
+ [tool.isort]
6
+ profile = "black"
7
+ line_length = 110
@@ -3,11 +3,9 @@
3
3
  #
4
4
  # Mostly useful in a Docker environment.
5
5
 
6
- for ini in *alembic*.ini
7
- do
8
- if [[ -f $ini ]]
9
- then
6
+ for ini in *alembic*.ini; do
7
+ if [[ -f "$ini" ]]; then
10
8
  echo "$ini ==========================="
11
- alembic -c $ini upgrade head
9
+ alembic -c "$ini" upgrade head
12
10
  fi
13
11
  done