qwc-services v2024.11.18 mass update update¶
As a result of PyJWT
2.10.0 enforcing that the JWT sub
claim values must be strings, qwc-services-core
1.3.34 was updated to store the qwc identity in a separate qwc_identity
claim, and all QWC images were updated to use this version. Consequently, if you use any QWC Service image version v2024.11.18 or newer, you will also need to update any other QWC Service image to this or a newer version to ensure that correct that the JWTs are issued and read correctly by all services.
New qwc-document-service, jasper-reporting-service obsolete¶
As of 2024.09.15, the jasper-reporting-service
is obsolete, its functionality has been integrated into the qwc-document-service
. Check out the new Reports chapter to learn more about integrating the reporting functionality into QWC2.
Split categorized layers functionality rewritten as QGIS Server plugin¶
As of 2024.02.02 the split categorized layers functionality previously part of qwc-config-generator
has been rewritten as a QGIS Server plugin.
This greatly simplifies the handling of such projects. The -noqgis
image tag suffix in qwc-config-generator:vXXXX-noqgis
has been dropped resp. shipped as the regular qwc-config-generator:vXXXX
docker images.
See the categorized layers documentation for instructions how to configure the new split_categorized
plugin.
Updating to qwc-data-service v2024.05.21¶
The qwc-data-service
version 2024.05.21 introduces two now logging fields create_user_field
and create_timestamp_field
. Record creation will now be logged to these fields, if set, and record updates will be logged to edit_user_field
and edit_timestamp_field
. Previously, both record creation and updates were logged to edit_user_field
and edit_timestamp_field
. As of v2024.05.21, you need to set create_user_field
and create_timestamp_field
(also to the same values as edit_user_field
and edit_timestamp_field
) if you want to log creation.
2023.10.24 qwc-base-db rework [2023-lts → 2024-lts]¶
As of 2023.10.24 the QWC base DB image has been reworked as follows:
- Migrations were moved to the
qwc-base-db
repository, theqwc-config-db
repository is now obsolete. - A new
qwc-base-db-migrate
image helps migrating dockerized or external config DBs. - Demo data will be initialized by an optional setup script in
qwc-docker
, theqwc-demo-db
repository is now obsolete.
To use the new images, replace
qwc-postgis:
image: docker.io/sourcepole/qwc-demo-db:<version>
...
with
qwc-postgis:
image: sourcepole/qwc-base-db:<pg_version>
environment:
POSTGRES_PASSWORD: '' # TODO: Set your postgres password here!
volumes:
- ./volumes/db:/var/lib/postgresql/docker
# If you don't want/need the demo data, you can remove this line
- ./volumes/demo-data/setup-demo-data.sh:/docker-entrypoint-initdb.d/2_setup-demo-data.sh
ports:
- "127.0.0.1:5439:5432"
healthcheck:
test: ["CMD-SHELL", "pg_isready -U postgres"]
interval: 10s
qwc-config-db-migrate:
image: sourcepole/qwc-base-db-migrate:<version>
volumes:
- ./pg_service.conf:/tmp/pg_service.conf:ro
depends_on:
- qwc-postgis
in your docker-compose.yml
.
Note:
- It is now mandatory to set your own
POSTGRES_PASSWORD
. - You can keep your previous
volumes/db
postgres data folder, but it is recommended to make a backup. - The
sourcepole/qwc-base-db
images are versioned according to the Postgres major version (i.e. 13, 14, 15, ...). - The
sourcepole/qwc-base-db-migrate
images are versioned by date (vYYYY.MM.DD
) - See the
qwc-base-db
README for more information. - As of
2023.10.24
the name of the database was changed to the more genericqwc_services
instead ofqwc_demo
.
Upgrading to qwc service images v2022.01.26¶
The qwc-uwsgi-base
images have been changed to allow for configurable UID/GID of the uwsgi
process. The default is UID=33
and GID=33
, you can override it by setting the SERVICE_UID
and SERVICE_GID
environment variables in docker-compose.yml
.
As a consequence, /var/www
is not necessarily anymore the home directory of the user wich runs uwsgi
, and therefore the qwc-uwsgi-base
images now set ENV PGSERVICEFILE="/srv/pg_service.conf"
. You'll therefore need to adapt your pg_service.conf
volume mounts in your docker-compose.yml
to point to that location, i.e.
[...]
- ./pg_service.conf:/srv/pg_service.conf:ro
[...]
Upgrading to qwc-config-generator-v2022.01.12¶
scanned_projects_path_prefix
has been dropped as a config setting. Instead,qgis_projects_scan_base_dir
must be a directory belowqgis_projects_base_dir
, and the prefix is automatically computed internally.scanned_projects_path_prefix
has been added as a config setting as the output path for preprocessed qgis projects. It must be a directory belowqgis_projects_base_dir
to which the config service is allowed to write.
Upgrading from qwc service images v2021.x to v2022.01.08 or later¶
Starting with v2022.01.08, the requirements of all services where updated to use Flask-JWT-Extended 4.3.1.
Flask-JWT-4.x changes the JWT format (see 4.0.0 Breaking Changes), which can result in QWC Services returning a Missing claim: identity
error message.
To avoid this:
* Change your JWT secret key in .env
.
* Ensure all services are upgraded to v2022.01.12 or later (if such a version exists). Please omit v2022.01.08 and v2022.01.11.