Lizmap-web-client: drive down lists - value relation in layer edition

Created on 7 Nov 2020  ·  26Comments  ·  Source: 3liz/lizmap-web-client

hello dear guys,

i want to use the edit function on a layer called problems in which i have 2 attributes (among others)

  1. towns - varchar field
    (widget type:value relation in qgis project to a dictionary towns, relation based on key_column:id / value_column: name_town )
    dictionary towns has columns : id, name_town
  2. streets - varchar field
    (widget type:value relation in qgis project to a dictinary street, relation based on key_column:id /value_column: street_name
  3. filter expression
    "id_town" = current_value('town')
    )
    dictionary street has columns : id , street_name, id_town

i want in edition mode in form to select town first(combobox) and automatically filter streets field in street combobox based on town selected.
same like
value relation widget - drive down lists (filter expression)
https://github.com/3liz/lizmap-web-client/issues/1242

i read the forum that this problem was fixd in master, i installed the master branch(also i tried with the version 3.3.11) but nothing, i can select the towns from combobox,
but the street combobox is empty, and also errors.log not showing any error

using lizmap web client 3.3.11 i get the error in errors log:

2020-11-07 11:48:48 ::1 notice  2020-11-07 11:48:48 [8] Undefined variable: widgetv2configAttr  /var/www/lizmap-web-client-3.3.11/lizmap/modules/lizmap/classes/qgisFormControl.class.php   299

2020-11-07 11:48:48 ::1 warning 2020-11-07 11:48:48 [2] First parameter must either be an object or the name of an existing class   /var/www/lizmap-web-client-3.3.11/lizmap/modules/lizmap/classes/qgisFormControl.class.php   299

Screenshot from 2020-11-07 12-33-52

what am i doing wrong ?
thank you

Environment

Lizmap version: 3.3.11
QGIS Server FULL version:3.14.16-Pi
QGIS Desktop FULL version:3.12
OS (Windows, Linux, MacOS, Android…): Ubuntu 20
OS (Windows, Linux, MacOS, Android…): Ubuntu 20
Browser (Firefox, Chrome…): ALL
Lizmap admin information (users, logs…) Sqlite

bug doc-needed

Most helpful comment

yeap everything now,

i am filtering in a edition form the streets by towns and ITS WORKING!!!
I am using qgis server /desktop 3.10 and lizmap webclient master.

On Mon, Nov 9, 2020 at 3:59 PM Étienne Trimaille notifications@github.com
wrote:

Thank you, with the latest dev version it worked

Just to confirm, can you tell us what is working ?

The lizmap server plugin AND the drilldown form ?


You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/3liz/lizmap-web-client/issues/1908#issuecomment-724030391,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADXHIJ624LTIRLNVUV532XTSO7YUNANCNFSM4TNSHUOA
.

All 26 comments

Hi,
You have to use qgis desktop and server 3.10 as it is a LTR version. It will probably work with more recent versions but we have not tested yet.
Use lizmap master and not 3.3.11.
You also have to install lizmap plugin as a qgis server plugin for this feature to work.

Hi,
You have to use qgis desktop and server 3.10 as it is a LTR version. It will probably work with more recent versions but we have not tested yet.
Use lizmap master and not 3.3.11.
You also have to install lizmap plugin as a qgis server plugin for this feature to work.

Thank you,
i downgraded qgis-server to 3.10 and saved qgs project with desktop 3.10 but i cannot find any info about
how to install lizmap plugin as qgis-server. can you point me to some docs so i can figure it out?

You have to download master version of lizmap plugin and install it like any other qgis server plugin : https://docs.qgis.org/3.10/en/docs/user_manual/working_with_ogc/server/plugins.html#installation

You have to download master version of lizmap plugin and install it like any other qgis server plugin : https://docs.qgis.org/3.10/en/docs/user_manual/working_with_ogc/server/plugins.html#installation

It's dev version, not master.
You can find the zip on https://packages.3liz.org/pub/lizmap-qgis-plugin/dev/
It's both server and desktop.

Side note, you shouldn't have trouble with higher version of QGIS.
3.16 is LTR soon so we accept feedbacks about the next LTR ;-)
The only advice is to use the same version between QGIS Desktop and Server.

hi,

the same problem here:

imagem

```
2020-11-07 23:57:51 xxx.xxx.xxx.xxx warning 2020-11-07 23:57:51 [2] Invalid argument supplied for foreach() /var/www/html/lizmap-web-client-3.4.0-alpha.4/lizmap/modules/lizmap/classes/qgisFormValueRelationDynamicDatasource.class.php 40

i installed the zip file i downloaded from https://packages.3liz.org/pub/lizmap-qgis-plugin/dev/

i have configured /etc/apache2/mods-enabled/fcgid.conf with
FcgidInitialEnv QGIS_PLUGINPATH "/var/www/qgis-server/plugins"
i copied the content of lizmap archive into /var/www/qgis-server/plugins
but as a test i am doing the request
http://localhost/cgi-bin/qgis_mapserv.fcgi?SERVICE=LIZMAP&REQUEST=GETSERVERSETTINGS
and in response i get

status | "fail"
code | "Internal server error"
message | "Internal 'lizmap' service error"

and in qgis log i find

09:40:13 INFO Server[74992]: ******************** New request ***************
09:40:13 INFO Server[74992]: Request URL: http://localhost/cgi-bin/qgis_mapserv.fcgi?SERVICE=LIZMAP&REQUEST=GETSERVERSETTINGS
09:40:13 INFO Server[74992]: Environment:
09:40:13 INFO Server[74992]: ------------------------------------------------
09:40:13 INFO Server[74992]: SERVER_NAME: localhost
09:40:13 INFO Server[74992]: REQUEST_URI: /cgi-bin/qgis_mapserv.fcgi?SERVICE=LIZMAP&REQUEST=GETSERVERSETTINGS
09:40:13 INFO Server[74992]: SCRIPT_NAME: /cgi-bin/qgis_mapserv.fcgi
09:40:13 INFO Server[74992]: REMOTE_ADDR: 127.0.0.1
09:40:13 INFO Server[74992]: SERVER_PORT: 80
09:40:13 INFO Server[74992]: QUERY_STRING: SERVICE=LIZMAP&REQUEST=GETSERVERSETTINGS
09:40:13 INFO Server[74992]: REQUEST_METHOD: GET
09:40:13 INFO Server[74992]: HTTP_ACCEPT: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
09:40:13 INFO Server[74992]: HTTP_USER_AGENT: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:82.0) Gecko/20100101 Firefox/82.0
09:40:13 INFO Server[74992]: QGIS_PROJECT_FILE: /var/www/projects/proiect.qgs
09:40:13 INFO Server[74992]: Using configuration file path from environment: /var/www/projects/proiect.qgs
09:40:13 INFO lizmap[74992]: Request headers provided
09:40:13 INFO lizmap[74992]: No lizmap user groups in request headers
09:40:13 INFO wfsOutputExtension[74992]: WFSFilter.requestReady
09:40:13 WARNING [74992]: HelloFilter.requestReady
09:40:13 WARNING [74992]: HelloFilter.requestReady
09:40:13 INFO Server[74992]: REQUEST:GETSERVERSETTINGS
09:40:13 INFO Server[74992]: SERVICE:LIZMAP
09:40:13 INFO Server[74992]: TEST_NEW_PARAM:ParamsFilter
09:40:13 INFO Server[74992]: Using configuration file path from environment: /var/www/projects/proiect.qgs
09:40:13 WARNING [74992]: Service CADASTRE is not registered
09:40:13 CRITICAL lizmap[74992]: Unhandled exception:
Traceback (most recent call last):
  File "/var/www/qgis-server/plugins/lizmap/server/lizmap_service.py", line 84, in executeRequest
    self.getserversettings(params, response, project)
  File "/var/www/qgis-server/plugins/lizmap/server/lizmap_service.py", line 131, in getserversettings
    config.read(file_path)
  File "/usr/lib/python3.8/configparser.py", line 697, in read
    self._read(fp, filename)
  File "/usr/lib/python3.8/configparser.py", line 1017, in _read
    for lineno, line in enumerate(fp, start=1):
  File "/usr/lib/python3.8/encodings/ascii.py", line 26, in decode
    return codecs.ascii_decode(input, self.errors)[0]
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 687: ordinal not in range(128)

09:40:13 CRITICAL lizmap[74992]: Lizmap request error Internal server error: Internal 'lizmap' service error
09:40:13 INFO wfsOutputExtension[74992]: WFSFilter.responseComplete
09:40:13 WARNING [74992]: SUCCESS - ParamsFilter.responseComplete
09:40:13 WARNING [74992]: SUCCESS - ParamsFilter.responseComplete
09:40:13 WARNING [74992]: HelloFilter.responseComplete
09:40:13 WARNING [74992]: HelloFilter.responseComplete
09:40:13 INFO Server[74992]: Request finished in 2 ms

i regenerated the project with desktop 3.10 with the plugin setting the version of lizmap web client to 3.4 and
same thing is not functioning.
i am using lizmap web client master , but no logs appears...
what do i need to do more?

edit 1 11:20 :
i upgraded qgis server / desktop to 3.16 with lizmap plugin dev for server
and:
edition of layers not working anymore and in lizmap log appeared this error now:

2020-11-08 10:17:49 127.0.0.1 error 2020-11-08 10:17:49 [0] dbtools, pgsql: unknown table /var/www/lizmap-web-client-master/lib/jelix/plugins/db/pgsql/pgsql.dbtools.php 242

also in qgis server log errors regardiing lizmap plugin showed up:

11:19:22 INFO Server[83500]: ******************** New request ***************
11:19:22 INFO Server[83500]: Request URL: http://localhost/cgi-bin/qgis_mapserv.fcgi?SERVICE=LIZMAP&REQUEST=GETSERVERSETTINGS
11:19:22 INFO Server[83500]: Environment:
11:19:22 INFO Server[83500]: ------------------------------------------------
11:19:22 INFO Server[83500]: SERVER_NAME: localhost
11:19:22 INFO Server[83500]: REQUEST_URI: /cgi-bin/qgis_mapserv.fcgi?SERVICE=LIZMAP&REQUEST=GETSERVERSETTINGS
11:19:22 INFO Server[83500]: SCRIPT_NAME: /cgi-bin/qgis_mapserv.fcgi
11:19:22 INFO Server[83500]: REMOTE_ADDR: 127.0.0.1
11:19:22 INFO Server[83500]: SERVER_PORT: 80
11:19:22 INFO Server[83500]: QUERY_STRING: SERVICE=LIZMAP&REQUEST=GETSERVERSETTINGS
11:19:22 INFO Server[83500]: REQUEST_METHOD: GET
11:19:22 INFO Server[83500]: HTTP_ACCEPT: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
11:19:22 INFO Server[83500]: HTTP_USER_AGENT: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:82.0) Gecko/20100101 Firefox/82.0
11:19:22 INFO Server[83500]: QGIS_PROJECT_FILE: /var/www/projects/proiect.qgs
11:19:22 INFO Server[83500]: Using configuration file path from environment: /var/www/projects/proiect.qgs
11:19:22 WARNING [83500]: HelloFilter.requestReady
11:19:22 INFO Server[83500]: REQUEST:GETSERVERSETTINGS
11:19:22 INFO Server[83500]: SERVICE:LIZMAP
11:19:22 INFO Server[83500]: TEST_NEW_PARAM:ParamsFilter
11:19:22 INFO Server[83500]: Using configuration file path from environment: /var/www/projects/proiect.qgs
11:19:22 WARNING [83500]: Service CADASTRE is not registered
11:19:22 CRITICAL lizmap[83500]: Unhandled exception:
Traceback (most recent call last):
  File "/var/www/qgis-server/plugins/lizmap/server/lizmap_service.py", line 85, in executeRequest
    else:
  File "/var/www/qgis-server/plugins/lizmap/server/lizmap_service.py", line 128, in getserversettings
    # Lizmap plugin metadata, do not use qgis_plugin_tools because of the packaging.
  File "/var/www/qgis-server/plugins/lizmap/qgis_plugin_tools/tools/resources.py", line 37, in plugin_name
    metadata = metadata_config()
  File "/var/www/qgis-server/plugins/lizmap/qgis_plugin_tools/tools/resources.py", line 50, in metadata_config
    config.read(path)
  File "/usr/lib/python3.8/configparser.py", line 697, in read
    self._read(fp, filename)
  File "/usr/lib/python3.8/configparser.py", line 1017, in _read
    for lineno, line in enumerate(fp, start=1):
  File "/usr/lib/python3.8/encodings/ascii.py", line 26, in decode
    return codecs.ascii_decode(input, self.errors)[0]
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 687: ordinal not in range(128)

11:19:22 CRITICAL lizmap[83500]: Lizmap request error Internal server error: Internal 'lizmap' service error
11:19:22 WARNING [83500]: SUCCESS - ParamsFilter.responseComplete
11:19:22 WARNING [83500]: HelloFilter.responseComplete
11:19:22 INFO Server[83500]: Request finished in 3 ms

thanks

@brebe

from http://localhost/cgi-bin/qgis_mapserv.fcgi?SERVICE=LIZMAP&REQUEST=GETSERVERSETTINGS

you need to get something like this:

imagem

i dont know what am i doing wrong because i installed also the atlas plugin and for that the server response is ok, but for lizmap plugin maybe it needs something else installed , dont know what
Screenshot from 2020-11-08 15-29-40

this is my qgis server plugin structure:

imagem

It's not related to the plugin structure.

There is something wrong in the CFG file.
@brebe Can you share it ? Either here on this ticket, or on https://paste.sh/ or by email ?

It's not related to the plugin structure.

There is something wrong in the CFG file.
@brebe Can you share it ? Either here on this ticket, or on https://paste.sh/ or by email ?

yes i am sending by email now

After some checks, can you try the latest zip available https://packages.3liz.org/pub/lizmap-qgis-plugin/dev/ ?
I think there is a server config issue about utf8, CF discussion by email.

Thank you, with the latest dev version it worked

Ok, thanks for the feedback.

Let's keep the ticket open for the documentation.

ahaa, sorry

On Mon, Nov 9, 2020 at 3:36 PM Étienne Trimaille notifications@github.com
wrote:

Ok, thanks for the feedback.

Let's keep the ticket open for the documentation.


You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/3liz/lizmap-web-client/issues/1908#issuecomment-724017303,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADXHIJ2HC3QNK62JDB7S4PLSO7V4VANCNFSM4TNSHUOA
.

Thank you, with the latest dev version it worked

Just to confirm, can you tell us what is working ?

The lizmap server plugin AND the drilldown form ?

yeap everything now,

i am filtering in a edition form the streets by towns and ITS WORKING!!!
I am using qgis server /desktop 3.10 and lizmap webclient master.

On Mon, Nov 9, 2020 at 3:59 PM Étienne Trimaille notifications@github.com
wrote:

Thank you, with the latest dev version it worked

Just to confirm, can you tell us what is working ?

The lizmap server plugin AND the drilldown form ?


You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/3liz/lizmap-web-client/issues/1908#issuecomment-724030391,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADXHIJ624LTIRLNVUV532XTSO7YUNANCNFSM4TNSHUOA
.

Great !

Feel free to make a tweet with a GIF or screenshot showing off your new form ! We will happily retweet it ;-)
The drill down is one of the key feature of LWC 3.4.

hi @brebe can you share your project with me? my project works fine on qgis desktop but not yet on lizmap...
thanks

hi @brebe can you share your project with me? my project works fine on qgis desktop but not yet on lizmap...
thanks

its not only the qgis project.....

i am using
qgis server and desktop 3.10
lizmap plugin 3.2.19-beta-
lizmap web client master(current one) 3.4.0-alpha.4
apache 2.4
postgres 12 / postgis

i described the relationship between towns and street (for street value relation with the filter "id_town" = current_value('town') on street layer and i use drag and drop designer)

  1. download and install lizmap plugin from here
    https://packages.3liz.org/pub/lizmap-qgis-plugin/dev/ - zip file with timestamp TODAY (the latest zip available with utf8 problem solved) into qgis desktop manually (install from zip) , resave the project with the lizmap dev plugin.
    put the .qgs and .cfg into /var/www/projects and set ownerhship right
    chown -R www-data:www-data /var/ww/projects

  2. the downloaded archieve from https://packages.3liz.org/pub/lizmap-qgis-plugin/dev/ unzip it.
    the lizmap folder from the archive put it into /var/www/qgis-server (i put there the qgis-server plugins).
    into /etc/apache2/mods-enabled/fcgid.conf set the most important

FcgidInitialEnv QGIS_PLUGINPATH "/var/www/qgis-server/plugins" # this is where you set the qgis-server plugin folder
SetEnv PGSERVICEFILE /home/brebex/.pg_service.conf  #connect to postgis 
SetEnv PGSERVICE=mydb

and i put the pg_service.conf into /etc/postgresql-common - that was the first problem because i used the name .pg_service.conf

thats it

finally, with qgis server plugin updated everything works like a charm 👍
thanks to lizmap team developpement for this great new feature!!! :-)

side subject question ,
in form filtering is it possible to have same drill down comboboxes ?

On Tue, Nov 10, 2020 at 10:45 PM José Macau notifications@github.com
wrote:

finally, with qgis server plugin updated everything works like a charm 👍
thanks to lizmap team developpement for this great new feature!!! :-)


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/3liz/lizmap-web-client/issues/1908#issuecomment-724956367,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADXHIJ77NDG7ZSTRT74QS33SPGRANANCNFSM4TNSHUOA
.

@brebe It has not been developed currently.

hi @brebe can you share your project with me? my project works fine on qgis desktop but not yet on lizmap...
thanks

its not only the qgis project.....

i am using
qgis server and desktop 3.10
lizmap plugin 3.2.19-beta-
lizmap web client master(current one) 3.4.0-alpha.4
apache 2.4
postgres 12 / postgis

i described the relationship between towns and street (for street value relation with the filter "id_town" = current_value('town') on street layer and i use drag and drop designer)

1. download and install lizmap plugin from here
   https://packages.3liz.org/pub/lizmap-qgis-plugin/dev/ - zip file with timestamp TODAY (the latest zip available with utf8 problem solved) into qgis desktop manually (install from zip) , resave the project with the lizmap dev plugin.
   put the .qgs and .cfg  into /var/www/projects and set ownerhship right
   `chown -R www-data:www-data /var/ww/projects  `

2. the downloaded archieve from https://packages.3liz.org/pub/lizmap-qgis-plugin/dev/ unzip it.
   the lizmap folder from the archive put it into /var/www/qgis-server (i put there the qgis-server plugins).
   into /etc/apache2/mods-enabled/fcgid.conf  set the most important
FcgidInitialEnv QGIS_PLUGINPATH "/var/www/qgis-server/plugins" # this is where you set the qgis-server plugin folder
SetEnv PGSERVICEFILE /home/brebex/.pg_service.conf  #connect to postgis 
SetEnv PGSERVICE=mydb

and i put the pg_service.conf into /etc/postgresql-common - that was the first problem because i used the name .pg_service.conf

thats it

qgis server and desktop 3.16.1
lizmap plugin 3.4
lizmap web client 3.4

In windows environment the path is:
X:\OSGeo4W64\apps\qgis\python\plugins\

It works perfectly, congratulations to the whole team.

It would be possible to document the windows installation with the same information as the linux installation
https://docs.lizmap.com/current/pt/install/linux.html#qgis-server-plugins

Thank you very much.

Thanks for your feedbacks about the drill-down ! Appreciated.

Can you create the ticket for the documentation ? https://github.com/3liz/lizmap-documentation

Was this page helpful?
0 / 5 - 0 ratings

Related issues

saeri-ims picture saeri-ims  ·  12Comments

robibrazze picture robibrazze  ·  5Comments

ea-refit picture ea-refit  ·  6Comments

cocro picture cocro  ·  7Comments

josemvm picture josemvm  ·  13Comments