georchestra / mapstore2-georchestra

geOrchestra newest viewer
Other
6 stars 23 forks source link

Regression on map templates from WMC #387

Closed catmorales closed 3 years ago

catmorales commented 3 years ago

Map template imported from a WMC from Mapfishapp are no longer compatible with mapstore. It is no longer possible to display the attribute table of the layers present in these Map Templates.

URL: https://portail-test.sig.rennesmetropole.fr/mapstore or https://portail.sig.rennesmetropole.fr

Version mapstore2 : tag v1.2.x from https://hub.docker.com/r/geosolutionsit/mapstore2-georchestra/tags?page=1&ordering=last_updated

To reproduce the issue:

All our MapTemplates (46) were created from mapfishapp WMC and exported in json format before loading it in context manager as map templates. This problem has appeared since last week (new mapstore deployment)

What could be the reason? Can we fix this quickly as we are training users next week ?

tdipisa commented 3 years ago

@catmorales we will check this next week, thank you for reporting. It is not totally clear to me the problem anyway. Can you please better explain the steps to reproduce the issue highlighting what is the expected behavior against the current one?

What do you mean for "contextual menu"?

4/ contextual menu for this layer is reduced 6/ contextuel menu for the layer is full

Do you mean buttons in the TOC toolbar?

catmorales commented 3 years ago

Do you mean buttons in the TOC toolbar?

Yes it is

catmorales commented 3 years ago

what is the expected behavior against the current one?

I was expecting for a complete TOC toolbar for all layers loaded from the map template. It seems that tools using WFS are not available now for these layers.

catmorales commented 3 years ago

I will give you a simpler and easier to reproduce use case :

image

offtherailz commented 3 years ago

Hi @catmorales thank you this helps a lot to identify the problem.

catmorales commented 3 years ago

Another information, if it can help, we are now on 20.1.1 version of geOrchestra https://github.com/georchestra/georchestra/releases/tag/20.1.1

offtherailz commented 3 years ago

Hi, WMC format doesn't support any connection between WMS layers and the relative WFS service (needed to have the attribute table available).

The map exported from mapfish app do not contain any information about it, so the imported map is not connected.

MapStore introduced the support to this adding a custom tag, but you have to insert it into the WMC manually. Here attached in the zip file "Stations De Comptages routiers.zip" :

The difference between the two files is only the following tag inside Extension tag of the layer:

<ms:search xmlns:ms="http://geo-solutions.it/mapstore/context"
          xmlns:xlink="http://www.w3.org/1999/xlink" type="wfs" xlink:type="simple" xlink:href="https://portail-test.sig.rennesmetropole.fr/geoserver/wfs"/>

Importing this second file, you will see that the attribute table becomes available.

From my checks this is the only way to add the attribute table to the layer. Are you sure that you where able to see the attribute layer without this procedure from a WMC exported from mapfish app? If so, do you remember in which version ?

note about catalog: When adding layers from the from catalog, MapStore get the missing information from "DescribeLayer" service, but this is not the case of importing an existing configuration (that maybe manually modified, so querying the service in that case is incorrect).

catmorales commented 3 years ago

Hi @offtherailz !! Thank you very much !! I will try to add manually this link.

If so, do you remember in which version ?

This problem appears from the last version of v1.2.x from 12 days ago. In the previous commit it was OK. Is it possible to have an history in docker hub ?

catmorales commented 3 years ago

I deployed v1.2.x on 27th of may --> NOK I deployed v1.2.x on 21th of may --> I don't know if it was OK I deployed v1.2.x on 4th of may --> OK

We deployed a new version of geOrchestra (so geoserver is now on 2.17.5 version) on 26th of may . Do you think this might have something to do with the problem ?

offtherailz commented 3 years ago

No, I don't think that the GeoServer update can influence this.

I did a diff on georchstra-mapstore for the versions you gave me and I don't see any change in the code that may have removed that functionality.

If you need it now, you can add the attribute table to maps exported from mapfish app by adding the search links in the XML as in the example (the URL of wfs (in the example xlink:href="https://portail-test.sig.rennesmetropole.fr/geoserver/wfs" must be the one of the GeoServer used for that layer).

catmorales commented 3 years ago

OK thank you. @offtherailz

tdipisa commented 3 years ago

@catmorales can we close the issue?

fvanderbiest commented 3 years ago

WMC format doesn't support any connection between WMS layers and the relative WFS service (needed to have the attribute table available).

FWIW, with mapfishapp, we relied on asynchronous WMS DescribeLayer + WFS DescribeFeatureType requests to dynamically perform this link

offtherailz commented 3 years ago

The same on MapStore, but only when adding data from catalog, not when importing existing maps in JSON/WMC. The missing link in a map file could be intentional (for instance to configure a map manually and hiding the link to the attribute table) So MapStore doesn't add information to the imported file by default. I mean the only way to add it automatically is to develop something new, custom or configurable, to add this auto-discovery (optional) for imported map to MapStore.

tdipisa commented 3 years ago

@catmorales can we consider this issue closed?

catmorales commented 3 years ago

@tdipisa yes you can ;)