Projet

Général

Profil

Development #23717

remonter des demandes en cours/terminées depuis des logiciels tiers

Ajouté par Serghei Mihai il y a presque 6 ans. Mis à jour il y a environ 2 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Version cible:
-
Début:
14 mai 2018
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

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

Lié à Combo - Development #23851: wcs: gérer les erreurs 404 sur les endpoints de récupération des categories, liste des formulaires, démarches en coursFermé15 mai 2018

Actions
Lié à Passerelle - Development #30365: Arpège ECP: endpoint de récuperation des demandes des usagersFermé04 février 2019

Actions
Lié à Passerelle - Development #30380: Arpège ECP: marquer les demandes comme visiblesFermé04 février 2019

Actions

Historique

#1

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.

#2

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

#3

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é
#5

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.

#6

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

#7

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

#8

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

#9

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.

#10

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é
#11

Mis à jour par Serghei Mihai il y a environ 5 ans

#12

Mis à jour par Serghei Mihai il y a environ 5 ans

#13

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

  • Projet changé de Publik à Combo
#14

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.

#15

Mis à jour par Benjamin Dauvergne il y a environ 5 ans

  • Statut changé de Solution proposée à Information nécessaire
  • Assigné à mis à Serghei Mihai
#16

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

Formats disponibles : Atom PDF