Projet

Général

Profil

Development #41414

opengis: rendre « couche de requête » optionnel dans le paramétrage du connecteur

Ajouté par Valentin Deniaud il y a environ 4 ans. Mis à jour il y a environ 4 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Version cible:
-
Début:
07 avril 2020
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

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

Révision 6d5356f8 (diff)
Ajouté par Valentin Deniaud il y a environ 4 ans

opengis: make query_layer config parameter optional (#41414)

Historique

#1

Mis à jour par Valentin Deniaud il y a environ 4 ans

Et j'ajouterai quelques tests si on me dit que c'est ok comme approche.

#2

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.

#3

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)

#4

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.

#5

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 ?

#6

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.

#7

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.

#8

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.

#9

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)
#10

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

Formats disponibles : Atom PDF