Development #52579
workflow_data et dictionnaire avec des clés donnant des noms de variables invalide
0%
Description
Quand on a un workflow_data qui contient des clés comme "exif:pixelXDimension" on se retrouve avec des noms de variables tels que
form_workflow_data_cmis_response_data_exif:pixelXDimension
qui sont invalides et non utilisables.
Il faudrait sans doute remplacer les caractères tel que ":" par un encodage spécifique, un echappement (genre 3a mais c'est bien moche) , voire bêtement par un simple "_" ?
(Autre choix : décider de ne pas les rendre ces variables disponibles et inciter à l'usage du filtre get:"exif:pixelXDimension")
Fichiers
Révisions associées
Historique
Mis à jour par Benjamin Dauvergne il y a environ 3 ans
voire bêtement par un simple "_"
Dans l'ancien mode où on construit un dico de variables locales ça marcherait, mais avec le mode lazy comment on fait la conversion dans l'autre sens si on doit supposer que tout '_' peut aussi être n'importe quoi d'autre qui est interdit ?
Mis à jour par Frédéric Péters il y a environ 3 ans
(Autre choix : décider de ne pas les rendre ces variables disponibles et inciter à l'usage du filtre get:"exif:pixelXDimension")
Oui plutôt ne juste pas exposer.
Je ne sais pas si exif:pixelXDimension est un usage réel mais si c'est le cas il y aurait plutôt à prévoir un filtre pour obtenir les dimensions, exif:pixelXDimension pourrait ne pas être correct (quand on redimensionne côté client on conserve les données exif, par exemple).
Mis à jour par Thomas Noël il y a environ 3 ans
Frédéric Péters a écrit :
Je ne sais pas si exif:pixelXDimension est un usage réel
C'est une réponse de notre connecteur CMIS, cf #52560 (où il est plutôt question de cmis:versionSeriesId mais c'est le même soucis). Trop tard pour corriger la réponse sans doute, s'il est déjà utilisé en vrai, quoique (je fais un ticket: #52594)
juste pas exposer
La cerise sur le gâteau serait d'alors exposer le dictionnaire qui contient les clés invalides (ici form_workflow_data_cmis_response_data) mais c'est une grosse cerise sur un petit gâteau.
Mis à jour par Frédéric Péters il y a environ 3 ans
- Fichier 0001-general-don-t-flatten-to-invalid-keys-52579.patch 0001-general-don-t-flatten-to-invalid-keys-52579.patch ajouté
- Fichier inspect_dict_invalid_keys.png inspect_dict_invalid_keys.png ajouté
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
Voilà, avec la cerise. (uniquement quand c'est accédé via form_workflow_data_…, pas via la "racine" des données. (cf capture où on voit form_workflow_data_xxx mais pas xxx)).
Mis à jour par Thomas Noël il y a environ 3 ans
- Statut changé de Solution proposée à Solution validée
Classe. Merci.
Mis à jour par Frédéric Péters il y a environ 3 ans
- Statut changé de Solution validée à Résolu (à déployer)
commit b36aef939582501eb576efe99b474e138e1eac97 Author: Frédéric Péters <fpeters@entrouvert.com> Date: Mon Apr 12 19:55:16 2021 +0200 general: don't flatten to invalid keys (#52579)
Mis à jour par Frédéric Péters il y a environ 3 ans
- Statut changé de Résolu (à déployer) à Solution déployée
general: don't flatten to invalid keys (#52579)