Development #23717
remonter des demandes en cours/terminées depuis des logiciels tiers
0%
Description
Les cellules "demandes de l'usager" doivent pouvoir remonter des demandes faites dans des logiciels tiers, exposant une API pour les récuperer, à l'aide des connecteurs dans Passerelle.
Fichiers
Demandes liées
Historique
Mis à jour par Serghei Mihai il y a presque 6 ans
Et pour faire cela le connecteur en face doit exposer une API équivalente à celle de WCS: /api/categories/
, /api/categories/<nom>/formdefs/
, etc.
Mis à jour par Frédéric Péters il y a presque 6 ans
Pour les demandes c'est juste api/user/forms. (c'est peut-être plus simple de juste mimer cette partie et de gérer correctement une 404 sur les autres endpoints du côté de combo).
Mis à jour par Serghei Mihai il y a presque 6 ans
- Lié à Development #23851: wcs: gérer les erreurs 404 sur les endpoints de récupération des categories, liste des formulaires, démarches en cours ajouté
Mis à jour par Benjamin Dauvergne il y a plus de 5 ans
Prendre en compte ce qui est dit dans la page sur le raccordement d'un portail métier concernant la remontée des demandes. Ce qui m'intéresse ici surtout c'est comment indiquer l'emplacement des endpoints de demandes au maximum. Que ce soit dans passerelle ou porté directement par le logiciel, il faudra déclarer ça quelque part et je crois qu'on voudrait que ce ne soit pas directement dans la cellule.
Mis à jour par Frédéric Péters il y a plus de 5 ans
Il y a des bouts de ce document qui sont incompatibles avec ce que combo récupère et w.c.s. fournit aujourd'hui ? (commentaire posé avant que "Ce qui m'intéresse ici..." ne soit ajouté au commentaire précédent).
Mis à jour par Benjamin Dauvergne il y a plus de 5 ans
Je viens de corriger ce qui pouvait encore différer, y a des trucs qui piquent comme form_number
et form_status_is_endpoint
, mais sinon ça devrait aller.
La seule précision à donner c'est qu'on ne pourra pas exiger d'un autre logiciel que son endpoint de formulaires soit sur http://domaine/api/user/forms/ j'aimerai juste que ce ticket soit l'occasion de poser qu'on aura un endroit où on déclarera des services externes dans l'esprit rayonnement et où on pourra dire:
{ "name": "Arpège ECP", "slug": "arpege-ecp", "homepage_url": "https://...", "redirect_urls": ["https://..."], "capabilities": [ { "type": "user-forms", "url": "https://.../forms/", } ] }
vraisemblablement du coté de hobo, idéalement les connecteurs Passerelle feront ce job un peu tout seul (mais bon là on empiète sur les histoires de rayonnement).
Mis à jour par Serghei Mihai il y a environ 5 ans
Benjamin Dauvergne a écrit :
La seule précision à donner c'est qu'on ne pourra pas exiger d'un autre logiciel que son endpoint de formulaires soit sur http://domaine/api/user/forms/ j'aimerai juste que ce ticket soit l'occasion de poser qu'on aura un endroit où on déclarera des services externes dans l'esprit rayonnement et où on pourra dire:
Oui, si l'API du logiciel ne propose pas d'API compatible Publik on fera un connecteur dans Passerelle, comme par exemple celui d'Arpège.
vraisemblablement du coté de hobo, idéalement les connecteurs Passerelle feront ce job un peu tout seul (mais bon là on empiète sur les histoires de rayonnement).
En attendant une définition plus précise et claire du rayonnement je vois ces services accessibles via une variable settings.EXTERNAL_DEMANDS_SERVICES
qui aurait le même format que settings.KNOWN_SERVICES
.
Le service distant sera donc visible dans la cellule "demandes en cours" et lors du rende cellule appelera les endpoints api/users/<nameid>/forms
Mis à jour par Serghei Mihai il y a environ 5 ans
Et côté Arpège cela nécessite la modification de l'API pour pouvoir répondre à l'appel vers api/users/<nameid>/forms
.
Mis à jour par Serghei Mihai il y a environ 5 ans
- Lié à Development #30365: Arpège ECP: endpoint de récuperation des demandes des usagers ajouté
Mis à jour par Serghei Mihai il y a environ 5 ans
- Fichier 0001-misc-enable-user-demands-retrieval-from-external-ser.patch 0001-misc-enable-user-demands-retrieval-from-external-ser.patch ajouté
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
Patch avec l'idée de dessus.
Build de la branche: https://jenkins2.entrouvert.org/job/combo-wip/job/wip%252F23717-external-user-demands-retrieval/
Mis à jour par Serghei Mihai il y a environ 5 ans
- Lié à Development #30380: Arpège ECP: marquer les demandes comme visibles ajouté
Mis à jour par Frédéric Péters il y a environ 5 ans
En attendant une définition plus précise et claire du rayonnement je vois ces services accessibles via une variable settings.EXTERNAL_DEMANDS_SERVICES qui aurait le même format que settings.KNOWN_SERVICES.
Je pense que ce que Benjamin écrivait plus haut est la piste à prendre, plutôt que commencer à multiplier les whatever_SERVICES.
Un unique SERVICES (qui absorbera KNOWN_SERVICES, à terme), d'une forme similaire à : (je reprends le commentaire 7)
{ "name": "Arpège ECP", "slug": "arpege-ecp", "homepage_url": "https://...", (ou plutôt root_url ?) "redirect_urls": ["https://..."], (pas trop idée de l'objectif ici) "capabilities": [ { "type": "user-forms", "url": "https://.../forms/", } ] }
De là, modifier le get_wcs_services() pour prendre un paramètre "capability". Et modifier les appels pour passer le "capability" nécessaire à la cellule.
Dans un premier temps, capabilities pourrait contenir uniquement la clé "type", et l'URL serait construite à partir de l'URL racine du service; plus tard pour des services où la structure ne suivrait pas exactement celle de w.c.s. on ajoutera la possibilité de préciser une clé "url" dans les entrées de "capabilities".
Parallèlement, il pourra y avoir travail dans Passerelle pour qu'un connecteur produise ce bout de json, et un travail (dans hobo?) pour tirer ces informations et les distribuer aux différents modules.
Mis à jour par Benjamin Dauvergne il y a environ 5 ans
- Statut changé de Solution proposée à Information nécessaire
- Assigné à mis à Serghei Mihai
Mis à jour par Frédéric Péters il y a environ 2 ans
- Statut changé de Information nécessaire à Fermé
- Planning mis à Non
Oublié abandonné.