Projet

Général

Profil

Development #52579

workflow_data et dictionnaire avec des clés donnant des noms de variables invalide

Ajouté par Thomas Noël il y a environ 3 ans. Mis à jour il y a environ 3 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Version cible:
-
Début:
31 mars 2021
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

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

Révision b36aef93 (diff)
Ajouté par Frédéric Péters il y a environ 3 ans

general: don't flatten to invalid keys (#52579)

Historique

#1

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 ?

#2

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).

#3

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.

#4

Mis à jour par Frédéric Péters il y a environ 3 ans

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)).

#5

Mis à jour par Frédéric Péters il y a environ 3 ans

  • Assigné à mis à Frédéric Péters
#6

Mis à jour par Thomas Noël il y a environ 3 ans

  • Statut changé de Solution proposée à Solution validée

Classe. Merci.

#7

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

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

Formats disponibles : Atom PDF