drop TILED arg from wms printing queries (#7809)#7811
drop TILED arg from wms printing queries (#7809)#7811landryb wants to merge 1 commit intogeosolutions-it:masterfrom
Conversation
TILED is vendor-specific, and triggers exceptions with mapproxy when requesting HEIGHT & WIDTH that dont match the cache tile size.
…2#7706 and geosolutions-it/MapStore2#7811" This reverts commit 03116da.
offtherailz
left a comment
There was a problem hiding this comment.
Generally speaking, tiled option in GeoServer is used to get WMS requests from tile cache, if they match the gridset. Otherwise the response is provided anyway, with some special headers specifying the esit and reason of cache failure
I understood that MapProxy uses the same parameter name with a different behavior, and rises exception so it can be removed (it is only a cache support optimization).
Anyway the layers has also a tiled parameter, that is used on map.
If you had to disable it for the layer, maybe is a good idea to read it from the layer object and use it if present (and / or true).
Well, the tiled parameter is on by default on all layers (and i havent found a way to disable that per server in the ms2 config), and it works fine when displaying layers that dont have a 'mixed' cache format (eg the layer from https://tiles.craig.fr/pci/service). For layers that use a |
There was a problem hiding this comment.
I don't think we can approve this PR as it is @offtherailz. I completely understand the @landryb point of view and of course we can probably do something to improve the interoperability with MapProxy in this case.
In order to find an automatic way to set the TILED property to true/false depending on the layer source is something that need to be investigated. Therefore a dedicated issue should be opened for this. For the moment, and especially for 2022.01.00, what we can do is just to make it configurable globally (default for MapStore is true). What do you think @offtherailz?
|
well you already have a way to know if you're talking to geoserver in https://github.com/geosolutions-it/MapStore2/blob/master/web/client/utils/LayersUtils.js#L25 - though i think it'd be much nicer to check for vendor extensions in capabilities. Fwiw my geoserver is on https://ids.craig.fr/wxs/ for various reasons, it's a bit awkward to expect geoserver to be at As for TILED itself, making it globally configurable would be a valid workaround for now :) |
I can understand your concern about this but unfortunately, as far as I know, there isn't a clean/stable way implemented so far in GeoServer (eg. a kind of declaration or something similar) to understand that the capabilities are effectively coming from a GeoServer. Therefore some development GeoServer side should be necessary for this (at least for new GeoServer versions).
Do you have in mind or do you have the possibility to contribute for this? Otherwise I'm going to close this PR for now. Thank you again. |
I dont think i have enough knowledge of the platform right now to implement that in a short timeframe.. but that might be something we can fund. |
@landryb ok, let me know then. Thank you. I'm going to close this for the moment. |
another possibility would be to look for |
replying to myself on a closed issue, also checking for the presence of |
TILED is vendor-specific, and triggers exceptions with mapproxy
when requesting HEIGHT & WIDTH that dont match the cache tile size or format that doesnt match the cache format.
Description
Fix printing WMS layers coming from mapproxy
this can be tested before/after when adding a WMS layer:
Invalid request: invalid tile format, use mixedbecause of defaultTILED=truebehaviour - if removed as done by this PR, then printing the ortho layer worksInvalid request: invalid tile size (use 256x256)exception serverside.Please check if the PR fulfills these requirements
What kind of change does this PR introduce? (check one with "x", remove the others)
Issue
What is the current behavior?
#7809 - printing WMS layers coming from mapproxy fails because
TILED=truetriggers exceptions, either because the requestedHEIGHTandWIDTHdont match the cache tile size or the requested format doesnt match the cache format.What is the new behavior?
printing WMS layers coming from mapproxy succeeds, tested with both ortho and pci.
Breaking change
Does this PR introduce a breaking change? (check one with "x", remove the other)
Maybe, because from my understanding
TILED=truetriggers a vendor-specific behaviour in geoserver/geowebcache ?Ideally,
TILED=trueshould only be added if the remote is geoserver/gwc, but at that point i have no idea if that's an information we can get (and trust) from capabilities document.Other useful information
Interoperability is hard.