Développement #41414
opengis: rendre « couche de requête » optionnel dans le paramétrage du connecteur
0%
Description
De #20535, où on veut utiliser le connecteur pour plusieurs couches différentes, donc pas envie de le définir globalement.
Deux problèmes :- La dénomination. « Layer » veut dire quelque chose en WMS mais pas en WFS, où on parle de type. En pratique, il semble y avoir une forte correspondance entre les deux lorsqu'un serveur implémente les deux services, ie un si un layer en wms et un feature type en wfs ont les mêmes noms, il désigneront les mêmes objets. C'est sûrement ce qui a conduit l'endpoint
reverse
à utiliser query_layer comme type wfs. Une seule solution, la documentation. - La cohérence entre les endpoints. Tous utilisent le paramètre globalement défini, et ne permettent pas de le modifier, à l'exception de l'endpoint features, qui à l'inverse ne l'utilise pas et oblige à spécifier un type à chaque requête. Pour homogénéiser tout ça je propose de permettre de le passer partout de manière optionnelle, et d'utiliser le paramètre global par défaut.
Files
Associated revisions
History
Updated by Valentin Deniaud over 4 years ago
- File 0001-opengis-make-query_layer-config-parameter-optional-4.patch 0001-opengis-make-query_layer-config-parameter-optional-4.patch added
- Status changed from Nouveau to Solution proposée
- Patch proposed changed from No to Yes
Et j'ajouterai quelques tests si on me dit que c'est ok comme approche.
Updated by Frédéric Péters over 4 years ago
Sur la modification,
def tile(self, request, zoom, tile_x, tile_y, query_layer=None):
la forme d'URL attendue ici est précise; il faudrait alors réécrire '(?P<zoom>\d+)/(?P<tile_x>\d+)/(?P<tile_y>\d+).png' pour permettre au début query_layer.
Updated by Valentin Deniaud over 4 years ago
Je trouve bien plus clair/joli un appel du type /opengis/tile/1/2/3.png?query_layer=hop que /opengis/tile?query_layer=hop/1/2/3.png, si c'est ce que tu suggères. Bonus, ça marche déjà (pas de $ final dans la regex).
(et niveau syntaxe la deuxième option n'a même pas l'air très valide)
Updated by Frédéric Péters over 4 years ago
Ce n'est pas ce que je suggère. Je suggère .../$layer/1/2/3.png; parce que ça doit être dans le chemin pour leaflet.
Updated by Valentin Deniaud over 4 years ago
Oui d'accord je n'avais pas en tête ce prérequis. Mais ça risque de faire un pattern trop bizarre et il faudra du code pour que ce soit documenté automatiquement de manière intelligible. Je préfère ne pas mettre le paramètre et lever un APIError si il n'est pas renseigné au niveau du connecteur.
Après, à tester Leaflet n'est pas le moins du monde perturbé par un ? après le .png (https://jsfiddle.net/6rudows0/) et il y a même un exemple construit un peu comme ça dans les sources (https://github.com/Leaflet/Leaflet/blob/37d2fd15ad6518c254fae3e033177e96c48b5012/src/layer/tile/TileLayer.js#L17). Donc pas de problème ?
Updated by Frédéric Péters over 4 years ago
Donc pas de problème ?
Possible, je n'ai pas fait des tests voir comment ça se comportait; mais oui à défaut de ces tests juste faire APIError si ce n'est pas spécifié au niveau du connecteur ça me va.
Updated by Frédéric Péters over 4 years ago
- Status changed from Solution proposée to Solution validée
Ou go ainsi et on verra bien si jamais on se trouve à rencontrer ça un jour pour des tuiles.
Updated by Valentin Deniaud over 4 years ago
Frédéric Péters a écrit :
je n'ai pas fait des tests voir comment ça se comportait; mais oui à défaut de ces tests
J'ai refait des tests en local et pour moi ça marche, je pousse comme ça.
Updated by Valentin Deniaud over 4 years ago
- Status changed from Solution validée to Résolu (à déployer)
commit 6d5356f895d06a01fed11b56df96cad88adaf46e Author: Valentin Deniaud <vdeniaud@entrouvert.com> Date: Tue Apr 7 11:37:25 2020 +0200 opengis: make query_layer config parameter optional (#41414)
Updated by Frédéric Péters over 4 years ago
- Status changed from Résolu (à déployer) to Solution déployée
opengis: make query_layer config parameter optional (#41414)