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
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.
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.
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.
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.
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 :
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)
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.
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