pagopa / pdnd-interop-frontend

Frontend per la piattaforma PDND Interoperabilità
https://docs.pagopa.it/interoperabilita-1/
20 stars 2 forks source link

Impossibilità per gli operatori API di clonare e creare una nuova versione #383

Closed vintra73 closed 10 months ago

vintra73 commented 1 year ago

Si è rilevato l'impossibilitò degli operatori API di gestire, per una API definita, di accedere alle funzioni "sospendi", "clona" e "crea bozza di una nuova versione"

Step per riprodurre il bug

  1. Vai su Erogazione \ I tuoi servizi
  2. Vedi non è presente l'accesso alle funzioni "sospendi", "clona" e "crea bozza di una nuova versione"

Comportamento atteso Accedere alle funzioni

Il codice IPA del tuo ente agid

Data e ora in cui si è riscontrato il problema 14/04/2023

Quali permessi ha la tua utenza? Operatore API

FedericaSicchiero commented 1 year ago

Buongiorno Vincenzo, grazie della segnalazione l'abbiamo presa in carico.

FedericaSicchiero commented 1 year ago

Ciao Vincenzo,

che l'operatore API non veda "clona" e "crea bozza di una nuova versione" è un bug e lo stiamo già valutando. Per il discorso di sospensione noi da linee guida l'abbiamo inteso come un atto amministrativo, che quindi sono l'amministratore può eseguire. Se deve essere rivalutato capiamo come fare.

Grazie, Federica

vintra73 commented 1 year ago

Ciao @FedericaSicchiero, in merito alla tua ti segnalo che:

  1. al capitolo 7 è detto "Relativamente agli e-service pubblicati, gli Erogatori NON POSSONO modificare elementi che impattano sui Fruitori e NON POSSONO dismettere una versione di e-service in costanza di fruizione."
  1. al paragrafo 3.1 Gestione dei descrittori degli e-service è detto "L’Erogatore PUÒ revocare la pubblicazione di un descrittore di e-service per esprimere la volontà di non accettare nuovi Fruitori per il relativo e-service. L’Erogatore PUÒ pubblicare una nuova versione di un descrittore di e-service previa revoca della versione precedente. La nuova versione di un descrittore di e-service DEVE assicurare l’invarianza dei requisiti di fruizione e del modello di interoperabilità applicato per essa. Alla pubblicazione di una nuova versione di un descrittore di e-service, l’Infrastruttura interoperabilità PDND DEVE comunicare tale circostanza ai Fruitori dell’e-service. Nel caso in cui non sia in atto la fruizione del relativo e-service da parte di un Fruitore l’Infrastruttura interoperabilità PDND DEVE archiviare la versione di un descrittore di e-service revocato dall’Erogatore."

  2. al paragrafo 5.2 Operatore API è detto "Gli Utenti degli Aderenti a cui è assegnata la presente categoria possono:

    • quando l’Aderente opera come Erogatore per gestire il ciclo di vita degli e-service: [...]
      1. pubblica e revoca gli e-service registrati; "

Sull base di quanto ti ho riportato ed assumedo che la funzione indicata sul front-end come "sospendi" sia l'implementazione della "revoca" indicate nelle LG PDND Interoperabilità e ALLEGATO 2, non capisco da dove derivi l'interperatazione che è stata data.

Grazie

ruggerocastagnola commented 1 year ago

Ciao Vincenzo, provo a rispondere io. Dunque, è previsto sia sviluppato anche un servizio di archiviazione di una versione di e-service (feature non ancora implementata). Questa archiviazione può avvenire lato erogatore solo quando tutte le richieste di fruizione associate a quella versione di e-service sono state aggiornate dai fruitori ad una versione di e-service più recente. In questo caso la dismissione è un procedimento strettamente tecnico ("dismetto qualcosa non più in uso").

La sospensione di una versione invece blocca di fatto il funzionamento di tutti i fruitori e i servizi dei fruitori che si appoggiano a quella versione di e-service. Non è una procedura solo tecnica ("sospendo il servizio per un sospetto data leak") ma anche amministrativa ("mi prendo la responsabilità di generare un'interruzione di servizio nei confronti dei fruitori").

In base a questo ragionamento ci parrebbe che l'operatore API non debba avere il potere di sospendere o riattivare una versione di e-service precedentemente sospesa.

Qui sto solo spiegando il nostro ragionamento, ma siamo ovviamente disponibili a parlarne e capire assieme come procedere

vintra73 commented 1 year ago

buongiorno @ruggerocastagnola, ma continuo a non condividere la vostra interpretazione, personalmente stò parlando della revoca di una versione si un'e-service, ed in merito ti riporto quanto indicato nell'allegato 2 delle LG:

L’Erogatore PUÒ pubblicare una nuova versione di un descrittore di e-service previa revoca della versione precedente. La nuova versione di un descrittore di e-service DEVE assicurare l’invarianza dei requisiti di fruizione e del modello di interoperabilità applicato per essa. Alla pubblicazione di una nuova versione di un descrittore di e-service, l’Infrastruttura interoperabilità PDND DEVE comunicare tale circostanza ai Fruitori dell’e-service.

Nel caso in cui non sia in atto la fruizione del relativo e-service da parte di un Fruitore l’Infrastruttura interoperabilità PDND DEVE archiviare la versione di un descrittore di e-service revocato dall’Erogatore.

da cui non vedo nessuna azione amministrativa necessaria in quanto il cambio di versione di un'e-service non interompe le comunicazione in essere per le versioni precedente, confermato dal fatto che l'archiviazione (tra l'altro a carico della PDND) può avvenire solo dopo che tutte le fruizioni da parte degli Erogatori sono state chiuse

ruggerocastagnola commented 1 year ago

Ciao @vintra73, perdona la risposta molto molto tarda, purtroppo mi è sfuggita la notifica su questa issue. Ho capito quello che dici e hai ragione, è una questione di nomenclatura.

Per noi "sospendi" è un'azione temporanea. Quella versione può essere "riattivata" in qualsiasi momento revocando la sospensione. Io parlavo di quella.

L'azione di cui parli tu è invece l'archiviazione ("archivia") ed è in lavorazione dal team in queste settimane, dunque non ancora disponibile in piattaforma. Funzionerà come dici tu, con alcuni caveat legati al fatto che 1) gli attributi sono stati spostati nelle versioni degli e-service e 2) noi puntiamo sempre a garantire la continuità di servizio.

Dal punto di vista pratico, ci sarà un'archiviazione automatica di una versione di e-service, che avverrà quando l'ultimo fruitore archivia la richiesta di fruizione per la versione di e-service in questione. Dall'altra parte, ci sarà un'archiviazione manuale dell'intero e-service, che darà facoltà all'erogatore di dismettere unilateralmente un intero servizio non più in uso, come richiesto da più attori.

Se utile un approfondimento su questo tema ovviamente nessun problema. Sicuramente seguirà documentazione sul Gitbook