Projet

Général

Profil

Development #59746

plone_restapi: pouvoir préciser le répertoire quand on liste les types de documents

Ajouté par Nicolas Roche il y a plus de 2 ans. Mis à jour il y a plus de 2 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Version cible:
-
Début:
15 décembre 2021
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

Description

L'attribut 'addable' d'un type change de valeur suivant le répertoire interrogé.
cf https://dev.entrouvert.org/issues/57929
Mais le endpoint ne prévoit pas de passer le répertoire en paramètre.


Fichiers

Révisions associées

Révision 42941c45 (diff)
Ajouté par Nicolas Roche il y a plus de 2 ans

plone_restapi: replace uri and uid by path parameter (#59746)

Révision 46fd6a16 (diff)
Ajouté par Nicolas Roche il y a plus de 2 ans

plone_restapi: allow to provide a directory to list types (#59746)

Historique

#1

Mis à jour par Nicolas Roche il y a plus de 2 ans

#2

Mis à jour par Thomas Noël il y a plus de 2 ans

(j'ai relu mais je ne comprends pas le passage de l'appel à self.request avec « uri='@types' » à celui avec « uri=uri, uid='@types' » : c'est comme s'il y avait eu un bogue avant, qu'on était donc sur une correction et pas sur l'ajout d'une fonctionnalité... donc je préfère passer mon tour)

#3

Mis à jour par Nicolas Roche il y a plus de 2 ans

J'avoue c'est pas clair.
Il s'agit juste de concaténer 2 chaînes dans l'URL en réutilisant l'appel général.
Pour bien faire je peux renommer partout uri et uid en string1 et string2.

#4

Mis à jour par Frédéric Péters il y a plus de 2 ans

Ce qu'il faudrait je pense c'est que ta méthode request accepte juste un paramètre path, plutôt que uri et uid qui sont déjà détournés de partout.

Ça ferait des modifs genre

-        response = self.request(uri=uri, uid='@search', method='GET', params=params)
+        response = self.request(path='%s/@search' % uri, method='GET', params=params)

ou

-        response = self.request(uri='@types', method='GET')
+        response = self.request(path='@types', method='GET')

Et sur cette base revoir le patch ici.

#5

Mis à jour par Nicolas Roche il y a plus de 2 ans

  • Statut changé de Solution proposée à En cours

Je fais ça, merci.

#7

Mis à jour par Thomas Noël il y a plus de 2 ans

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

Je valide parce que j'imagine que la notion de "Uri" et "Uid" est connue et comprise par les personnes qui utilisent l'API...

... mais ça me parait bien étrange d'avoir un paramètre nommé "Uri" sur cette API get_content_types quand on sait qu'en fait, il s'agit du nom d'un type de liste (genre belleville/citoyens). J'aurais imaginé un truc moins incompréhensible comme "kind" ou "directory". Peut-être qu'on peut laisser le paramètre nommé uri, mais qu'on pourrait mieux expliquer son rôle dans la description (qui est juste _("Uri"), ça aide pas des masses).

L'idée reste que la page d'un connecteur soit sa documentation.

#8

Mis à jour par Nicolas Roche il y a plus de 2 ans

quand on sait qu'en fait, il s'agit du nom d'un type de liste (genre belleville/citoyens)

Non, il s'agit bien d'un sous dossier des contenus web.
Ce endpoint c'est pour récupérer tous les types de listes disponible.
(juste que la réponse n'est pas la même suivant l'endroit où l'on se place).

j'imagine que la notion de "Uri" et "Uid" est connue et comprise par les personnes qui utilisent l'API...

Bof, pour l'UID oui (c'est l'identifiant dans les retours json) mais pour l'URI c'est de moi et folder ce serait mieux.
Genre ici, on lit folder et document-id : https://dev.entrouvert.org/issues/51764#note-9
Je peux reprendre si tu veux (il y aurait une migration).

#9

Mis à jour par Thomas Noël il y a plus de 2 ans

Nicolas Roche a écrit :

quand on sait qu'en fait, il s'agit du nom d'un type de liste (genre belleville/citoyens)

Non, il s'agit bien d'un sous dossier des contenus web.
Ce endpoint c'est pour récupérer tous les types de listes disponible.
(juste que la réponse n'est pas la même suivant l'endroit où l'on se place).

j'imagine que la notion de "Uri" et "Uid" est connue et comprise par les personnes qui utilisent l'API...

Bof, pour l'UID oui (c'est l'identifiant dans les retours json) mais pour l'URI c'est de moi et folder ce serait mieux.
Genre ici, on lit folder et document-id : https://dev.entrouvert.org/issues/51764#note-9
Je peux reprendre si tu veux (il y aurait une migration).

Non pas de soucis, j'avais validé :)

Tu peux oublier ce que j'ai dit plus haut, j'arrive un peu tard sur ce connecteur qui est déjà en place et validé par ailleurs, donc y'a des raisons que j'ignore :)

Go !

#10

Mis à jour par Nicolas Roche il y a plus de 2 ans

  • Statut changé de Solution validée à Résolu (à déployer)
commit 46fd6a169b5ea334f28a8a8b4f7e31d9b054c005
Author: Nicolas ROCHE <nroche@entrouvert.com>
Date:   Wed Dec 15 17:12:04 2021 +0100

    plone_restapi: allow to provide a directory to list types (#59746)

commit 42941c45e31254c47dac960c265d9a6540f76e4c
Author: Nicolas ROCHE <nroche@entrouvert.com>
Date:   Wed Dec 22 08:45:38 2021 +0100

    plone_restapi: replace uri and uid by path parameter (#59746)
#11

Mis à jour par Frédéric Péters il y a plus de 2 ans

  • Statut changé de Résolu (à déployer) à Solution déployée
#12

Mis à jour par Transition automatique il y a environ 2 ans

Automatic expiration

Formats disponibles : Atom PDF