Development #57916
plone_restapi : passer les blocs de champs envoyés dans le payload comme tableaux de dictionnaires
0%
Description
ex: pour pousser des URLs, plone attend un payload de cette sorte :
"urls": [ { "type": "website", "url": "http://plop.org" }, ... ]
Dans wcs, on construit facilement cette structure via un bloc de champ, mais on n'a pas le nom des clés (type, url).
Il faudrait convertir le format envoyé par wcs, par exemple en extrayant le nom des clés du schéma de description du contenu Plone.
Cette construction serait aussi utilisée pour les champs subject, courriel et phone
(voir peut-être aussi les champs geoloc, exceptional_closuren schedule et multi_schedule).
Historique
Mis à jour par Frédéric Péters il y a plus de 2 ans
Je mettrais pause là-dessus, prendre un peu plus de temps pour voir la structure qu'on va avoir côté wcs.
Typiquement, on ne va pas avoir un bloc de champ avec un <select> type = site web, puis <input> url; on va juste avoir un champ site web dans lequel inviter à taper l'adresse du site.
Lors de la transmission, on pourrait alors envoyer urls/type "website", urls/url {{form_var_url}}. (et bien sûr j'ai conscience que là on a un dictionnaire et pas une liste de dictionnaires).
~~
Aussi, longtemps le plan a été que la partie annuaire ne s'édite pas via Publik parce que données complexes, ça a changé très récemment sur un argument comme quoi "finalement données pas si complexes que ça". On peut bien sentir ici que c'est faux. Il faut ne pas y passer du temps avant d'avoir alerté là-dessus.
Mis à jour par Nicolas Roche (absent jusqu'au 3 avril) il y a 8 mois
- Statut changé de Nouveau à Rejeté
Je rejette, la solution "unflatten" marche parfaitement.
https://demarches-braine-l-alleud.test.entrouvert.org/backoffice/workflows/68/status/7/items/1/
https://git.entrouvert.org/entrouvert/passerelle/src/branch/main/tests/test_plone_restapi.py#L391