Development #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.
Fichiers
Révisions associées
Historique
Mis à jour par Valentin Deniaud il y a environ 4 ans
- Fichier 0001-opengis-make-query_layer-config-parameter-optional-4.patch 0001-opengis-make-query_layer-config-parameter-optional-4.patch ajouté
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
Et j'ajouterai quelques tests si on me dit que c'est ok comme approche.
Mis à jour par Frédéric Péters il y a environ 4 ans
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.
Mis à jour par Valentin Deniaud il y a environ 4 ans
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)
Mis à jour par Frédéric Péters il y a environ 4 ans
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.
Mis à jour par Valentin Deniaud il y a environ 4 ans
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 ?
Mis à jour par Frédéric Péters il y a environ 4 ans
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.
Mis à jour par Frédéric Péters il y a environ 4 ans
- Statut changé de Solution proposée à Solution validée
Ou go ainsi et on verra bien si jamais on se trouve à rencontrer ça un jour pour des tuiles.
Mis à jour par Valentin Deniaud il y a environ 4 ans
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.
Mis à jour par Valentin Deniaud il y a environ 4 ans
- Statut changé de Solution validée à 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)
Mis à jour par Frédéric Péters il y a environ 4 ans
- Statut changé de Résolu (à déployer) à Solution déployée
opengis: make query_layer config parameter optional (#41414)