3Liz

Open your GIS

Release of Lizmap Web Client 3.8

Thu 17 October 2024

fr, en

Lizmap Web Client 3.8

3Liz is pleased to announce the release of Lizmap Web Client 3.8, the new major version of the application.

Funders

Avignon
Calvados French province
Faunalia
FMProjet
JPEE
PNR Ballon des Vosges
Terre de Provence Agglomération
Valabre
Villefranche Agglomération

Pre-requirements and installation

It is now required to have a minimum QGIS server 3.28. However, we highly recommend using the latest LTR version, i.e. version 3.34. Check the QGIS roadmap.

To take full advantage of this version 3.8, don't forget to update your Lizmap plugin in QGIS desktop. We've written an article dedicated to this version.

Features

Single tile request for all layers

Until version 3.7, Lizmap Web Client was doing one HTTP request to QGIS server per visible layer.

Now, thanks to Faunalia which contributed to the source code, Lizmap Web Client can make a single HTTP request GetMap to QGIS Server for all visible layers (except for layers having a cache enabled).

Both methods have strengths and weaknesses. This new option in the plugin, can be very useful for heavy projects.

Single tile option

Quick tip which is available on latest 3.7 as well, it's now possible to disable the automatic permalink with the checkbox.

Snapping

When snapping is enabled on a layer, the user can now select from the web interface on which layer to snap on.

Snapping on layers

This new feature have been developed by Faunalia.

Tooltip

The "Tooltip" feature in Lizmap Web Client got a great improvement in this latest version. Before, on the left side of the screenshot, you could only select one field to display while hovering a feature in the web browser. Now, as we can see on the right side, we can write an HTML template. We can support QGIS expression, se we encourage you to migrate your "old" configuration to add some nice HTML.

Use expressions in tooltip

This new feature have been funded by PNR Ballons des Vosges.

Map viewer

Due to the transition, under the hood, from OpenLayers 2 to OpenLayers 10, the map transition between different zoom level is now smoother than in the 3.7 release.

In 3.7, the choice in Lizmap about the legend was to follow exactly what QGIS Desktop is doing when clicking in the legend about groups, subgroups and layers.

After some user feedbacks, we could introduce the double click in the legend to toggle all child items.

Double click in the legend to toggle them all

Attribute filter

When a layer has an attribute filtering about user or groupes, it's now possible to have a comma separated list of values in the field :

id name filter_field
1 one group_a,group_b
2 two group_b
3 three group_b,all
4 four all

This new feature have been funded by Calvados province.

Digitizing and relations within the project

For both 1:n and n:m relations, when displayed in a popup, the child items are correctly placed inside the parent popup according to the QGIS Drag&Drop configuration relations have been improved.

The same behavior exists when editing a feature.

New buttons to add linked features have been added, for instance in the attribute table below :

N to M relations

This new feature have been developed by Faunalia.

When digitizing, there is a button Erase all.

Popup

We have introduced a new HTML component lizmap-features-table to have a nice compact list of vector layer features and labels.

The QGIS Display name is used as the feature label: an expression can be used to tweak its content, configured in the Tooltip tab of the QGIS vector layer properties. For example:

CONCAT("quartiers_libquart", ' - ', "libsquart", ' (', to_int(area(@geometry)/10000), ' ha)')

will produce a text like MONTPELLIER CENTRE - Les Aubes (85 ha)

Lizmap feature table

You can find more information on the dedicated page on GitHub about the syntax of this HTML component.

This new feature have been funded by Avignon city.

Administration

In the administration panel, on the Server information page, similar to the list of QGIS Server plugins installed, we can now find the list of Lizmap modules installed with its own version.

About the plugins, we have added an HTML link to the plugin home page, we can lead you to some information about the plugin itself. This latest feature will come as well on modules later.

Administration panel with modules and help links

JavaScript loading

If a JavaScript raises an error while loading the map, there is now a button to temporarily open the map without additional user JavaScript script thanks to the flag in the no_user_defined_js=1. This allows you to ty the map and check if the error come from an additional script.

Side note, we have also worked on XSS. This work started a few version ago (in 3.6), but now in 3.8, it's not possible to embed JavaScript code into QGIS HTML maptip directly. You must use a dedicated *.js file.

Under the hood

The OpenLayers 10 map is now on top on the legacy OpenLayers 2 map. Some tools were migrated from OpenLayers 2 to OpenLayers 10, like popup and locate by layer highlight. Therefore, this version removes again some OpenLayers 2 dependencies.

You might need to adapt some additional user defined JavaScript to draw your OpenLayers layers on top of the OpenLayers 10 map for instance.

Documentation about the code

Since version 3.7, a lot of code refactoring was done on the JavaScript and PHP side. Therefore, we can now provide an HTML documentation about these two languages. Both are available on docs.3liz.org for instance for PHP or for JavaScript.

We strongly recommend you to use the new JavaScript API when writing custom additional JavaScript script.

Javascript

Due to the work which have been done during the legend or other features in Lizmap, some previous Javascript script might not work anymore and need to be adapted.

Download

You can download the latest zip on our releases page.

Do not forget to install the latest 3.8.X (and not 3.8.0 for instance).

You can also check the full changelog of version 3.8.0.

Modules

As of October 15th 2024, this is the list of modules which have been released for 3.8 :

Other modules are work-in-progress.

We hope you will enjoy this new version 🦎

The 3Liz team