Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Compatibility with QGIS3 #1075

Closed
30 of 31 tasks
mdouchin opened this issue Feb 15, 2019 · 69 comments
Closed
30 of 31 tasks

Compatibility with QGIS3 #1075

mdouchin opened this issue Feb 15, 2019 · 69 comments
Assignees
Labels
Milestone

Comments

@mdouchin
Copy link
Collaborator

mdouchin commented Feb 15, 2019

This issue aims to list all the Lizmap features to check agains QGIS 3.4 which will be next LTR in the end of February 2019. I would like anyone interested to contribute to the list :

  • please add a comment with missing items (and I would add them in the main issue description)
  • please check the feature and report if there is an issue. We will open a new Github issue and reference it here when needed

Landing page

  • Lizmap landing page aka "Projects" page shows all the QGIS projects configured with Lizmap plugin (with a *.cfg file)

Map options

  • Lizmap shows the layer data in the map and respects the extent

Layer tree

  • The legend shows all QGIS layers
  • The legend tree is like the one in QGIS
  • The legend tree shows the embed layers
  • For each layer, the legend image is displayed
  • For each layer, the legend image respects the scale and symbology defined in QGIS
  • For each layer, the legend image allows to switch between different styles as defined in QGIS

Rendering

  • The layers are rendered in the map Only with QGIS >= 3.4.5
  • The layers are rendered only between the defined scales when they are set
  • The layers are rendered even if their projection differs from the Lizmap map display projection
  • The layers are rendered in the correct order based on their position in legend
  • The layers are rendered in the correct order based on their position in legend when the order has been changed in QGIS with the dedicated dock panel
  • The rendering of a group of layers is correct and respects the layers order within the group
  • The image type (ex: jpeg) is respected

Print

  • The composer layouts are shown in the print tool
  • The exported map respects QGIS layout
  • The different formats work : PDF, SVG, etc.

Popup

  • Popups are shown for configured layers
  • Popup auto mode shows the correct values, even for value relation or value list fields
  • Popup content respects the QGIS tooltip configuration when used, with various expressions
  • Popup content respects the Lizmap HTML configuration when used
  • Tolerance for points, lines and polygons are respected

Locate by layer

Attribute table

Selection and filter

Editing

  • Display an existing PgSQL feature (without geometry)
  • Create a PgSQL feature (without geometry)
  • Delete a PgSQL feature (without geometry)
  • Modify a PgSQL feature (without geometry)
  • Display an existing PgSQL feature (with geometry)
  • Create a PgSQL feature (with geometry)
  • Delete a PgSQL feature (with geometry)
  • Modify a PgSQL feature (with geometry)

Tooltip

Filtering data

Dataviz

Time manager

Atlas

WMS and WMTS external layers

Here is a list of contributors (not exhaustive)
@rldhont @mbernasocchi @pcav @laurentj @Gustry @slarosa @dmarteau @josemvm @nboisteault @vherreros @gerald2545 @mathieubossaert @majorxtrem @jankoja @GabrielePrestifilippo @nliaudat @jancelin @jaitor1 @jonnyforestGIS

List of available testers for early version (please tell us when and which branch is suitable for testing)
@pcav

@mdouchin mdouchin added this to the 3.3.0 milestone Feb 15, 2019
@mdouchin mdouchin self-assigned this Feb 15, 2019
@mdouchin
Copy link
Collaborator Author

@pcav @rldhont @Gustry @laurentj @dmarteau beware that we cannot edit the issue main description concurrently. Has anyone an idea of how to avoid loosing some data while another is editing the issue ? Should we only use comments to add items (and I will be in charge of copying them in the main description) or is there another preffered way ?

@mdouchin mdouchin pinned this issue Feb 15, 2019
@pcav
Copy link
Collaborator

pcav commented Feb 15, 2019

Sorry, I was not aware of this. Comments are OK for me, I'll refrain from direct editing. Hope nothing has been really lost.

@mbernasocchi
Copy link
Contributor

@mdouchin great!

  • locate by layer seems not to work, but I'havent tested thoroughly
  • main.css in the default custom theme is ignored on the landing page (but I'm not sure if this is supposed to work at all)

@signedav @marioba have more feedback?

@rldhont
Copy link
Collaborator

rldhont commented Feb 18, 2019

Linked open issues:

@pcav
Copy link
Collaborator

pcav commented Feb 25, 2019

Given that QGIS 2.18 now seems essentially unavailable from repos, I think this issue is of absolute importance.

@pcav
Copy link
Collaborator

pcav commented Feb 25, 2019

#1059 IMHO should be closed

@josemvm
Copy link
Collaborator

josemvm commented Feb 25, 2019

attribute table not avaiable for many many layers stored in postgreSQL

@rldhont
Copy link
Collaborator

rldhont commented Feb 26, 2019

@gioman can you be more precise ? Which QGIS Server version ?

@josemvm
Copy link
Collaborator

josemvm commented Feb 26, 2019

attribute table not avaiable for many many layers stored in postgreSQL

qgis server 3.4.5

@rldhont
Copy link
Collaborator

rldhont commented Feb 26, 2019

@josemvm do you have a link to test it ?

@gioman
Copy link
Contributor

gioman commented Feb 26, 2019

@gioman can you be more precise ? Which QGIS Server version ?

@rldhont I'm not part of this conversation :)

@rldhont
Copy link
Collaborator

rldhont commented Feb 26, 2019

sorry @gioman

@josemvm
Copy link
Collaborator

josemvm commented Feb 26, 2019

@rldhont please check your mailbox

@rldhont
Copy link
Collaborator

rldhont commented Feb 26, 2019

@josemvm it seems there is an issue when BBOX is added to the GetFeature Request. Can you open an issue about AttributeTable with extent restriction.

@josemvm
Copy link
Collaborator

josemvm commented Feb 26, 2019

attribute table not avaiable for many many layers stored in postgreSQL

if "limitDataToBbox": "True" is set in the plugin #1084 (comment)

@josemvm
Copy link
Collaborator

josemvm commented Feb 27, 2019

edition - all the widgets are not taken by the qgis server

@nboisteault
Copy link
Member

Landing page for me is ok.

@nboisteault
Copy link
Member

@mbernasocchi for me locate by layer works with a QGIS 2.18 project and QGIS Server 3.4.5. We have to test with a QGIS 3.4.5 project .

@josemvm
Copy link
Collaborator

josemvm commented Mar 6, 2019

@nboisteault, qgis server 3.4.5 also prints 2.14 projects

@mbernasocchi
Copy link
Contributor

@mbernasocchi for me locate by layer works with a QGIS 2.18 project and QGIS Server 3.4.5. We have to test with a QGIS 3.4.5 project .

@nboisteault you're right, it was a mistake on our side (PGSERVICE file missing in docker), we didn't know that lizmap does direct queries to the DB. why is that?

@rldhont
Copy link
Collaborator

rldhont commented Mar 6, 2019

@mbernasocchi lizmap is requesting directly data from Postgis instead of QGIS Server WFS GetFeature for faster request. But if lizmap cannot request Postgis, it does the WFS Request.

@mbernasocchi
Copy link
Contributor

mbernasocchi commented Mar 6, 2019

instead of QGIS Server WFS GetFeature for faster request.

it is what we immagined

But if lizmap cannot request Postgis, it does the WFS Request.

then this is the part that was not working for us.

@nboisteault
Copy link
Member

nboisteault commented Mar 6, 2019

attribute table not avaiable for many many layers stored in postgreSQL

@josemvm You said "many layers". Do you watch differences between those working and those not ?

@josemvm
Copy link
Collaborator

josemvm commented Mar 6, 2019

@nboisteault, no, the problem only happens when "limitDataToBbox": "True" is set in the lwc plugin

@rmarzocchi84
Copy link
Contributor

rmarzocchi84 commented Apr 16, 2019

Ok @rldhont I found the PR in your repository (sorry for the previous question)

From a preliminary test it seems to work correctly.

First of all I test:

  • Value Map
  • Datetime field

I only find a strange behaviour that perhaps depends on a QGIS bug:

This value map seems not correctly defined

<Option name="map" type="Map">

and do not works:

<field name="d_origine">
      <editWidget type="ValueMap">
        <config>
          <Option type="Map">
            <Option name="map" type="Map">
              <Option name="Altro" value="5" type="QString"/>
              <Option name="Atti amministrativi" value="3" type="QString"/>
              <Option name="Palmare" value="4" type="QString"/>
              <Option name="Rilievo manuale" value="1" type="QString"/>
              <Option name="Rilievo meccanico" value="2" type="QString"/>
            </Option>
          </Option>
        </config>
      </editWidget>
    </field>

This value map is correctly defined

<Option name="map" type="List">

and works:

	<field name="d_origine">
      <editWidget type="ValueMap">
        <config>
          <Option type="Map">
            <Option name="map" type="List">
              <Option type="Map">
                <Option name="Altro" value="5" type="QString"/>
              </Option>
              <Option type="Map">
                <Option name="Atti amministrativi" value="3" type="QString"/>
              </Option>
              <Option type="Map">
                <Option name="Palmare" value="4" type="QString"/>
              </Option>
              <Option type="Map">
                <Option name="Rilievo manuale" value="1" type="QString"/>
              </Option>
              <Option type="Map">
                <Option name="Rilievo meccanico" value="2" type="QString"/>
              </Option>
            </Option>
          </Option>
        </config>
      </editWidget>
    </field>

After I test Value Relation and it do not works. This is the QGIS project definition:

    <field name="cod_strada">
      <editWidget type="ValueRelation">
        <config>
          <Option type="Map">
            <Option name="AllowMulti" value="false" type="bool"/>
            <Option name="AllowNull" value="false" type="bool"/>
            <Option name="FilterExpression" value="" type="QString"/>
            <Option name="Key" value="cod_strada" type="QString"/>
            <Option name="Layer" value="route20190320155525256" type="QString"/>
            <Option name="NofColumns" value="1" type="int"/>
            <Option name="OrderByValue" value="true" type="bool"/>
            <Option name="UseCompleter" value="true" type="bool"/>
            <Option name="Value" value="cod_strada" type="QString"/>
          </Option>
        </config>
      </editWidget>
    </field>

@rldhont
Copy link
Collaborator

rldhont commented Apr 16, 2019

Thanks for the review, I'll update the code.

@nboisteault
Copy link
Member

nboisteault commented Apr 16, 2019

@rldhont I tried QGIS Constraints "Not null" and "Enforce not null constraint", both didn't work and didn't show field as mandatory.

@nboisteault
Copy link
Member

I have tried with QGIS 2.18 and it is the same behavior so it is not a regression but an needed enhancement.

@josemvm
Copy link
Collaborator

josemvm commented Apr 16, 2019

until now, constraints like "not null" or "default value" only could be set at the postgresql level

@pcav
Copy link
Collaborator

pcav commented Apr 28, 2019

AFAIK version 3.2.3 should be compatible with QGIS server 3, correct? I started tessting it, and I noticed that printing is missing: is this expected?
Thanks.

@Gustry
Copy link
Member

Gustry commented Apr 28, 2019

@pcav It's LWC 3.3 which will be fully compatible with QGIS 3.4, not LWC 3.2.

You should try https://github.com/3liz/lizmap-web-client/releases/tag/3.3rc1

@pcav
Copy link
Collaborator

pcav commented Apr 28, 2019

Thanks, will do.

@rldhont
Copy link
Collaborator

rldhont commented Apr 29, 2019

@pcav you have to change the qgisServerVersion in the backoffice. If the QGIS project is a 3., to have print capabilities, the QGIS Server version has to be 3.. But the layout description is parsed in LWC 3.3.

If you have some trouble with scales: there was an issue in the plugin 3liz/lizmap-plugin#122 and a fix 3liz/lizmap-plugin#129

@pcav
Copy link
Collaborator

pcav commented Apr 29, 2019

Thanks, I realized this too late. It would be good if somehow LM could check the QGIS version automatically, e.g. during installation, but that's obviously low priority.
Thanks a lot.

@majorxtrem
Copy link
Contributor

"The layers are rendered in the correct order based on their position in legend when the order has been changed in QGIS with the dedicated dock panel" change 10 days ago

Is not working for me, any idea ?

Server : qgis-server 3.4.10+15buster
Lizmap : lizmap-web-client git master (on 27/07/19)
Client : Qgis 3.4.10 LTR
Qgis Plugin : lizmap 3.0.3

@nboisteault
Copy link
Member

Confirmed. Debugging now.

@nboisteault
Copy link
Member

@rldhont @mdouchin Does lizmap handle "Layer order" set in QGIS like in the screenshot below.

image

@laurentj laurentj unpinned this issue Aug 29, 2019
@laurentj laurentj pinned this issue Aug 29, 2019
@nboisteault nboisteault modified the milestones: 3.3.0, 3.3.1 Sep 5, 2019
@nboisteault nboisteault modified the milestones: 3.3.1, 3.3.2 Oct 7, 2019
@rldhont
Copy link
Collaborator

rldhont commented Oct 13, 2019

It seems that not null constraints from QGIS Project 3 are not well detected by lizmap

@rldhont
Copy link
Collaborator

rldhont commented Oct 17, 2019

Constraint examples:

      <constraints>
        <constraint constraints="3" unique_strength="1" field="id" notnull_strength="1" exp_strength="0"/>
        <constraint constraints="0" unique_strength="0" field="objectid" notnull_strength="0" exp_strength="0"/>
        <constraint constraints="0" unique_strength="0" field="commune" notnull_strength="0" exp_strength="0"/>
        <constraint constraints="1" unique_strength="0" field="nom" notnull_strength="1" exp_strength="0"/>
        <constraint constraints="1" unique_strength="0" field="type" notnull_strength="1" exp_strength="0"/>
        <constraint constraints="0" unique_strength="0" field="statut" notnull_strength="0" exp_strength="0"/>
        <constraint constraints="0" unique_strength="0" field="code_insee" notnull_strength="0" exp_strength="0"/>
        <constraint constraints="0" unique_strength="0" field="ss_type" notnull_strength="0" exp_strength="0"/>
        <constraint constraints="0" unique_strength="0" field="gestion" notnull_strength="0" exp_strength="0"/>
        <constraint constraints="0" unique_strength="0" field="photo" notnull_strength="0" exp_strength="0"/>
        <constraint constraints="0" unique_strength="0" field="valide" notnull_strength="0" exp_strength="0"/>
        <constraint constraints="0" unique_strength="0" field="contact_te" notnull_strength="0" exp_strength="0"/>
        <constraint constraints="0" unique_strength="0" field="courriel" notnull_strength="0" exp_strength="0"/>
        <constraint constraints="0" unique_strength="0" field="adresse" notnull_strength="0" exp_strength="0"/>
      </constraints>

@Gustry Gustry unpinned this issue Oct 31, 2019
@laurentj laurentj modified the milestones: 3.3.2, 3.3.3 Nov 12, 2019
@nboisteault nboisteault modified the milestones: 3.3.3, 3.3.4 Dec 6, 2019
@laurentj
Copy link
Collaborator

Now that the support of Qgis3 has been developed and released into lizmap 3.3, I think we should close this issue, and open new ones for new bugs related to the support of Qgis3.

@pcav
Copy link
Collaborator

pcav commented Dec 19, 2019

+1

@laurentj laurentj closed this as completed Jan 9, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests