Only this pageAll pages
Powered by GitBook
1 of 58

Installazione e manutenzione

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Backup

Loading...

Loading...

Loading...

Loading...

Release

Versione 3

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Aggiornamenti

Gli aggiornamenti sono pubblicati ad ogni release sul repository ufficiale della piattaforma e in forma di changelog.

La maggior parte delle operazioni di aggiornamento riguardano la struttura dei database e ogni sistema che ne fa uso si occupa in autonomia di effettuare i cambiamenti mediante un proprio sistema di migrazioni.

Se non diversamente specificato è necessario eseguire l'aggiornamento in due step:

  1. aggiornamento del microservizio app-manager, che esegue le migrazioni del core

  2. aggiornamento di tutti gli altri microservizi

Le modifiche elencate in modo dettagliato nel presente nel repository principale sono sintetizzate con un linguaggio più amichevole in un , dove viene pubblicato un post per ogni release.

L'aggiornamento della piattaforma consiste per questo motivo nell'aggiornamento della versione dei microservizi, nelle pagine dedicate alle sono disponibili le singole versioni rilasciate con l'elenco di tutte le versioni di tutti i microservizi.

In qualche caso è possibile che ci siano operazioni che non siamo riusciti a gestire in modo automatico, per questo motivo prima di applicare aggiornamenti consultare sempre il file dove vengono elencate operazioni preliminari o da eseguire subito dopo l'upgrade.

CHANGELOG
blog tecnico
release della piattaforma
UPGRADE

Features Pagamenti

Un feature flag (o feature toggle) è una tecnica di sviluppo software che consente di abilitare o disabilitare funzionalità specifiche in un'applicazione senza dover modificare il codice o effettuare

Nome Feature Flag

Struttura del Feature Flag

Microservizio

Descrizione

import_all_dues

{ "tenants": [ { "id": "60e35f02-1509-408c-b101-3b1a28109329" } ] }

Rappresenta un elenco di tenant per i quali, durante il login, vengono importati i dovuti di tutti i dovuti di un cittadino, indipendentemente dal fatto che siano stati creati esternamente o internamente alla piattaforma.

Se un tenant è incluso nella lista del feature flag, questo flusso risulta abilitato.

Jppa payment proxy

Monitoraggio

La maggior parte dei microservizi offre la possibilità di essere sottoposto a monitoraggio con vari tools:

i microservizi espongono un path /metricsche espone metriche in

mediante una variabile di ambiente è possibile abilitare l'integrazione con uno strumento per la gestione aggregata e analitica degli errori applicativi, disponibile sia come servizio cloud, sia come che si può installare sulla propria infrastruttura

formato prometheus
Sentry
software opensource

Integrazioni

In questa sezione sono elencate tutte le integrazioni dell'area personale con sistemi di autenticazione, pagamenti e protocollo esterni.

Gestione della piattaforma

In questo documento sono descritte le attività operative per l'installazione e la manutenzione dei servizi della piattaforma, svolte dal personale di Opencity Labs per l'ambiente SaaS. Le stesse operazioni possono essere svolte da partner tecnici - con il supporto di Opencity Labs - sulle proprie installazioni on-premise.

Il documento è orientato a sistemisti, platform engineers, SRE e tecnici addetti alla manutenzione della piattaforma in produzione.

La piattaforma Opencity Italia è composta da due componenti integrate tra loro:

  • il sito istituzionale: un CMS che implementa il Design della Pubblica Amministrazione e basato su modelli di sito ufficiali di Designers Italia (Comuni, Asl, Musei)

  • i servizi digitali e l'area personale: un'area interattiva con cui i cittadini possono usufruire di servizi di richiesta a istanza, pagare dovuti PagoPA, prenotare appuntamenti.

Pagamenti

La piattaforma è integrata con intermediari di pagamento pagoPA sviluppati da OpenCity Labs. In questa pagina si descrivono i vari metodi di pagamento e le features implementate, non implementate e non supportate.

Legenda

✅ Implementato

❌ Non implementato

❗ Non supportato

Versione

N/A

Pagamento online

✅

Pagamento con avviso PDF

✅

Ricevuta a pagamento completato

✅

Pagamento con bilancio

✅

Pagamenti dovuti importati via CSV

✅

Pagamenti dovuti importati via API

❌

Marca da Bollo Digitale (solo in fase di richiesta o rilascio ma non entrambi, rilascio non modificabile)

❌

Pagamenti Multipli

❌

Pagamenti Multibeneficiario

❌

Versione Evento Payment

v1

Monitoraggio

✅

Versione

N/A

Pagamento online

✅

Pagamento con avviso PDF

✅

Ricevuta a pagamento completato

✅

Pagamento con bilancio

✅

Pagamenti dovuti importati via CSV

✅

Pagamenti dovuti importati API CSV

❌

Marca da Bollo Digitale (sia in fase di richiesta che di rilascio, non pagabile tramite checkout insieme ad altri pagamenti)

✅

Pagamenti Multipli

✅

Pagamenti Multibeneficiario

❌

Versione Evento Payment

v2

Monitoraggio

✅

Versione

4.0

Pagamento online

✅

Pagamento con avviso PDF

✅

Ricevuta a pagamento completa

✅

Pagamento con bilancio

✅

Pagamento dovuti importati via CSV

✅

Pagamento dovuti importati via API

❌

Marca da Bollo Digitale (solo in fase di richiesta o rilascio ma non entrambi, rilascio non modificabile)

✅

Pagamenti Multipli

✅

Pagamenti Multibeneficiario

❌

Versione Evento Payment

v2

Monitoraggio

✅

Versione

1.0

Pagamento online

✅

Pagamento con avviso PDF

✅

Ricevuta a pagamento completa

✅

Pagamento con bilancio

❌

Pagamento dovuti importati via CSV

✅

Pagamento dovuti importati via API

❌

Marca da Bollo Digitale (solo in fase di richiesta o rilascio ma non entrambi, rilascio non modificabile)

❌

Pagamenti Multipli

❌

Pagamenti Multibeneficiario

❌

Versione Evento Payment

v1

Monitoraggio

❌

Versione

10.9

Pagamento online

✅

Pagamento con avviso PDF

✅

Ricevuta a pagamento completato

✅

Pagamento con bilancio

❗

Pagamento dovuti importati via CSV

✅

Pagamento dovuti importati via API

❌

Marca da Bollo Digitale (solo in fase di richiesta o rilascio ma non entrambi, rilascio non modificabile)

❌

Pagamenti Multipli

❌

Pagamenti Multibeneficiario

❌

Versione Evento Payment

v1

Monitoraggio

✅ (da aggiornare)

Versione

2.6

Pagamento online

✅

Pagamento con avviso PDF

✅

Ricevuta a pagamento completato

✅

Pagamento con bilancio

✅

Pagamento dovuti importati via CSV

❌

Pagamento dovuti importati via API

❌

Marca da Bollo Digitale (solo in fase di richiesta o rilascio ma non entrambi, rilascio non modificabile)

❌

Pagamenti Multipli

❌

Pagamenti Multibeneficiario

❌

Versione Evento Payment

v2

Monitoraggio

✅ (da aggiornare)

Versione

N/A

Pagamento online

✅

Pagamento con avviso PDF

✅

Ricevuta a pagamento completato

✅

Pagamento con bilancio

✅

Pagamento dovuti importati via CSV

❌

Pagamento dovuti importati via API

❌

Marca da Bollo Digitale (solo in fase di richiesta o rilascio ma non entrambi, rilascio non modificabile)

❌

Pagamenti Multipli

❌

Pagamenti Multibeneficiario

❌

Versione Evento Payment

v2

Monitoraggio

✅ (da aggiornare)

Versione

3.4.0

Pagamento online

✅

Pagamento con avviso PDF

✅

Ricevuta a pagamento completato

✅

Pagamento con bilancio

✅

Pagamento dovuti importati via CSV

✅

Pagamento dovuti importati via API

❌

Marca da Bollo Digitale (solo in fase di richiesta o rilascio ma non entrambi, rilascio non modificabile)

❌

Pagamenti Multipli

❌

Pagamenti Multibeneficiario

❌

Versione Evento Payment

v2

Monitoraggio

✅ (da aggiornare)

Versione

3.6.6

Pagamento online

✅

Pagamento con avviso PDF

✅

Ricevuta a pagamento completato

✅

Pagamento con bilancio

✅

Pagamento dovuti importati via CSV

✅

Pagamento dovuti importati via API

❌

Marca da Bollo Digitale (solo in fase di richiesta o rilascio ma non entrambi, rilascio non modificabile)

❌

Pagamenti Multipli

❌

Pagamenti Multibeneficiario

❌

Versione Evento Payment

v2

Monitoraggio

✅ (da aggiornare)

Versione

1.12.0

Pagamento online

✅

Pagamento con avviso PDF

✅

Ricevuta a pagamento completato

✅

Pagamento con bilancio

✅

Pagamento dovuti importati via CSV

✅

Pagamento dovuti importati via API

❌

Marca da Bollo Digitale (solo in fase di richiesta o rilascio ma non entrambi, rilascio non modificabile)

❌

Pagamenti Multipli

❌

Pagamenti Multibeneficiario

❌

Versione Evento Payment

v2

Monitoraggio

✅ (da aggiornare)

Versione

4.3.0

Pagamento online

✅

Pagamento con avviso PDF

✅

Ricevuta a pagamento completato

✅

Pagamento con bilancio

✅

Pagamento dovuti importati via CSV

✅

Pagamento dovuti importati via API

✅

Marca da Bollo Digitale (solo in fase di richiesta o rilascio ma non entrambi, rilascio non modificabile)

❌

Pagamenti Multipli

❌

Pagamenti Multibeneficiario

❌

Versione Evento Payment

v2

Monitoraggio

✅ (da aggiornare)

Versione

1.3

Pagamento online

✅

Pagamento con avviso PDF

✅

Ricevuta a pagamento completato

✅

Pagamento con bilancio

❗

Pagamento dovuti importati via CSV

✅

Pagamento dovuti importati via API

❌

Marca da Bollo Digitale (solo in fase di richiesta o rilascio ma non entrambi, rilascio non modificabile)

✅

Pagamenti Multipli

❌

Pagamenti Multibeneficiario

❌

Versione Evento Payment

v2

Monitoraggio

✅ (da aggiornare)

Versione

1.0.2

Pagamento online

✅

Pagamento con avviso PDF

✅

Ricevuta a pagamento completato

✅

Pagamento con bilancio

❗

Pagamento dovuti importati via CSV

✅

Pagamento dovuti importati via API

❌

Marca da Bollo Digitale (solo in fase di richiesta o rilascio ma non entrambi, rilascio non modificabile)

❌

Pagamenti Multipli

✅

Pagamenti Multibeneficiario

❌

Versione Evento Payment

v2

Monitoraggio

✅

Versione

N/A

Pagamento online

✅

Pagamento con avviso PDF

❗

Ricevuta a pagamento completato

✅ (nota: è caricata dal cittadino)

Pagamento con bilancio

❗

Pagamento dovuti importati via CSV

✅

Pagamento dovuti importati via API

❗

Marca da Bollo Digitale (solo in fase di richiesta o rilascio ma non entrambi, rilascio non modificabile)

❗

Pagamenti multipli

❗

Pagamenti Multibeneficiario

❗

Versione Evento Payment

v1

Monitoraggio

❌

Versione

N/A

Pagamento online

✅

Pagamento con avviso PDF

❗

Ricevuta a pagamento completato

❗

Pagamento con bilancio

❗

Pagamento dovuti importati via CSV

✅

pagamento dovuti importati via CSV

❗

Marca da Bollo Digitale (solo in fase di richiesta o rilascio ma non entrambi, rilascio non modificabile)

❗

Pagamenti multipli

❗

Pagamenti Multibeneficiario

❗

Versione Evento Payment

v2

Monitoraggio

❌

E-FIL Plug&Pay
IRIS
MyPay
PmPay
CiviliaNext - Dedagroup
Cittadino Digitale - APKappa
Siscom
Silfi FirenzeSmart
GovPay
DePag
JPPA
Golem WGolEPay
Advanced Systems
External Page
Checkout pagoPA

3.14.X

 3.14.3

🌄 Aggiornato il widget dei pagamenti dovuti alla versione 1.1.2

3.14.2

🐞 Rollback sulla modifica dei nomi delle tabelle 🐞 Corretto errore di lettura sui pagamenti restituiti dal read model

3.14.1

🌄 Modificati i nomi delle tabelle nel read model dei pagamenti

3.14.0

Attenzione!!! questa release introduce una modifica non retro compatibile nel meccanismo di consultazione dei pagamenti lato cittadino.

Le altre novità di questa release sono:

Di seguito la lista dei micro servizi con le versioni aggiornate

Pagamenti

Protocolli

Integrazione PDND

Widget

Analytics

Satisfy

  • Ratings Aggregator ???

Primo avvio e configurazione

Una volta scelto il tipo di distribuzione, creato il file delle istanze e creati i database si potrà effettuare il deploy dei servizi che compongono la piattaforma.

Al primo avvio verranno svolte alcune operazioni in automatico:

  • Esecuzione delle migrazioni su tutti i database delle istanze specificate nel file instances.yml

  • Esecuzione delle migrazioni sul database del registry

  • Creazione dei topics di kafka necessari

  • Creazione degli stream e delle tabelle sul servizio ksqldb-server

Una volta eseguite queste azioni automatiche dovranno essere finalizzate le configruazioni degli ambienti da parte dell'utente.

Configurazione dell'utente admin per il registry

Entrare nel servizio registry ed eseguire il seguente comando:

/app/venv/bin/python3.9 manage.py createsuperuser

Verrà avviata una procedura guidata per la creazione dell'utente admin per il registry

Installazione dei componenti base nel form server

L'installazione dei componenti base nel formserver può essere fatta in automatico tramite l'esecuzione del formserver-init (Per maggiori info guardare i file di distribuzione)

Queste operazioni possono essere eseguite anche manualmente, effettuato una post alle api del form server:

I componenti da creare sono:

Variabili ambiente

Di seguito la lista delle variabili d'ambiente che possono essere configurare nel microservizio core della piattaforma

Nome
Required
Default
Note

OCSDC_SCHEME

No

https

Usato per i link inseriti nelle email transazionali

OCSDC_HOST

No

localtest.me

Usato per i link inseriti nelle email transazionali

DB_DRIVER

No

pdo_pgsql

Database configuration

DB_HOST

No

postgres

DB_PORT

No

5432

DB_NAME

No

sdc_multi

DB_USER

No

sdc

DB_PASSWORD

No

sdc

MAILER_URL

No

smtp://mailserver:1025

Configurazione per l'invio di messaggi transazionali (DSN)

PEC_MAILER_TRANSPORT

No

smtp

Configurazione server per l'invio di messaggi ai sistemi di protocollo che accettano PEC

PEC_MAILER_HOST

Yes

smtp.pec.host

PEC_MAILER_PORT

No

465

PEC_MAILER_USER

No

null

PEC_MAILER_PASSWORD

No

null

PEC_DELIVERY_ADDRESS

Yes

pec.stanzadelcittadino@localtest.me

APP_SECRET

Yes

ThisTokenIsNotSoSecretChangeIt

DEFAULT_FROM_EMAIL_ADDRESS

No

stanzadelcittadino@localtest.me

WKHTMLTOPDF_SERVICE

Yes

Url dell'API del servizio Gotenberg

PDF_CONVERT_TYPE

No

url

Tipo di conversione utilizzata nella stampa pdf di una pratica, possibili valori: url - (il micro servizio visita la pagina da stampare), html (al micro servizio viene passato l'html della pratica)

EZ_PASSWORD

No

ez

PASSWORD_LIFE_TIME

No

365

Durata in giorni della password per amministratori e operatori: dopo questa data l'account resta attivo ma al primo login verra' richiesto il cambio password

INACTIVE_USER_LIFE_TIME

No

545

Numero massimo di giorni dopo il quale in assenza di login l'account viene bloccato

FORMSERVER_PRIVATE_URL

Yes

http//formserver

URL al formserver usato dal processo PHP per aggiornare i moduli

FORMSERVER_PUBLIC_URL

Yes

URL al formserver usato da utenti ed operatori per visualizzare i moduli

FORMSERVER_ADMIN_URL

Yes

URL al formserver usato dagli amministratori per visualizzare i moduli

HASH_VALIDITY

No

1

TOKEN_TTL

No

3600

Durata del token di autenticazione in secondi

RECAPTCHA_KEY

Yes

Credenziali del recaptcha usato sulle pratiche anonime

RECAPTCHA_SECRET

Yes

Credenziali del recaptcha usato sulle pratiche anonime

SENTRY_DSN

No

SENTRY_TRACES_SAMPLE_RATE

No

Decimale da 0 a 1. Specifica la percentuale di transazioni inviate a Sentry. (Esemio: se impostato 0.2 il 20% delle transazioni saranno registrate ed inviate)

LOGIN_ROUTE

No

login_pat

Autenticazione di default, sovrascribile per tenant

SINGLE_LOGOUT_URL

No

/Shibboleth.sso/Logout

Url a cui rendirizzare dopo il logout

BROWSERS_RESTRICTIONS

No

null

CACHE_MAX_AGE

No

0

Valore degli header cache-control restituiti dai path che consentono il caching

UPLOAD_DESTINATION

No

local_filesystem

Destinazione dei file caricati dagli utenti del sistema. Alternativa: s3_filesystem e allora richiede le variabili S3_** per dettagliare le configurazioni

S3_REGION

No

eu-west-1

S3_KEY

No

S3_SECRET

No

S3_BUCKET

No

test

KAFKA_BROKERS

No

Lista dei broker di kafka, necessaria per i check sui pagamenti

KAFKA_URL

No

null

Se configurato, gli eventi delle entità dell'applicativo vengono inviati al server Kafka

KAFKA_TOPIC_APPLICATIONS

No

applications

Nome del topic a cui vengono inviati gli eventi relativi alle Pratiche

KAFKA_TOPIC_SERVICES

No

services

Nome del topic a cui vengono inviati gli eventi relativi ai Servizi

KAFKA_TOPIC_PAYMENTS

No

payments

Nome del topic a cui vengono inviati gli eventi relativi ai Payments

API_VERSION

No

1

Versione delle API service in caso non venga specificato

SKIP_CACHE_WARMUP

No

false

Salta la creazione anticipata della cache all'avvio del container

SIGNATURE_CHECK_WS_URL

No

null

Url del microservizio per la verifica dei file firmati

IP_INFO_WS_URL

No

null

Url del microservizio per recupero di informazioni da ip

DEFAULT_CACHE_REDIS_PROVIDER

No

redis://redis:6379

Provider della cache redis espresso in DSN. Es: redis://redis:6379

DEFAULT_CACHE_LIFETIME

No

86400

TTL (Time To Live) della cache dell'applicazione espresso in secondi. Valore di default 86400 (1 giorno)

DEFAULT_CACHE_PREFIX_SEED

No

sdc

Utilizzato per calcolare le chiavi della cache

SATISFY_WIDGET_URL

No

Url del widget per la valutazione delle pagine/servizi da parte degli utenti

SATISFY_API_URL

No

Endpoint API per la configurazione del widget di soddisfazione utente

SATISFY_SECRET

No

null

Secret per accesso alle API per la configurazione del widget di soddisfazione utente

REGISTRY_API_URL

No

null

Endpoint API per la configurazione dei protocolli esterni disponibili nel registry

REGISTRY_API_KEY

No

null

Secret per accesso alle API per la configurazione dei protocolli esterni disponibili nel registry

HOME_PAGE

No

servizi_list

Serve per specificare una homepage differente dalla lista dei servizi, il valore deve essere il nome di una rotta

API_USER_PASSWORD

No

change_me

Password per l'utente api

STACK_IDENTIFIER

No

sdc

Identificativo dello stack attuale

Integrazioni terze parti

Nome
Required
Default
Note

PITRE_ADAPTER_URL

No

Indirizzo del Pitre Soap Proxy

GISCOM_ADAPTER_URL

No

GISCOM_PASSWORD

No

giscom

GISCOM_ADAPTER_USERNAME

No

pippo

GISCOM_ADAPTER_PASSWORD

No

passw

QUEUEIT_CUSTOMER_ID

No

QUEUEIT_SECRET

No

Your 72 char secret key as specified in Go Queue-it self-service platform

QUEUEIT_CONFIG_FILE

No

MYPAY_ADAPTER_URL

No

Indirizzo del MyPay Soap Proxy

IO_API_URL

No

Url a cui effettuare le chiamate per l'App.IO: e' possibile con questa variabile indirizzare le chiamate a un proprio proxy interno

Configurazione tenants

Il sistema è multitenant-multiple-databases, i tenant configurati sono nel file app/instances_${APP_ENV}.yml

E' possibile sovrascrivere il file dei tenant con alcune variabili d'ambiente:

Nome
Required
Default
Note

INSTANCE_OVERRIDE

No

false

Impostare a true per abilitare la funzionalità

INSTANCE_address

No

Indirizzo completo dell'applicazione, es: stanzadelcittadino.localtest.me/comune-di-bugliano

INSTANCE_identifier

No

Identificativo dell'ente sul database, es: comune-di-bugliano

INSTANCE_database:

No

Nome del database dell'istanza, es: sdc_bugliano

INSTANCE_codice_meccanografico

No

Codice meccanografico, es: c_cbug (puo' essere un codice di fantasia)

Abilitazione features

Mediante specifiche variabili d'ambiente è possibile abilitare o disabilitare features.

FEATURE_NOME=true

Feature disponibili:

  • Browser outdated, si abilita tramite la variabile d'ambiente FEATURE_NEW_OUTDATED_BROWSER: sostituisce il vecchio plugin browser outdated per la verifica di browser obsoleti. Migliora la scelta di browser compatibili tramite la versione minima configurata. Supporta browser mobile con callback specifiche per Web - Android - IOS.

  • Interfaccia di dettaglio pratica per il cittadino, si abilita tramite la variabile d'ambiente FEATURE_APPLICATION_DETAIL: sostituisce l'interfaccia di dettaglio ad uso del cittadino, migliorandone la user experience. Consente inoltre lo scambio di messaggi tra operatore e cittadino.

  • Calendari con appuntamenti a intervalli dinamici, si abilita tramite la variabile d'ambiente FEATURE_CALENDAR_TYPE: aggiunge la possibilità di modificare la tipologia di appuntamenti di un calendario aggiungendo la possibilità di gestire prenotazioni ad intervalli variabili

  • Interfaccia per operatori e admin, si abilita tramite la variabile d'ambiente FEATURE_ANALYTICS: abilita la pagina operatori/analytics mostrando dati statistici della stanza.

  • Identificativo univoco del servizio, si abilita/disabilita tramite la variabile d'ambiente FEATURE_SERVICE_IDENTIFIER: Consente all'amministratore di definire ed editare per ogni servizio un identificativo univoco.

  • Orari di apertura sovrapposti, si abilita/disabilita tramite la variabile d'ambiente FEATURE_OVERLAPPED_OPENING_HOURS: Consente all'amministratore di creare un calendario dove si possono aggiungere più orari di apertura nella stessa fascia oraria. Sovrascribile a livello di tenant.

  • Gestione dovuti, mediante variabile d'ambiente FEATURE_DUE_AMOUNT. Sovrascribile a livello di tenant con feature_due_amount.

  • Abilitazione dell'integrazione con la PDND, mediante variabile d'ambiente FEATURE_PDND. Sovrascribile a livello di tenant con feature_pdnd.

  • Abilitazione della personalizzazione dei template dei pdf per ente e servizio mediante variabile d'ambiente FEATURE_CUSTOM_TEMPLATES. Sovrascribile a livello di tenant con feature_custom_templates.

  • Abilitazione dell'interfaccia di configurazione dei pagamenti multipli (Supportata solo su alcuni proxy di pagamento è attualmente ancora in sviluppo) FEATURE_MULTIPLE_PAYMENTS. Sovrascribile a livello di tenant con feature_multiple_payments.

  • Abilitazione del backoffice lato operatore per la moderazione delle segnalazioni FEATURE_INEFFICIENCIES_BACKOFFICE. Sovrascribile a livello di tenant con feature_inefficiencies_backoffice.

  • Abilitazione della sezione lato amministratore per l'assegnazione automatica delle pratiche in base al valore di un campo espresso in fase di compilazione della pratica FEATURE_AUTOMATIC_APPLICATIONS_ASSIGNMENT. Sovrascribile a livello di tenant con feature_automatic_applications_assignment

  • Abilitazione della visualizzazione e gestione da parte degli operatori del Livello di priorità delle pratiche. FEATURE_APPLICATIONS_PRIORITY. Sovrascribile a livello di tenant con feature_applications_priority

  • Abilitazione di 2 nuovi workflow per la gestione delle pratica Silezio assenso e Silenzio diniego FEATURE_TACIT_OUTCOME. Sovrascribile a livello di tenant con feature_tacit_outcome

Abilitazione protocolli

Nel file di configurazione config/packages/app.yaml è possibile configurare i protocolli disponibili all'amministratore nella configurazione del servizio. Per configurare un protocollo è sufficiente aggiungere una voce alla lista dei protocolli disponibili register_providers

  <key>:
    name: <name>
    url: <protocol_provider_url>
    handler: <handler>
    headers:
      - '<header-name>=<header_value>'
    enabled: <true|false>

dove:

Nome
Required
Note

key

Yes

Identificativo univoco del protocollo

name

Yes

Nome visualizzato dall'amministratore nella configurazione del servizio

handler

Yes

Tipologia di protocollo: infor sipal pec pitre external (indicare external se l'implementazione del protocollo è esterna all'applicazione )

url

No

Url API del protocollo esterno (obbligatorio se si utilizza l'handler external)

headers

No

Eventiali headers necessari per la comunicazione con le API del protocollo esterno

enabled

Yes

Indica se la configurazione del protocollo è abilitata sull'ente

Autenticazioni

La piattaforma è integrata con sistemi di autenticazione sviluppati sia da OpenCity Labs che da diversi partner ed enti locali. In questa pagina si descrivono i vari metodi di autenticazione e le configurazioni per abilitarli.

Legenda

✅ Supportato

❌ Non supportato

Cittadini

Di seguito sono descritte le integrazioni supportate con sistemi di terze parti e non che possono essere configurate lato cittadino

Agid / Cie Ministero

SPID L1/L2
CNS
CIE L1
CIE L2
CIE L3
eIDAS

✅

❌

✅

✅

✅

❌

Le configurazioni necessarie da inserire nel file delle istanze per ogni singolo tenant sono:

instances:
  servizi.comune.bugliano.pi.it/lang:
    login_route: login_oauth
    oauth:
      provider: openlogin
      redirect_url: http://servizi.comune.bugliano.pi.it/lang/auth/login-oauth
      url_authorize: https://login.comune.bugliano.pi.it/authorize
      url_access_token: https://login.comune.bugliano.pi.it/token
      url_resource_owner_details: https://login.comune.bugliano.pi.it/api/profile
      url_logout: https://login.comune.bugliano.pi.it/logout?redirect=http://servizi.comune.bugliano.pi.it/lang
      client_id: {client_id}
      client_secret: {client_secret}

Dove: servizi.comune.bugliano.pi.it è una url di esempio di un'istanza della piattaforma login.comune.bugliano.pi.it è una url di esempio di un'istanza sul micro servizio OpenLogin

CAS

SPID L1/L2
CNS
CIE L1
CIE L2
CIE L3
eIDAS

✅

❌

✅

✅

✅

❌

Le configurazioni necessarie da inserire nel file delle istanze per ogni singolo tenant sono:

instances:
  servizi.comune.bugliano.pi.it/lang:
    login_route: login_cas
    cas_login_url: https://cas-server.it/cas/login
    cas_validation_url: https://cas-server.it/cas/serviceValidate
    single_logout_url: https://cas-server.it/cas/logout?service=https://servizi.comune.bugliano.pi.it

Dove: servizi.comune.bugliano.pi.it è una url di esempio di un'istanza della piattaforma cas-server.it è una url di esempio di un server CAS

Arpa

SPID L1/L2
CNS
CIE L1
CIE L2
CIE L3
eIDAS

✅

✅

✅

✅

✅

❌

Le configurazioni necessarie da inserire nel file delle istanze per ogni singolo tenant sono:

instances:
  servizi.comune.bugliano.pi.it/lang:
    login_route: login_oauth
    oauth:
      provider: arpa
      redirect_url: http://servizi.comune.bugliano.pi.it/lang/auth/login-oauth
      url_authorize: https://arpa-server.it/authorize
      url_access_token: https://arpa-server.it/token
      url_resource_owner_details: https://arpa-server.it/api/profile
      url_logout: https://arpa-server.it/logout?redirect=http://servizi.comune.bugliano.pi.it/lang
      client_id: {client_id}
      client_secret: {client_secret}

Dove: servizi.comune.bugliano.pi.it è una url di esempio di un'istanza della piattaforma arpa-server.it è una url di esempio del sistema di autenticazione Arpa

Provincia Autonoma di Trento

SPID L1/L2
CIE L1
CIE L2
CIE L3
eIDAS

✅

✅

✅

✅

❌

Le configurazioni necessarie da inserire nel file delle istanze per ogni singolo tenant sono:

instances:
  servizi.comune.bugliano.pi.it/lang:
    login_route: login_pat

Dove: servizi.comune.bugliano.pi.it è una url di esempio di un'istanza della piattaforma

Provincia Autonoma di Trento OIDC

SPID L1/L2
CIE L1
CIE L2
CIE L3
eIDAS

✅

✅

✅

✅

❌

Questo metodo di autenticazione sfrutta l'utilizzo di OIDC per interfacciarsi al sistema di autenticazione sviluppato da Trentino Digitale per la Provincia Autonoma di Trento

Le configurazioni necessarie da inserire nel file delle istanze per ogni singolo tenant sono:

instances:
  servizi.comune.bugliano.pi.it/lang:
    login_route: login_oauth
    oauth:
      provider: tndigit
      redirect_url: http://servizi.comune.bugliano.pi.it/lang/auth/login-oauth
      url_authorize: https://aac.cloud-qual.tndigit.it/oauth/authorize
      url_access_token: https://aac.cloud-qual.tndigit.it/oauth/token
      url_resource_owner_details: https://aac.cloud-qual.tndigit.it/userinfo
      url_logout: https://aac.cloud-qual.tndigit.it/endsession?post_logout_redirect_uri=https://servizi.comune.bugliano.pi.it/lang
      client_id: {client_id}
      client_secret: null

Dove: servizi.comune.bugliano.pi.it è una url di esempio di un'istanza della piattaforma

Firenze Smart

SPID L1/L2
CNS
CIE L1
CIE L2
CIE L3
eIDAS

✅

✅

✅

✅

✅

❌

Le configurazioni necessarie da inserire nel file delle istanze per ogni singolo tenant sono:

instances:
  servizi.comune.bugliano.pi.it/lang:
    login_route: login_oauth
    oauth:
      provider: firenzesmart-citizen
      redirect_url: http://servizi.comune.bugliano.pi.it/lang/auth/login-oauth
      url_authorize: https://firenzesmart-server.it/authorize
      url_access_token: https://firenzesmart-server.it/token
      url_resource_owner_details: https://firenzesmart-server.it/api/profile
      url_logout: https://firenzesmart-server.it/logout?redirect=http://servizi.comune.bugliano.pi.it/lang
      client_id: {client_id}
      client_secret: {client_secret}

Dove: servizi.comune.bugliano.pi.it è una url di esempio di un'istanza della piattaforma firenzesmart-server.it è una url di esempio del sistema di autenticazione Firenze Smart

MyId Veneto

SPID L1/L2
CNS
CIE L1
CIE L2
CIE L3
eIDAS

✅

✅

✅

✅

✅

✅

Le configurazioni necessarie da inserire nel file delle istanze per ogni singolo tenant sono:

instances:
  servizi.comune.bugliano.pi.it/lang:
    login_route: login_oauth
    oauth:
      provider: openlogin
      redirect_url: http://servizi.comune.bugliano.pi.it/lang/auth/login-oauth
      url_authorize: https://login.comune.bugliano.pi.it/authorize
      url_access_token: https://login.comune.bugliano.pi.it/token
      url_resource_owner_details: https://login.comune.bugliano.pi.it/api/profile
      url_logout: https://login.comune.bugliano.pi.it/logout?redirect=http://servizi.comune.bugliano.pi.it/lang
      client_id: {client_id}
      client_secret: {client_secret}

Dove: servizi.comune.bugliano.pi.it è una url di esempio di un'istanza della piattaforma login.comune.bugliano.pi.it è una url di esempio di un'istanza sul micro servizio OpenLogin

Login FVG

SPID L1/L2
CNS
CIE L1
CIE L2
CIE L3
eIDAS

✅

✅

✅

✅

✅

✅

Le configurazioni necessarie da inserire nel file delle istanze per ogni singolo tenant sono:

instances:
  servizi.comune.bugliano.pi.it/lang:
    login_route: login_oauth
    oauth:
      provider: openlogin
      redirect_url: http://servizi.comune.bugliano.pi.it/lang/auth/login-oauth
      url_authorize: https://login.comune.bugliano.pi.it/authorize
      url_access_token: https://login.comune.bugliano.pi.it/token
      url_resource_owner_details: https://login.comune.bugliano.pi.it/api/profile
      url_logout: https://login.comune.bugliano.pi.it/logout?redirect=http://servizi.comune.bugliano.pi.it/lang
      client_id: {client_id}
      client_secret: {client_secret}

Dove: servizi.comune.bugliano.pi.it è una url di esempio di un'istanza della piattaforma login.comune.bugliano.pi.it è una url di esempio di un'istanza sul micro servizio OpenLogin

My Civis

SPID L1/L2
CNS
CIE L1
CIE L2
CIE L3
eIDAS

✅

✅

✅

✅

✅

❌

Le configurazioni necessarie da inserire nel file delle istanze per ogni singolo tenant sono:

instances:
  servizi.comune.bugliano.pi.it/lang:
    login_route: login_siag
    siag_base_url: https://mycivis-server.it

Dove: servizi.comune.bugliano.pi.it è una url di esempio di un'istanza della piattaforma mycivis-server.it è una url di esempio del sistema di autenticazione My Civis

Sirac

SPID L1/L2
CNS
CIE L1
CIE L2
CIE L3
eIDAS

✅

✅

✅

✅

✅

❌

Le configurazioni necessarie da inserire nel file delle istanze per ogni singolo tenant sono:

instances:
  servizi.comune.bugliano.pi.it/lang:
    login_route: login_pat

Dove: servizi.comune.bugliano.pi.it è una url di esempio di un'istanza della piattaforma

Deda login

SPID L1/L2
CNS
CIE L1
CIE L2
CIE L3
eIDAS

✅

❌

❌

❌

❌

❌

Le configurazioni necessarie da inserire nel file delle istanze per ogni singolo tenant sono:

instances:
  servizi.comune.bugliano.pi.it/lang:
    login_route: login_deda
    deda_login_client_id: {client_id}
    deda_login_secret: {client_secret}

Dove: servizi.comune.bugliano.pi.it è una url di esempio di un'istanza della piattaforma

Microsoft Entra ID

Le configurazioni necessarie da inserire nel file delle istanze per ogni singolo tenant sono:

instances:
  servizi.comune.bugliano.pi.it/lang:
    login_route: login_oauth
    oauth:
      provider: microsoft-entra-id
      redirect_url: http://servizi.comune.bugliano.pi.it/lang/auth/login-oauth
      url_authorize: https://login.microsoftonline.com/{tenant_id}/oauth2/v2.0/authorize
      url_access_token: https://login.microsoftonline.com/{tenant_id}/oauth2/v2.0/token
      url_resource_owner_details: https://graph.microsoft.com/v1.0/me/
      url_logout: https://login.microsoftonline.com/{tenant_id}/oauth2/v2.0/logout?post_logout_redirect_uri=http://servizi.comune.bugliano.pi.it/lang
      client_id: {client_id}
      client_secret: {client_secret}

Dove: servizi.comune.bugliano.pi.it è una url di esempio di un'istanza della piattaforma

Operatori

Di seguito sono descritte le integrazioni supportate con sistemi di terze parti e non che possono essere configurate lato operatori.

Questi meccanismi di autenticazione abilitano il login alla risorsa esterna ma non si occupano della configurazione dei permessi dell'operatore appena entrato. La configurazione dei permessi è delegata all'intervento degli amministratori

Microsoft Entra ID

Le configurazioni necessarie da inserire nel file delle istanze per ogni singolo tenant sono:

instances:
  servizi.comune.bugliano.pi.it/lang:
    enable_backend_oauth: true
    backend_oauth:
      provider: microsoft-entra-id
      redirect_url: http://servizi.comune.bugliano.pi.it/lang/auth/login-oauth
      url_authorize: https://login.microsoftonline.com/{tenant_id}/oauth2/v2.0/authorize
      url_access_token: https://login.microsoftonline.com/{tenant_id}/oauth2/v2.0/token
      url_resource_owner_details: https://graph.microsoft.com/v1.0/me/
      url_logout: https://login.microsoftonline.com/{tenant_id}/oauth2/v2.0/logout?post_logout_redirect_uri=http://servizi.comune.bugliano.pi.it/lang
      client_id: {client_id}
      client_secret: {client_secret}

Dove: servizi.comune.bugliano.pi.it è una url di esempio di un'istanza della piattaforma

3.13.X

3.13.9

🌄 Aggiornato il widget dei pagamenti dovuti alla versione 1.1.2

3.13.8

🐞 Rollback sulla modifica dei nomi delle tabelle 🐞 Corretto errore di lettura sui pagamenti restituiti dal read model

3.13.7

🌄 Modificati i nomi delle tabelle nel read model dei pagamenti

3.13.6

Attenzione!!! questa release introduce una modifica non retro compatibile nel meccanismo di consultazione dei pagamenti lato cittadino.

3.13.5

🐞 Corretto errore che rendeva modificabili i dati del richiedente autenticato con SPID/CIE

3.13.2

🐞 Rimosso valore hardcoded AQ dal template del F24

3.13.1

🐞 Corretta bug sulla creazione di pagamento posticipati in fase di accettazione di una pratica da parte dei un operatore

3.13.0

Architettura

L'architettura del CMS è di tipo monolitico, mentre quella che implementa i servizi digitali è organizzata a microservizi, sebbene l'originale monolite in symfony abbia ancora rilevanti responsabilità

Architettura generale

Sito istituazionale

L'architettura del CMS è una classica architettura monolitica con un core in PHP e una persistenza principale (PostgreSQL) a cui si affiancano un motore di ricerca (Solr) e un layer di cache http (Varnish)

Container diagram

Servizi digitali e area personale

L'architettura ha subito varie trasformazioni nel tempo e non può dirsi ancora definitiva, ma alcune caratteristiche sono ormai consolidate:

  • la decomposizione in microservizi con storage indipendenti e API ReST

  • il sistema di scambio di messaggi basato su Kafka per rendere asincrone le interazioni tra i microservizi

Vista dettagliata di Services Core

Questa parte del sistema ha la maggior parte delle responsabilità relative alle pratiche al sistema di appuntamenti. E' costitutito da un core in symfony e da alcuni servizi al contorno che svolgono funzioni specifiche.

  • Kafka API, è una istanza del server open-source Vector fornisce una interfaccia HTTP per Kafka

  • Gotenberg è un tool opensource che la piattaforma utilizza per la creazione dei PDF

  • Form Server è la nostra implementazione del server open-source Form.io, di cui usiamo nel core le librerie Javascript per il rendering delle form.

  • Form Builder è una Single-Page-App in angular che include la libreria di Form.io per la creazione delle form. E' un servizio dedicato agli amministratori della piattaforma per la gestione di una libreria di componenti condivisi e riusabili dagli Enti nella creazione dei loro moduli: anagrafiche, definizione di immobili, autoveicoli etc...

Vista di dettaglio del sotto-sistema dei Pagamenti

TBD

Vista di dettaglio del sotto-sistema dei Documenti

TBD

Vista di dettaglio del sotto-sistema degli Analytics

Protocolli

La piattaforma è integrata con vari sistemi di protocollo le cui integrazioni sono sviluppate da OpenCity Labs. In questa pagina si descrivono i vari metodi di protocollazione e le features implementate, non implementate, non supportate, e da verificare.

Legenda

✅ Implementato

❌ Non implementato / non configurabile da form

❗ Non supportato

❓Da verificare

D3

Features

Versione

N/A

Mezzo di Invio

❗

Ufficio Mittente/Destinatario

✅

Classificazione

✅

Fascicolazione per pratica

❌

Fascicolazione fissa

✅

Protocollo.Net - Datagraph

Features

Versione

3.1

Mezzo di Invio

❌

Ufficio Mittente/Destinatario

✅

Classificazione

✅

Fascicolazione per pratica

❌

Fascicolazione fissa

✅

CiviliaNext - Dedagroup

Features

Versione

3.4.5

Mezzo di Invio

❌

Ufficio Mittente/Destinatario

❌

Classificazione

✅

Fascicolazione per pratica

❌

Fascicolazione fissa

✅

Halley (via e-Lios) / Halley Cloud

Features

Versione

N/A

Mezzo di Invio

❗

Ufficio Mittente/Destinatario

✅

Classificazione

✅

Fascicolazione per pratica

❗

Fascicolazione fissa

✅

Hypersic - APKappa

Features

Versione

2.3

Mezzo di Invio

❗

Ufficio Mittente/Destinatario

✅

Classificazione

✅

Fascicolazione per pratica

❌

Fascicolazione fissa

✅

jProtocollo - Infor - Municipia

Features

Versione

N/A

Mezzo di Invio

✅

Ufficio Mittente/Destinatario

✅

Classificazione

✅

Fascicolazione per pratica

❌

Fascicolazione fissa

✅

Gifra di Insiel SOAP

Features

Mezzo di Invio

❗

Ufficio Mittente/Destinatario

✅

Classificazione

✅

Fascicolazione per pratica

❌

Fascicolazione fissa

✅

Gifra di Insiel REST

Features

Versione

2.0

Mezzo di Invio

❗

Ufficio Mittente/Destinatario

✅

Classificazione

✅

Fascicolazione per pratica

✅

Fascicolazione fissa

✅

Sicraweb ProWSApi

Features

Versione

PRO 1.0.139.0

Mezzo di Invio

✅

Ufficio Mittente/Destinatario

✅

Classificazione

✅

Fascicolazione per pratica

❗

Fascicolazione fissa

✅

Sicraweb WSProtocolloDM

Features

Versione

1.0.146.0

Mezzo di Invio

✅

Ufficio Mittente/Destinatario

✅

Classificazione

✅

Fascicolazione per pratica

❗

Fascicolazione fissa

✅

Sicraweb EVO

Features

Versione

1.0.0.0

Mezzo di Invio

✅

Ufficio Mittente/Destinatario

✅

Classificazione

✅

Fascicolazione per pratica

❗

Fascicolazione fissa

✅

Pitre SOAP

Features

Versione

N/A

Mezzo di Invio

❗

Ufficio Mittente/Destinatario

✅

Classificazione

✅

Fascicolazione per pratica

✅

Fascicolazione fissa

❌

Pitre SOAP v2

Features

Versione

N/A

Mezzo di Invio

❗

Ufficio Mittente/Destinatario

✅

Classificazione

✅

Fascicolazione per pratica

✅

Fascicolazione fissa

❌

Pitre REST

Features

Versione

N/A

Mezzo di Invio

✅

Ufficio Mittente/Destinatario

✅

Classificazione

✅

Fascicolazione per pratica

✅

Fascicolazione fissa

❌

Tinn

Features

Versione

N/A

Mezzo di Invio

❌

Ufficio Mittente/Destinatario

✅

Classificazione

✅

Fascicolazione per pratica

❗

Fascicolazione fissa

✅

Siscom

Features

Versione

N/A

Mezzo di Invio

✅

Ufficio Mittente/Destinatario

✅

Classificazione

✅

Fascicolazione per pratica

✅

Fascicolazione fissa

✅

italProt di Palitalsoft

Features

Versione

N/A

Mezzo di Invio

❗

Ufficio Mittente/Destinatario

✅

Classificazione

✅

Fascicolazione per pratica

❌

Fascicolazione fissa

❌

Versione Evento Document

v1

Prisma AGSPR di ADS Finmatica

Features

Versione

1.00.11

Mezzo di Invio

❗

Ufficio Mittente/Destinatario

✅

Classificazione

✅

Fascicolazione per pratica

✅

Fascicolazione fissa

✅

Versione Evento Document

v1

Sigedo

Features

Versione

1.00.11

Mezzo di Invio

❗

Ufficio Mittente/Destinatario

✅

Classificazione

✅

Fascicolazione per pratica

❗

Fascicolazione fissa

✅

Versione Evento Document

v1

Urbi Smart

Features

Versione

1.7

Mezzo di Invio

❌

Ufficio Mittente/Destinatario

✅

Classificazione

❗

Fascicolazione per pratica

❌

Fascicolazione fissa

✅

Versione Evento Document

v1

Reindex

Features

Versione

1.2

Mezzo di Invio

❗

Ufficio Mittente/Destinatario

✅

Classificazione

❗

Fascicolazione per pratica

❗

Fascicolazione fissa

❗

Versione Evento Document

v1

Sicraweb REST WSO2 (Integrazione Verona)

Features

Versione

N/A

Mezzo di Invio

✅

Ufficio Mittente/Destinatario

✅

Classificazione

✅

Fascicolazione per pratica

❗

Fascicolazione fissa

❌

Versione Evento Document

v1

Prode (GPI)

Features

Versione

DaProde4.16.9

Mezzo di Invio

✅

Ufficio Mittente/Destinatario

✅

Classificazione

✅

Fascicolazione per pratica

✅

Fascicolazione fissa

✅

Versione Evento Document

v1

Installazione

La distribuzione dei servizi della piattaforma avviene mediante immagini docker, non ci sono requisiti particolari in merito all'orchestratore utilizzato (docker swarm, kubernetes, nomad, mesos).

Installazione ambiente di Test / Sviluppo

Per una installazione di test su singolo nodo si consiglia di usare il service compose presente nei due repository principali:

Installazione ambiente di Produzione

Per un ambiente di produzione è indispensabile predisporre un ambiente con adeguati livelli di ridondanza e dimensionamento dei singoli servizi in base alla propria infrastruttura e ai propri requisiti in termini di affidabilità e livelli di servizio da garantire.

Non c'e' una ricetta valida a priori per dimensionare il sistema, si consiglia di partire da una configurazione con 2 repliche di ogni servizio stateless e un dimensionamento molto largo (es: 1GB di ram, 1 vCPU) e poi monitorare il proprio sistema per stabilire i requisiti di ogni singolo container: si potrà verificare facilmente che molti microservizi richiedono pochi Mb di ram.

Elenco dei servizi necessari

Ogni servizio si basa su una immagine docker specifica e necessita di adeguate configurazioni. Le configurazioni e i valori di default delle stesse sono documentate nei singoli repository dei microservizi.

Al fine di dare una corretta configurazione dei vari servizi vengono indicate inoltre:

  1. la dipendenza dalle persistenze usate dalla piattaforma

  2. la necessità di pubblicare un endpoint per quel servizio pubblicamente raggiungibile

Sito istituzionale

Servizio
Descrizione
Docker Image
Pubblico

cms-core

Servizio principale del CMS, consente l'accesso della radazione per la gestione dei contenuti e fornisce l'interfaccia di navigazione per i cittadini

PostgreSQLRedisFiles storage

solr

Motore di ricerca in cui il cms indicizza i contenuti per rendere performante la ricerca sul sito

Files storage

varnish

Http cache usata davanti al CMS per ridurre il carico sul CMS stesso.

Servizi digitali e Area Personale

Servizio
Descrizione
Docker Image
Pubblico
Persistenza

app-web

Servizio principale della piattaforma, gestisce pratiche, appuntamenti, offre interfacce di configurazione per gli amministratori e di gestione operativa per i funzionari degli enti. E' inoltre l'interfaccia principale anche per l'esperienza utente.

PostgreSQLFile StorageRedis

app-worker

Esecuzione delle operazioni asincrone del Core (creazione PDF, invio di messaggi, webhooks, ...)

PostgreSQLFile Storage

app-manager

Esecuzione delle migrazioni database

PostgreSQL

app-varnish

Http cache per scaricare l'app-web

form-server

Server delle form (Form.IO)

MongoDB

form-varnish

Http cache per scaricare il form-server

form-builder

Applicativo per la gestione dei subform condivisi da tutti i moduli form.io

payment- dispatcher-v1

Genera, se necessario, un evento Versione 1 di pagamento da un evento di una pratica

Kafka

payment- dispatcher-v2

Genera, se necessario, un evento Versione 2 di pagamento da un evento di una pratica

Kafka

payment-updater

Ascolta sul topic di kafka dei pagamenti e aggiorna lo stato delle pratiche di conseguenza

Kafka

gotenberg

API interna per la creazione di file PDF

ksqldb

Ascolta su tutti i topic di kafka ed espone via API dati aggregati sugli eventi della piattaforma

Kafka

kafka-core-api

Espone un endpoint http che il core usa per inviare eventi sui topic di kafka

KafkaFile Storage

payments poller

Legge da Ksql i pagamenti pendenti e per ognuno di essi chiama il proxy che lo gestisce per aggiornare lo stato del pagamento

XXX-payment proxy

KafkaFile Storage

YYY-protocol- proxy

File StorageKafka

registry-api

API per l'app Django con cui abbiamo integrato una decina di protocolli

PostgreSQL

registry-scheduler

Scheduler per gli errori registrati durante un tentativo di protocollazione

PostgreSQLKafka

analytics-services-aggregator

Servizio per il calcolo dei KPI sui Servizi

KafkaClickHouse

analytics-first-availability-aggregator

Servizio per il calcolo dei KPI sui Calendari

KafkaClickHouse

analytics-bookings-aggregator

Servizio per il calcolo dei KPI sui Calendari

KafkaClickHouse

analytics-charts-exporter

API per la generazione dei grafici degli Analytics

ClickHouse

satisfy-hasura

API per il servizio di Customer Satisfaction

PostgreSQL

satisfy-api

API per la raccolta di ratings e questionari di Customer Satisfaction

Kafka

satisfy-ratings-aggregator

Servizio per il calcolo dei KPI della Customer Satisfaction

Kafka

pdnd-connector

Servizio che gestisce l'interazione con la pdnd e gli enti erogatori degli e-service utilizzati dalla piattaforma

File Storage

retry-orchestrator

Servizio che gestisce i retry dei messaggi provenienti dai vari topic di kafka

Kafka
File di esempio
version: "3.8"
# vim: autoindent tabstop=2 shiftwidth=2 expandtab softtabstop=2 filetype=yaml fileencoding=utf-8

networks:
  oc-prod-public:             # usata per pubblicare servizi
    external: true
  oc-prod-internal:           # usata per la comunicazione tra i componenti dello stack
    external: true

x-deploy: &deploy-snippet
      endpoint_mode: dnsrr
      placement:
        max_replicas_per_node: 2
        constraints: [ node.labels.apps == true ]
      replicas: 1
      update_config:
        parallelism: 1
        order: start-first
        delay: 30s
        failure_action: rollback
        monitor: 10s
      rollback_config:
        parallelism: 1
        delay: 10s
        failure_action: pause         # default: pause or continue
        monitor: 10s                  # default: 5s
        order: start-first
      restart_policy:
        condition: any
        delay: 15s                    # default: 5s, between attempts
        max_attempts: 50
        window: 20s                   # time to decide if the restart has been sucessfull
      resources:
        limits:
          cpus: '0.2'
          memory: 512M
        reservations:
          memory: 32M


x-sdc-env: &sdc-env
    ENV: prod
    APP_ENV: prod
    DB_DRIVER: pdo_pgsql
    DB_HOST: 'postgres'
    DB_PORT: 5432
    DB_NAME: oc
    DB_USER: oc
    DB_VERSION: 14
    DB_PASSWORD: 'oc'
    MAILER_URL: 'smtp://mailserver:1025'
    SECRET: change_me
    DEFAULT_FROM_EMAIL_ADDRESS: no-reply@opencity.it
    EZ_PASSWORD: change_me
    OCSDC_SCHEME: https
    OCSDC_HOST: app.localtest.me
    LOGS_PATH: php://stderr
    ENABLE_MIGRATIONS: 'false'
    ENABLE_INSTANCE_CONFIG: 'false'
    # accesso in scrittura da PHP
    FORMSERVER_PRIVATE_URL: http://form-server:8000
    # accesso con cache varnish
    FORMSERVER_PUBLIC_URL: http://form.localtest.me
    # accesso readonly per admin
    FORMSERVER_ADMIN_URL: http://forms-readonly.localtest.me
    WKHTMLTOPDF_SERVICE: http://gotenberg:3000
    PHP_FPM_USER: wodby
    PHP_FPM_GROUP: wodby
    PHP_APCU_ENABLED: 1
    PHP_OPCACHE_ENABLE: 1
    PHP_FPM_CLEAR_ENV: 'no'
    PHP_FPM_PM_MAX_CHILDREN: 50
    PHP_FPM_PM_MAX_REQUESTS: 2000
    PHP_FPM_PM_MAX_SPARE_SERVERS: 8
    PHP_FPM_PM_MIN_SPARE_SERVERS: 2
    PHP_FPM_REQUEST_SLOWLOG_TIMEOUT: 4000
    PHP_FPM_PM_START_SERVERS: 5
    PHP_DISPLAY_ERRORS: 'off'
    PHP_DISPLAY_STARTUP_ERRORS: 'off'
    PHP_ERROR_REPORTING: 'E_ERROR'
    PHP_DATE_TIMEZONE: 'Europe/Rome'
    PHP_SESSION_SAVE_HANDLER: redis
    PHP_SESSION_SAVE_PATH: 'tcp://redis:6379'
    PHP_SESSION_GC_MAXLIFETIME: 2880
    RECAPTCHA_KEY: recaptcha_key
    RECAPTCHA_SECRET: recaptcha_secret
    EWZ_RECAPTCHA_SITE_KEY: recaptcha_key
    EWZ_RECAPTCHA_SECRET: recaptcha_secret
    FEATURE_NEW_OUTDATED_BROWSER: 'true'
    FEATURE_APPLICATION_DETAIL: 'true'
    FEATURE_CALENDAR_TYPE: 'true'
    #FEATURE_DUE_AMOUNT: 'true'
    #FEATURE_ANALYTICS: 'true'
    TOKEN_TTL: 864000 # 10gg
    CACHE_MAX_AGE: 3600
    KAFKA_URL: vector
    KSQLDB_URL: ksqldb-server:8088
    SKIP_CACHE_WARMUP: 'false'
    TRUSTED_PROXIES: '10.0.0.0/8,172.16.0.0/12,192.168.0.0/16'
    DEFAULT_CACHE_REDIS_PROVIDER: 'redis://redis:6379'
    DEFAULT_CACHE_LIFETIME: 3600
    DEFAULT_CACHE_PREFIX_SEED: v-2.27.0
    REGISTRY_API_URL: https://registry.qa.stanzadelcittadino.it
    REGISTRY_API_KEY: change_me
    API_USER_PASSWORD: change_me
    # In assenza di una vera autenticazione basata su SPID si può simulare
    # un login di un utente con le seguenti variabili d'ambiente:
    shibb_pat_attribute_codicefiscale: CLNVTR76P01G822Q
    shibb_pat_attribute_cognome: Coliandro
    shibb_pat_attribute_nome: Vittorino
    shibb_pat_attribute_sesso: M
    shibb_pat_attribute_emailaddress: info@comune.bugliano.pi.it
    shibb_pat_attribute_datanascita: 1/9/1976
    shibb_pat_attribute_luogonascita: Ponsacco
    shibb_pat_attribute_provincianascita: PI
    shibb_pat_attribute_telefono: 003912378945
    shibb_pat_attribute_cellulare: 333 444 666 99
    shibb_pat_attribute_indirizzoresidenza: 'Via Gramsci, 1'
    shibb_pat_attribute_capresidenza: 56056
    shibb_pat_attribute_cittaresidenza: Bugliano
    shibb_pat_attribute_provinciaresidenza: PI
    shibb_pat_attribute_statoresidenza: Italia
    shibb_pat_attribute_spidcode: 123456789
    shibb_pat_attribute_x509certificate_issuerdn: FAKE_issuerdn
    shibb_pat_attribute_x509certificate_subjectdn: FAKE_subjectdn
    shibb_pat_attribute_x509certificate_base64: "DQpSZXN1bHQgZ29lcyBoZXJlLi4uDQpCYXNlNjQNCg0KQmFzZTY0IGlzIGEgZ2VuZXJpYyB0ZXJtIGZvciBhIG51bWJlciBvZiBzaW1pbGFyIGVuY29kaW5nIHNjaGVtZXMgdGhhdCBlbmNvZGUgYmluYXJ5IGRhdGEgYnkgdHJlYXRpbmcgaXQgbnVtZXJpY2FsbHkgYW5kIHRyYW5zbGF0aW5nIGl0IGludG8gYSBiYXNlIDY0IHJlcHJlc2VudGF0aW9uLiBUaGUgQmFzZTY0IHRlcm0gb3JpZ2luYXRlcyBmcm9tIGEgc3BlY2lmaWMgTUlNRSBjb250ZW50IHRyYW5zZmVyIGVuY29kaW5nLg=="
    shibb_Shib-Session-ID: abc123abc123abc123abc123abc123abc123abc123
    shibb_Shib-Session-Index: abc123abc123abc123abc123abc123abc123abc123
    shibb_Shib-Authentication-Instant: 2000-01-01T00-00Z

x-registry-env: &registry-env
  DJANGO_DATABASE: postgres:5432:oc_registry:oc:oc
  DJANGO_SECRET_KEY: change_me
  DJANGO_SETTINGS_MODULE: application_registry.settings_production
  KAFKA_BOOTSTRAP_SERVERS: kafka:9092
  SENTRY_DSN:

configs:
  sf-config-instances:
    name: oc-instances-v1
    file: ./config/app/instances.yml
  vector-api:
    name: occ-kafka-http-v1
    file: ./config/kafka/vector.toml

services:

  # Symfony-core, esposto solo su rete interna
  app:
    image: registry.gitlab.com/opencity-labs/area-personale/core/app:2.27.0
    stop_grace_period: 45s
    configs:
      - source: sf-config-instances
        target: /var/www/html/config/instances_prod.yml
    networks:
      - oc-prod-internal
    environment:
      <<: *sdc-env
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:80/health-check"]
      interval: 1m30s
      timeout: 10s
      retries: 6
      start_period: 5s
    deploy:
      <<: *deploy-snippet
      endpoint_mode: vip
      replicas: 1
      resources:
        limits:
          cpus: '1'
          memory: 2048M
        reservations:
          memory: 1024M
      labels:
        traefik.enable: 'false'

  # Frontend del symfony-core
  varnish:
    image: registry.gitlab.com/opencontent/varnish:1.2
    stop_grace_period: 45s
    networks:
      - oc-prod-public
      - oc-prod-internal
    healthcheck:
      disable: true
    deploy:
      <<: *deploy-snippet
      endpoint_mode: dnsrr
      replicas: 1
      resources:
        limits:
          cpus: '1'
          memory: 2048M
        reservations:
          memory: 1024M
      labels:
        traefik.enable: 'true'
        traefik.http.services.varnish.loadbalancer.server.port: 6081
        # disabilitato altrimenti quando fallisce backend non sfrutto grace
        #traefik.http.services.varnish.loadbalancer.healthcheck.path: /health-check

        # Security headers
        traefik.http.middlewares.security.headers.frameDeny: 'true'
        traefik.http.middlewares.security.headers.customFrameOptionsValue: 'SAMEORIGIN'
        traefik.http.middlewares.security.headers.stsSeconds: 31536000
        traefik.http.middlewares.security.headers.stsIncludeSubdomains: 'true'
        traefik.http.middlewares.security.headers.forceStsHeader: 'true'
        #traefik.http.middlewares.security.headers.contentSecurityPolicy: "default-src 'self' data:; img-src 'self' data: blob: c.bing.com www.googletagmanager.com *.openstreetmap.org c.clarity.ms cartodb-basemaps-b.global.ssl.fastly.net cartodb-basemaps-c.global.ssl.fastly.net cartodb-basemaps-a.global.ssl.fastly.nett; style-src 'self' 'unsafe-inline' static.opencityitalia.it satisfy.opencontent.it widget.freshworks.com stackpath.bootstrapcdn.com unpkg.com cdn.datatables.net printjs-4de6.kxcdn.com cdnjs.cloudflare.com fonts.googleapis.com; connect-src 'self' s3.eu-west-1.amazonaws.com api.opencityitalia.it qa-genova-id.boat.opencontent.io dev-genova-id.boat.opencontent.io mappe.genova.opencityitalia.it api.opencontent.it api.qa.stanzadelcittadino.it registry.qa.stanzadelcittadino.it satisfy.boat.opencontent.io static.opencityitalia.it www.giscom.cloud nominatim.openstreetmap.org a.clarity.ms d.clarity.ms k.clarity.ms i.clarity.ms h.clarity.ms widget.freshworks.com fiscalcode.opencontent.it form-qa.stanzadelcittadino.it form-readonly-qa.stanzadelcittadino.it cdn.datatables.net satisfy.opencityitalia.it satisfy.opencontent.it satisfy.hasura.app sdc-analytics-dev-charts-exporter.boat.opencontent.io efil-proxy-qa.boat.opencontent.io pmpay-proxy-qa.boat.opencontent.io iris-proxy-qa.boat.opencontent.io mypay-proxy-qa.boat.opencontent.io www.openstreetmap.org flyimg.opencontent.it; script-src 'self' 'unsafe-inline' 'unsafe-eval' static.opencityitalia.it cdn.announcekit.app widget.freshworks.com www.clarity.ms form-qa.stanzadelcittadino.it cdnjs.cloudflare.com cdn.form.io unpkg.com code.jquery.com www.googletagmanager.com cdn.datatables.net printjs-4de6.kxcdn.com satisfy.opencityitalia.it satisfy.opencontent.it www.recaptcha.net www.gstatic.com; object-src 'none'; font-src 'self' data: satisfy.opencontent.it stackpath.bootstrapcdn.com cdnjs.cloudflare.com unpkg.com fonts.gstatic.com; worker-src 'self'; report-uri https://csp-collector.opencontent.it/csp?env=production&mode=enforce&app=sdc-qa; child-src 'self' www.youtube-nocookie.com announcekit.app"
        traefik.http.middlewares.security.headers.contentTypeNosniff: 'true'
        traefik.http.middlewares.security.headers.permissionsPolicy: "geolocation=(self), camera=(self), microphone=(self)"
        traefik.http.middlewares.security.headers.referrerPolicy: 'strict-origin-when-cross-origin'
        traefik.http.middlewares.security.headers.browserXssFilter: 'true'

        # Cors generali
        traefik.http.routers.https.rule: 'Method(`GET`, `POST`, `PUT`, `DELETE`, `PATCH`, `HEAD`, `OPTIONS`, `PURGE`) && Host(`app.localtest.me`)'
        traefik.http.routers.https.tls: 'true'
        traefik.http.routers.https.tls.certresolver: 'myhttpchallenge'
        traefik.http.routers.https.middlewares: 'cors, general-rl, security'

        # Cors per condivisione autenticazione
        traefik.http.routers.origin-https.rule: 'Method(`GET`, `PUT`, `DELETE`, `PATCH`, `HEAD`, `PURGE`) && Host(`app.localtest.me`)  && PathPrefix(`/lang/api/session-auth`)'
        traefik.http.routers.origin-https.tls: 'true'
        traefik.http.routers.origin-https.priority: 10001
        traefik.http.routers.origin-https.tls.certresolver: 'myhttpchallenge'
        traefik.http.routers.origin-https.middlewares: 'cors-origin, general-rl, security'

        traefik.http.middlewares.cors.headers.accesscontrolallowcredentials: 'true'
        traefik.http.middlewares.cors.headers.accesscontrolallowheaders: 'Authorization,Origin,Content-Type,Accept,access-control-allow-headers,access-control-allow-methods,access-control-allow-origin,access-control-allow-credentials,Referer,X-Hasura-Role,X-Hasura-Admin-Secret,X-Hasura-Allowed-Roles,X-Hasura-Default-Role,X-Hasura-User-Id,X-Hasura-Org-Id,X-Locale'
        traefik.http.middlewares.cors.headers.accesscontrolallowmethods: 'GET,POST,HEAD,PUT,DELETE,PATCH,OPTIONS'
        traefik.http.middlewares.cors.headers.accesscontrolalloworiginlist: '*'
        traefik.http.middlewares.cors.headers.accesscontrolmaxage: 100
        traefik.http.middlewares.cors.headers.addvaryheader: 'true'
        
        traefik.http.middlewares.cors-origin.headers.accesscontrolallowcredentials: 'true'
        traefik.http.middlewares.cors-origin.headers.accesscontrolallowheaders: 'Authorization,Origin,Content-Type,Accept,access-control-allow-headers,access-control-allow-methods,access-control-allow-origin,access-control-allow-credentials,Referer,X-Hasura-Role,X-Hasura-Admin-Secret,X-Hasura-Allowed-Roles,X-Hasura-Default-Role,X-Hasura-User-Id,X-Hasura-Org-Id,X-Locale'
        traefik.http.middlewares.cors-origin.headers.accesscontrolallowmethods: 'GET,POST,HEAD,PUT,DELETE,PATCH,OPTIONS'
        traefik.http.middlewares.cors-origin.headers.accesscontrolmaxage: 100
        traefik.http.middlewares.cors-origin.headers.addvaryheader: 'true'

    environment:
      # https://github.com/wodby/varnish#environment-variables
      VARNISH_BACKEND_GRACE  : '2880m'
      VARNISH_BACKEND_HOST: 'app'
      VARNISH_BACKEND_PORT: '80'
      VARNISH_BACKEND_PROBE: '/health-check'
      VARNISH_KEEP_ALL_PARAMS: 1
      VARNISH_CACHE_STATIC_FILES: 1
      ##VARNISH_MOBILE_SEPARATE_CASH: 1
      #VARNISH_BIG_FILES_SIZE: 10485760
      VARNISHD_MEMORY_SIZE: '1024m'
      VARNISH_BACKEND_BETWEEN_BYTES_TIMEOUT: 30s
      VARNISH_BACKEND_FIRST_BYTE_TIMEOUT: 30s
      VARNISH_STRIP_COOKIES: 'cookies_consent|_[_a-z]+|wooTracker|VCKEY-[a-zA-Z0-9-_]+'
      VARNISHD_PARAM_WORKSPACE_BACKEND: '256k'
      VARNISHD_PARAM_WORKSPACE_CLIENT: '256k'
      VARNISH_SECRET: 'change_me'

  # Manager symfony, non è esposto su rete pubblica esegue migrazioni e script all'avvio
  manager:
    image: registry.gitlab.com/opencity-labs/area-personale/core/app:2.27.0
    stop_grace_period: 45s
    configs:
      - source: sf-config-instances
        target: /var/www/html/config/instances_prod.yml
    networks:
      - oc-prod-internal
    environment:
      <<: *sdc-env
      DB_USER: oc   # Inserire username utente manager se configurato
      DB_PASSWORD: 'oc' # Inserire password utente manager se configurato
      ENABLE_MIGRATIONS: 'true'
    deploy:
      <<: *deploy-snippet
      endpoint_mode: vip
      replicas: 1
      resources:
        limits:
          cpus: '1'
          memory: 1024M
        reservations:
          memory: 512M

  # Ci sono 3 valori da tenere sempre uguali: WORKER_NUM, replicas e swam_cronjob_replicas
  worker:
    image: registry.gitlab.com/opencity-labs/area-personale/core/app:2.27.0
    networks:
      - oc-prod-internal
    stop_signal: SIGQUIT
    stop_grace_period: 20m
    command: [ "./bin/worker-daemon.sh" ]
    configs:
      - source: sf-config-instances
        target: /var/www/html/config/instances_prod.yml
    volumes:
      - ./config/worker/worker-daemon.sh:/var/www/html/bin/worker-daemon.sh:ro
    healthcheck:
      disable: true
    environment:
      <<: *sdc-env
      SWARM_SERVICE: "worker"
      SWARM_STACK: "oc-prod"
      #DEBUG: 1
      WORKER_ID: 1
      WORKER_NUM: 1
      MAX_EXECUTIONS: 100
      MAX_ACTIONS: 50
    deploy:
      <<: *deploy-snippet
      endpoint_mode: dnsrr
      replicas: 1
      update_config:
        order: stop-first
      restart_policy:
        condition: none
      resources:
        limits:
          cpus: '0.5'
          memory: 2048M
        reservations:
          memory: 512M
      labels:
        swarm.cronjob.enable: "true"
        swarm.cronjob.schedule: "*/3 * * * *"
        swarm.cronjob.skip-running: "true"
        swarm.cronjob.replicas: 1

  # Espone delle api rest per la creazione di eventi su kafka
  vector:
    image: timberio/vector:0.18.1-debian
    configs:
      - source: vector-api
        target: /etc/vector/vector.toml
    healthcheck:
      test: [ "CMD", "curl", "-f", "http://localhost:80/health" ]
      interval: 1m30s
      timeout: 10s
      retries: 6
      start_period: 5s
    environment:
      VECTOR_LOG: debug
    networks:
      - oc-prod-internal
    deploy:
      <<: *deploy-snippet
      labels:
        traefik.enable: 'false'

  # Microservizio per la creazione di pdf
  gotenberg:
    image: gotenberg/gotenberg:7.9.2
    networks:
      - oc-prod-internal
      - oc-prod-public
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:3000/health"]
      interval: 1m30s
      timeout: 10s
      retries: 6
      start_period: 5s
    deploy:
      <<: *deploy-snippet
      labels:
        prometheus.disable: 'true'
        traefik.enable: 'true'
        traefik.http.services.gotenberg.loadbalancer.server.port: 3000
        traefik.http.routers.gotenberg.rule: 'Host(`gotenberg.localtest.me`)'
        traefik.http.routers.gotenberg.tls: 'true'
        traefik.http.routers.gotenberg.tls.certresolver: 'myhttpchallenge'
        traefik.http.routers.gotenberg.middlewares: 'goodheaders'

  # Strumento per testare la posta elettronica
  mailhog:
    image: mailhog/mailhog
    networks:
      - oc-prod-internal
    deploy:
      <<: *deploy-snippet
      labels:
        traefik.enable: 'true'
        traefik.http.services.mailhog.loadbalancer.server.port: 8025
        traefik.http.routers.mailhog.rule: Host(`mail.localtest.me`)
        traefik.http.routers.mailhog.tls: 'true'
        traefik.http.routers.mailhog.middlewares: goodheaders
        traefik.http.routers.mailhog.tls.certresolver: 'myhttpchallenge'

  ##############################################################################
  # FORMS
  ##############################################################################

  # Frontend per il formserver
  form-varnish:
    image: registry.gitlab.com/opencontent/varnish:1.2
    stop_grace_period: 45s
    networks:
      - oc-prod-internal
      - oc-prod-public
    deploy:
      <<: *deploy-snippet
      replicas: 1
      resources:
        limits:
          cpus: '0.5'
          memory: 512M
        reservations:
          cpus: '0.1'
          memory: 128M
      labels:
        prometheus.enable: 'true'
        prometheus.port: 9131
        traefik.enable: 'true'
        traefik.http.services.formvarnish.loadbalancer.server.port: 6081
        traefik.http.services.formvarnish.loadbalancer.healthcheck.path: /.vchealthz
        traefik.http.routers.formvarnish.rule: 'Method(`GET`, `HEAD`, `OPTIONS`) && Host(`form.localtest.me`)'
        traefik.http.routers.formvarnish.tls: 'true'
        traefik.http.routers.formvarnish.tls.certresolver: 'myhttpchallenge'
        traefik.http.routers.formvarnish.middlewares: 'cors'


    environment:
      # https://github.com/wodby/varnish#environment-variables
      VARNISH_BACKEND_HOST: 'form-server'
      VARNISH_BACKEND_PORT: '8000'
      VARNISH_BACKEND_GRACE: '2880m'
      VARNISH_BACKEND_PROBE: '/form/5d7aa15b18fecd734051ae7f?varnish-health'
      VARNISH_CACHE_STATIC_FILES: 1
      VARNISHD_MEMORY_SIZE: '256m'
      VARNISH_BACKEND_BETWEEN_BYTES_TIMEOUT: 10s
      VARNISH_BACKEND_FIRST_BYTE_TIMEOUT: 30s
      VARNISH_KEEP_ALL_PARAMS: 1
      VARNISH_STRIP_COOKIES: 'cookie_consent|_[_a-z]+|wooTracker|VCKEY-[a-zA-Z0-9-_]+|_ga|_gid|_gat[a-zA-Z0-9-_]+'
      VARNISH_SECRET: 'nvXq3CkK'
      VARNISHD_PARAM_WORKSPACE_BACKEND: '256k'
      VARNISHD_PARAM_WORKSPACE_CLIENT: '256k'

  # Espone api rest per il crud dei form
  form-server:
    image: registry.gitlab.com/opencity-labs/area-personale/form-server:1.3.0
    networks:
      - oc-prod-public
      - oc-prod-internal
    environment:
      DB_URL: mongodb://mongo:27017/formmanager
      MAX_AGE: 5
      S_MAX_AGE: 60
    #healthcheck:
    #  test: [ "CMD", "wget", "--spider", "http://localhost:8000/form/5d7aa15b18fecd734051ae7f" ]
    #  start_period: 30s
    #  timeout: 1s
    #  retries: 1
    #  interval: 1m
    deploy:
      <<: *deploy-snippet
      labels:
        traefik.enable: 'true'
        traefik.http.services.formserver.loadbalancer.server.port: 8000

        # Espongo il formserver aperto in scrittura con oc-auth, sotto /api per il form-builder
        traefik.http.routers.formserver.rule: 'Method(`GET`, `HEAD`, `OPTIONS`, `POST`, `PUT`, `PATCH`, `DELETE`) && Host(`form-builder.localtest.me`) && PathPrefix(`/api/`)'
        traefik.http.routers.formserver.tls: 'true'
        traefik.http.routers.formserver.tls.certresolver: 'myhttpchallenge'
        traefik.http.middlewares.strip-forms-api.stripprefix.prefixes: '/api/'
        traefik.http.routers.formserver.middlewares: 'strip-forms-api'

        # Espongo anche readonly per gli admin da backend (per vedere subito aggiornamenti)
        traefik.http.routers.formserver-ro.rule: 'Method(`GET`, `POST`, `HEAD`, `OPTIONS`) && Host(`form-readonly.localtest.me`)'
        traefik.http.routers.formserver-ro.tls: 'true'
        traefik.http.routers.formserver-ro.tls.certresolver: 'myhttpchallenge'
        traefik.http.routers.formserver-ro.middlewares: 'oc-auth, cors'

  # Microservizio per la gestione dei componenti comuni dei form (nested form)
  form-builder:
    image: registry.gitlab.com/opencity-labs/area-personale/formbuilderjs:0-5-2
    healthcheck:
      test: [ "NONE" ]
    networks:
      - oc-prod-public
    deploy:
      <<: *deploy-snippet
      labels:
        traefik.enable: 'true'
        traefik.http.services.formbuilder.loadbalancer.server.port: 80

        traefik.http.routers.formbuilder.rule: 'Method(`GET`, `HEAD`, `OPTIONS`) && Host(`form-builder.localtest.me`)'
        traefik.http.routers.formbuilder.tls: 'true'
        traefik.http.routers.formbuilder.tls.certresolver: 'myhttpchallenge'
        traefik.http.routers.formbuilder.middlewares: 'oc-auth'

  ##############################################################################
  # FORMS
  ##############################################################################

  # Interroga la tabella PAYMENTS_STATUS  su ksqldb e richiede info ai proxy sui pagamenti pendenti
  payments-poller:
    image: registry.gitlab.com/opencity-labs/area-personale/payments-poller:1.0.2
    networks:
      - oc-prod-internal
    environment:
      KSQLDB_SERVER: http://ksqldb-server:8088
      LOOP_TIME: 900
      LOG_LEVEL: DEBUG
      HEALTHCHECK_ID: 88f0d2a5-0326-46a1-9093-42e83c3017c8
      PYTHONDEBUG: 1
    deploy:
      <<: *deploy-snippet
      resources:
        reservations:
          memory: 1G
        limits:
          cpus: '0.5'
          memory: 4G
    healthcheck:
      test: [ NONE ]

  # Legge gli eventi dal topic applications e crea un evento nel topic payments se necessario
  payment-dispatcher:
    image: registry.gitlab.com/opencity-labs/area-personale/payment-dispatcher:1.2.1
    networks:
      - oc-prod-internal
    environment:
      KAFKA_TOPIC_APPLICATIONS: applications
      KAFKA_TOPIC_PAYMENTS: payments
      KAFKA_BOOTSTRAP_SERVERS: kafka:9092
      KAFKA_CONSUMER_GROUP_PREFIX: payment-dispatcher
      PROMETHEUS_JOB_NAME: payment_dispatcher
      APP_ID: payment-dispatcher:1.2.1
      KSQLDB_SERVER: http://ksqldb-server:8088
      LOG_LEVEL: INFO
    healthcheck:
      test: [ NONE ]
    deploy:
      <<: *deploy-snippet
      resources:
        limits:
          cpus: '0.5'
          memory: 1G

  # Gateway proxy di iris (ambiente di test)
  iris-proxy:
    image: registry.gitlab.com/opencity-labs/area-personale/iris-payment-proxy:1.3.3
    stop_grace_period: 5m
    networks:
      - oc-prod-public
    environment:
      CANCEL_PAYMENT: "true"
      KAFKA_TOPIC_NAME: payments
      KAFKA_BOOTSTRAP_SERVERS: kafka:9092
      KAFKA_GROUP_ID: iris_payment_proxy
      IRIS_OTF_PAYMENT_URL: https://apistage.regione.toscana.it/C01/ComunicazionePosizioniDebitorieOTF/v3/IdpAllineamentoPendenzeEnteOTF
      IRIS_IUV_URL: https://iristest.rete.toscana.it/IdpBillerNdpServices/GenerazioneIUVService
      IRIS_OUTCOME_URL: https://apistage.regione.toscana.it/C01/InvioNotificaPagamentoEsito/v3/IdpInformativaPagamento.Esito
      IRIS_VERIFY_URL: https://apistage.regione.toscana.it/C01/VerificaStatoPagamento/v3/IdpVerificaStatoPagamento
      IRIS_NOTICE_URL: https://iristest.rete.toscana.it/IdpBillerNdpServices/GenerazioneAvvisiService
      EXTERNAL_API_URL: "https://iris-proxy.localtest.me"
      INTERNAL_API_URL: "http://iris-proxy.localtest.me"
      BASE_PATH_EVENT: "sdc-payments/iris-proxy/payments/"
      BASE_PATH_CONFIG: "sdc-payments/iris-proxy/tenants/"
      # STORAGE_TYPE="LOCAL|MINIO|S3"
      STORAGE_TYPE: "LOCAL"
      STORAGE_BUCKET_NAME: "payments"
      APP_ID: "iris-proxy:1.3.3"
    deploy:
      <<: *deploy-snippet
      labels:
        traefik.enable: 'true'
        traefik.http.services.iris-proxy-qa.loadbalancer.server.port: 8000

        traefik.http.routers.iris-proxy.entrypoints: 'websecure, web'
        traefik.http.routers.iris-proxy.rule: 'Host(`iris-proxy.localtest.me`) && PathPrefix(`/{op:(notice|online-payment|receipt|landing)}/{id:[^/]+}`, `/{op:(docs|redoc|openapi.json|tenants|services|notify-payment)}`, `/{op:(tenants|services)}/({id:[^/]+}|schema)`) && METHOD(`GET`, `POST`, `PUT` ,`PATCH`, `DELETE`, `HEAD`, `OPTIONS`)'
        traefik.http.routers.iris-proxy.tls: 'true'
        traefik.http.routers.iris-proxy.tls.certresolver: 'myhttpchallenge'

        traefik.http.middlewares.payment-proxy-qa-cors.headers.accesscontrolallowcredentials: 'true'
        traefik.http.middlewares.payment-proxy-qa-cors.headers.accesscontrolallowheaders: 'Authorization,Origin,Content-Type,Accept,access-control-allow-headers,access-control-allow-methods,access-control-allow-origin,access-control-allow-credentials,Referer'
        traefik.http.middlewares.payment-proxy-qa-cors.headers.accesscontrolallowmethods: 'GET,POST,HEAD,PUT,DELETE,PATCH,OPTIONS'
        # asterisco perché ognuno di essi è acceduto da tutti i domini custom che avranno gli enti
        traefik.http.middlewares.payment-proxy-qa-cors.headers.accesscontrolalloworiginlist: '*'
        traefik.http.middlewares.payment-proxy-qa-cors.headers.accesscontrolmaxage: 100
        traefik.http.middlewares.payment-proxy-qa-cors.headers.addvaryheader: 'true'

        traefik.http.routers.iris-proxy.middlewares: 'goodheaders, payment-proxy-qa-cors'
    volumes:
      - ./var/tenants:/app/payments/sdc-payments/iris-proxy/tenants
      - ./var/payments:/app/payments/sdc-payments/iris-proxy/payments

  # Aggiorna lo stato delle pratiche dopo che si sono verificati dei pagamenti
  krun-process-payments:
    image: registry.gitlab.com/opencity-labs/area-personale/core/app:2.27.0
    configs:
      - source: sf-config-instances
        target: /var/www/html/config/instances_prod.yml
    entrypoint: /bin/krun
    stop_grace_period: 300s
    healthcheck:
      disable: true
    volumes:
      - ./config/krun/process-payment:/bin/process-payment
      - ./config/krun/krun:/bin/krun
    networks:
      - oc-prod-internal
    environment:
      <<: *sdc-env
      KAFKA_TOPIC: "payments"
      KAFKA_SERVER: "kafka:9092"
      KAFKA_CONSUMER_GROUP: "oc-prod-krun-process-payments"
      COMMAND: "/bin/process-payment"
      #DEBUG: 1
      VERBOSE: 1
    deploy:
      <<: *deploy-snippet
      resources:
        limits:
          cpus: '0.2'
          memory: 1024M
      update_config:
        parallelism: 3
        order: stop-first


  ##############################################################################
  # REGISTRY
  ##############################################################################

  # Espone le api per la configurazione dei vari sistemi di protocollazione
  registry-rest-api:
    image: registry.gitlab.com/opencity-labs/area-personale/stanzadelcittadino-application-registry:1.10.2
    networks:
      - oc-prod-public
      - oc-prod-internal
    environment:
      <<: *registry-env
      DJANGO_LOG_LEVEL: INFO
      REGISTRY_API_KEY: change_me
    deploy:
      <<: *deploy-snippet
      labels:
        traefik.enable: "true"
        traefik.http.services.registry.loadbalancer.server.port: 8000
        traefik.http.routers.registry.rule: "Host(`registry.localtest.me`)"
        traefik.http.routers.registry.tls: "true"
        traefik.http.routers.registry.tls.certresolver: "myhttpchallenge"

        traefik.http.middlewares.registry-qa-home-redir.redirectregex.regex: 'registry.localtest.me/$$'
        traefik.http.middlewares.registry-qa-home-redir.redirectregex.replacement: "registry.localtest.me/admin"

        traefik.http.middlewares.registry-redirect-tenants.replacepathregex.regex: '^/(d3|datagraph|dedagroup|halley|halley-cloud|hypersic|infor|insiel|maggioli|pitre|tinn)/v1/tenants/(.*)'
        traefik.http.middlewares.registry-redirect-tenants.replacepathregex.replacement: '/api/v1/tenants/'

        traefik.http.middlewares.registry-redirect-services.replacepathregex.regex: '^/(d3|datagraph|dedagroup|halley|halley-cloud|hypersic|infor|insiel|maggioli|pitre|tinn)/v1/services/'
        traefik.http.middlewares.registry-redirect-services.replacepathregex.replacement: '/api/v1/services/$$1/'
        traefik.http.middlewares.registry-redirect-service.replacepathregex.regex: '^/(d3|datagraph|dedagroup|halley|halley-cloud|hypersic|infor|insiel|maggioli|pitre|tinn)/v1/services/(.+)'
        traefik.http.middlewares.registry-redirect-service.replacepathregex.replacement: '/api/v1/services/$$1/$$2/'

        traefik.http.middlewares.registry-redirect-service-schema.replacepathregex.regex: '^/(d3|datagraph|dedagroup|halley|halley-cloud|hypersic|infor|insiel|maggioli|pitre|tinn)/v1/schema'
        traefik.http.middlewares.registry-redirect-service-schema.replacepathregex.replacement: '/api/v1/services-schema/$$1'

        traefik.http.middlewares.registry-cors.headers.accesscontrolallowcredentials: 'true'
        traefik.http.middlewares.registry-cors.headers.accesscontrolallowheaders: '*'
        traefik.http.middlewares.registry-cors.headers.accesscontrolallowmethods: 'GET,POST,HEAD,PUT,OPTIONS'
        traefik.http.middlewares.registry-cors.headers.accesscontrolalloworiginlist: '*'
        traefik.http.middlewares.registry-cors.headers.accesscontrolmaxage: 100
        traefik.http.middlewares.registry-cors.headers.addvaryheader: 'true'

        traefik.http.routers.registry.middlewares: "goodheaders, registry-qa-home-redir, registry-redirect-tenants, registry-redirect-services, registry-redirect-service, registry-redirect-service-schema, registry-cors"

        prometheus.enable: "true"
        prometheus.port: 8000

  # Gestisce il sistema di retry della protocollazione
  registry-retry-scheduler:
    image: registry.gitlab.com/opencity-labs/area-personale/stanzadelcittadino-application-registry:1.10.2
    command: /app/venv/bin/python3.9 manage.py run_retry_scheduler
    networks:
      - oc-prod-internal
    environment:
      <<: *registry-env
      ENABLE_SENTRY_EVENT_FILTER: "true"
    deploy:
      <<: *deploy-snippet
      
      
  ##############################################################################
  # PDND
  ##############################################################################

  pdnd-connector:
    image: registry.gitlab.com/opencity-labs/area-personale/pdnd-connector:x.x.x
    networks:
      - oc-prod-internal
    deploy:
      <<: *deploy-snippet
    environment:
      ENVIRONMENT: app_environment
      SENTRY_TOKEN: sentry DSN
      HTTP_EXTERNAL_BASEPATH: https://api.qa.stanzadelcittadino.it/pdnd
      SDC_PUBLIC_KEY_ENDPOINT: https://core/.well-known/jwks.json
      CACHE_EXPIRATION: 5m
      CACHE_EVICTION: 10m
      STORAGE_TYPE: s3
      STORAGE_BUCKET: s3_bucket
      STORAGE_BASE_PATH: pdnd
      STORAGE_LOCAL_PATH: /data/pdnd
      STORAGE_S3_KEY: S3_key
      STORAGE_S3_SECRET: s3_secret
      STORAGE_S3_REGION: eu-west-1
      STORAGE_S3_ENDPOINT:  https://s3.eu-west-1.amazonaws.com
      STORAGE_S3_SSL: "false"
    labels:
      prometheus.enable: 'true'
      prometheus.port: 8000
      traefik.enable: 'true'
      traefik.docker.network: 'oc-prod-internal'
      traefik.http.services.pdnd-connector.loadbalancer.server.port: 8000
      traefik.http.routers.pdnd-connector.entrypoints: 'websecure, web'
      traefik.http.routers.pdnd-connector.rule: 'Host(`api.qa.stanzadelcittadino.it`) && PathPrefix(`/pdnd/{op:(status|metrics|docs|anpr/accertamento-residenza|anpr/stato-famiglia|tenants|keys|tenants/configs|tenants/clients|e-services)}`, `/pdnd/{op:(status|metrics|docs|anpr/accertamento-residenza|anpr/stato-famiglia|tenants|keys|tenants/configs|tenants/clients|e-services)}/({id:[^/]+})`) && METHOD(`GET`, `POST`, `PUT` ,`PATCH`, `DELETE`, `HEAD`, `OPTIONS`)'
      traefik.http.routers.pdnd-connector.tls: 'true'
      traefik.http.middlewares.pdnd-connector-stripper.stripprefix.prefixes: '/pdnd/'
      traefik.http.routers.pdnd-connector.tls.certresolver: 'myhttpchallenge'
      traefik.http.routers.pdnd-connector.middlewares: 'goodheaders, cors-free-all, pdnd-connector-stripper'


##############################################################################
# PROTOCOL PROXY
##############################################################################
  
  protocol-proxy-sigedo:
    image: registry.gitlab.com/opencity-labs/area-personale/protocol-proxy-sigedo:1.1.0-x86
    networks:
      - oc-prod-internal
      - oc-prod-public
    environment:
      ENVIRONMENT: PROD
      DEBUG: "false"
      SERVER_ADDRESS_PORT: https://api.opencityitalia.055055.it/registry-proxy/sigedo/v1
      CACHE_EXPIRATION: 5m
      CACHE_EVICTION: 10m
      SDC_AUTH_TOKEN_USER: user
      SDC_AUTH_TOKEN_PASSWORD: password
      KAFKA_BOOTSTRAP_SERVERS: kafka:9092
      KAFKA_CONSUMER_GROUP: protocol-proxy-sigedo
      KAFKA_CONSUMER_TOPIC: documents
      KAFKA_PRODUCER_TOPIC: documents
      KAFKA_RETRY_TOPIC: retry_prod_queue_dispatcher
      STORAGE_ENDPOINT: https://storage.opencityitalia.055055.it
      STORAGE_TYPE: s3
      STORAGE_BUCKET: documents
      STORAGE_ACCESS_S3_KEY: user
      STORAGE_KEY_S3_ACCESS_SECRET: password
      STORAGE_S3_REGION: eu-south-1
      PREFIX_API: /registry-proxy/sigedo/v1/
    #healthcheck:
      #test: wget -O /dev/null http://0.0.0.0:8000/status || exit 1
      #interval: 5s
      #retries: 5
      #start_period: 20s
      #timeout: 10s
    deploy:
      <<: *deploy-snippet
      replicas: 1
      resources:
        limits:
          cpus: '0.3'
          memory: 512M
        reservations:
          memory: 64M
      labels:
        prometheus.enable: 'true'
        prometheus.port: 8000
        traefik.enable: 'true'
        traefik.docker.network: 'oc-prod-internal'
        traefik.http.services.protocol-proxy-sigedo-prod.loadbalancer.server.port: 8000
        traefik.http.services.protocol-proxy-sigedo-prod.loadbalancer.healthcheck.path: '/status'
        traefik.http.routers.protocol-proxy-sigedo-prod.entrypoints: 'websecure, web'
        traefik.http.routers.protocol-proxy-sigedo-prod.rule: 'Host(`api.opencityitalia.055055.it`) && PathPrefix(`/registry-proxy/sigedo/v1/{op:(status|metrics|schema|tenants|services)}`, `/registry-proxy/sigedo/v1/{op:(tenants|services)}/({id:[^/]+})`) && METHOD(`GET`, `POST`, `PUT` ,`PATCH`, `DELETE`, `HEAD`, `OPTIONS`)'
        traefik.http.routers.protocol-proxy-sigedo-prod.tls: 'true'
        traefik.http.middlewares.protocol-proxy-sigedo-prod-stripper.stripprefix.prefixes: '/registry-proxy/sigedo/v1/'
        traefik.http.routers.protocol-proxy-sigedo-prod.tls.certresolver: 'myhttpchallenge'
        traefik.http.routers.protocol-proxy-sigedo-prod.middlewares: 'goodheaders, cors-free-all, protocol-proxy-sigedo-prod-stripper'
        traefik.http.routers.protocol-proxy-sigedo-prod-docs.entrypoints: 'websecure, web'
        traefik.http.routers.protocol-proxy-sigedo-prod-docs.rule: 'Host(`api.opencityitalia.055055.it`) && Path(`/registry-proxy/sigedo/v1/{op:(docs|openapi.json)}`) && METHOD(`GET`, `HEAD`, `OPTIONS`)'
        traefik.http.routers.protocol-proxy-sigedo-prod-docs.tls: 'true'
        traefik.http.routers.protocol-proxy-sigedo-prod-docs.tls.certresolver: 'myhttpchallenge'
        traefik.http.routers.protocol-proxy-sigedo-prod-docs.middlewares: 'goodheaders, cors-free-all'

  retry-orchestrator-prod:
    image: registry.gitlab.com/opencity-labs/retry-orchestrator:1.0.23-x86
    networks:
      - oc-prod-internal
    deploy:
      <<: *deploy-snippet
      replicas: 1
      labels:
        prometheus.enable: "true"
        prometheus.port: 8000
        com.centurylinklabs.watchtower.scope: 'autoupdate'
      resources:
        reservations:
          memory: 128M
        limits:
          cpus: '0.1'
          memory: 256M
    environment:
      KAFKA_SERVER: kafka:9092
      KAFKA_RETRY_QUEUE_TOPIC: retry_prod_queue_dispatcher
      KAFKA_DISPATCHER_POLICY: 3x1m,4x15m,3x180m,6x720m
      KAFKA_RETRY_QUEUE_PREFIX: retry_prod_queue_
      KAFKA_DEAD_LETTER_QUEUE: retry_prod_dead_letter_queue
      KAFKA_RETRY_QUEUE_CONSUMER_GROUP: retry-orchestrator-prod
      ENVIRONMENT: boat-prod
      SERVER_ADDRESS_PORT: 0.0.0.0:8000
      SENTRY_DSN: https://example.com/4505402356858880
      SERVER_DEBUG: "false"
      CACHE_EXPIRATION: 5m
      CACHE_EVICTION: 5m
    healthcheck:
      test: curl --fail http://0.0.0.0:8000/status
      interval: 30s
      retries: 2
      start_period: 10s
      timeout: 5s

Prima di procedere all’avvio dei microservizi si devono compiere alcune operazioni:

Creazione del file delle istanze

Va creato un file instances.yml sull'ambiente che ospiterà la piattaforma, questo file dovrà poi essere condiviso con i servizi che ne hanno bisogno (vedi file di esempio di distribuzione).

Il file è così formato:

instances:
  # dominio dell'sitanza con prefisso
  stanzadelcittadino.localtest.me/comune-di-bugliano:
    # codice meccanografico dell'ente
    codice_meccanografico: c_cbug
    # identificativo dell'istanza
    identifier: comune-di-bugliano
    # lingue disponibili (it, de, en)
    app_locales: it|en
    # tipo di login (da scegliere in base al provider dell'ente)
    login_route: login_pat

Andrà creato un blocco istanza per ogni ente che si vorrà ospitare sulla piattaforma

Creazione dei database

Singole istanze degli enti (Symfony core)

Il tipo di multi-tenancy implementata in OpenCity Area personale è di singolo stack applicativo con database dedicato per tenant.

Per poter effettuare un’installazione dell’infrastruttura abbiamo quindi bisogno di un singolo database per tenant con le seguenti caratteristiche.

Postgres >= 11 con estensione postgis >= 3

Permessi

Per ridurre i rischi dovuti a errori o a compromissione delle credenziali vengono usati due utenti differenti:

  • un utente oc_manager che viene utilizzato per creare i database ed eseguire operazione di struttura (creazione, modifica e cancellazione di tabelle, viste, colonne ecc ecc)

  • un utente oc_user che viene utilizzato dall’applicativo per effettuare operazioni sui dati

Attualmente nella nostra infrastruttura la creazione del database avviene con l'utente oc_manager, a partire da un template preimpostato con i privilegi necessari.

Creazione del template

Come utente postgres si crea il database impostando i privilegi di default che verranno assegnati a tutti gli oggetti creati in seguito.

A postgres verranno dati privilegi ampi, mentre a oc_user verranno dati privilegi minimali:

CREATE DATABASE _oc ENCODING='utf8' CONNECTION LIMIT=50;
ALTER DEFAULT PRIVILEGES FOR USER oc_manager IN SCHEMA "public" GRANT ALL ON TYPES TO postgres WITH GRANT OPTION;
ALTER DEFAULT PRIVILEGES FOR USER oc_manager IN SCHEMA "public" GRANT ALL ON FUNCTIONS TO postgres;
ALTER DEFAULT PRIVILEGES FOR USER oc_manager IN SCHEMA "public" GRANT ALL ON SEQUENCES TO postgres;
ALTER DEFAULT PRIVILEGES FOR USER oc_manager IN SCHEMA "public" GRANT ALL PRIVILEGES ON TABLES TO postgres;
ALTER DEFAULT PRIVILEGES FOR USER oc_manager IN SCHEMA "public" GRANT USAGE ON TYPES TO oc_user;
ALTER DEFAULT PRIVILEGES FOR USER oc_manager IN SCHEMA "public" GRANT EXECUTE ON FUNCTIONS TO oc_user;
ALTER DEFAULT PRIVILEGES FOR USER oc_manager IN SCHEMA "public" GRANT ALL ON SEQUENCES TO oc_user;
ALTER DEFAULT PRIVILEGES FOR USER oc_manager IN SCHEMA "public" GRANT SELECT,INSERT,UPDATE,DELETE ON TABLES TO oc_user;
CREATE EXTENSION IF NOT EXISTS postgis;

In seguito la proprietà del database viene assegnata ad oc_manager

ALTER DATABASE _oc OWNER TO oc_manager;
ALTER SCHEMA public OWNER TO oc_manager;

Per creare database come utente postgres gli viene dato il ruolo oc_manager

GRANT oc_manager TO postgres;

Creazione di un nuovo database

Per creare il database e impostarne subito come owner l'utente corretto, si esegue come utente postgres

CREATE DATABASE oc_firenze TEMPLATE = _oc OWNER='oc_manager' ENCODING='utf8' CONNECTION LIMIT=50;Some code

Sistema di protocollazione (registry)

Il sistema di protocollazione ha invece bisogno di un singolo database con le seguenti caratteristiche:

Postgres >= 11

Creazione di un nuovo utente

CREATE USER registry_user WITH PASSWORD 'password';

Tuning di alcuni parametri di connessione (questi comandi sono opzionali ma suggeriti da django)

ALTER ROLE registry_user SET client_encoding TO 'utf8';
ALTER ROLE registry_user SET default_transaction_isolation TO 'read committed';
ALTER ROLE registry_user SET timezone TO 'UTC';

Creo il database e lo assegno all'utente

CREATE DATABASE oc_registry ENCODING='utf8' CONNECTION LIMIT=50;
GRANT ALL PRIVILEGES ON DATABASE oc_registry TO registry_user;

Configurazione dei proxy di pagamento

Per garantire una corretta comunicazione tra l'area personale e i proxy di pagamento è necessaria configurare appropriatamente gli endpoint sul proxy di riferimento.

Configurazione dei CORS

Il requisito di base affinchè questi endpoint siano correttamente funzionanti è che siano correttamente racchiuse all'interno di un middleware che gestisca i CORS in maniera adeguata. In particolare questo middleware dovrà essere configurato come segue:

Header
Valore

Access-Control-Allow-Credentials

true

Access-Control-Allow-Headers

Authorization,Origin,Content-Type,Accept,access-control-allow-headers,access-control-allow-methods,access-control-allow-origin,access-control-allow-credentials,Referer

Access-Control-Allow-Methods

GET,POST,HEAD,PUT,DELETE,PATCH,OPTIONS

Access-Control-Allow-Origin-List

*

Access-Control-Max-Age

100

Add-Vary-Header

true

Di seguito un esempio di configurazione del middleware:

traefik.http.middlewares.cors.headers.accesscontrolallowcredentials: 'true'
traefik.http.middlewares.cors.headers.accesscontrolallowheaders: 'Authorization,Origin,Content-Type,Accept,access-control-allow-headers,access-control-allow-methods,access-control-allow-origin,access-control-allow-credentials,Referer'
traefik.http.middlewares.cors.headers.accesscontrolallowmethods: 'GET,POST,HEAD,PUT,DELETE,PATCH,OPTIONS'
traefik.http.middlewares.cors.headers.accesscontrolalloworiginlist: '*'
traefik.http.middlewares.cors.headers.accesscontrolmaxage: 100
traefik.http.middlewares.cors.headers.addvaryheader: 'true'

Endpoint interni (non necessita di CORS)

L'unico endpoint interno in questo caso è quello per richiedere l'aggiornamento dello stato di un pagamento. Per garantire quindi che questo venga chiamato solo ed esclusivamente dal microservizio di polling, è necessario che questo venga configurato come endpoint raggiungibile solo internamente alla rete di docker. Di seguito un esempio:

 networks:
 backplane-sdc:
   external: true
 internal:
 traefik-sdc:
   external: true
 swarm-backplane:
   external: true

...
 networks:
   - traefik-sdc
   - backplane-sdc
 deploy:
   <<: *deploy-snippet
   labels:
     traefik.enable: 'true'
     traefik.docker.network: 'traefik-sdc'
     traefik.http.routers.silfi-proxy-qa-internal.entrypoints: 'backplane'
     traefik.http.routers.silfi-proxy-qa-internal.rule: 'Host(`silfi-proxy-qa.boat-backplane.opencontent.io`) && PathPrefix(`/payment-proxy/silfi/update/{id:[^/]+}`) && METHOD(`GET`, `HEAD`, `OPTIONS`)'

Endpoint pubblici

Gli endpoint pubblici sono:

  • Pagamento online (/online-payment/{payment_id})

  • Download dell'avviso cartaceo (/offline-payment/{payment_id})

  • Download della ricevuta telematica (/receipt/{payment_id})

  • Ritorno alla area personale (detta anche landing url) (/landing/{payment_id})

  • Form schema per la configurazione del tenant (/tenants/schema)

  • Form schema per la configurazione del servizio (/services/schema)

  • Documentazione Swagger delle API (/docs)

  • Status (/status, facoltativo)

  • Metriche di monitoraggio (/metrics, facoltativo)

Di seguito un esempio di configurazione degli endpoint

traefik.http.routers.silfi-proxy-qa.entrypoints: 'web, websecure'
traefik.http.routers.silfi-proxy-qa.rule: 'Host(`api.qa.stanzadelcittadino.it`) && PathPrefix(`/payment-proxy/silfi/{op:(notice|online-payment|receipt|landing)}/{id:[^/]+}`, `/payment-proxy/silfi/{op:(docs|status|metrics)}`, `/payment-proxy/silfi/{op:(tenants|services)}/schema`) && METHOD(`GET`, `POST`, `PUT` ,`PATCH`, `DELETE`, `HEAD`, `OPTIONS`)'
traefik.http.routers.silfi-proxy-qa.tls: 'true'
traefik.http.routers.silfi-proxy-qa.tls.certresolver: 'mydnschallenge'
traefik.http.routers.silfi-proxy-qa.middlewares: 'goodheaders, cors'

Endpoint protetti

Gli endpoint protetti da autenticazione sono:

  • Inserimento, recupero, modifica e cancellazione della configurazione del tenant (/tenants/{id})

  • Inserimento, recupero, modifica e cancellazione della configurazione del servizio (/services/{id})

Di seguito un esempio di configurazione degli endpoint:

# Quando pronti aggiungere il middleware 
# sdc-qa-jwt-decode
traefik.http.routers.silfi-proxy-qa-protected.entrypoints: 'web, websecure'
traefik.http.routers.silfi-proxy-qa-protected.rule: 'Host(`api.qa.stanzadelcittadino.it`) && PathPrefix(`/payment-proxy/silfi/{op:(tenants|services)}`, `/payment-proxy/silfi/{op:(tenants|services)}/{id:[^/]+}`) && METHOD(`GET`, `POST`, `PUT` ,`PATCH`, `DELETE`,>
traefik.http.routers.silfi-proxy-qa-protected.tls: 'true'
traefik.http.routers.silfi-proxy-qa-protected.tls.certresolver: 'mydnschallenge'
# MIDDLEWARE ABILITATO PER CONTROLLO JWT
# traefik.http.routers.silfi-page-proxy-qa-protected.middlewares: 'sdc-qa-jwt-decode, goodheaders, cors'
traefik.http.routers.silfi-proxy-qa-protected.middlewares: 'goodheaders, cors'

3.15.X

Di seguito la lista dei micro servizi con le versioni aggiornate

Pagamenti

Protocolli

Integrazione PDND

Widget

Analytics

Satisfy

  • Ratings Aggregator ???

3.11.X

3.11.7

🌄 La lista dei profile block ottenuta tramite API è ordinata per data di aggiornamento discendente

3.11.6

🐞 Corretto bug che impediva la corretta verifica di un datagrid vuoto

3.11.5

🐞 Corretto bug che impediva il corretto salvataggio di pratiche che contenevano un datagrid once only

3.11.4

🐞 Corretto bug che impediva la corretta chiusura dell'esecuzione di un job

3.11.3

3.11.2

3.11.1

🐞 Corretto bug che impediva la presentazione di una pratica per cittadini affetti da omocodia

3.11.0

Di seguito la lista dei micro servizi con le versioni aggiornate

Pagamenti

Protocolli

Integrazione PDND

Widget

Analytics

Satisfy

  • Ratings Aggregator ???

3.10.X

3.10.5

🐞 Corretto bug che impediva la presentazione di una pratica per cittadini affetti da omocodia

3.10.4

🐞 Corretto invio di email duplicate per pratiche in attesa di pagamento bolli

🐞 Corretta funzionalità copia dti domicilio/residenza all'interno del profilo utente

3.10.3

🐞 Corretti bug che impediva lapresentazione di una pratica da utente anonimo

3.10.2

🐞 Corretti permesssi per la disabilitazione delle notifiche dalla lista dei calendari

3.10.1

🌄 Corretta anonimizzazione delle email nei meeting passati

3.10.0

Di seguito la lista dei micro servizi con le versioni aggiornate

Pagamenti

Protocolli

Integrazione PDND

Widget

Analytics

Satisfy

  • Ratings Aggregator ???

3.9.X

Di seguito la lista dei micro servizi con le versioni aggiornate

Pagamenti

Protocolli

Integrazione PDND

Widget

Analytics

Satisfy

  • Ratings Aggregator ???

3.12.X

3.12.7

🐞 Corretto errore che rendeva modificabili i dati del richiedente autenticato con SPID/CIE

3.12.4

🐞 Rimosso valore hardcoded AQ dal template del F24

3.12.3

🐞 Corretto typo nelle configurazioni di sentry

3.12.2

🐞 Corretto bug che impediva il corretto salvataggio di pratiche che contenevano un datagrid once only

3.12.1

🐞 Corretto bug che impediva la presentazione segnalazione di un disservizio o di prenotare un appuntamento da parte di un utente con codice fiscale omocodico

3.12.0

Di seguito la lista dei micro servizi con le versioni aggiornate

Pagamenti

Protocolli

Integrazione PDND

Widget

Analytics

Satisfy

  • Ratings Aggregator ???

3.16.X

✨ Novità e miglioramenti


🐞 Correzioni

Di seguito la lista dei micro servizi con le versioni aggiornate

Pagamenti

Protocolli

Integrazione PDND

Widget

Analytics

Satisfy

  • Ratings Aggregator ???

In questa release, per risolvere un gravoso problema di performance, è stata completamente riprogettata l'interfaccia di consultazione dei pagamenti lato cittadino. Queste modifiche hanno comportato la creazione di 3 nuove tabelle nel read model dei pagamenti e modifiche ad API ed interfaccia. 🌄 Creazione endpoint paid e to-pay per le API dei pagamenti () 🌄 Filtri per date nella dashboard dei pagamenti () 🌄 Miglioramento usabilità dashboard dei pagamenti ()

Per creare automaticamente le tabelle assicurarsi di aggiornare all'ultima versione anche il widget di inizializzazione del read model dei o eseguire manualmente le seguenti query nella console del micro servizio stesso.

Creazione tabella

Creazione tabella

Creazione tabellea

🌄 Nuova integrazione con il Protocollo Prode () 🏳️‍🌈 Aggiornamento traduzioni inglese () 🐞 I campi del richiedente diventano modificabili navigando tramite breadcrumb () 🌄 È ora possibile valorizzare l'id della configurazione di pagamento nelle API dei pagamenti () 🌄 Aggiornamento del servizio Pagare Tributi IMU () 🌄 Aggiornamento del nested form "OC - Soggetto Giuridico" () 🌄 Aggiornamento nested form - OC Titoli di studio () 🌄 Paginazione per i pagamenti nella nuova interfaccia dell'area personale() 🌄 Pratiche in bozza: prevedere un evento per l'eliminazione della pratica in bozza () 🌄 Pagina di errore generica in caso di mancato funzionamento del sito (, , , , ) 🐞 Il disservizio di pdnd ed erogatori non deve essere interpretato come un errore () 🌄 Fine tuning Servizio pubblico () 🌄 Aggiornamento nested form OC - Esperienze lavorative () 🌄 Introduzione del beneficiario per le pratiche di richiesta () 🌄 Integrazione PDND per nucleo familiare () 🐞 Correzione gestione errori durante il cambio di stato tramite API () 🌄 Integrazione C018 Accertamento cittadinanza in nuovo nested form cittadinanza () 🐞 Corretto il livello del log in caso di errore nel retry orchestrator () 🐞 Rinominata "console di amministrazione" in "accesso backoffice" nella lista degli operatori () 🐞 I nomi dei file allegati alla pratica sono adesso rispettati nelle email di accettazione () 🐞 In fase di compilazione di una pratica gli allegati con file molto lunghi fuoriescono dal box di upload () 🐞 In area amministrazione, azioni programmate, il filtro per stato restituisce azioni con stati diversi da quelli richiesti () 🌄 Dashboard di controllo sistema di pagamenti () 🐞 Corretto errore nel messaggio di esito per pratiche riaperte o annullate () 🐞 Corretta icona della modalità di autenticazione () 🐞 Eliminata la possibilità di scaricamento allegati dall'anteprima readonly del modulo () 🐞 Corretto errore nell' email dell' appuntamento che si verificava in presenza di carattere accentato nel luogo dell'appuntamento ha () 🌄 Aggiornato meccanismo di accettazione della privacy al primo ingresso all'are personale ()

🆙 Core

Varnish

Form Server

Form Builder

🆙 Payment dispatcher (event version 1)

Payment dispatcher (event version 2)

🆙 Payment Dispatcher API:

Payment updater

🆙 Document dispatcher

Document updater

Gotenberg

PostgreSQL

MongoDB

Kafka e Zookeeper

KsqlDB

KsqlDB-init

Kafka HTTP API (vector)

form server init

🆙 Retry Orchestrator

Payments poller

Efil payment proxy

MyPay payment proxy(version 1)

MyPay payment proxy(version 2)

MyPay wrapper

Iris payment proxy(version 1)

Iris payment proxy(version 2)

🆙 Iris payment proxy(version 3)

PmPay payment proxy

External page payment proxy

PagoPA payment proxy

Dedagroup payment proxy

Silfi payment proxy

APKappa payment proxy

Siscom payment proxy

Checkout pagoPA API:

WGolEpay Payment Proxy

WGolEpay Payment Proxy

JPPA Payment Proxy

Depag Payment Proxy

🆙 GovPay Payment Proxy:

🆙 Fake registry proxy

Protocol proxy Sipal

Pitre soap proxy

Application Registry

🆙 Application Registry

Protocol proxy italProt

Protocol proxy AGSPR

Protocol Proxy Reindex

🆙 Protocol Proxy Ptre SOAP

Protocol Proxy Sigedo

Protocol Proxy Sicraweb EVO

Protocol Proxy Sicraweb REST WSO2

Protocol Proxy Insiel:

🆙 Protocol Proxy Urbi Smart:

Protocol Proxy Prode:

🆙 Pdnd-connector

🆙 Widget Segnalazioni sul territorio

🆙 Widget Richiedi Assistenza

🆙 Widget Prenotazione appuntamento

🆙 Widget Login Box

Widget Satisfy

🆙 Widget Pagamenti Dovuti

Widget Servizio:

Charts exporter

First availability aggregator

Services aggregator

Clickhouse

Bookings aggregator

Hasura

Ratings API (vector)

, , , , , , , , , , ,

Se configurato abilita l'integrazione con un server

Integrazione con servizio

Absolute path of

Questo metodo di autenticazione sfrutta l'utilizzo del micro servizio nel quale può essere configurato il singolo tenant. Il micro servizio si interfaccia direttamente con i sistemi di autenticazione Agid tramite SAML per quanto riguarda Spid Utilizzai invece il nuovo sistema di federazione Oidc con il ministero degli interni per quanto riguarda CIE La piattaforma comunica con il micro servizio tramite client Oauth 2

Questo metodo di autenticazione sfrutta l'utilizzo del sistema di autenticazione .

Questo metodo di autenticazione sfrutta l'utilizzo del sistema di autenticazione sviluppato dalla regione Toscana La piattaforma comunica tramite il sistema di autenticazione tramite client Oauth 2

Questo metodo di autenticazione sfrutta l'utilizzo del micro servizio per interfacciarsi al sistema di autenticazione sviluppato dalla Provincia Autonoma di Trento

Questo metodo di autenticazione sfrutta l'utilizzo del sistema di autenticazione sviluppato da Silfi Spa La piattaforma comunica tramite il sistema di autenticazione tramite client Oauth 2

Questo metodo di autenticazione sfrutta l'utilizzo del micro servizio nel quale può essere configurato il singolo tenant. Il micro servizio si interfaccia direttamente con l'Idp di MyID Veneto sviluppato da regione Veneto tramite SAML La piattaforma comunica con il micro servizio tramite client Oauth 2

Questo metodo di autenticazione sfrutta l'utilizzo del micro servizio nel quale può essere configurato il singolo tenant. Il micro servizio si interfaccia direttamente con l'Idp di sviluppato dalla Regione Friuli Venezia Giulia tramite SAML La piattaforma comunica con il micro servizio tramite client Oauth 2

Questo metodo di autenticazione sfrutta l'utilizzo del sistema di autenticazione sviluppato dalla Provincia Autonoma di Bolzano

Questo metodo di autenticazione sfrutta l'utilizzo del micro servizio per interfacciarsi al sistema di autenticazione Sirac sviluppato dal Comune di Genova

Questo metodo di autenticazione sfrutta l'utilizzo del sistema di autenticazione Deda login sviluppato da

Questo metodo di autenticazione sfrutta l'utilizzo del sistema di autenticazione . La piattaforma comunica tramite il sistema di autenticazione tramite client Oauth 2

Questo metodo di autenticazione sfrutta l'utilizzo del sistema di autenticazione . La piattaforma comunica tramite il sistema di autenticazione tramite client Oauth 2

In questa release, per risolvere un gravoso problema di performance, è stata completamente riprogettata l'interfaccia di consultazione dei pagamenti lato cittadino. Queste modifiche hanno comportato la creazione di 2 nuove tabelle nel read model dei pagamenti e modifiche ad API ed interfaccia. 🌄 Creazione endpoint paid e to-pay per le API dei pagamenti () 🌄 Filtri per date nella dashboard dei pagamenti () 🌄 Miglioramento usabilità dashboard dei pagamenti ()

Per creare automaticamente le tabelle assicurarsi di aggiornare all'ultima versione anche il widget di inizializzazione del read model dei o eseguire manualmente le seguenti query nella console del micro servizio stesso.

Creazione tabella

Creazione tabella

Creazione tabellea

🐞 Corretta la validazione dei campi relativi alle date () 🐞 Il debtor (pagatore) di un pagamento adesso è un campo opzionale () 🌄 Permettere la valorizzazione dell'id della configurazione di pagamento sulle API di creazione di un pagamento () 🌄 Upgrade configurazioni per pagamenti multipli - MyPay () 🌄 Aggiunto scope openid in openlogin () 🐞 Risolto bug che impediva la creazione di segnalazioni anonime senza obbligo di codice fiscale nel widget di segnalazione () 🐞 Migliorie sulla dashboard dei pagamenti di un cittadino () 🌄 Visualizzazione backoffice custom sopra il dettaglio appuntamenti nel dettaglio pratica di un operatore () 🐞 Corretto bug per cui il cittadino non riceve gli allegati in caso di rifiuto () 🐞 Corretto bug che impediva la configurazione del protocollo sipal cloud tramite il pannello delle configurazioni () 🌄 Le traduzioni del widget devono essere sincronizzate e gestibili in PoEditor () 🌄 Le traduzioni del widget devono essere sincronizzate e gestibili in PoEditor () 🐞 Il cittadino ora visualizza nell'iter i cambi di stato della segnalazione () 🐞 L'operatore ora visualizza i documenti allegati che il cittadino invia () 🐞 Lo stato di protocollazione del documento viene ora tracciato () 🌄 Aggiunto il componente checkout sulla nuova Area Personale del cittadino () 🌄 Nella nuova Area Personale del cittadino è ora possibile vedere il dettaglio di un pagamento () 🌄 Migliorata la lestione delle Bozze nei Widget () 🐞 Corretto bug per cui il nome utente non risultava presente su documento PDF di risposta alla segnalazione () 🐞 Corretto bug per cui il pulsante "Conferma e invia" nel riepilogo delle pratiche arriva prima della visualizzazione della pratica () 🐞 Corretto suggerimento tooltip sul formato della password per operatori () 🐞 Corretto problema di leggibilità di radiobutton e checkbox quando il modulo è in sola lettura () 🌄 Aggiunti xls/ods alla tipologia di formato ammesso nel backoffice degli operatori () 🌄 Modificato il messaggio dello step finale di presentazione della domanda () 🐞 Corretto bug che impediva l'aggiornamento del calendario personale del cittadino in seguito a modifiche sugli appuntamenti () 🐞 Corretto bug nella gestione dello stato di appuntamenti passati () 🌄 Aggiunto suggerimento pagamenti posticipati con importo precalcolato () 🌄 Introdotta la tabella degli Administrative ids ()

In questo e nei diagrammi che seguono è stato seguito il per la rappresentazione dei diagrammi architetturali.

dal repo dei sito istituzionale e leggere con attenzione il .

dal core dei servizi digitali e leggere con attenzione il .

Servizio per l'integrazione con l'intermediario di pagamento XXX (vedi per la lista completa)

Servizio per l'integrazione con il sistema di protocollo YYY (vedi per la lista completa)

Esempio di un file di deployment per orchestratore :

🌄 Aggiunta configurazione pagamenti Advanced Systems () 🌄 Nuovo servizio del catalogo - Accesso alle pratiche edilizie ()

🌄 Nuovo servizio catalogo - Prenotazione sale per i matrimoni () 🐞 Gestione corretta dei campi readonly nella sezione Richiedente durante la compilazione di un servizio () 🌄 Aggiunte API in SDK di formio per listino prezzi () 🐞 Corretto bug per cui l'ndirizzo con mappa nel componente custom non visualizza la mappa () 🐞 Corretto bug per cui i documenti non gestiti dal protocollo vengono erroneamente inviati nella coda di retry () 🌄 Miglioramento ux dashboard pagamenti () 🐞 Miglioramenti ux pagamento dovuti () 🐞 Corretto bug per cui il checkout produce eventi senza indicare la timezone sui campi contenenti le date () 🌄 Ottimizzazione dei tempi di creazione di un pagamento () 🌄 Miglioramento dei log di protocollazione Pitre SOAP per errori nell’invio degli allegati () 🌄 Aggiunta possibilità di eliminare una pratica in bozza nella nuova area personale () () 🌄 Miglioria controllo del codice fiscale nel nested OC - Soggetto Giuridico () 🐞 Corretta spaziatura card con plugin masonry () 🐞 Corretto bug per cui i dati profile block popolati da pdnd vengono erroneamente riproposti quando la pdnd non è disponibile () 🐞 Corretto bug per cui nell'ntegrazione PDND per nucleo familiare, il codice fiscale risulta modificabile () 🐞 Corretto bug per cui nell'ntegrazione PDND per nucleo familiare, il codice fiscale risulta modificabile () 🌄 Il beneficiario di una pratica riceve notifiche in fase di presentazione ed in fase di esito per le pratiche presentate a mio nome (feature flag nuova area personale) () 🌄 Miglioramento visualizzazione anteprima () 🐞 Corretta accessibilità dei componenti select con ricerca () 🐞 Corretto bug per cui compariva un ordinamento errato nel doppio cambio stato dell'iter di una pratica () 🐞 Corretti problemi di aggiornamento e gestione delle configurazioni nei pagamenti multipli () 🌄 Implementazione sistema di once only nel widget di compilazione del servizio() 🌄 Pulizia del codice che verifica il codice fiscale () 🐞 Corretto bug per cui la protocollazione D3 avviene con tempi più lunghi in caso di timeout del provider () 🌄 ReadModel: gestire il caso di eliminazione di una pratica in bozza () 🌄 Aggiornamento visualizzazione immagini su Notizie e Unità Organizzative () 🐞 Riduzione dei tempi di visualizzazione dei dati di pagamento al cittadino/operatore () 🌄 Iter pratica semplificato su directus () 🌄 Iter pratica semplificato su directus () 🌄 Filtri per i pagamenti () 🌄 Titolo di default nome del servizio per nome cognome () 🌄 Gestione di un'iscrizione a un albo () 🐞 Correzione testi nella pagina di rigetto pratica, eliminato riferimento ad "Accettazione" () 🐞 Eliminato il pulsante "Salva richiesta" nello sportello di presentazione pratiche lato operatore () 🐞 Corretto funzionamento comando di sincronizzazione delle categorie pnrr () 🐞 Fix su integrazione backoffice appuntamenti sullo stato inviata () 🐞 Correzioni su navigazione compilazione modulo () 🐞 La bozza di una pratica non deve mostrare "in attesa di protocollazione" () 🐞 Stringa "Stato" non tradotta nella configurazione dei webhook () 🐞 Nascosto il menù di navigazione del sito in area personale () 🌄 Aggiunto captcha per l'invio di pratiche di utenti single optin () 🌄 Aggiunto listino prezzi tariffe prenotazione su servizio Spazi Comuni () 🌄 Aggiornamento versione 2 Evento Payment e versione 2 API Configs () 🌄 Alimentazione di uno o più nested form con e-service della PDND ()

🆙 Core

Varnish

Form Server

Form Builder

Payment dispatcher (event version 1)

🆙 Payment dispatcher (event version 2)

Payment Dispatcher API:

Payment updater

🆙 Document dispatcher

Document updater

Gotenberg

PostgreSQL

MongoDB

Kafka e Zookeeper

KsqlDB

KsqlDB-init

Kafka HTTP API (vector)

form server init

Retry Orchestrator

Payments poller

Efil payment proxy

MyPay payment proxy(version 1)

MyPay payment proxy(version 2)

MyPay wrapper

Iris payment proxy(version 1)

Iris payment proxy(version 2)

🆙 Iris payment proxy(version 3)

PmPay payment proxy

External page payment proxy

PagoPA payment proxy

Dedagroup payment proxy

Silfi payment proxy

APKappa payment proxy

Siscom payment proxy

🆙 Checkout pagoPA API:

WGolEpay Payment Proxy

WGolEpay Payment Proxy

JPPA Payment Proxy

Depag Payment Proxy

🆙 GovPay Payment Proxy:

🆙 Advanced Systems Payment Proxy:

Fake registry proxy

Protocol proxy Sipal

🆙 Pitre soap proxy

Application Registry

Application Registry

Protocol proxy italProt

Protocol proxy AGSPR

Protocol Proxy Reindex

Protocol Proxy Ptre SOAP

Protocol Proxy Sigedo

Protocol Proxy Sicraweb EVO

Protocol Proxy Sicraweb REST WSO2

Protocol Proxy Insiel:

🆙 Protocol Proxy Urbi Smart:

🆙 Protocol Proxy Prode:

Pdnd-connector

Widget Segnalazioni sul territorio

Widget Richiedi Assistenza

Widget Prenotazione appuntamento

Widget Login Box

Widget Satisfy

🆙 Widget Pagamenti Dovuti

Widget Servizio:

Charts exporter

First availability aggregator

Services aggregator

Clickhouse

Bookings aggregator

Hasura

Ratings API (vector)

🐞 Risolto bug che impediva la creazione di segnalazioni anonime senza obbligo di codice fiscale nel widget di segnalazione ()

🌄 Il once only adesso è in grado di salvare valori multipli () 🐞 Corretto problema di visualizzazione dei dovuti a causa del filtro data (, ) 🐞 Il bottone Gestisci dovuti va disabilitato se il pagamento non è correttamente configurato ()

🐞 Risolto bug per cui il KafkaConsumer nell'application registry non gestisce correttamente i messaggi JSON malformati () 🌄 Inserimento nucleo familiare tramite il nested form "OC - Nucleo familiare" () 🐞 Correzione data di esito nelle email di cambio stato per pratiche senza data di presentazione () 🐞 Mancata validazione delle URL opzionali (update, cancel, confirm) nelle richieste di pagamento () 🐞 Corretto errore 500 durante l'invio di richieste per servizi con accesso anonimo () 🐞 Corretto bug per cui le pratiche in stato revocation generano un documento con main document vuoto () 🐞 Corretto bug che impediva la generazione automatica del modulo PDF per servizi con nome lungo () 🌄 Corretto il titolo della pratica personalizzato dal servizio senza l'id della pratica () 🐞 Corretto bug che impedivia di utilizzare i pulsanti per copiare dati di residenza o domicilio nel profilo utente () 🌄 Il pdf del f24 include sia acconto che saldo Nel modello F24 prodotto alla fine della compilazione deve inoltre essere visualizzata la data di pagamento. () 🐞 Corretta configurazione degli endpoint di satisfy da variabili ambiente () 🐞 Correzione documentazione delle API di import massivo ApplicationLite () 🌄 Implementazione modello pagina pagamenti () 🌄 Gestione link al dettaglio per pratiche esterne () 🌄 Gestione actions da modello dati () 🌄 Documenti correlati a un'unità organizzativa () 🌄 Refinement sui pagamenti () 🌄 ApplicationLite: abilitare la sospensione di import lunghi di import () 🌄 ApplicationLite: salvare l'iter della pratica ed esportarlo su evento di modifica () 🐞 Corretto bug per cui la causale e la scadenza del pagamento non vengono mostrati all'utente () 🌄 Le pratiche lite esterne non devono generare documenti () 🐞 Corretto errore bloccante su pratiche con pagamento posticipato e bollo in fase di richiesta () 🐞 Estensione dei permessi per la creazione di pratiche da parte degli operatori di uffici abilitati al servizio () 🐞 Inserito blocco dell'inserimento di pratiche con dati incompleti o mancanti dello schema del form () 🐞 Il tipo di trasmissione per lo stato "Annullata" sul documento da inviare al protocollo è errato () 🌄 Permettere l'apertura diretta del contenuto di un Documento () 🐞 Il menù utente da loggato deve essere accessibile da tastiera e utilizzabile con screen reader () 🌄 Chiamate autenticate verso i proxy di pagamento e protocollazione () 🐞 Pulsanti sulla email di una pratica anonima non devono portare al dettaglio senza login () 🌄 Creazione di un endpoint API per il recupero della submission di una pratica in bozza () 🌄 Creazione comando cli per impostare identificativo del servizio () 🌄 Abilitazione inserimento link formattati nei messaggi di approvazione e rifiuto pratica () 🌄 ApplicationLite: aggiungere il campo pec sulla Person e gestirlo in fase di importazione () 🐞 Conservazione dei Voucher nell'ambito della PDND () 🐞 Corretto testo del documento di risposta quando rigetto una pratica () 🌄 Precompilazione dati utente da anagrafica () 🌄 Separazione del campo civico di domicilio e residenza nelle API di modifica di /users () 🌄 L'importazione dovuti deve utilizzare le API di creazione dei pagamenti () 🐞 Eliminati messaggi duplicati durante il reload della pagina per l'inserimento delle marche da bollo ()

🆙 Core

Varnish

Form Server

Form Builder

🆙 Payment dispatcher (event version 1)

Payment dispatcher (event version 2)

🆙 Payment Dispatcher API:

Payment updater

🆙 Document dispatcher

Document updater

Gotenberg

PostgreSQL

MongoDB

Kafka e Zookeeper

KsqlDB

KsqlDB-init

Kafka HTTP API (vector)

form server init

Retry Orchestrator

🆙 Payments poller

Efil payment proxy

MyPay payment proxy(version 1)

MyPay payment proxy(version 2)

MyPay wrapper

Iris payment proxy(version 1)

Iris payment proxy(version 2)

PmPay payment proxy

External page payment proxy

PagoPA payment proxy

🆙 Dedagroup payment proxy

Silfi payment proxy

APKappa payment proxy

Siscom payment proxy

🆙 Checkout pagoPA API

🆙 WGolEpay Payment Proxy

JPPA Payment Proxy

Depag Payment Proxy

Fake registry proxy

Protocol proxy Sipal

Pitre soap proxy

Application Registry

🆙 Application Registry

🆙 Protocol proxy italProt

🆙 Protocol proxy AGSPR

🆙 Protocol Proxy Reindex

🆙 Protocol Proxy Ptre SOAP

🆙 Protocol Proxy Sigedo

🆙 Protocol Proxy Sicraweb EVO

🆙 Protocol Proxy Sicraweb REST WSO2

🆙 Protocol Proxy Insiel:

🆙 Protocol Proxy Urbi Smart:

🆙 Pdnd-connector

Widget Segnalazioni sul territorio

Widget Richiedi Assistenza

Widget Prenotazione appuntamento

🆙 Widget Login Box

🆙 Widget Satisfy

Widget Pagamenti Dovuti

🆙 Widget Servizio:

Charts exporter

First availability aggregator

Services aggregator

Clickhouse

Bookings aggregator

Hasura

Ratings API (vector)

🐞 Aggiornamento automatico del sesso nel profilo utente alla compilazione della pratica () 🌄 Rendere cliccabile il telefono dei punti di contatto () 🐞 Corretto bug per cui la protocollazione avveniva anche quando la configurazione è disabilitata () 🌄 Pagina di login con descrizione generica valida per tutti i servizi () 🐞 Gli elementi chip quando sono link devono essere sottolineati () 🐞 Il salvataggio della configurazione fallisce in caso di inserimento di numero/anno fascicolo () 🐞 Accessibilità e navigazione da tastiera Form.io () 🌄 Aggiornare posizionamento pagina con utilizzo link àncore () 🐞 l'importo di pagamento del dovuto mostrato all'utente è sempre di 16 euro () 🌄 ApplicationLite: Implementare l'import massivo delle pratiche () 🌄 Gestione Paginazione () 🌄 Configurazione vista a bottoni per la search in homepage col nuovo design () 🌄 Visualizzazione completa dei tooltip per i componenti nei datagrid () 🌄 RM: analizzare e risolvere il problema della ricercabilità per id pratica () 🐞 Visualizzazione condizionale della sezione "Periodi di Chiusura" nelle impostazioni dell'ente () 🌄 Gestire il caso in cui il proxy di pagamento non ritorna l'esito del pagamento () 🌄 Aggiunta creazione pagamento v1 via API () 🌄 Come admin quando inserisco una subform vorrei non dover disattivare save as reference ()

🆙 Core

Varnish

Form Server

Form Builder

Payment dispatcher (event version 1)

Payment dispatcher (event version 2)

🆙 Payment Dispatcher API:

Payment updater

🆙 Document dispatcher

Document updater

Gotenberg

PostgreSQL

MongoDB

Kafka e Zookeeper

KsqlDB

KsqlDB-init

Kafka HTTP API (vector)

form server init

Retry Orchestrator

Payments poller

Efil payment proxy

MyPay payment proxy(version 1)

MyPay payment proxy(version 2)

MyPay wrapper

Iris payment proxy(version 1)

Iris payment proxy(version 2)

PmPay payment proxy

External page payment proxy

PagoPA payment proxy

Dedagroup payment proxy

🆙 Silfi payment proxy

APKappa payment proxy

Siscom payment proxy

Checkout pagoPA API

🆙 WGolEpay Payment Proxy

JPPA Payment Proxy

Depag Payment Proxy

Fake registry proxy

Protocol proxy Sipal

Pitre soap proxy

Application Registry

Application Registry

🆙 Protocol proxy italProt

🆙 Protocol proxy AGSPR

Protocol Proxy Reindex

🆙 Protocol Proxy Ptre SOAP

Protocol Proxy Sigedo

🆙 Protocol Proxy Sicraweb EVO

Protocol Proxy Sicraweb REST WSO2

🆙 Protocol Proxy Insiel:

🆙 Pdnd-connector

Widget Segnalazioni sul territorio

Widget Richiedi Assistenza

Widget Prenotazione appuntamento

🆙 Widget Login Box

Widget Satisfy

Widget Pagamenti Dovuti

Charts exporter

First availability aggregator

Services aggregator

Clickhouse

Bookings aggregator

Hasura

Ratings API (vector)

🐞 Il link che arriva nella notifica mail "Vai al pagamento" (quando si caricano i dovuti) ora porta al widget di pagamento dei dovuti () 🐞 Corretto bug che impediva l'aggiornamento dello stato dei dovuti importati tramite csv () () 🐞 Pagina di login visibile quando si è autenticati nel widget delle segnalazioni() 🐞 Gestione dell’email fittizia durante l'accesso con CIE e aggiornamento del profilo utente () 🌄 Come visitatore del sito devo essere avvisato che un contenuto è stato tradotto automaticamente () 🌄 ApplicationLite: invio del messaggio su Kafka () 🐞 Corretto bug che impediva l'import file multipli contemporaneamente con Componente SdcFile () 🌄 Aggiunto Url al json delle categorie disservizio con parametri dinamici da formio () 🌄 Aggiunta possibilità di recuperare categorie segnalazioni per area geografica da OpenSegnalazioni () 🐞 Corretto bug che impediva la corretta visualizzazione della vista mappa dell'elenco segnalazioni () 🌄 Read Model: aggiunta data scadenza della pratica () 🌄 Read Model: aggiunto iter della pratica su read model () 🌄 Read Model: mappatura degli stati della pratica per un utilizzo più sensato per l'utente () 🌄 Progettazione api creazione documenti () 🌄 Inizializzazione di una pratica con i dati dell'utente provenienti dall'autenticazione e dal principio once only () 🌄 Miglioramento Ui modale formio () 🐞 Inclusi giorni parzialmente coperti da periodi di chiusura nelle disponibilità API () 🐞 Visualizzazione corretta dell’orario di fine appuntamento senza millisecondi () 🌄 Il comando delle scheduled action deve uscire in modo corretto per poter alimentare le dashboard di monitoraggio () 🌄 Adeguamento dell'integrazione al sistema di autenticazione Arpa causa passaggio a OIDC () 🌄 L'entità documento del registry deve avere un campo aggiuntivo status () 🌄 Validazione dello instance.yml allo startup della piattaforma () 🐞 I minorenni non possono accedere se si autenticano con CIE () 🐞 Corretto bug che permetteva la sovrascrittura del campo days_of_week durante la modifica degli orari di apertura tramite PATCH () 🐞 Corretto bug che impediva il corretto funzionamento della ricerca sulla tabella degli operatori () 🌄 Privacy policy area personale () 🌄 Come cittadino devo poter pagare i dovuti di pagamenti non creati a partire dall'area personale () 🐞 Impedire il salvataggio di un orario di apertura con appuntamenti di durata nulla ()

🆙 Core

Varnish

Form Server

Form Builder

Payment dispatcher (event version 1)

Payment dispatcher (event version 2)

Payment updater

🆙 Document dispatcher

Document updater

Gotenberg

PostgreSQL

MongoDB

Kafka e Zookeeper

KsqlDB

KsqlDB-init

Kafka HTTP API (vector)

form server init

Retry Orchestrator

Payments poller

Efil payment proxy

MyPay payment proxy(version 1)

MyPay payment proxy(version 2)

MyPay wrapper

Iris payment proxy(version 1)

Iris payment proxy(version 2)

PmPay payment proxy

External page payment proxy

PagoPA payment proxy

Dedagroup payment proxy

🆙 Silfi payment proxy

APKappa payment proxy

Siscom payment proxy

🆙 Checkout pagoPA API

🆙 WGolEpay Payment Proxy

JPPA Payment Proxy

Depag Payment Proxy

Fake registry proxy

Protocol proxy Sipal

Pitre soap proxy

Application Registry

Application Registry

Protocol proxy italProt

Protocol proxy AGSPR

Protocol Proxy Reindex

Protocol Proxy Ptre SOAP

🆙 Protocol Proxy Sigedo

🆙 Protocol Proxy Sicraweb EVO

🆙 Protocol Proxy Sicraweb REST WSO2

Pdnd-connector

Widget Segnalazioni sul territorio

Widget Richiedi Assistenza

Widget Prenotazione appuntamento

Widget Login Box

Widget Satisfy

Widget Pagamenti Dovuti

Charts exporter

First availability aggregator

Services aggregator

Clickhouse

Bookings aggregator

Hasura

Ratings API (vector)

🌄 Nested form OC - Residenza allineato al comportamento di "Residenza Archetipo" () 🌄 Nuovo servizio catalogo - Richiedere la tessera elettorale () 🐞 Corretto bug per cui il cittadino non vedeva lo stato dei pagamenti aggiornato () 🐞 Corretto bug che impediva la validazione di un codice fiscale omocodico () 🐞 Corretto problema di visualizzazione dei dovuti a causa del filtro data (, ) 🐞 Rimozione del pulsante "Visualizza Dettaglio" nella pagina di dettaglio del pagamento () 🐞 Corretto bug che impediva al cittadino di pagare la marca da bollo digitale con il checkout di pagoPA () 🌄 Aggiunta possibilità di configurare il beneficiario del pagamento nelle API dei pagamenti () 🐞 Corretto bug per cui importando il widget di compilazione del servizio i testi della piattaforma cambiano di dimensione () 🐞 Indirizzo con mappa se cancellato non rimuove il valore nel data del form () 🐞 Nel nested form informativa privacy aggiunto l'asterisco per il campo obbligatorio () 🐞 Visualizzazione del testo formattato nelle Pagine Trasparenza () 🐞 Corretto bug per cui la protocollazione non funziona nel caso in cui non venga inserito il tipo di documento nella configurazione () 🐞 Corretto errore su campo PEC in caso di import di application lite () 🐞 Aggiunto check sul document dispatcher per cui documenti non possono essere creati con main document vuoto () 🌄 Creato script di migrazione per le configurazioni dei pagamenti esistenti verso in caso di passaggio al sistema con pagamenti multipli (, ) 🌄 messaggio di errore in caso di fallimento api o timeout () 🌄 Il once only adesso è in grado di salvare valori multipli () 🐞 Import bulk application lite, il Job ora passa in stato running quando viene rieseguito dopo una sospensione () 🐞 Corretto salvataggio ed eliminazione degli allegati in fase di approvazione o rifiuto di una pratica () 🐞 Aggiunto limite sul numero di documenti principali allegabili in fase di approvazione o il rifiuto di una pratica () 🐞 Corretta visualizzazione spunta del pagamento nell'elenco delle pratiche () 🐞 Corretto filtro operatore per codice fiscale su pratiche di servizi con accesso anonimo () 🐞 Gestito errore di creazione di un servizio con identificativo pubblico duplicato () 🌄 Inserimento tipo di organizzazione nel nested form "OC - Soggetto giuridico" () 🌄 Aggiunta la possibilità di indicare il beneficiario del pagamento () 🌄 Creato nuovo loader per caricare lo script di inclusione login box () 🐞 Corretti i pulsanti nelle email che non risultavano responsive () 🐞 Corretta mancata gestione del retry in caso di errore di protocollazione su pitre () 🐞 Rimossso il valore di default per lo stato nel nested form "Residenza archetipo" () 🐞 Miglioramenti accessibilità componenti Stepper, Navscroll e select nel widget di compilazione del servizio () 🌄 Aggiunti nella tabella degli appuntamenti del calendario i dettagli del meeting e il telefono () 🐞 Il messaggio di conferma prenotazione deve essere coerente con l'eventuale moderazione del calendario () 🐞 Il bottone Gestisci dovuti va disabilitato se il pagamento non è correttamente configurato () 🌄 Implementato il checkout di pagoPA sull'area pagamenti () 🐞 Allineamento tema Amaranto con Area Personale () 🌄 Modifiche ai nested form OC "Soggetto Giuridico" e "Delega" () 🌄 Titolo della pratica come nome dell'appuntamento nell'aggiungi al calendario (da landing page e da email di conferma) () 🌄 Implementate api POST creazione documenti () 🐞 Rimosse delle opzioni di pagamento al rifiuto di una pratica () 🐞 Corretto bug per cui il link per il ripristino della password nel messaggio email in formato plaintext non era presente()

🆙 Core

Varnish

Form Server

Form Builder

Payment dispatcher (event version 1)

🆙 Payment dispatcher (event version 2)

Payment Dispatcher API:

Payment updater

🆙 Document dispatcher

Document updater

Gotenberg

PostgreSQL

MongoDB

Kafka e Zookeeper

KsqlDB

KsqlDB-init

Kafka HTTP API (vector)

form server init

Retry Orchestrator

Payments poller

Efil payment proxy

MyPay payment proxy(version 1)

MyPay payment proxy(version 2)

MyPay wrapper

Iris payment proxy(version 1)

Iris payment proxy(version 2)

🆙 Iris payment proxy(version 3)

PmPay payment proxy

External page payment proxy

PagoPA payment proxy

Dedagroup payment proxy

Silfi payment proxy

APKappa payment proxy

Siscom payment proxy

Checkout pagoPA API:

WGolEpay Payment Proxy

WGolEpay Payment Proxy

JPPA Payment Proxy

Depag Payment Proxy

GovPay Payment Proxy:

🆙 Fake registry proxy

Protocol proxy Sipal

Pitre soap proxy

Application Registry

🆙 Application Registry

Protocol proxy italProt

Protocol proxy AGSPR

Protocol Proxy Reindex

Protocol Proxy Ptre SOAP

🆙 Protocol Proxy Sigedo

Protocol Proxy Sicraweb EVO

Protocol Proxy Sicraweb REST WSO2

Protocol Proxy Insiel:

Protocol Proxy Urbi Smart:

🆙 Pdnd-connector

🆙 Widget Segnalazioni sul territorio

🆙 Widget Richiedi Assistenza

Widget Prenotazione appuntamento

🆙 Widget Login Box

Widget Satisfy

Widget Pagamenti Dovuti

🆙 Widget Servizio:

Charts exporter

First availability aggregator

Services aggregator

Clickhouse

Bookings aggregator

Hasura

Ratings API (vector)

È ora possibile personalizzare il messaggio per richiedere integrazioni nelle pratiche –

I log ora mostrano l’IP di chi effettua le richieste e il tenant –

Primo rilascio completo di tutti i servizi –

Gestione e visualizzazione migliorata dei servizi collegati nelle pagine –

Il luogo di nascita è ora modificabile nella compilazione di una pratica –

Accesso diretto al tab "Messaggi" nella pratica tramite link –

Nuovo controllo sul codice fiscale per i campi "Genitori" e "Coniuge" –

Navigazione più semplice negli step di prenotazione appuntamenti –

Miglioramenti grafici nella nuova area personale –

È ora possibile scegliere tra bozze precedenti durante la compilazione –

Aggiunta una nuova opzione per visualizzare l’anno negli eventi –

Maggiore chiarezza nelle informazioni sulla protocollazione delle integrazioni –

Visualizzazione migliorata delle card nelle pratiche in evidenza –

Sistemati i link errati nelle email inviate agli operatori –

Le password dei servizi (es. MyPay) non sono più visibili nel backend –

Risolto un errore nel ritorno all’area personale dopo un pagamento –

Risolto un problema di visualizzazione nei grafici –

L’autenticazione SPID su Bugliano Nuovo ora funziona correttamente –

Sistemato il campo "codice comune" nel modulo di residenza –

Le notifiche dei calendari possono essere disattivate solo da admin e proprietari –

Migliorata la gestione degli errori nei servizi senza pratiche inviate –

Risolto un problema con il salvataggio automatico dei dati dopo login SPID –

Risolto un problema con la visualizzazione delle pratiche presentate da operatori –

Sistemata la selezione dei tag nella configurazione dei blocchi –

🆙 Core

Varnish

🆙 Form Server

Form Builder

Payment dispatcher (event version 1)

🆙 Payment dispatcher (event version 2)

🆙 Payment Dispatcher API:

Payment updater

🆙 Document dispatcher

Document updater

Gotenberg

PostgreSQL

MongoDB

Kafka e Zookeeper

KsqlDB

KsqlDB-init

Kafka HTTP API (vector)

🆙 form server init

Retry Orchestrator

Payments poller

Efil payment proxy

MyPay payment proxy(version 1)

MyPay payment proxy(version 2)

MyPay wrapper

Iris payment proxy(version 1)

Iris payment proxy(version 2)

🆙 Iris payment proxy(version 3)

PmPay payment proxy

🆙 External page payment proxy

🆙 PagoPA payment proxy

Dedagroup payment proxy

Silfi payment proxy

APKappa payment proxy

Siscom payment proxy

🆙 Checkout pagoPA API:

WGolEpay Payment Proxy

WGolEpay Payment Proxy

JPPA Payment Proxy

Depag Payment Proxy

🆙 GovPay Payment Proxy:

🆙 Advanced Systems Payment Proxy:

Fake registry proxy

Protocol proxy Sipal

Pitre soap proxy

Application Registry

Application Registry

Protocol proxy italProt

🆙 Protocol proxy AGSPR

🆙 Protocol Proxy Reindex

🆙 Protocol Proxy Ptre SOAP

🆙 Protocol Proxy Sigedo

🆙 Protocol Proxy Sicraweb EVO

🆙 Protocol Proxy Sicraweb REST WSO2

🆙 Protocol Proxy Insiel:

🆙 Protocol Proxy Urbi Smart:

🆙 Protocol Proxy Prode:

Pdnd-connector

Widget Segnalazioni sul territorio

Widget Richiedi Assistenza

🆙 Widget Prenotazione appuntamento

Widget Login Box

Widget Satisfy

🆙 Widget Pagamento Dovuti

🆙 Widget Servizio:

Charts exporter

First availability aggregator

Services aggregator

Clickhouse

Bookings aggregator

Hasura

Ratings API (vector)

2607
2598
2597
pagamenti
payments_active
payments_complete
payments_by_remote_id_versioned
2609
2602
2601
28
54
48
47
36
2595
5
61
26
10
125
65
77
42
2579
64
2569
63
20
2524
2517
2516
2509
232
2492
2484
2470
2414
1345
3.14.3
1.3.1
1.4.2
0.6.0
1.2.7
2.1.2
1.0.9
1.2.1
1.3.30
1.1.21
7.9.2
14.9-alpine3.18
4.2.2
3.0.0
1.1.0
1.4.7
0.18.1
1.1.2
1.0.24
1.2.2
1.7.5
1.8.5
2.0.4
1.8.5
1.5.1
2.0.0
3.0.10
1.0.12
1.1.5
2.0.1
1.0.26
1.0.20
1.0.14
1.0.7
1.1.7
1.1.0-rc.0
2.0.1-rc.3
1.1.0
1.0.10
1.1.9
1.4.15
1.2.1
1.3.0
1.14.5
2.0.9
1.3.1
1.2.1
1.1.0
1.0.6
1.1.0
1.0.5
1.1.0
1.0.7
1.2.0
1.0.0
1.0.13
1.18.0
1.7.1
1.9.1
1.6.1
1.5.9
1.1.2
0.1.24
1.4.7
1.4.7
1.4.7
1.4.7
1.4.7
2.3.1
0.18.1
address
birth-info
fiscal-code
full-name
gender
iban
minor-personal-data
personal-data-contacts
personal-data-light
personal-data-minimal
personal-data
residency
OpenLogin
CAS
Arpa
Shibboleth Auth Proxy
Firenze Smart
OpenLogin
OpenLogin
Login FVG
My Civis
Shibboleth Auth Proxy
Dedagroup
Microsoft Entra ID
Microsoft Entra ID
2607
2598
2597
pagamenti
payments_active
payments_complete
payments_by_remote_id_versioned
21
20
63
2
6
124
28
2581
2577
13
123
25
7
6
34
29
28
121
2553
2528
2521
2520
2505
2503
2495
2494
2479
2194
Modello C4
docker-compose.yml
README
docker-compose.yml
README
Docker Swarm
http://gotenberg:3000
http://formserver.localtest.me
http://formserver.localtest.me
Sentry
https://static.opencityitalia.it/widgets/satisfy/version/1.5.5/js/satisfy.js
https://satisfy.opencityitalia.it/v1/graphql
http://pitre
https://www.giscom.cloud/WebAPI/
queue-it
Queue-it configuration file
https://api.io.italia.it/api/v1
cms/app
cms/solr
cms/varnish
Core
Core
Core
opencontent/arnish
form-io
opencontent/varnish
formbuilderjs
payment-dispatcher
payment-dispatcher
payment-updater
gotenberg
payment-ksqldb
timberio/vector
payments-poller
Integrazioni
Integrazioni
application-registry
application-registry
analytics
analytics
analytics
analytics
hasura/graphql-engine
timberio/vector
pdnd-connector
retry-orchestrator
2627
66
53
2624
2623
2619
3
2617
6
6
30
2613
38
240
59
138
2610
68
67
2608
137
2604
2603
2600
59
49
82
2596
27
7
2625
247
31
2555
2530
2523
2522
2518
2514
2513
2512
2511
2510
2506
11
13
6
3.15
1.3.1
1.4.2
0.6.0
1.2.7
2.1.3
1.0.9
1.2.1
1.4.0
1.1.21
7.9.2
14.9-alpine3.18
4.2.2
3.0.0
1.1.0
1.4.7
0.18.1
1.1.2
1.0.24
1.2.2
1.7.5
1.8.5
2.0.4
1.8.5
1.5.1
2.0.0
3.0.11
1.0.12
1.1.5
2.0.1
1.0.26
1.0.20
1.0.14
1.0.7
1.1.8
1.1.0-rc.0
2.0.1-rc.3
1.1.0
1.0.10
1.1.10
1.0.0
1.4.15
1.2.1
1.0.6
1.14.5
2.0.9
1.3.1
1.2.1
1.1.0
1.0.6
1.1.0
1.0.5
1.1.0
1.0.7
1.3.0
1.0.2
1.0.13
1.18.0
1.7.1
1.9.1
1.6.1
1.5.9
1.1.3
0.1.24
1.4.7
1.4.7
1.4.7
1.4.7
1.4.7
2.3.1
0.18.1
124
2571
2575
2574
2493
80
30
2562
7
2561
65
2559
2554
2551
2550
2546
2545
27
26
25
129
238
2533
2531
60
64
2526
2501
2499
63
57
8
2486
2483
2478
2458
2453
2451
50
2412
28
2387
2384
2371
3.11.0-rc.7
1.3.1
1.4.2
0.6.0
1.2.6
2.1.0
1.0.4
1.2.1
1.3.26
1.1.21
7.9.2
14.9-alpine3.18
4.2.2
3.0.0
1.1.0
1.4.7
0.18.1
1.1.2
1.0.23
1.2.2
1.7.3-rc.0
1.8.5
2.0.0
1.8.5
1.5.1
2.0.0
1.0.10-rc.0
1.1.3
2.0.0
1.0.26
1.0.19
1.0.12
1.0.6
1.1.2-rc.1
1.1.0-rc.0
1.0.40
1.0.9
1.4.13
1.2.1
1.3.0
1.14.5
2.0.7
1.3.0-rc.0
1.2.0-rc.0
1.1.0-rc.0
1.0.4-rc.0
1.1.0-rc.0
1.0.3
1.1.0-rc.1
1.0.5-rc.1
1.1.0-rc.0
1.0.10
1.17.1
1.6.2
1.8.16
1.5.0
1.5.9
1.0.8
0.1.15
1.4.7
1.4.7
1.4.7
1.4.7
1.4.7
2.3.1
0.18.1
2525
128
8
45
66
7
44
58
19
2487
19
49
2477
216
2399
2381
2
1246
1.3.1
1.4.2
0.6.0
1.2.5
2.1.0
1.0.2
1.2.1
1.3.26-rc.1
1.1.21
7.9.2
14.9-alpine3.18
4.2.2
3.0.0
1.1.0
1.4.7
0.18.1
1.1.2
1.0.23
1.2.1
1.7.3-rc.0
1.8.5
2.0.0
1.8.5
1.5.1
2.0.0
1.0.10-rc.0
1.1.3
2.0.0
1.0.26-rc.1
1.0.19
1.0.12
1.0.6
1.1.1
1.0.2
1.0.40
1.0.9
1.4.13
1.2.1
1.3.0
1.14.5
2.0.6
1.2.0
1.1.0
1.0.2-rc.2
1.0.3
1.0.5-rc.0
1.0.2
1.0.5
1.0.4
1.0.9-rc.10
1.16.9
1.6.2
1.8.16
1.5.0
1.5.7
1.0.8
1.4.7
1.4.7
1.4.7
1.4.7
1.4.7
2.3.1
0.18.1
2475
24
9
115
2464
33
2463
43
42
17
114
220
219
217
59
2444
2442
2441
2437
2430
2419
5
2394
2373
2364
2362
2313
6
2026
3.9.0
1.3.1
1.4.2
0.6.0
1.2.5
2.1.0
1.2.1
1.3.25
1.1.21
7.9.2
14.9-alpine3.18
4.2.2
3.0.0
1.1.0
1.4.7
0.18.1
1.1.2
1.0.23
1.2.1
1.7.3-rc.0
1.8.5
2.0.0
1.8.5
1.5.1
2.0.0
1.0.10-rc.0
1.1.3
2.0.0
1.0.26-rc.1
1.0.17
1.0.12
1.0.6
1.1.1
1.0.2-rc.2
1.0.40
1.0.9
1.4.13
1.2.1
1.3.0
1.14.5
2.0.6
1.1.3
1.0.8
1.0.2-rc.2
1.0.1
1.0.5-rc.0
1.0.2-rc.9
1.0.5
1-0-9
1.16.9
1.6.2
1.8.16
1.4.4
1.5.7
1.0.8
1.4.7
1.4.7
1.4.7
1.4.7
1.4.7
2.3.1
0.18.1
34
33
4
6
2575
2574
2573
59
58
53
50
48
132
18
2572
67
1
56
34
2571
2570
2568
2567
2566
2564
2563
29
5
242
2552
79
27
46
2504
125
2493
2485
120
14
2472
60
2439
2413
3.12.3
1.3.1
1.4.2
0.6.0
1.2.6
2.1.2
1.0.6
1.2.1
1.3.28
1.1.21
7.9.2
14.9-alpine3.18
4.2.2
3.0.0
1.1.0
1.4.7
0.18.1
1.1.2
1.0.23
1.2.2
1.7.5
1.8.5
2.0.4
1.8.5
1.5.1
2.0.0
3.0.8
1.0.12
1.1.5
2.0.1
1.0.26
1.0.20
1.0.14
1.0.7
1.1.3-rc.6
1.1.0-rc.0
2.0.1-rc.3
1.1.0
1.0.10
1.1.8
1.4.15
1.2.1
1.3.0
1.14.5
2.0.8
1.3.1
1.2.1
1.1.0
1.0.5
1.1.0
1.0.5
1.1.0
1.0.7
1.1.0
1.0.12
1.17.5
1.7.0
1.8.29
1.6.0
1.5.9
1.0.8
0.1.24
1.4.7
1.4.7
1.4.7
1.4.7
1.4.7
2.3.1
0.18.1
(2639)
(2638)
(4)
(30)
(2632)
(2631)
(70)
(141)
(39)
(56)
(86)
(2558)
(2615)
(2637)
(2636)
(7)
(142)
(2621)
(75)
(2582)
(2614)
(2612)
(2519)
(62)
3.16.3
1.3.1
1.4.4
0.6.0
1.2.9
2.1.4
1.0.9
1.2.1
1.4.1
1.1.21
7.9.2
14.9-alpine3.18
4.2.2
3.0.0
1.1.0
1.4.7
0.18.1
1.1.3
1.0.24
1.2.2
1.7.5
1.8.5
2.0.4
1.8.5
1.5.1
2.0.0
3.0.11
1.0.12
1.1.8
2.1.1
1.0.26
1.0.20
1.0.14
1.0.7
1.1.10
1.1.0-rc.0
2.0.1-rc.3
1.1.0
1.0.10
1.1.11
1.0.1
1.4.15
1.2.1
1.0.6
1.14.5
2.0.9
1.3.2
1.2.2
1.1.1
1.0.7
1.1.2
1.0.6
1.1.1
1.0.8
1.3.1
1.0.3
1.0.13
1.18.0
1.7.1
1.9.2
1.6.1
1.5.9
1.1.4
0.3.2
1.4.7
1.4.7
1.4.7
1.4.7
1.4.7
2.3.1
0.18.1

Versione 2

3.4.X

3.4.8

3.4.7

3.4.5

3.4.4

3.4.3

3.4.2

3.4.1

3.4.0

Di seguito la lista dei micro servizi con le versioni aggiornate

Pagamenti

Protocolli

Integrazione PDND

Widget

Analytics

Satisfy

  • Ratings Aggregator ???

3.3.X

3.3.3

3.3.2

3.3.1

3.3.0

Bug Conosciuti

I file .ics non possono essere esportati dal browser Chrome

Di seguito la lista dei micro servizi con le versioni aggiornate

Pagamenti

Protocolli

Integrazione PDND

Widget

Analytics

Satisfy

  • Ratings Aggregator ???

3.2.X

3.2.2

🐞 Corretto errore di autenticazione se il luogo di nascita non è presente nei dati passati dal sistema di autenticazione

3.2.1

🐞 Corretti alcuni bug nel servizio di prenotazione appuntamenti sull'area personale

3.2.0

Operazione manuali

Nelle variabili ambiente del micro servizio dell'area personale (core) aggiungere:

AWS_SUPPRESS_PHP_DEPRECATION_WARNING: 'true'

Di seguito la lista dei micro servizi con le versioni aggiornate

Pagamenti

Protocolli

Integrazione PDND

Widget

Analytics

Satisfy

  • Ratings Aggregator ???

3.8.X

Di seguito la lista dei micro servizi con le versioni aggiornate

Pagamenti

Protocolli

Integrazione PDND

Widget

Analytics

Satisfy

  • Ratings Aggregator ???

3.5.X

3.5.4

3.5.3

3.5.2

3.5.1

3.5.0

Di seguito la lista dei micro servizi con le versioni aggiornate

Pagamenti

Protocolli

Integrazione PDND

Widget

Analytics

Satisfy

  • Ratings Aggregator ???

3.1.X

3.1.4

🐞 Corretto errore di autenticazione se il luogo di nascita non è presente nei dati passati dal sistema di autenticazione

3.1.3

🐞 Corretti alcuni bug nel servizio di prenotazione appuntamenti sull'area personale

3.1.2

3.1.1

3.1.0

Note di versione

In questa versione abbiamo dismesso completamente Iris payment proxy (version 1) sostituito completamente dalla versione 2

know bugs

Registry: la Django administration non è accessibile per un errore con csrf token .

Pagamenti

Documenti e Protocollazione

Le pratiche

Prenotazione appuntamenti

Servizi a richiesta

Altro

Di seguito la lista dei microservizi con le versioni aggiornate

Pagamenti

Protocolli

Integrazione PDND

Widget

Analytics

Satisfy

  • Ratings Aggregator

3.0.X

La novità principale di questa versione è l'aggiornamento alla versione 5.4 del framework Symfony

Operazione manuali

Nelle variabili ambiente del micro servizio dell'area personale (core):

Modificare la variabile ambiente SECRET in APP_SECRET

Merged

Fixed

Di seguito la lista dei microservizi con le versioni aggiornate

Pagamenti

Protocolli

Integrazione PDND

Widget

Analytics

Satisfy

  • Ratings Aggregator ???

3.17.X

3.17.1

🐞 Corretto bug che impediva la protocollazione dei file da parte dei proxy di protocollazione

3.17.0

🆕 Novità e miglioramenti in piattaforma

Di seguito la lista dei micro servizi con le versioni aggiornate

3.6.X

3.6.3

3.6.2

3.6.1

3.6.0

Di seguito la lista dei micro servizi con le versioni aggiornate

Pagamenti

Protocolli

Integrazione PDND

Widget

Analytics

Satisfy

  • Ratings Aggregator ???

3.7.X

Di seguito la lista dei micro servizi con le versioni aggiornate

Pagamenti

Protocolli

Integrazione PDND

Widget

Analytics

Satisfy

  • Ratings Aggregator ???

2.47.X

2.47.9

🐞 Corretto typo per l'attributo luogo di nascita

2.47.8

🌄 Aggiunti maggiori controlli sugli attributi dell'utente

2.47.7

🌄 Aggiunto mapping esteso degli attributi dell'utente nell'integrazione dell'autenticazione verso CAS

2.47.6

🌄 Aggiunti controlli di validazione delle date durante l'importazione di dovuti

🌄 Minor fixes sull'interfaccia dei pagamenti in caso di pagamenti annullati

2.47.5

🐞 Sostituito centos 7 con rockylinux 8 nelle build di apache

2.47.4

🐞 Corretto bug di parsing delle date che si verificava durante la creazione di appuntamenti tramite API in caso di valore null

2.47.3

🐞 Corretto bug di parsing delle date che si verificava durante la creazione di appuntamenti tramite API

2.47.2

🐞 Corretto bug che bloccava la modifica di alcuni calendari

2.47.1

🌄 Aggiunto errore di validazione delle date nello step di inserimento dei bolli durante la compilazione di una pratica.

2.47.0

La versione 2.47.0 aggiunge un' importante novità sulla gestione dei periodi di chiusura dei calendari, è infatti ora possibile configurare, a livello di ente, i giorni di chiusura dei calendari.

Questa operazione può essere fatta dal pannello delle impostazioni dell' ente da parte degli amministratori nella sezione "Giorni di chiusura".

Una volta inseriti i giorni di chiusura a livello di Ente questi saranno ereditati da tutti i calendari, l'interfaccia di modifica del singolo calendario evidenzierà la presenza di "Giorni di chiusura" configurati a livello di Ente qualora ce ne fossero.

I gestori dei singoli calendari hanno comunque la possibilità di inserire dei giorni di chiusura specifici del calendario, questi si andranno a sommare a quelli configurati a livello di Ente.

Le ulteriori novità della release sono:

Di seguito la lista dei microservizi con le versioni aggiornate

Pagamenti

Protocolli

Integrazione PDND

Widget

Analytics

Satisfy

  • Ratings Aggregator ???

2.46.0

La principale novità della release 2.46.0 è la gestione delle notifiche dei calendari da parte di un Operatore

Da questa release sarà infatti possibile scegliere per quali calendari si vuole ricevere le notifiche.

Nel menù dell'operatore è ora presente una nuova voce di menù "Impostazioni notifiche"

Tramite questa sezione l'operatore potrà facilmente selezionare o deselezionare i calendari da cui vuole ricevere una notifica.

Le altre novità della release sono:

Di seguito la lista dei microservizi con le versioni aggiornate

Pagamenti sono arrivato qui

Protocolli

Widget

Analytics

Satisfy

  • Ratings Aggregator ???

2.49.X

2.49.3

Merged

🐞 [2290] Gestione di un errore durante il pagamento online a partire dalla sezione pagamenti 2.49

2.49.2

🌄 Aggiunge lo issuer in jwt payload

🐞 Corregge lo spidcode nell'autenticazione openlogin

2.49.1

🐞 Corregge la serializzazione dei dati nell'API dell'appication

2.49.0

Una delle novità principali della release è la possibilità di specificare il numero massimo di prenotazioni attive per utente nella configurazione dei calendari.

È infatti possibile dall'interfaccia di configurazione del calendario poter specificare il numero massimo di prenotazioni ed il periodo per cui un utente può prendere appuntamenti su un singolo calendario.

Il controllo lato piattaforma viene effettuato sul codice fiscale o sull'email associata alla prenotazione.

Le ulteriori novità della release sono

Di seguito la lista dei microservizi con le versioni aggiornate

Pagamenti

Protocolli

Integrazione PDND

Widget

Analytics

Satisfy

  • Ratings Aggregator ???

2.48.X

2.48.1

🌄 Aggiunto mapping esteso degli attributi dell'utente nell'integrazione dell'autenticazione verso CAS

🌄 Aggiunta modalità di manutenzione abilitabile tramite variabile ambiente

2.48.0

Di seguito la lista dei microservizi con le versioni aggiornate

Pagamenti

Protocolli

Integrazione PDND

Widget

Analytics

Satisfy

  • Ratings Aggregator ???

2.41.0

Pagamenti sono arrivato qui

Protocolli

Widget

Analytics

Satisfy

  • Ratings Aggregator ???

2.43.0

Pagamenti sono arrivato qui

Protocolli

Widget

Analytics

Satisfy

  • Ratings Aggregator ???

2.42.0

Pagamenti sono arrivato qui

Protocolli

Widget

Analytics

Satisfy

  • Ratings Aggregator ???

2.39.2

Pagamenti sono arrivato qui

Protocolli

Widget

Analytics

Satisfy

  • Ratings Aggregator ???

2.40.0

Pagamenti sono arrivato qui

Protocolli

Widget

Analytics

Satisfy

  • Ratings Aggregator ???

2.33.0

Pagamenti

Protocolli

Widget

Analytics

2.35.0

Pagamenti

Protocolli

Widget

Analytics

Satisfy

  • Ratings Aggregator ???

2.44.0

Pagamenti sono arrivato qui

Protocolli

Widget

Analytics

Satisfy

  • Ratings Aggregator ???

2.45.0

Le novità principali di questa release sono:

Di seguito la lista dei microservizi con le versioni aggiornate

Pagamenti sono arrivato qui

Protocolli

Widget

Analytics

Satisfy

  • Ratings Aggregator ???

🐞 Corretto un bug per il quale il nome visualizzato nella lista degli appuntamenti di un calendario non coincide con il nome presente sull'appuntamento()

🐞 Widget prenotazione appuntamento: corretta la visualizzazione delle textarea per l'inserimento dei dettagli dell'appuntamento()

🐞 Corretto il link per accedere all'Area personale a partire dal footer delle email inviate all'operatore()

🐞 Widget prenotazione appuntamento: Corretto bug che impediva il corretto caricamento delle disponibilità al cambio dell'ufficio selezionato()

🐞 Corretto bug che impediva l'invio di una pratica di prenotazione su un calendario con intervalli variabili()

🐞 Corretto bug per cui il click ripetuto sul pulsante di creazione di un appuntamento produce appuntamenti duplicati()

🐞 Corretto errore che impediva la creazione di pratiche di prenotazione appuntamento via API()

🐞 API Payments, aggiunta possibilità di filtrare per più stati() 🐞 Corretto errore di redirect dopo il login nel widget per la prenotazione appuntamenti nel caso di accesso dalla scheda del servizio () 🐞 Corretto il link alla segnalazione da landing page, adesso è possibile decidere tramite configurazione se reindirizzare all'area personale o al sito ospitante () 🐞 Fix e miglioramenti creazione di una segnalazione () 🐞 L'utente non vien più reindirizzato al completamento del profilo, i dati mancanti vengono automaticamente salvati dopo l'invio di una pratica() 🌄 Resa più evidente la funzionalità Richiesta Assistenza () 🐞 L'hash del documento è stato corretto ed ora è conforme alle specifiche pagoPA () 🌄 Le lingue disponibili nell'interfaccia dell'area personale sono ora nel formato Alpha-3 come sul sito () 🐞 Corretto bug per cui la landing page di pagamento rimanda sempre a pagamento inviato anche se 🐞 Miglioramento visualizzazione stato d'attesa per ricevuta compilazione pratica () 🐞 Eliminato il refresh della pagina alla fine della compilazione di una pratica () 🌄 Nuovo flusso di pagamento per i dovuti () 🌄 Aggiunto numero di pratica nel titolo di un documento () 🐞 Corretta stampa F24 i dati anagrafici devono essere quelli del soggetto passivo () 🌄 E-service della PDND è ora attivabile a livello di servizio () 🐞 Widget Prenotazione appuntamento CMS: email e telefono devono essere sempre modificabili () 🐞 Miglioramento visualizzazione mobile del calendario degli eventi () 🌄 Gestire il caso in cui il proxy di pagamento non ritorna l'esito del pagamento () 🐞 Opzioni errate nei Servizi di pagamento dovuti () 🐞 Corretto problema nella comunicazione appuntamento e link partecipazione online () 🐞 Aggiunta restrizione alla modifica degli appuntamenti passati per i moderatori del calendario () 🌄 Aggiunte API della lista delle configurazioni di pagamento () 🐞 Migliorati log in caso di errore login con CIE () 🌄 Dashboard controllo sistema di protocollazione - Informazioni di sintesi () 🐞 Separazione del campo civico di domicilio e residenza nelle API /users () 🌄 Aggiunto export del calendario in formato ics () 🌄 Assegnazione pratiche basata su dati inseriti dall'utente in fase di presentazione della istanza () 🐞 Corretto bug per cui le Notifiche dell'AppIO venivano inviate anche se l'integrazione era disabilitata a livello di ente () 🌄 Aggiunto promemoria di appuntamento ()

🆙 Core

Varnish

Form Server

Form Builder

Payment dispatcher (event version 1)

Payment dispatcher (event version 2)

Payment updater

Document dispatcher

Document updater

Gotenberg

PostgreSQL

MongoDB

Kafka e Zookeeper

KsqlDB

KsqlDB-init

Kafka HTTP API (vector)

form server init

Retry Orchestrator

Payments poller

Efil payment proxy

MyPay payment proxy(version 1)

MyPay payment proxy(version 2)

MyPay wrapper

Iris payment proxy(version 1)

Iris payment proxy(version 2)

PmPay payment proxy

External page payment proxy

PagoPA payment proxy

Dedagroup payment proxy

Silfi payment proxy

APKappa payment proxy

Siscom payment proxy

Checkout pagoPA API

Fake registry proxy

Protocol proxy Sipal

Pitre soap proxy

🆙 Application Registry

Application Registry

Protocol proxy italProt

Protocol proxy AGSPR

Protocol Proxy Reindex

🆙 Protocol Proxy Ptre SOAP

Pdnd-connector

Widget Segnalazioni sul territorio

Widget Richiedi Assistenza

Widget Prenotazione appuntamento

Widget Login Box

Widget Satisfy

Charts exporter

First availability aggregator

Services aggregator

Clickhouse

Bookings aggregator

Hasura

Ratings API (vector)

🐞 Corretto bug che impediva l'invio di una pratica di prenotazione su un calendario con intervalli variabili()

🐞 Corretto bug per cui il click ripetuto sul pulsante di creazione di un appuntamento produce appuntamenti duplicati()

🐞 L'utente non vien più reindirizzato al completamento del profilo, i dati mancanti vengono automaticamente salvati dopo l'invio di una pratica()

🌄 Aggiunta la possibilità di riservare appuntamenti multipli nel componente "dynamic calendars" () () 🌄 Esposizione tramite API delle configurazioni PDND legate ad un servizio () () 🐞 Corretto bug per cui Il doppio click sul pulsante Richiesta di integrazione della pratica produce messaggi duplicati () 🌄 Migliorata l'esperienza di sintesi vocale durante la compilazione del form di segnalazione. () 🐞 Corretta la disponibilità di un orario di apertura con intervallo tra appuntamenti successivi () 🐞 Corretto bug per cui le pratiche in stato "Annullata" non venivano protocollate correttamente dai proxy di protocollazione ()() 🐞 Corretto bug che impediva l'estrazione nel CSV delle pratiche dei dati dei componenti select nel backend dell'operatore () 🌄 Aggiunta sezione che evidenzia la presenza di errori nell'aggiornamento dello stato delle pratiche nella "Dashboard di controllo del sistema di protocollazione" () 🐞 Il numero delle pagine nella lista servizi admin ora indica la pagina attuale () 🐞 Corretto testo nel footer delle email per operatori () 🐞 Corretto bug che rendeva i dati readonly per le pratiche presentate da utente anonimo () 🌄 Implementazione API per pagare su checkout pagoPA () 🐞 Corretto errore ordinamento per data di esecuzione dei pagamenti per servizi a sottoscrizione () 🌄 Integrazione Autenticazione degli Operatori con Microsoft con Entra ID () 🌄 Aggiornata versione Golang e dipendenze da 1.20 a 1.22 nel retry orchestrator () 🌄 Corretto il titolo del documento nel ws delle protocollazioni (retro compatibilità) () 🌄 Aggiunta la validazione dati pdnd a livello di singoli campi del nested form residenza archetipo anziché a livello dell'intero blocco () 🐞 Minor fix sulla nuova interfaccia di configurazione dei pagamenti per gli amministratori (Payment v3) () 🌄 Aggiunto allegato .ics nelle email inviate all'utente dopo la creazione/modifica di un appuntamento () 🌄 Aggiunta moderazione sulle segnalazioni dal territorio ed esposizione dataset delle segnalazioni sul territorio (Feature flag) () () ()

🆙 Core

Varnish

Form Server

Form Builder

Payment dispatcher (event version 1)

Payment dispatcher (event version 2)

Payment updater

Document dispatcher

Document updater

Gotenberg

PostgreSQL

MongoDB

Kafka e Zookeeper

KsqlDB

KsqlDB-init

Kafka HTTP API (vector)

🆙 form server init

🆙 Retry Orchestrator

Payments poller

Efil payment proxy

MyPay payment proxy(version 1)

MyPay payment proxy(version 2)

MyPay wrapper

Iris payment proxy(version 1)

Iris payment proxy(version 2)

PmPay payment proxy

External page payment proxy

PagoPA payment proxy

Dedagroup payment proxy

Silfi payment proxy

APKappa payment proxy

Siscom payment proxy

🆙 Checkout pagoPA API

Fake registry proxy

Protocol proxy Sipal

Pitre soap proxy

Registry

Protocol proxy italProt

Protocol proxy AGSPR

🆙 Protocol Proxy Reindex

Pdnd-connector

Widget Segnalazioni sul territorio

Widget Richiedi Assistenza

Widget Prenotazione appuntamento

Widget Login Box

Widget Satisfy

Charts exporter

First availability aggregator

Services aggregator

Clickhouse

Bookings aggregator

Hasura

Ratings API (vector)

🐞 Corretta la disponibilità di un orario di apertura con intervallo tra appuntamenti successivi ()

🐞 Corretto errore ordinamento per data di esecuzione dei pagamenti per servizi a sottoscrizione ()

🐞 Corretto errore durante il pagamento online tramite il Depag payment proxy () 🐞 Il cittadino nato all'estero vede il paese di nascita nel proprio profilo invece del codice () 🌄 stile schermata login () 🐞 Corretti Errori di visualizzazione nel profilo in versione mobile () 🐞 Widget prenotazione appuntamenti: introdotto meccanismo di retry per le richieste remote () 🐞 Corretto filtro per orario di apertura su calendari multipli () 🐞 Corretti problemi di visuallizaazione (sfarfallii) su accordion contatti dello step richiedente () 🐞 Risolto bug che causava la perdita di dati nella compilazione di un servizio al reload della pagina () 🐞 Risolto bug di upload di file p7m in fase di accettazione di una pratica via API, il file adesso viene salvato con l'estensione corretta e non con l'estensione .bin () 🐞 Corrette notifiche all'operatore per le prenotazioni di appuntamenti tramite utente non loggato ()

🆙 Core

Varnish

Form Server

Form Builder

Payment dispatcher (event version 1)

Payment dispatcher (event version 2)

Payment updater

Document dispatcher

Document updater

Gotenberg

PostgreSQL

MongoDB

Kafka e Zookeeper

KsqlDB

KsqlDB-init

Kafka HTTP API (vector)

Payments poller

Efil payment proxy

MyPay payment proxy(version 1)

MyPay payment proxy(version 2)

MyPay wrapper

Iris payment proxy(version 1)

Iris payment proxy(version 2)

PmPay payment proxy

External page payment proxy

PagoPA payment proxy

Dedagroup payment proxy

Silfi payment proxy

APKappa payment proxy

Siscom payment proxy

Fake registry proxy

Protocol proxy Sipal

Pitre soap proxy

Registry

Protocol proxy italProt

Protocol proxy AGSPR

🆙 Pdnd-connector

Widget Segnalazioni sul territorio

Widget Richiedi Assistenza

🆙 Widget Prenotazione appuntamento

Widget Login Box

🆙 Widget Satisfy

Charts exporter

First availability aggregator

Services aggregator

Clickhouse

Bookings aggregator

Hasura

Ratings API (vector)

🐞 Risolto bug che impediva il download degli allegati di una pratica assegnata senza abilitazione al servizio () 🌄 Eliminato vincolo su importo marca da bollo digitale () 🐞 Corretti alcuni problemi di importazione sul readmodel delle pratiche () 🌄 Aggiunto un controllo sul campo tax code nell'import delle pratiche lite () 🌄 Aggiornata configurazione di docker in modo da usare la macchina arm per il micro servizio Sentinel () 🐞 Ordinamento di default più efficace per la lista delle pratiche lato operatori () 🌄 Visualizzare che non sono stati caricati file nel campo di caricamento file in fase di riepilogo () 🌄 Definitta struttura nested form cittadinanza () 🐞 Corretto bug per cui Il pdnd-connector non riesce a comunicare con la pdnd se passa attraverso un proxy () 🌄 Creato nuovo layout "In attesa di pagamento" () 🌄 Aggiunta possibilità di personalizzazione campi obbligatori nelle segnalazioni () 🐞 Correzione della timezone negli orari degli appuntamenti esportati in formato ICS () 🐞 Corretto bug per cui era impossibile disabilitare il pagamento su servizi importati () 🌄 Esportazione e visualiazzione del dettaglio negli appuntamenti () 🌄 Aggiunta possibilità di modifica del nominativo di un appuntamento nel backoffice calendari () 🐞 Corretto bug per cui il componente html di formio non si visualizza correttamente nel caso di errori html nella definizione del servizio () 🌄 Aggiornamento dello stato del pagamento al ritorno da pagoPA all'area personale () 🌄 Implementata gestione delle actions (link) nelle pratiche lite () 🌄 Documentazione abilitazione Mappa pubblica segnalazioni () 🌄 Integrazione con autenticazione AAC di Trentino Digitale mediante protocollo OpenIDConnect () 🐞 Corretto messaggio agli operatori quando si assegna la pratica all'ufficio () 🌄 Miglioramenti errori accessibilità pagina elenco segnalazioni () 🌄 Integrazione Protocollo Sicraweb (Verona) () 🐞 Corretto bug per cui il pulsante di visualizzazione agenda veniva triplicato dopo cambio ripetuto tra visualizzazione mensile e giornaliera nel calendario () 🐞 Corretto problema di accessibilità nella valutazione delle pagine con screen reader () 🐞 Corretto bug per cui le notifiche di cambio stato per pratiche non assegnate non vengono inviate agli operatori attivi su quel servizio () 🐞 Corretto bug per cui l'tente API non riesce a recuperare i meetings () 🐞 Corretto bug per cui l'operatore poteva compilare pratiche con programmazione scaduta () 🐞 Corretto bug per cui l'operatore riceveva una mail di presa in carico della pratica quando approva un'integrazione () 🌄 Pagina di invito al login deve citare tutti i sistemi di login disponibili come sul sito () 🌄 Aggiunto blocco documenti nella nuova area personale () 🐞 Il testo nel campo password non deve essere copiabile () 🌄 Agggiunta anteprima template personalizzati ()

🆙 Core

Varnish

Form Server

Form Builder

Payment dispatcher (event version 1)

Payment dispatcher (event version 2)

Payment updater

Document dispatcher

Document updater

Gotenberg

PostgreSQL

MongoDB

Kafka e Zookeeper

KsqlDB

KsqlDB-init

Kafka HTTP API (vector)

form server init

Retry Orchestrator

Payments poller

Efil payment proxy

MyPay payment proxy(version 1)

MyPay payment proxy(version 2)

MyPay wrapper

Iris payment proxy(version 1)

Iris payment proxy(version 2)

PmPay payment proxy

External page payment proxy

PagoPA payment proxy

Dedagroup payment proxy

Silfi payment proxy

APKappa payment proxy

Siscom payment proxy

Checkout pagoPA API

WGolEpay Payment Proxy

JPPA Payment Proxy

Depag Payment Proxy

Fake registry proxy

Protocol proxy Sipal

Pitre soap proxy

Application Registry

Application Registry

Protocol proxy italProt

Protocol proxy AGSPR

🆙 Protocol Proxy Reindex

Protocol Proxy Ptre SOAP

🆙 Protocol Proxy Sigedo

🆙 Protocol Proxy Sicraweb EVO

🆙 Pdnd-connector

Widget Segnalazioni sul territorio

Widget Richiedi Assistenza

Widget Prenotazione appuntamento

Widget Login Box

Widget Satisfy

Widget Pagamenti Dovuti

Charts exporter

First availability aggregator

Services aggregator

Clickhouse

Bookings aggregator

Hasura

Ratings API (vector)

🐞 Corretto errore di visualizzazione del messaggio di richiesta integrazione ()

🐞 Corretto messaggio relativo al piano di miglioramento dei servizi ()

🌄 Aggiornamento dipendenze ()

🐞 Corretto errore di visualizzazione del widget satisfy ()

🐞 Corretta conversione della data di nascita del soggetto passivo e modificata logica di reload in attesa della generazione dell'f24 () 🐞 Corretta incoerenza dei dati del cittadino tra calendario e tabella di esportazione () 🐞 Corretta indicizzazione tramite robot.txt 🐞 Corretto bug che impediva il login nel provider di autenticazione Arpa in caso di utilizzo della CIE 🐞 Corretto bug che impediva la corretta creazione dei dovuti in fase di importazione 🐞 Rimosso timeout di default in esecuzione dei webhook

🐞 Widget prenotazione appuntamento: corretta la visualizzazione delle textarea per l'inserimento dei dettagli dell'appuntamento()

🐞 Risolto nella prenotazione con componente calendario dinamico () 🌄 Integrazione e-service C021 AccertamentoStatoFamiglia in nested form OC-figli () 🌄 Adeguamento widget segnalazioni per modalità sola lettura () 🐞 Inibizione dei click ripetuti sulla creazione di appuntamenti nel backoffice () 🌄 Read model: import dei documenti su directus () 🌄 Rinominato bottone Salva segnalazioni () 🐞 Corretto bug per cui le API get stato-famiglia restituiva 500 anziché 400 se i dati in input sono sbagliati () 🐞 Corretto bug per cui le API get stato-famiglia restituiva 500 se non veniva trovato alcun risultato relativo ai parametri della chiamata () 🌄 Creato nuovo componente custom formio dell'indirizzo con mappa () 🌄 Integrazione Protocollo PiTre SOAP con sistema di protocollazione basato su proxy () 🌄 Integrazione e-service C018 Accertamento Cittadinanza () 🌄 Titolo di default parlante per i 3 servizi built-in () 🐞 Corretto bug per cui il pagamento posticipato non veniva richiesto a seguito del pagamento dei bolli () 🐞 Corretto link nel footer delle email destinate agli operatori () 🐞 Eliminate le comunicazioni in caso di cancellazione di appuntamenti in bozza () 🌄 Aggiunto sottotitolo nell'header dell'area personale () 🐞 Corretto Testo informativa privacy errato nella prenotazione appuntamenti avanata () 🐞 Corretto Testo informativa privacy nel widget di prenotazione appuntamenti () 🌄 Aggiunta la possibilità di riservare slot multipli nel componente "dynamic calendars" () 🌄 Piccole migliorie sul servizio "Pagare tributi IMU" () 🐞 Migliore gestione degli errori nelle pagine che si aspettano un uuid nell'indirizzo () 🐞 Corretto contrasto tra colori testo/sfondo su tema "Trento" () 🌄 Aggiunta nuova funzionalità "Livello di priorità nelle pratiche" () 🌄 Miglioramento visualizzazione servizi correlati in versione mobile () 🌄 Invio al protocollo di un documento allegato dall'operatore durante l'accettazione della pratica () 🌄 Creazione pagamenti immediati via API () 🌄 Aggiunta di 2 workflow di gestione pratiche: silenzio assenso e silenzio diniego () 🌄 Integrare in react il componente per il caricamento di allegati () 🌄 Integrare in react il componente per il caricamento di allegati ()

🆙 Core

Varnish

Form Server

Form Builder

Payment dispatcher (event version 1)

Payment dispatcher (event version 2)

Payment updater

Document dispatcher

Document updater

Gotenberg

PostgreSQL

MongoDB

Kafka e Zookeeper

KsqlDB

KsqlDB-init

Kafka HTTP API (vector)

form server init

Retry Orchestrator

Payments poller

Efil payment proxy

MyPay payment proxy(version 1)

MyPay payment proxy(version 2)

MyPay wrapper

Iris payment proxy(version 1)

Iris payment proxy(version 2)

PmPay payment proxy

External page payment proxy

PagoPA payment proxy

Dedagroup payment proxy

Silfi payment proxy

APKappa payment proxy

Siscom payment proxy

Checkout pagoPA API

Fake registry proxy

Protocol proxy Sipal

Pitre soap proxy

🆙 Application Registry

Application Registry

Protocol proxy italProt

Protocol proxy AGSPR

Protocol Proxy Reindex

🆙 Protocol Proxy Ptre SOAP

Pdnd-connector

Widget Segnalazioni sul territorio

Widget Richiedi Assistenza

Widget Prenotazione appuntamento

Widget Login Box

Widget Satisfy

Charts exporter

First availability aggregator

Services aggregator

Clickhouse

Bookings aggregator

Hasura

Ratings API (vector)

🐞 Risolto bug che causava la perdita di dati nella compilazione di un servizio al reload della pagina ()

🐞 Risolto bug di upload di file p7m in fase di accettazione di una pratica via API, il file adesso viene salvato con l'estensione corretta e non con l'estensione .bin ()

🐞 Corrette notifiche all'operatore per le prenotazioni di appuntamenti tramite utente non loggato ()

Risolto bug che si verificava durante la gestione dell'esito di pagamento

Silfi Payment Proxy: Dedagroup payment proxy: Dedagroup payment proxy: Area Personale - Core: Area Personale - Core:

Application Registry: Application Registry:

Area Personale - Core: Area Personale - Core:

Area Personale - Core:

Area Personale - Core: Area Personale - Core:

Widget Servizio: Widget Servizio: Form Sync: PDND Connector: 🧹 Fake Registry Proxy: 🧹 Document dispatcher: Simple ID Generator:

🆙 Core

Varnish

Form Server

Form Builder

Payment dispatcher (event version 1)

Payment dispatcher (event version 2)

Payment updater

Document dispatcher

Document updater

Gotenberg

PostgreSQL

MongoDB

Kafka e Zookeeper

KsqlDB

KsqlDB-init

Kafka HTTP API (vector)

Payments poller

Efil payment proxy

MyPay payment proxy (version 1)

MyPay payment proxy (version 2)

MyPay wrapper

Iris payment proxy (version 2)

PmPay payment proxy

External page payment proxy

PagoPA payment proxy

Dedagroup payment proxy

Silfi payment proxy

APKappa payment proxy

Siscom payment proxy

Fake registry proxy

Protocol proxy Sipal

Pitre soap proxy

Registry

Protocol proxy italProt

Protocol proxy AGSPR

Pdnd-connector

Widget Segnalazioni sul territorio

Widget Richiedi Assistenza

Widget Prenotazione appuntamento

Widget Login Box

Widget Satisfy

Charts exporter

First availability aggregator

Services aggregator

Clickhouse

Bookings aggregator

Hasura

Ratings API (vector)

Aggiunte traduzioni per versione 3.0.0

Verifica del tipo prima della conversione

Aggiunto controllo sul pre sumbit del meeting

Correzione precompilazione orario di apertura su patch api

Update date in release it

Correzione test automatici

Resolve "Upgrade versione evento supportato per il gateway Checkout pagoPA"

Aggiornamento versione axios

Correzione typo nella risposta api

Resolve "Upgrade versione evento supportato per il gateway Checkout pagoPA"

Correzione formattazione messaggio operatore nelle email di appuntamento

Correzioni template email appuntamenti

Correzione deprecazione transchoice

Correzione annotation deprecata has_role

Corregge un typo nei test di Hurl

Correzione titolo sezione amministratori

Aggiornamento a symfony 5.4

Risolve "Errore riferimento al luogo dell'appuntamento con link online"

Riapertura entity manager e invalidazione scheduled action che ne provoca la chiusura

Aggiunta indicizzazione per Uffici Giudiziari

Use getBasePath method

User identifier as spidcode in openlogin provider

Spid code non è più obbligatorio in openlogin provider

Test api schema validation

Aggiunto alert, riprova pagametno

Corregge le api get, put and patch dei bolli sulle applications api

[2285] Decodifica il codice catastale nel caso di paese estero

[2240] Evita che parta una mail se non esiste un vero cambio di stato

Risolve "Possibilità di inserire le note di una pratica via API"

Visualizzazione step per form con piu di 4 pagine nel modulo formio

Nascosto il pulsante per scaricare l'avviso di pagamento per dovuti aggiornati con errore

Migliora i messaggi d'errore

Corregge la serializzazione dei dati nell'API dell'appication

Aggiunge il locale nel redirect a siag authenticator

aggiornamento satisfy 1.5.5

Merge branch '2321-upgrade-versione-evento-supportato-per-il-gateway-checkout-pagopa' into 'master'

Merge branch 'axios-1.7.4-update' into 'master'

Merge branch '2321-upgrade-versione-evento-supportato-per-il-gateway-checkout-pagopa' into 'master'

Merge branch '2319-correzione-titolo-sezione-amministratori' into 'master'

Merge branch '2306-errore-riferimento-al-luogo-dell-appuntamento-con-link-online' into 'master'

Merge branch '2253-le-scheduled-actions-non-falliscono-in-caso-di-errori' into 'master'

Merge branch 'aggiornamento-robots-txt' into 'master'

Merge branch '2290-gestione-di-un-errore-durante-il-pagamento-online-a-partire-dalla-sezione-pagamenti' into 'master'

Merge branch '2290-gestione-di-un-errore-durante-il-pagamento-online-a-partire-dalla-sezione-pagamenti' into 'master'

Merge branch '2285-il-cittadino-nato-all-estero-deve-vedere-il-nome-del-paese-di-nascita-non-il-codice-2' into 'master'

Merge branch '2240-il-doppio-click-sul-pulsante-di-accettazione-della-pratica-produce-messaggi-duplicati' into 'master'

Merge branch '2269-possibilita-di-inserire-le-note-di-una-pratica-via-api' into 'master'

Merge branch '2301-visualizzazione-del-riepilogo-con-piu-step-formio' into 'master'

Merge branch '2193-pulsante-per-scaricare-l-avviso-di-pagamento-se-non-disponibile' into 'master'

Merge branch '1949-il-login-mycivis-sull-area-personale-mantiene-la-lingua-di-interfaccia-impostata-sul-sito-di' into 'master'

🆙 Core

Varnish

🆙 Form Server

🆙 Form Builder

Payment dispatcher (event version 1)

Payment dispatcher (event version 2)

Payment updater

🆙 Document dispatcher

🆙 Document updater

Gotenberg

PostgreSQL

MongoDB

Kafka e Zookeeper

KsqlDB

KsqlDB-init

Kafka HTTP API (vector)

Payments poller

Efil payment proxy

MyPay payment proxy(version 1)

MyPay payment proxy(version 2)

MyPay wrapper

Iris payment proxy(version 1)

Iris payment proxy(version 2)

PmPay payment proxy

External page payment proxy

🆙 PagoPA payment proxy

🆙 Dedagroup payment proxy

Silfi payment proxy

APKappa payment proxy

Siscom payment proxy

Fake registry proxy

Protocol proxy Sipal

Pitre soap proxy

🆙 Registry

Protocol proxy italProt

Protocol proxy AGSPR

Pdnd-connector

Widget Segnalazioni sul territorio

Widget Richiedi Assistenza

Widget Prenotazione appuntamento

Widget Login Box

🆙 Widget Satisfy

Charts exporter

First availability aggregator

Services aggregator

Clickhouse

Bookings aggregator

Hasura

Ratings API (vector)

🌍 È ora possibile configurare indirizzi personalizzati per la gestione dei dati a seconda dell'ambiente utilizzato (es. test o produzione) ()

🔕 Non verranno più inviate notifiche per modifiche fatte ad appuntamenti già passati ()

🖼️ Le immagini vengono caricate solo quando servono, migliorando la velocità del sito ()

🧭 Migliorata la compatibilità dei menu a tendina su Safari ()

📅 Corretto un problema con i file calendario degli appuntamenti che mostravano codice HTML nel campo "luogo" ()

📘 Pubblicata la documentazione standard per integrazioni con pagamenti e protocolli ()

🚀 Attivato un nuovo servizio legato al progetto PNRR ()

🏘️ Sincronizzazione migliorata per i moduli relativi all'IMU ()

📄 L’operatore ora non può più aggiungere un bollo in fase di approvazione pratica ()

👤 Aggiunta una pagina contenitore per la nuova area personale del cittadino ()

👪 Installati nuovi moduli dedicati ai genitori e al nucleo familiare ()

📌 È stato aggiunto un tab per consultare le pratiche annullate nell’area personale ()

🖼️ Risolti errori di importazione immagini e file multipli in alcuni moduli del sito (, )

🔄 Migrazione completata per i contenuti della sezione "Approfondimenti" ()

🔍 Migliorata la ricerca nei moduli grazie al supporto ai filtri avanzati ()

🖼️ Ottimizzata la visualizzazione di loghi e immagini con sfondo personalizzato (, )

📌 Resa più chiara l’interfaccia delle “Pratiche in evidenza” ()

👤 Miglioramenti alla nuova area personale per una navigazione più semplice ()

🔐 Solo l’amministratore può ora vedere alcune configurazioni avanzate di protocollo ()

⏱️ Visualizzazione più veloce dei pagamenti in corso ()

🎉 Rilasciata la nuova area personale per i cittadini di Vicopisano ()

Flussi dati:

Form Sync:

Document dispatcher:

Widget Prenotazione appuntamento:

Payment dispatcher:

Application Registry:

Area Personale - Core:

🌄 Aggiornamento dipendenze ()

🐞 Corretto messaggio relativo al piano di miglioramento dei servizi ()

🐞 Corretto errore di visualizzazione del widget satisfy ()

🐞 Risolto bug che impediva la creazione di nuove configurazioni di servizio: campo is_active non inviato () 🌄 Aggiustamenti grafici sull'interfaccia di compilazione dei blocchi pdnd () 🐞 Corretto bug per cui la risposta stato-famiglia per oc_figli è incompleta per la maggior parte dei codiceLegame dell'intestatario () 🌄 Introdotta la possibilità di effettuare una DELETE di un allegato tramite API () 🐞 Traduzione tedesca del widget prenotazione appuntamento del CMS () 🐞 Corretto bug che provocava la mancato aggiornamento della disponibilità oraria dopo il cambio dell'ufficio nel widget delle prenotazioni () 🐞 Corretto comportamento del login-box in visualizzazione mobile () 🐞 Aggiunta la possibilità di recuperare form dei servizi builtin via API () 🌄 Aggiunto widget satisfy in fase di invio della segnalazione e nella pagina di dettaglio () 🌄 Creata una landing page specifica per le segnalazioni () 🐞 Corretti permessi di download allegati e visualizzazione pratiche per operatori () 🐞 Corretta incoerenza dei dati del cittadino tra calendario e tabella di esportazione () 🌄 Corretto messaggio agli operatori quando si assegna la pratica all'ufficio () 🌄 Aggiunta la possibilità di inserire pagamenti posticipati multipli in fase di approvazione pratica (questa funzionalità non è attiva di default) ()() 🌄 Aggiunto componente custom formio dell'indirizzo con mappa () 🌄 Pratiche Lite: definizione e implementazione delle pratiche lite () 🌄 Pratiche Lite: API per import pratiche ()

🆙 Core

Varnish

Form Server

Form Builder

Payment dispatcher (event version 1)

Payment dispatcher (event version 2)

Payment updater

Document dispatcher

Document updater

Gotenberg

PostgreSQL

MongoDB

Kafka e Zookeeper

KsqlDB

KsqlDB-init

Kafka HTTP API (vector)

form server init

Retry Orchestrator

Payments poller

Efil payment proxy

MyPay payment proxy(version 1)

MyPay payment proxy(version 2)

MyPay wrapper

Iris payment proxy(version 1)

Iris payment proxy(version 2)

PmPay payment proxy

External page payment proxy

PagoPA payment proxy

Dedagroup payment proxy

Silfi payment proxy

APKappa payment proxy

Siscom payment proxy

Checkout pagoPA API

Fake registry proxy

Protocol proxy Sipal

Pitre soap proxy

🆙 Application Registry

Application Registry

Protocol proxy italProt

Protocol proxy AGSPR

Protocol Proxy Reindex

Protocol Proxy Ptre SOAP

🆙 Protocol Proxy Sigedo

🆙 Pdnd-connector

🆙 Widget Segnalazioni sul territorio

Widget Richiedi Assistenza

Widget Prenotazione appuntamento

Widget Login Box

Widget Satisfy

🆙 Widget PAgamenti Dovuti

Charts exporter

First availability aggregator

Services aggregator

Clickhouse

Bookings aggregator

Hasura

Ratings API (vector)

🐞 Corretto bug che impediva la disabilitazione dei gateway di pagamento per servizi importati con configurazioni non attive a livello di ente () 🐞 Ripristinata formattazione del testo predefinito nell'editor di richiesta integrazione () 🐞 Corretta visualizzazione valore componente AddressMap () 🐞 Visualizzazione pagamenti esterni alla piattaforma il feature flag non è integrato (jppa) () 🐞 Caricamento errato allegati da Widget Formio React e accessibilità input () 🌄 Titolo visibile in tutte le pagine e gestione email () 🐞 Larghezza massima della Select in base al contenitore e non al valore () 🐞 Errore nella generazione del documento F24: conversione della data di nascita e gestione caricamento pagina () 🌄 Introduzione di un avviso che la sessione sta per scadere e bisogna procedere al salvataggio () 🐞 Corretto bug che impediva la visualizzazione della lista di template per la creazione di un nuovo servizio tramite copia () 🐞 Gestite eccezioni negli eventi legati alla modifica pratica () 🌄 Pratiche Lite: Importazione del servizio tramite api di import () 🌄 Pratiche Lite: definizione e implementazione del Beneficiario () 🐞 La vista mappa delle mie segnalazioni del widget segnalazioni è ora visualizzata con il corretto stile () 🌄 Miglioramenti accessibilità pdf segnalazione () 🌄 Miglioramenti accessibilità pagina dettaglio segnalazione () 🌄 Aggiunto filtro indirizzo per area geografica specifica () 🌄 L'entità documento del registry deve avere un campo aggiuntivo status () 🌄 Infor - aggiunta Basic Auth () 🌄 Aggiunta possibilità di vedere la disponibilità giornaliera di un calendario per un intervallo di date () 🌄 Aggiunto calcolatore dei prezzi prenotazione sale () 🐞 Corretto bug per cui lo stato dei dovuti importati tramite csv non viene aggiornato () 🌄 Diverse migliorie nella configurazione di un servizio con il protocollo sipal () 🌄 Aggiunta configurazione della tipologia di trasmissione PiTre () 🌄 Carrello PagoPA per i pagamenti delle pratiche () 🌄 Pagare tributi IMU () 🌄 Aggiunta obbligatorietà del campo e-mail nella creazione di appuntamenti da calendario () 🌄 Integrazione con sistema di Autenticazione Verona per gli operatori dell'ente () 🐞 Corretto ordinamento lista pratiche () 🌄 Corretto titolo di default delle pratiche () 🌄 Prenotare slot multipli nel componente "dynamic calendars" del widget ()

🆙 Core

Varnish

Form Server

Form Builder

🆙 Payment dispatcher (event version 1)

Payment dispatcher (event version 2)

Payment updater

Document dispatcher

Document updater

Gotenberg

PostgreSQL

MongoDB

Kafka e Zookeeper

KsqlDB

KsqlDB-init

Kafka HTTP API (vector)

form server init

🆙 Retry Orchestrator

🆙 Payments poller

🆙 Efil payment proxy

MyPay payment proxy(version 1)

MyPay payment proxy(version 2)

MyPay wrapper

Iris payment proxy(version 1)

Iris payment proxy(version 2)

🆙 PmPay payment proxy

🆙 External page payment proxy

PagoPA payment proxy

🆙 Dedagroup payment proxy

🆙 Silfi payment proxy

🆙 APKappa payment proxy

🆙 Siscom payment proxy

Checkout pagoPA API

🆙 WGolEpay Payment Proxy

🆙 JPPA Payment Proxy

🆙 Depag Payment Proxy

Fake registry proxy

Protocol proxy Sipal

Pitre soap proxy

Application Registry

🆙 Application Registry

Protocol proxy italProt

Protocol proxy AGSPR

Protocol Proxy Reindex

Protocol Proxy Ptre SOAP

🆙 Protocol Proxy Sigedo

🆙 Protocol Proxy Sicraweb EVO

Pdnd-connector

🆙 Widget Segnalazioni sul territorio

Widget Richiedi Assistenza

Widget Prenotazione appuntamento

🆙 Widget Login Box

🆙 Widget Satisfy

Widget Pagamenti Dovuti

Charts exporter

First availability aggregator

Services aggregator

Clickhouse

Bookings aggregator

Hasura

Ratings API (vector)

🐞 Corretto bug di impostazione della data di scadenza degli appuntamenti in stato bozza tramite API ()

🌄 Migliorata email di notifica al cittadino dopo la fase di importazione dei dovuti ()

🌄 Aggiunto nuovo filtro service_id nelle API delle pratiche ()

🐞 Corretto bug che permette l'eliminazione di allegati in pratiche non in stato bozza ()

🐞 Corretto bug che impediva la corretta importazione dei servizi con pagamenti configurati ()

🐞 Corretto bug introdotto con la 2.46 che impediva il corretto salvataggio della data di invio nelle pratiche con pagamento in fase di richiesta configurato ()

🐞 Corretto formato dati degli allegati come nel widget delle segnalazioni () 🐞 Aggiunto campo mime_type per discriminare componenti file () 🐞 Ripristinate informazioni del calendario nelle API /meetings () 🐞 Corretti alcuni bug che avvenivano in fase di configurazione dei client di PDND () 🐞 Corretto bug che precompilava i dati di un appuntamento con l'appuntamento precedente () 🌄 Aggiunto campo stato nell'entità documento () 🐞 Visualizzazione del codice breve nelle esportazioni del calendario () 🐞 Correzione colori tema Amaranto () 🐞 Corretti rrrori nella gestione del colore del tema () 🐞 Corretto bug che impediva all'operatore di annullare un appuntamento confermato () 🌄 Implementazione stato famiglia in nested form OC-figli () 🌄 Creazione dashboard controllo sistema di protocollazione () 🐞 Associazione pratica - appuntamento per pratiche create via API () 🌄 Periodo di chiusura generale per i calendari dell'ente () 🐞 Corretti messaggi di errore per le API transitions () 🐞 Corretto placeholder non valorizzato nelle email dell'operatore in seguito a protocollazione integrazioni () 🐞 Inserito Ufficio nell'export delle pratiche CSV () 🐞 Correzione formattazione degli orari di chiusura via API ()

🆙 Core

Varnish

Form Server

Form Builder

Payment dispatcher (event version 1)

Payment dispatcher (event version 2)

Payment updater

🆙 Document dispatcher

🆙 Document updater

Gotenberg

PostgreSQL

MongoDB

Kafka e Zookeeper

KsqlDB

KsqlDB-init

Kafka HTTP API (vector)

Payments poller

Efil payment proxy

MyPay payment proxy(version 1)

MyPay payment proxy(version 2)

MyPay wrapper

Iris payment proxy(version 1)

Iris payment proxy(version 2)

PmPay payment proxy

External page payment proxy

PagoPA payment proxy

Dedagroup payment proxy

Silfi payment proxy

🆙 APKappa payment proxy

Siscom payment proxy

Fake registry proxy

Protocol proxy Sipal

Pitre soap proxy

🆙 Registry

Protocol proxy italProt

Protocol proxy AGSPR

🆙 Pdnd-connector

🆙 Widget Segnalazioni sul territorio

Widget Richiedi Assistenza

🆙 Widget Prenotazione appuntamento

Widget Login Box

Widget Satisfy

Charts exporter

First availability aggregator

Services aggregator

Clickhouse

Bookings aggregator

Hasura

Ratings API (vector)

🐞 Risolto errore gestione cambio di stato pagamento nel flusso di pagamento online () 🐞 Rimozione salva bozza in prenota appuntamenti se utente non è autenticato () 🌄 Esposizione del codice breve dell'appuntamento nella API new-draft () 🌄 Aggiunta visualizzazion del codice breve per un appuntamento nella landing page () 🐞 Corretto errore di loop infinito sul sistema di retry se un microservizio che lo usa omette il retry counter () 🐞 Migliorata la selezione dell'orario di un appuntamento dinamico per prenotazione sale () 🐞 Corretto bug che effettuava chiamate multiple di session-auth in Formio () 🐞 Correzione dei colori nel tema Amaranto () 🐞 Allineati i colori dei componenti calendario con il tema impostato () 🌄 Aggiunta ntegrazione Residenza archetipo con PDND () 🌄 Minor fix sull'invio della pratica () 🐞 Corretto bug che permetteva l'abilitazione un gateway di pagamento via API del servizio anche se il gateway non era abilitato a livello di teant () 🌄 Aggiunto link Diretto al Calendario nelle Email di Prenotazione Appuntamento () 🐞 Corretto bug che impediva il pagamento immediato su pratiche compilate come Operatore () 🌄 Aggiunta documentazione integrazione sistema esterno che supporti autenticazione tramite jwt () 🐞 Corretto errore nel salvataggio della bozza quando il richiedente non compare nel primo step del form () 🐞 Disabilitata possibilità di richiedere integrazioni su servizi con flusso inoltro () 🐞 Corretto bug che permetteva la creazione di pagamenti multipli al caricamento della pagina - MyPay v1 () 🐞 Migliorata la gestione di errori da parte del gateway MyPay v1 () 🐞 Il componente giorno adesso compare correttamente nel'export csv dell pratiche () 🐞Corretto bug che impediva di visualizzare tutti gli stati (acquisita e inviata) nell'iter ()

🆙 Core

Varnish

Form Server

Form Builder

Payment dispatcher (event version 1)

Payment dispatcher (event version 2)

Payment updater

Document dispatcher

🆙 Document updater

Gotenberg

PostgreSQL

MongoDB

Kafka e Zookeeper

KsqlDB

KsqlDB-init

Kafka HTTP API (vector)

Payments poller

Efil payment proxy

MyPay payment proxy(version 1)

🆙 MyPay payment proxy(version 2)

MyPay wrapper

Iris payment proxy(version 1)

🆙 Iris payment proxy(version 2)

PmPay payment proxy

External page payment proxy

PagoPA payment proxy

🆙 Dedagroup payment proxy

🆙 Silfi payment proxy

APKappa payment proxy

Siscom payment proxy

Fake registry proxy

Protocol proxy Sipal

Pitre soap proxy

🆙 Registry

Protocol proxy italProt

Protocol proxy AGSPR

Widget Segnalazioni sul territorio

Widget Richiedi Assistenza

🆙 Widget Prenotazione appuntamento

Widget Login Box

Widget Satisfy

Charts exporter

First availability aggregator

Services aggregator

Clickhouse

Bookings aggregator

Hasura

Ratings API (vector)

🐞 Correzione verifica tipo prima di convertire la data

🐞 [2306] Errore riferimento al luogo dell'appuntamento con link online 2.49

🐞 [2312] Aggiunta indicizzazione per Uffici Giudiziari

🐞 [2285] Decodifica il codice catastale nel caso di paese estero 2.49

🐞 Aggiornamento versione axios su 2.49

🐞 Corretto bug ne document dispatcher che impediva di fare il parsing dei campi "event_version" () 🐞 Rimozione possibilità di procedere al pagamento di dovuti annullati () 🐞 Corretto bug per cui le pratiche acquisite e protocollate non presentano la data di protocollazione () 🐞 Corretto bug per cui la causale del debito non veniva inclusa in fase di creazione di quest'ultimo () 🐞 Corretto bug per cui se il protocollo restituisce errore, il proxy lo riconosce come protocollazione positiva () 🐞 Rimossa produzione erronea di eventi doppi di tipo documento per lo stesso stato () 🌄 Migliorata la comunicazione al cittadino in caso di importazione dovuto () 🌄 Salvataggio nel servizio delle configurazioni di pagamento () 🐞 Corretto bug che impediva la modifica della bozza della segnalazione () 🐞 I campi non provenienti dalla pdnd nel form oc-coniuge sono adesso modificabili () 🌄 Aggiunta la possibilità nel form builder di deprecare un form () 🌄 Aggiunto nuovo tema Rivoli () 🐞 Rimossa la possibilità di copiare dal campo password () 🐞 Corretto bug di impostazione della data di scadenza di default di un dovuto importato tramite csv () 🌄 Aggiunta la possibilità di fascicolare e trasmettere a più uffici un pratica protocollata nel protocollo Urbi Smart () 🐞 Corretto errore di visualizzazione degli orari di chiusura su visualizzazione mensile del calendario operatori () 🌄 Aggiunte api per reperire i dati profilo del cittadino (profile blocks) () 🐞 Pulsante dettaglio sulla scrivania deve indirizzare al dettaglio della pratica () 🌄 Aggiunto controllo e limitazioni su caricamento immagini e file nel widget delle segnalazioni() 🌄 Aggiunta importazione dovuti mediante API nel gateway di pagamento jppa() 🌄 Aggiunta possibilità come cittadino di poter pagare i dovuti di pagamenti non creati a partire dall'area personale tramite il proxy di pagamento Silfi payment proxy ()

🆙 Core

Varnish

🆙 Form Server

Form Builder

Payment dispatcher (event version 1)

Payment dispatcher (event version 2)

Payment updater

🆙 Document dispatcher

🆙 Document updater

Gotenberg

PostgreSQL

MongoDB

Kafka e Zookeeper

KsqlDB

KsqlDB-init

Kafka HTTP API (vector)

Payments poller

Efil payment proxy

MyPay payment proxy(version 1)

MyPay payment proxy(version 2)

MyPay wrapper

Iris payment proxy(version 1)

Iris payment proxy(version 2)

PmPay payment proxy

External page payment proxy

PagoPA payment proxy

Dedagroup payment proxy

🆙 Silfi payment proxy

APKappa payment proxy

Siscom payment proxy

Fake registry proxy

Protocol proxy Sipal

Pitre soap proxy

🆙 Registry

Protocol proxy italProt

🆙 Protocol proxy AGSPR

🆙 Pdnd-connector

🆙 Widget Segnalazioni sul territorio

Widget Richiedi Assistenza

Widget Prenotazione appuntamento

Widget Login Box

🆙 Widget Satisfy

Charts exporter

First availability aggregator

Services aggregator

Clickhouse

Bookings aggregator

Hasura

Ratings API (vector)

🐞 Corretto bug che impediva la modifica di un calendario () 🐞 La scadenza viene correttamente valorizzata per gli appuntament in bozza creati via API () 🐞 Errore importazione servizio da altro tenant () 🌄 Integrazione con proxy di protocollaizone maggioli sicraweb evo () 🐞 Corretto bug che impediva la valorizzazione del Submission time per le pratiche con pagamento immediato () 🐞 Come cittadino non riesco a riprovare il pagamento dopo essere uscito dal checkout () 🌄 Resa opzionale l' autogenerazione dello IUV nel proxy di pagamento JPPA () 🐞 Corretto bug che impediva la personalizzazione del footer delle email () 🐞 Errore messaggio di conferma in caso di appuntamento moderato () 🐞 Impedire eliminazione di allegati per pratiche già inviate () 🌄 Aggiungere un identificativo del documento per ogni protocollazione () 🐞 Correzione messaggio permessi di visualizzazione calendario () 🐞 Verifica validità del file caricato per l'importazione dei dovuti () 🐞 Miglioramenti pagina di atterraggio in attesa del modulo pdf () 🐞 Allineamento tema Warmred () 🌄 Implementazione stato famiglia in nested form OC - Coniuge () 🌄 Implementazione stato famiglia in nested form OC - Genitori () 🌄 Eliminata la funzionalità dell'erogatore perchè ormai in disuso () 🐞 Corretto bug che permetteva la modifica di appuntamenti passati () 🌄 Aggiunto Filtro service_id sulla API /applications () 🌄 Il pulsante ìVai al pagamento' per pagamenti dovuti riporta alla scheda del servizio () 🌄 Cambio password admin () 🐞 Corretto errore di visualizzazione dei contatti del footer in caso di inserimento di testi molto lunghi () 🌄 Aggiornamento del dbal alla versione3.0 () 🌄 Pregettazione Interfaccia pagamenti multipli sulla configurazione del servizio () 🌄 Creazione nuovo ruolo "manager" () 🌄 Aggiunte API mancanti per la gestione delle pratiche da parte di un sistema esterno () 🐞 Corretto bug che permmetteca di visualizzare Tra i nested form disponibili su formio anche dei servizi () 🌄 Apportate diverse migliorie al procedimento di recupero della password (, , )

🆙 Core

Varnish

Form Server

Form Builder

Payment dispatcher (event version 1)

Payment dispatcher (event version 2)

Payment updater

Document dispatcher

Document updater

Gotenberg

PostgreSQL

MongoDB

Kafka e Zookeeper

KsqlDB

KsqlDB-init

Kafka HTTP API (vector)

Payments poller

Efil payment proxy

MyPay payment proxy(version 1)

MyPay payment proxy(version 2)

MyPay wrapper

Iris payment proxy(version 1)

Iris payment proxy(version 2)

PmPay payment proxy

External page payment proxy

PagoPA payment proxy

Dedagroup payment proxy

Silfi payment proxy

APKappa payment proxy

Siscom payment proxy

Fake registry proxy

Protocol proxy Sipal

Pitre soap proxy

🆙 Registry

Protocol proxy italProt

🆙 Protocol proxy AGSPR

🆙 Pdnd-connector

🆙 Widget Segnalazioni sul territorio

Widget Richiedi Assistenza

🆙 Widget Prenotazione appuntamento

Widget Login Box

Widget Satisfy

Charts exporter

First availability aggregator

Services aggregator

Clickhouse

Bookings aggregator

Hasura

Ratings API (vector)

🆙 Core

Varnish

Form Server

Form Builder

Payment dispatcher (event version 1)

Payment dispatcher (event version 2)

Payment updater

Document dispatcher

Document updater

Gotenberg

PostgreSQL

MongoDB

Kafka e Zookeeper

KsqlDB

KsqlDB-init

Kafka HTTP API (vector)

Payments poller

🆙 Efil payment proxy

MyPay payment proxy

MyPay wrapper

🆙 Iris payment proxy

PmPay payment proxy

External page payment proxy

PagoPA payment proxy

Dedagroup payment proxy

🆙 Silfi payment proxy

APKappa payment proxy

Siscom payment proxy

Fake registry proxy

Protocol proxy Sipal

Pitre soap proxy

🆙 Registry

Protocol proxy italProt

Protocol proxy AGSPR

Widget Segnalazioni sul territorio

Widget Richiedi Assistenza

Widget Prenotazione appuntamento

Widget Login Box

Widget Satisfy

Charts exporter

First availability aggregator

Services aggregator

Clickhouse

Bookings aggregator

Hasura

Ratings API (vector)

🆙 Core

Varnish

Form Server

Form Builder

Payment dispatcher (event version 1)

🆙 Payment dispatcher (event version 2)

Payment updater

Document dispatcher

Document updater

Gotenberg

PostgreSQL

MongoDB

Kafka e Zookeeper

KsqlDB

KsqlDB-init

Kafka HTTP API (vector)

Payments poller

Efil payment proxy

🆙 MyPay payment proxy

🆙 MyPay wrapper

Iris payment proxy

PmPay payment proxy

External page payment proxy

PagoPA payment proxy

Dedagroup payment proxy

🆙 Silfi payment proxy

APKappa payment proxy

Siscom payment proxy

🆙 Fake registry proxy

Protocol proxy Sipal

🆙 Pitre soap proxy

🆙 Registry

Protocol proxy italProt

Protocol proxy AGSPR

Widget Segnalazioni sul territorio

Widget Richiedi Assistenza

🆙 Widget Prenotazione appuntamento

Widget Login Box

Widget Satisfy

Charts exporter

First availability aggregator

Services aggregator

Clickhouse

Bookings aggregator

Hasura

Ratings API (vector)

🆙 Core

Varnish

Form Server

Form Builder

Payment dispatcher (event version 1)

Payment dispatcher (event version 2)

Payment updater

Document dispatcher

Document updater

Gotenberg

PostgreSQL

MongoDB

Kafka e Zookeeper

KsqlDB

KsqlDB-init

Kafka HTTP API (vector)

🆙 Payments poller

Efil payment proxy

🆙 MyPay payment proxy

🆙 MyPay wrapper

🆙 Iris payment proxy

PmPay payment proxy

External page payment proxy

PagoPA payment proxy

Dedagroup payment proxy

Silfi payment proxy

APKappa payment proxy

Siscom payment proxy

Fake registry proxy

Protocol proxy Sipal

🆙 Pitre soap proxy

🆙 Registry

Protocol proxy italProt

Protocol proxy AGSPR

🆙 Widget Segnalazioni sul territorio

🆙 Widget Richiedi Assistenza

🆙 Widget Prenotazione appuntamento

Widget Login Box

Widget Satisfy

Charts exporter

First availability aggregator

Services aggregator

Clickhouse

Bookings aggregator

Hasura

Ratings API (vector)

🆙 Core

Varnish

Form Server

Form Builder

Payment dispatcher (event version 1)

🆙 Payment dispatcher (event version 2)

Payment updater

🆙 Document dispatcher

🆙 Document updater

Gotenberg

PostgreSQL

MongoDB

Kafka e Zookeeper (confluent platform 7.0.0)

KsqlDB

KsqlDB-init

Kafka HTTP API (vector)

Payments poller

Efil payment proxy

MyPay payment proxy

MyPay wrapper

Iris payment proxy

PmPay payment proxy

External page payment proxy

PagoPA payment proxy

🆙 Dedagroup payment proxy

Silfi payment proxy

APKappa payment proxy

Siscom payment proxy

Fake registry proxy

Protocol proxy Sipal

Pitre soap proxy

Registry

Protocol proxy italProt

Protocol proxy AGSPR

🆙 Widget Segnalazioni sul territorio

Widget Richiedi Assistenza

Widget Prenotazione appuntamento

Widget Login Box

Widget Satisfy

Charts exporter

First availability aggregator

Services aggregator

Clickhouse

Bookings aggregator

Hasura

Ratings API (vector)

🆙 Core

Varnish

Form Server

Form Builder

Payment dispatcher (event version 1)

Payment dispatcher (event version 2)

Payment updater

🆙 Document dispatcher

Document updater

Gotenberg

PostgreSQL

MongoDB

Kafka e Zookeeper

KsqlDB

KsqlDB-init

Kafka HTTP API (vector)

Payments poller

Efil payment proxy

🆙 MyPay payment proxy

MyPay wrapper

Iris payment proxy

PmPay payment proxy

External page payment proxy

PagoPA payment proxy

Dedagroup payment proxy

Silfi payment proxy

APKappa payment proxy

Siscom payment proxy

🆙 Fake registry proxy

Protocol proxy Sipal

🆙 Pitre soap proxy

🆙 Registry

Protocol proxy italProt

Protocol proxy AGSPR

🆙 Widget Segnalazioni sul territorio

Widget Richiedi Assistenza

🆙 Widget Prenotazione appuntamento

Widget Login Box

Widget Satisfy

Charts exporter

First availability aggregator

Services aggregator

Clickhouse

Bookings aggregator

Hasura

Ratings API (vector)

🆙 Core

Form Server

2.0.0Form Builder

Payment dispatcher -

Payments poller

Efil payment proxy

MyPay payment proxy

MyPay wrapper

🆙 Iris payment proxy

PmPay payment proxy

External page payment proxy

PagoPA payment proxy

🆙 Dedagroup payment proxy

Payment updater

Payment KsqlDB

🆙 Document dispatcher

🆙 Document updater

🆙Fake registry proxy

🆙 Protocol proxy Sipal

Pitre soap proxy

Registry

🆙 Widget Segnalazioni sul territorio

🆙 Widget Richiedi Assistenza

🆙 Widget Prenotazione appuntamento

🆙 Widget Login Box

🆙 Widget Satisfy

charts-exporter

first-availability-aggregator

services-aggregator

ksqldb-init

clickhouse

bookings-aggregator

🆙 Core

Varnish

Form Server

🆙 Form Builder

🆙 Payment dispatcher (event version 1)

🆙 Payment dispatcher (event version 2)

🆙 Payment updater

🆙 Document dispatcher

🆙 Document updater

Gotenberg

PostgreSQL

MongoDB

Kafka e Zookeeper (confluent platform 7.0.0)

KsqlDB

KsqlDB-init

Kafka HTTP API (vector)

Payments poller

🆙 IEfil payment proxy

🆙 IMyPay payment proxy

🆙 MyPay wrapper

Iris payment proxy

PmPay payment proxy

External page payment proxy

PagoPA payment proxy

🆙 Dedagroup payment proxy

🆙 Fake registry proxy

Protocol proxy Sipal

🆙 Pitre soap proxy

🆙 Registry

🆙 protocol proxy Italprot

🆙 Widget Segnalazioni sul territorio

Widget Richiedi Assistenza

🆙 Widget Prenotazione appuntamento

Widget Login Box

Widget Satisfy

Charts exporter

First availability aggregator

Services aggregator

Clickhouse

Bookings aggregator

Hasura

Ratings API (vector)

🆙 Core

Varnish

Form Server

Form Builder

Payment dispatcher (event version 1)

🆙 Payment dispatcher (event version 2)

Payment updater

Document dispatcher

🆙 Document updater

Gotenberg

PostgreSQL

MongoDB

Kafka e Zookeeper

KsqlDB

KsqlDB-init

Kafka HTTP API (vector)

🆙 Payments poller

Efil payment proxy

MyPay payment proxy

MyPay wrapper

Iris payment proxy

PmPay payment proxy

External page payment proxy

PagoPA payment proxy

Dedagroup payment proxy

Silfi payment proxy

APKappa payment proxy

Siscom payment proxy

Fake registry proxy

Protocol proxy Sipal

🆙 Pitre soap proxy

🆙 Registry

Protocol proxy italProt

Protocol proxy AGSPR

🆙 Widget Segnalazioni sul territorio

Widget Richiedi Assistenza

🆙 Widget Prenotazione appuntamento

Widget Login Box

🆙 Widget Satisfy

Charts exporter

First availability aggregator

Services aggregator

Clickhouse

Bookings aggregator

Hasura

Ratings API (vector)

🐞 Corretto bug cge impediva la visualizzazione degli allegati inviati con protocollo pec () 🐞 Miglioramenti componenti segnalazioni in versione mobile () 🐞 Correzione formato importo per pagamenti Mypay v1 () 🌄 Integrazione e-service stato famiglia () 🐞 Corretto errore di validazione della data di rilascio di un bollo se non viene compilata l'ora () 🐞 Corretta data ultima per fornire l'esito della domanda errata nell'email operatore () 🐞 Corretto bug durante la creazione di un calendario () 🐞 Corretto errore visualizzazione disponibilità dell'ultimo giorno del mese () 🐞 Prenotazione appuntamento - corretto "sfarfallio" all'apertura select () 🐞 Corretto errore di upload allegati di tipo p7m su Safari e Firefox () 🐞 Link al dettaglio della pratica dopo il login operatore non manda al dettaglio delle pratiche () 🐞 Aggiunto link mancante nel menù di navigazione laterale della landing page () 🐞 Miglioramenti componenti segnalazioni in versione mobile () 🌄 Aggiunto Permettere la creazione di un collegamento tra il modulo di form.io e un front-end esterno () 🌄 Aggiunta possibilità di filtrare la lista degli appuntamenti tramite API per data dell'appuntamento () 🐞 Il dovuto presente viene adesso annullato in fase di registrazione del pagamento da parte dell'operatore () 🌄 Aggiunta possibilità di creazione dei dovuti nel proxy di pagamento JPPA () 🐞 Corretta documentazione per la creazione di un servizio () 🐞 Corretto bug che impediva il corretto salvataggio della configurazione bolli sull'importazione del servizio () 🌄 Esposta la lingua di compilazione della pratica nelle API ()

🆙 Core

Varnish

Form Server

Form Builder

Payment dispatcher (event version 1)

🆙 Payment dispatcher (event version 2)

Payment updater

🆙 Document dispatcher

🆙 Document updater

Gotenberg

PostgreSQL

MongoDB

Kafka e Zookeeper

KsqlDB

KsqlDB-init

Kafka HTTP API (vector)

Payments poller

Efil payment proxy

MyPay payment proxy(version 1)

🆙 MyPay payment proxy(version 2)

MyPay wrapper

Iris payment proxy(version 1)

🆙 Iris payment proxy(version 2)

PmPay payment proxy

External page payment proxy

PagoPA payment proxy

Dedagroup payment proxy

🆙 Silfi payment proxy

APKappa payment proxy

Siscom payment proxy

Fake registry proxy

Protocol proxy Sipal

🆙 Pitre soap proxy

Registry

Protocol proxy italProt

Protocol proxy AGSPR

🆙 Widget Segnalazioni sul territorio

Widget Richiedi Assistenza

🆙 Widget Prenotazione appuntamento

Widget Login Box

Widget Satisfy

Charts exporter

First availability aggregator

Services aggregator

Clickhouse

Bookings aggregator

Hasura

Ratings API (vector)

🐛
2379
58
2372
57
2402
2396
2397
2378
56
106
105
2369
19
13
2357
2351
2350
1
57
2354
2348
70
64
2345
2344
2338
2335
53
2302
153
2274
2255
2244
2211
2125
3.4.0
1.3.1
1.4.2
0.6.0
1.2.4
2.1.0
1.2.1
1.3.23
1.1.21
7.9.2
14.9-alpine3.18
4.2.2
3.0.0
1.1.0
1.4.7
0.18.1
1.1.2
1.0.21
1.2.0
1.7.1
1.8.5
2.0.0
1.8.5
1.5.1
2.0.0
1.0.8
1.1.2
2.0.0
1.0.23
1.0.13
1.0.11
1.0.5
1.0.1
1.4.13
1.2.1
1.3.0
1.14.5
2.0.4
1.1.3
1.0.8
1.0.0
1.0.0-rc.3
1.0.5
1.15.10
1.6.2
1.8.16
1.4.2
1.5.6
1.4.7
1.4.7
1.4.7
1.4.7
1.4.7
2.3.1
0.18.1
2402
2396
2369
2353
2246
2347
2337
2336
103
2332
2318
38
2315
151
2296
2292
2287
1
2260
2258
17
67
2254
2137
2119
2259
1497
1545
3.3.0
1.3.1
1.4.2
0.6.0
1.2.4
2.1.0
1.2.1
1.3.23
1.1.21
7.9.2
14.9-alpine3.18
4.2.2
3.0.0
1.1.0
1.4.7
0.18.1
1.1.2
1.0.21
1.2.0
1.7.1
1.8.5
2.0.0
1.8.5
1.5.1
2.0.0
1.0.8
1.1.2
2.0.0
1.0.23
1.0.13
1.0.11
1.0.5
1.0.1
1.4.13
1.2.1
1.3.0
1.14.5
1.1.3
1.0.8
1.0.0
1.0.5
1.15.10
1.6.2
1.8.16
1.4.2
1.5.6
1.4.7
1.4.7
1.4.7
1.4.7
1.4.7
2.3.1
0.18.1
2332
2260
5
2339
22
2293
48
2248
50
2340
2328
2342
3.2.0
1.3.1
1.4.2
0.6.0
1.2.4
2.1.0
1.2.1
1.3.23
1.1.21
7.9.2
14.9-alpine3.18
4.2.2
3.0.0
1.1.0
1.4.7
0.18.1
1.2.0
1.7.1
1.8.5
2.0.0
1.8.5
1.5.1
2.0.0
1.0.8
1.1.2
2.0.0
1.0.23
1.0.13
1.0.11
1.0.5
1.4.13
1.2.1
1.3.0
1.14.5
1.1.3
1.0.8
1.0.5
1.15.10
1.6.2
1.8.16
1.4.2
1.5.6
1.4.7
1.4.7
1.4.7
1.4.7
1.4.7
2.3.1
0.18.1
2457
18
214
2450
8
2448
41
52
51
2440
113
2438
2434
2432
2431
39
2
2425
197
2420
2417
111
186
2393
28
2392
2380
2368
2361
6
5
50
2270
3.8.0
1.3.1
1.4.2
0.6.0
1.2.5
2.1.0
1.2.1
1.3.23
1.1.21
7.9.2
14.9-alpine3.18
4.2.2
3.0.0
1.1.0
1.4.7
0.18.1
1.1.2
1.0.23
1.2.1
1.7.3-rc.0
1.8.5
2.0.0
1.8.5
1.5.1
2.0.0
1.0.10-rc.0
1.1.3
2.0.0
1.0.26-rc.1
1.0.16
1.0.12
1.0.6
1.0.1
1.0.2-rc.1
1.0.40
1.0.9
1.4.13
1.2.1
1.3.0
1.14.5
2.0.6
1.1.3
1.0.8
1.0.2-rc.2
1.0.1
1.0.4
1.0.2-rc.6
1-0-9
1.16.9
1.6.2
1.8.16
1.4.4
1.5.7
1.0.8
1.4.7
1.4.7
1.4.7
1.4.7
1.4.7
2.3.1
0.18.1
2435
mr 2671
mr 2679
mr 2668
2428
2379
58
2402
41
109
2396
183
108
40
39
2382
1
38
2376
2374
2372
2370
2363
77
55
2353
5
2346
2317
2316
2294
2263
2257
2245
27
4
3.5.0
1.3.1
1.4.2
0.6.0
1.2.4
2.1.0
1.2.1
1.3.23
1.1.21
7.9.2
14.9-alpine3.18
4.2.2
3.0.0
1.1.0
1.4.7
0.18.1
1.1.2
1.0.21
1.2.0
1.7.1
1.8.5
2.0.0
1.8.5
1.5.1
2.0.0
1.0.8
1.1.2
2.0.0
1.0.23
1.0.13
1.0.11
1.0.5
1.0.1
1.4.13
1.2.1
1.3.0
1.14.5
2.0.4
1.1.3
1.0.8
1.0.0
1.0.0-rc.3
1.0.5
1.15.10
1.6.2
1.8.16
1.4.2
1.5.6
1.4.7
1.4.7
1.4.7
1.4.7
1.4.7
2.3.1
0.18.1
2340
2328
2342
🐛
🚀
🐛
🐛
🐛
Le chiamate API senza certificato non funzionano
Aggiornamento dei pagamenti non completati
Retry di un pagamento non completato
Retry di un pagamento non completato
visualizzazione di un messaggio di errore in caso di errore durante il pagamento
🚀
🚀
Migliorati i log su sentry
Upgrade Django alla versione 4
🐛
🐛
I filtri sull'API delle applications danno risultati inaffidabili quando si filtra sulle date
Il doppio click sul pulsante di accettazione della pratica produce messaggi duplicati
🐛
Blocco invio di comunicazioni sull'appuntamento senza contenuto
🐛
🐛
Visualizzazione del riepilogo con piu step formio
Errore visualizzazione testo tempi e scadenze con scheda esterna
🚀
🚀
🚀
🐛
🚀
Gestione traduzioni
gestire popolamento dati utente (Profile Blocks)
Parametro in input per aggiornamento automatico dei componenti del form
[BUG] Il servizio deve selezionare correttamente i parametri in base all'ambiente di esecuzione
Aggiornamento versione Golang e dipendenze 1.20 -> 1.22
Aggiornamento versione Golang e dipendenze 1.20 -> 1.22
Generare l'id numerico a partire dalla prima segnalazione contenente un id progressivo
3.1.0
1.3.1
1.4.2
0.6.0
1.2.4
2.1.0
1.2.1
1.3.24
1.1.21
7.9.2
14.9-alpine3.18
4.2.2
3.0.0
1.1.0
1.3.0
0.18.1
1.2.0
1.7.1
1.8.5
2.0.0
2.0.3
2.0.1
1.0.8
1.1.2
2.0.0
1.0.24
1.0.14
1.0.11
1.0.5
1.4.13
1.2.1
1.3.0
2.0.1
1.1.3
1.0.8
1.0.4
1.15.10
1.6.2
1.8.15
1.4.2
1.5.6
1.4.7
1.4.7
1.4.7
1.4.7
1.4.7
2.3.1
0.18.1
#2501
#2499
#2498
#2496
#2494
#2493
#2490
#2491
#2486
#2489
#2487
#2484
#2485
#2483
453884f
#2482
#2481
#2480
#2408
#2476
#2477
#2479
#2478
#2475
#2462
#2474
#2468
#2469
#2409
#2471
#2472
#2466
#2470
#2464
#2467
#2321
#2323
#2321
#2319
#2306
#2253
#2312
#2290
#2290
#2285
#2240
#2269
#2301
#2193
#1949
3.0.0
1.3.1
1.4.2
0.6.0
1.2.4
2.1.0
1.2.1
1.3.23
1.1.21
7.9.2
14.9-alpine3.18
4.2.2
3.0.0
1.1.0
1.4.7
0.18.1
1.2.0
1.7.1
1.8.5
2.0.0
1.8.5
1.5.1
2.0.0
1.0.8
1.1.2
2.0.0
1.0.23
1.0.13
1.0.11
1.0.5
1.4.13
1.2.1
1.3.0
1.14.5
1.1.3
1.0.8
1.0.4
1.15.10
1.6.2
1.8.15
1.4.2
1.5.5
1.4.7
1.4.7
1.4.7
1.4.7
1.4.7
2.3.1
0.18.1
2655
2654
90
2651
2650
276
83
275
2648
44
2
2645
81
80
79
30
88
87
2642
43
2641
2640
271
1.2.0
2.0.1
1.4.1
1.9.3
2.1.4
2.1.0
3.17.0
mr 2679
mr 2671
mr 2668
6
2410
42
2408
92
57
13
2404
5
37
2391
2379
2358
2349
2256
35
2405
2250
3.6.1
1.3.1
1.4.2
0.6.0
1.2.4
2.1.0
1.2.1
1.3.23
1.1.21
7.9.2
14.9-alpine3.18
4.2.2
3.0.0
1.1.0
1.4.7
0.18.1
1.1.2
1.0.21
1.2.0
1.7.1
1.8.5
2.0.0
1.8.5
1.5.1
2.0.0
1.0.8
1.1.2
2.0.0
1.0.23
1.0.13
1.0.11
1.0.5
1.0.1
1.4.13
1.2.1
1.3.0
1.14.5
2.0.4
1.1.3
1.0.8
1.0.0
1.0.0-rc.3
1.0.2
1.0.8
1.16.6
1.6.2
1.8.16
1.4.2
1.5.6
1.0.8
1.4.7
1.4.7
1.4.7
1.4.7
1.4.7
2.3.1
0.18.1
2436
2435
2433
23
40
3
2429
2428
2421
2416
2409
2407
2406
4
112
110
31
3
75
2395
185
21
10
73
2365
5
2329
2286
11
2252
34
3.7.1
1.3.1
1.4.2
0.6.0
1.2.5
2.1.0
1.2.1
1.3.23
1.1.21
7.9.2
14.9-alpine3.18
4.2.2
3.0.0
1.1.0
1.4.7
0.18.1
1.1.2
1.0.23
1.2.1
1.7.3-rc.0
1.8.5
2.0.0
1.8.5
1.5.1
2.0.0
1.0.10-rc.0
1.1.3
2.0.0
1.0.26-rc.1
1.0.16
1.0.12
1.0.6
1.0.1
1.0.2-rc.1
1.0.40
1.0.9
1.4.13
1.2.1
1.3.0
1.14.5
2.0.6
1.1.3
1.0.8
1.0.0
1.0.1
1.0.3
1.0.2-rc.3
1.0.8
1.16.9
1.6.2
1.8.16
1.4.4
1.5.7
1.0.8
1.4.7
1.4.7
1.4.7
1.4.7
1.4.7
2.3.1
0.18.1
2280
2288
2215
2266
2279
2276
100
2261
2249
2236
51
48
2229
2224
2219
2208
28
124
2159
2121
2113
2107
2095
2083
2.47.0
1.3.1
1.4.1
0.5.6
1.2.4
2.1.0
1.2.1
1.3.17
1.1.17
7.9.2
14.9-alpine3.18
4.2.2
3.0.0
1.1.0
1.4.7
0.18.1
1.2.0
1.7.1
1.8.5
2.0.0
1.8.5
1.5.1
2.0.0
1.0.8
1.1.2
1.0.4
1.0.22
1.0.12
1.0.11
1.0.5
1.4.13
1.2.1
1.2.0
1.14.0
1.1.0
1.0.0
0.1.45
1.15.7
1.6.2
1.8.14
1.4.2
1.5.3
1.4.7
1.4.7
1.4.7
1.4.7
1.4.7
2.3.1
0.18.1
10
43
2214
48
16
2207
2203
37
2199
27
2175
2173
2164
2163
2147
2134
2105
2099
2098
2058
2050
2.46.0
1.3.1
1.4.1
0.5.6
1.2.4
2.1.0
1.2.1
1.3.16
1.1.14
7.9.2
14.9-alpine3.18
4.2.2
3.0.0
1.1.0
1.4.7
0.18.1
1.2.0
1.7.1
1.8.5
2.0.0
1.8.5
1.5.1
2.0.0
1.0.8
1.1.2
1.0.4
1.0.22
1.0.12
1.0.10
1.0.5
1.4.13
1.2.1
1.2.0
1.14.0
1.1.0
1.0.0
1.15.5
1.6.2
1.8.12
1.4.2
1.5.3
1.4.7
1.4.7
1.4.7
1.4.7
1.4.7
2.3.1
0.18.1
#2505
#2504
#2503
#2502
#2497
55
2295
36
12
3
71
2288
2284
101
2282
4
2275
2273
2272
2
2262
2233
2221
96
6
5
2.49.1
1.3.1
1.4.2
0.5.6
1.2.4
2.1.0
1.2.1
1.3.22
1.1.20
7.9.2
14.9-alpine3.18
4.2.2
3.0.0
1.1.0
1.4.7
0.18.1
1.2.0
1.7.1
1.8.5
2.0.0
1.8.5
1.5.1
2.0.0
1.0.8
1.1.2
1.0.4
1.0.22
1.0.13
1.0.11
1.0.5
1.4.13
1.2.1
1.2.0
1.14.4
1.1.3
1.0.8
1.0.4
1.15.10
1.6.2
1.8.15
1.4.2
1.5.4
1.4.7
1.4.7
1.4.7
1.4.7
1.4.7
2.3.1
0.18.1
2281
2280
2279
2277
2276
51
11
2267
53
2266
69
2239
2238
2237
2235
32
31
2227
2222
2215
2209
29
2170
2156
2152
2146
2122
26
1854
1263
1248
2.48.0
1.3.1
1.4.1
0.5.6
1.2.4
2.1.0
1.2.1
1.3.17
1.1.17
7.9.2
14.9-alpine3.18
4.2.2
3.0.0
1.1.0
1.4.7
0.18.1
1.2.0
1.7.1
1.8.5
2.0.0
1.8.5
1.5.1
2.0.0
1.0.8
1.1.2
1.0.4
1.0.22
1.0.12
1.0.11
1.0.5
1.4.13
1.2.1
1.2.0
1.14.1
1.1.3
1.0.8
1.0.0
1.15.8
1.6.2
1.8.15
1.4.2
1.5.3
1.4.7
1.4.7
1.4.7
1.4.7
1.4.7
2.3.1
0.18.1
2.41.0
1.3.1
1.4.1
0.5.6
1.2.4
2.0.2
1.2.1
1.3.12
1.1.10
7.9.2
14.9-alpine3.18
4.2.2
3.0.0
1.1.0
1.4.7
0.18.1
1.1.0
1.7.1
1.8.2
1.8.0
1.5.1
1.0.8
1.1.2
1.0.4
1.0.12
1.0.9
1.0.10
1.0.5
1.4.10
1.2.1
1.1.9
1.13.4
1.1.0
1.0.0
1.14.7
1.6.1
1.8.6
1.4.2
1.5.2
1.4.7
1.4.7
1.4.7
1.4.7
1.4.7
2.3.1
0.18.1
2.43.0
1.3.1
1.4.1
0.5.6
1.2.4
2.1.0
1.2.1
1.3.12
1.1.10
7.9.2
14.9-alpine3.18
4.2.2
3.0.0
1.1.0
1.4.7
0.18.1
1.1.1
1.7.1
1.8.5
1.8.5
1.5.1
1.0.8
1.1.2
1.0.4
1.0.12
1.0.10
1.0.10
1.0.5
1.4.13
1.2.1
1.1.11
1.13.5
1.1.0
1.0.0
1.15.1
1.6.2
1.8.9
1.4.2
1.5.2
1.4.7
1.4.7
1.4.7
1.4.7
1.4.7
2.3.1
0.18.1
2.42.0
1.3.1
1.4.1
0.5.6
1.2.4
2.0.2
1.2.1
1.3.12
1.1.10
7.9.2
14.9-alpine3.18
4.2.2
3.0.0
1.1.0
1.4.7
0.18.1
1.1.1
1.7.1
1.8.4
1.8.4
1.5.1
1.0.8
1.1.2
1.0.4
1.0.12
1.0.9
1.0.10
1.0.5
1.4.10
1.2.1
1.1.11
1.13.5
1.1.0
1.0.0
1.15.1
1.6.2
1.8.8
1.4.2
1.5.2
1.4.7
1.4.7
1.4.7
1.4.7
1.4.7
2.3.1
0.18.1
2.39.2
1.3.1
1.4.1
0.5.6
1.2.4
2.0.2
1.2.1
1.3.10
1.3.12
7.9.2
14.9-alpine3.18
4.2.2
3.0.0
1.1.0
1.4.7
0.18.1
1.1.0
1.7.0
1.8.0
1.8.0
1.5.0
1.0.8
1.1.2
1.0.4
1.0.12
1.0.8
1.0.10
1.0.5
1.4.7
1.2.1
1.1.8
1.12.3
1.1.0
1.0.0
1.14.5
1.6.1
1.8.5
1.4.2
1.5.2
1.4.7
1.4.7
1.4.7
1.4.7
1.4.7
2.3.1
0.18.1
2.40.0
1.3.1
1.4.1
0.5.6
1.2.4
2.0.2
1.2.1
1.3.12
1.1.10
7.9.2
14.9-alpine3.18
4.2.2
3.0.0
1.1.0
1.4.7
0.18.1
1.1.0
1.7.0
1.8.2
1.8.0
1.5.0
1.0.8
1.1.2
1.0.4
1.0.12
1.0.8
1.0.10
1.0.5
1.4.10
1.2.1
1.1.9
1.13.3
1.1.0
1.0.0
1.14.7
1.6.1
1.8.6
1.4.2
1.5.2
1.4.7
1.4.7
1.4.7
1.4.7
1.4.7
2.3.1
0.18.1
2.33.0-rc.5
1.4.1
0.5.5
1.2.3
2.0.0
1.0.2
1.6.1
1.7.0
2.0.1
1.4.0-rc.7
1.0.6
1.1.2
1.0.2
1.0.6
1.2.0
1.1.0
1.3.2
1.1.5
1.3.0
1.1.8
1.1.6
1.12.0
1.11.1
1.4.2
1.7.0-rc-4
1.4.2
1.5.2
1.4.7
1.4.7
1.4.7
1.4.7
1.4.7
1.4.7
2.35.1
1.3.1
1.4.1
0.5.6
1.2.4
2.0.1
1.2.1
1.3.8
1.1.7
7.9.2
14.9-alpine3.18
4.2.2
3.0.0
1.1.0
1.4.7
0.18.1
1.1.0
1.6.2
1.7.1
2.0.3
1.4.0-rc.7
1.0.6
1.1.2
1.0.2
1.0.8
1.4.6
1.1.8
1.1.8
1.12.2
1.1.0-rc.0
1.13.2
1.5.2
1.6.1
1.4.2
1.5.2
1.4.7
1.4.7
1.4.7
1.4.7
1.4.7
2.3.1
0.18.1
2.44.0
1.3.1
1.4.1
0.5.6
1.2.4
2.1.0
1.2.1
1.3.12
1.1.16
7.9.2
14.9-alpine3.18
4.2.2
3.0.0
1.1.0
1.4.7
0.18.1
1.1.1
1.7.1
1.8.5
1.8.5
1.5.1
1.0.8
1.1.2
1.0.4
1.0.12
1.0.10
1.0.10
1.0.5
1.4.13
1.2.1
1.1.12
1.13.6
1.1.0
1.0.0
1.15.4
1.6.2
1.8.10
1.4.2
1.5.3
1.4.7
1.4.7
1.4.7
1.4.7
1.4.7
2.3.1
0.18.1
2176
2168
2166
26
2162
2160
2158
2155
44
2142
2138
2132
94
2128
2124
2100
3
2048
2010
2002
2.45.0
1.3.1
1.4.1
0.5.6
1.2.4
2.1.0
1.2.1
1.3.16
1.1.13
7.9.2
14.9-alpine3.18
4.2.2
3.0.0
1.1.0
1.4.7
0.18.1
1.2.0
1.7.1
1.8.5
2.0.0
1.8.5
1.5.1
1.5.1
1.0.8
1.1.2
1.0.4
1.0.12
1.0.11
1.0.10
1.0.5
1.4.13
1.2.1
1.2.0
1.13.6
1.1.0
1.0.0
1.15.5
1.6.2
1.8.11
1.4.2
1.5.3
1.4.7
1.4.7
1.4.7
1.4.7
1.4.7
2.3.1
0.18.1

2.32.0

Pagamenti

Protocolli

  • 🆙 Document updater 1.12.0

Widget

Analytics

2.34.0

Pagamenti

Protocolli

Widget

Analytics

Satisfy

2.31.0

Data di rilascio: 22 novembre 2023

Pagamenti

Protocolli

  • 🆙 Document updater 1.12.0

Widget

Misc

2.38.0

Pagamenti

Protocolli

Widget

Analytics

Satisfy

  • Ratings Aggregator ???

2.37.0

Pagamenti

Protocolli

Widget

Analytics

Satisfy

  • Ratings Aggregator ???

2.36.0

Pagamenti

Protocolli

Widget

Analytics

Satisfy

  • Ratings Aggregator ???

2.27.0

Data di riascio: 12 Settembre 2023

2.28.0

Data di rilascio: 10 ottobre 2023

2.30.0

Data di rilascio: 8 novembre 2023

2.26.0

Data di rilascio: 26 Settembre 2023

2.29.0

Data di rilascio: 24 ottobre 2023

2.25.0

Data di rilascio: 29 agosto 2023

🆙 Core

🆙 Form Server

🆙 Form Builder

Payment dispatcher -

Payments poller

Efil payment proxy

🆙 MyPay payment proxy

MyPay wrapper

Iris payment proxy

PmPay payment proxy

External page payment proxy

PagoPA payment proxy

Dedagroup payment proxy

Payment updater

Payment KsqlDB

🆙 Document dispatcher

Fake registry proxy

🆙 Protocol proxy Sipal

Pitre soap proxy

Registry

🆙 Widget Segnalazioni sul territorio

🆙 Widget Richiedi Assistenza

🆙 Widget Prenotazione appuntamento

Widget Login Box

🆙 Widget Satisfy

charts-exporter

first-availability-aggregator

services-aggregator

ksqldb-init

clickhouse

bookings-aggregator

🆙 Core

🆙 Varnish

Form Server

Form Builder

Payment dispatcher (event version 1)

Payment dispatcher (event version 2)

Payment updater

🆙 Document dispatcher

🆙 Document updater

🆙 Gotenberg

🆙 PostgreSQL

🆙 MongoDB

🆙 Kafka e Zookeeper (confluent platform 7.0.0)

KsqlDB

KsqlDB-init

🆙 Kafka HTTP API (vector)

🆙 Payments poller

Efil payment proxy

MyPay payment proxy

MyPay wrapper

🆙 Iris payment proxy

PmPay payment proxy

External page payment proxy

PagoPA payment proxy

🆙 Dedagroup payment proxy

GovPay payment proxy

Silfi payment proxy

🆙 Fake registry proxy

Protocol proxy Sipal

Pitre soap proxy

🆙 Registry

Protocol proxy italProt

🆙 Widget Segnalazioni sul territorio

Widget Richiedi Assistenza

🆙 Widget Prenotazione appuntamento

Widget Login Box

Widget Satisfy

Charts exporter

First availability aggregator

Services aggregator

Clickhouse

Bookings aggregator

🆙 Hasura

🆙 Ratings API (vector)

🆙 Ratings Aggregator

🆙 Core

Form Server

Form Builder

Payment dispatcher -

Payments poller

OC Python SDK

Efil payment proxy

🆙 MyPay payment proxy

MyPay wrapper

Iris payment proxy

PmPay payment proxy

External page payment proxy

PagoPA payment proxy

Dedagroup payment proxy

Payment updater

Payment KsqlDB

🆙 Document dispatcher

🆙 Fake registry proxy

🆙 Protocol proxy Sipal

Pitre soap proxy

🆙 Registry

🆙 Widget Segnalazioni sul territorio

🆙 Widget Richiedi Assistenza

🆙 Widget Prenotazione appuntamento

🆙 Widget Login Box

🆙 Widget Satisfy

Analytics

🆙 Core

Varnish

Form Server

Form Builder

Payment dispatcher (event version 1)

🆙 Payment dispatcher (event version 2)

Payment updater

🆙 Document dispatcher

Document updater

Gotenberg

PostgreSQL

MongoDB

Kafka e Zookeeper (confluent platform 7.0.0)

KsqlDB

KsqlDB-init

Kafka HTTP API (vector)

Payments poller

Efil payment proxy

🆙 MyPay payment proxy

MyPay wrapper

🆙 Iris payment proxy

🆙 PmPay payment proxy

External page payment proxy

PagoPA payment proxy

Dedagroup payment proxy

🆙 Silfi payment proxy

APKappa payment proxy

Siscom payment proxy

Fake registry proxy

Protocol proxy Sipal

Pitre soap proxy

🆙 Registry

Protocol proxy italProt

Protocol proxy AGSPR

Widget Segnalazioni sul territorio

🆙 Widget Richiedi Assistenza

🆙 Widget Prenotazione appuntamento

Widget Login Box

Widget Satisfy

Charts exporter

First availability aggregator

Services aggregator

Clickhouse

Bookings aggregator

Hasura

Ratings API (vector)

🆙 Core

🆙 Varnish

Form Server

Form Builder

Payment dispatcher (event version 1)

Payment dispatcher (event version 2)

Payment updater

Document dispatcher

Document updater

Gotenberg

PostgreSQL

MongoDB

Kafka e Zookeeper (confluent platform 7.0.0)

KsqlDB

KsqlDB-init

Kafka HTTP API (vector)

Payments poller

🆙 Efil payment proxy

🆙 MyPay payment proxy

🆙 MyPay wrapper

🆙 Iris payment proxy

PmPay payment proxy

External page payment proxy

🆙 PagoPA payment proxy

🆙 Dedagroup payment proxy

🆙 Silfi payment proxy

🆙 APKappa payment proxy

🆙 Siscom payment proxy

Fake registry proxy

Protocol proxy Sipal

Pitre soap proxy

Registry

Protocol proxy italProt

Protocol proxy AGSPR

🆙 Widget Segnalazioni sul territorio

🆙 Widget Richiedi Assistenza

🆙 Widget Prenotazione appuntamento

Widget Login Box

Widget Satisfy

Charts exporter

First availability aggregator

Services aggregator

Clickhouse

Bookings aggregator

Hasura

Ratings API (vector)

🆙 Core

Varnish

Form Server

Form Builder

Payment dispatcher (event version 1)

Payment dispatcher (event version 2)

Payment updater

🆙 Document dispatcher

🆙 Document updater

Gotenberg

PostgreSQL

MongoDB

Kafka e Zookeeper (confluent platform 7.0.0)

KsqlDB

KsqlDB-init

Kafka HTTP API (vector)

Payments poller

Efil payment proxy

🆙 MyPay payment proxy

MyPay wrapper

Iris payment proxy

PmPay payment proxy

External page payment proxy

PagoPA payment proxy

🆙 Dedagroup payment proxy

🆙 Silfi payment proxy

🆙 APKappa payment proxy

🆙 Siscom payment proxy

🆙 Fake registry proxy

🆙 Protocol proxy Sipal

Pitre soap proxy

Registry

🆙 Protocol proxy italProt

🆙 Protocol proxy AGSPR

🆙 Widget Segnalazioni sul territorio

🆙 Widget Richiedi Assistenza

🆙 Widget Prenotazione appuntamento

Widget Login Box

Widget Satisfy

Charts exporter

First availability aggregator

Services aggregator

Clickhouse

Bookings aggregator

Hasura

Ratings API (vector)

🆙 Core

Form Server

Form Builder

Payment dispatcher

Payments poller

Analytics

Pitre soap proxy

OC Python SDK

Registry

Efil payment proxy

MyPay payment proxy

MyPay wrapper

🆙 Iris payment proxy

PmPay payment proxy

External page payment proxy

🆙 PagoPA payment proxy

🆙 Dedagroup payment proxy

Payment updater

🆙 Payment KsqlDB

🆙 Widget Segnalazioni sul territorio

🆙 Widget Richiedi Assistenza

🆙 Widget Prenotazione appuntamento

Widget Login Box

🆙 Document dispatcher

🆙 Core

Form Server

Form Builder

Payment dispatcher

Payments poller

Analytics

Pitre soap proxy

OC Python SDK

🆙 Registry

Efil payment proxy

MyPay payment proxy

MyPay wrapper

Iris payment proxy

PmPay payment proxy

🆙 External page payment proxy

PagoPA payment proxy

🆙 Dedagroup payment proxy

Payment updater

Payment KsqlDB

🆙 Widget Segnalazioni sul territorio

🆙 Widget Richiedi Assistenza

🆙 Widget Prenotazione appuntamento

🆙 Widget Login Box

🆙 Document dispatcher

🆙 Payment dispatcher -

Payments poller

Analytics

Pitre soap proxy

OC Python SDK

🆙 Registry

Efil payment proxy

MyPay payment proxy

🆙 MyPay wrapper

🆙 Iris payment proxy

🆙 PmPay payment proxy

🆙 External page payment proxy

🆙 PagoPA payment proxy

🆙 Dedagroup payment proxy

Payment updater

Payment KsqlDB

🆙 Core

Form Server

Form Builder

Payment dispatcher

Payments poller

Analytics

Pitre soap proxy

OC Python SDK

Registry

Efil payment proxy

MyPay payment proxy

MyPay wrapper

🆙 Iris payment proxy

PmPay payment proxy

External page payment proxy

🆙 PagoPA payment proxy

Payment updater

Payment KsqlDB

🆙 Widget Segnalazioni sul territorio

🆙 Widget Richiedi Assistenza

🆙 Widget Prenotazione appuntamento

Widget Login Box

🆙 Document dispatcher

🆙 Payment dispatcher

Payments poller

Analytics

Pitre soap proxy

OC Python SDK

🆙 Registry

🆙 Efil payment proxy

🆙 MyPay payment proxy

MyPay wrapper

🆙 Iris payment proxy

PmPay payment proxy

External page payment proxy

PagoPA payment proxy

🆙 Dedagroup payment proxy

Payment updater

Payment KsqlDB

🆙 Core

Form Server

🆙 Form Builder

Payment dispatcher

Payments poller

Analytics

Pitre soap proxy

:up:OC Python SDK

Registry

🆙 Efil payment proxy

MyPay payment proxy

MyPay wrapper

Iris payment proxy

PmPay payment proxy

🆙 External page payment proxy

PagoPA payment proxy

Payment updater

Payment KsqlDB

Widget Segnalazioni sul territorio

Widget Richiedi Assistenza

Widget Prenotazione appuntamento

Widget Login Box

Document dispatcher

2.32.0
1.4.1
0.5.5
1.2.3
2.0.0
1.0.2
1.6.1
1.7.0
2.0.1
1.3.5
1.0.6
1.1.2
1.0.2
1.0.4
1.2.0
1.1.0
1.2.9
1.2.8
1.1.7
1.1.6
1.12.0
1.10.3
1.3.0
1.5.1
1.3.1
1.5.0
1.4.7
1.4.7
1.4.7
1.4.7
1.4.7
1.4.7
2.34.1
1.3.1
1.4.1
0.5.5
1.2.3
2.0.0
1.2.0
1.3.4
1.1.6
7.9.2
14.9-alpine3.18
4.2.2
3.0.0
1.1.0
1.4.7
0.18.1
1.1.0
1.6.1
1.7.0
2.0.1
1.4.0
1.0.6
1.1.2
1.0.2
1.0.6
1.0.0
1.0.4
1.4.2
1.1.8
1.1.6
1.12.1
1.0.4
1.12.3
1.4.2
1.6.1
1.4.2
1.5.2
1.4.7
1.4.7
1.4.7
1.4.7
1.4.7
2.3.1
0.18.1
1.0.6
2.31.0
1.3.0
0.5.2
1.2.3
2.0.0
1.0.2
1.2.0
1.6.1
1.6.4
2.0.1
1.3.5
1.0.6
1.1.2
1.0.2
1.0.4
1.2.0
1.1.0
1.2.8
1.2.8
1.1.6
1.1.6
1.12.0
1.10.2
1.2.9
1.4.9
1.3.1
1.4.9
1.4.7
2.38.0
1.3.1
1.4.1
0.5.6
1.2.4
2.0.2
1.2.1
1.3.10
1.1.10
7.9.2
14.9-alpine3.18
4.2.2
3.0.0
1.1.0
1.4.7
0.18.1
1.1.0
1.7.0
1.8.0
1.8.0
1.5.0
1.0.8
1.1.2
1.0.4
1.0.10
1.0.8
1.0.10
1.0.5
1.4.7
1.2.1
1.1.8
1.12.3
1.1.0
1.0.0
1.14.1
1.6.1
1.8.5
1.4.2
1.5.2
1.4.7
1.4.7
1.4.7
1.4.7
1.4.7
2.3.1
0.18.1
2.37.0
1.3.1
1.4.1
0.5.6
1.2.4
2.0.1
1.2.1
1.3.9
1.1.10
7.9.2
14.9-alpine3.18
4.2.2
3.0.0
1.1.0
1.4.7
0.18.1
1.1.0
1.7.0
1.7.2
1.8.0
1.5.0
1.0.6
1.1.2
1.0.4
1.0.10
1.0.6
1.0.10
1.0.5
1.4.7
1.2.1
1.1.8
1.12.2
1.1.0
1.0.0
1.14.1
1.6.0
1.8.3
1.4.2
1.5.2
1.4.7
1.4.7
1.4.7
1.4.7
1.4.7
2.3.1
0.18.1
2.36.0
1.3.1
1.4.1
0.5.6
1.2.4
2.0.1
1.2.1
1.3.9
1.1.10
7.9.2
14.9-alpine3.18
4.2.2
3.0.0
1.1.0
1.4.7
0.18.1
1.1.0
1.6.2
1.7.2
2.0.3
1.4.0
1.0.6
1.1.2
1.0.2
1.0.8
1.0.5
1.0.9
1.0.4
1.4.7
1.2.1
1.1.8
1.12.2
1.1.0
1.0.0
1.13.5
1.5.3
1.6.1
1.4.2
1.5.2
1.4.7
1.4.7
1.4.7
1.4.7
1.4.7
2.3.1
0.18.1
2.27.0
1.3.0
0.5.2
1.2.1
1.0.2
1.4.7
1.1.6
1.2.1
1.10.1
1.6.0
1.6.0
2.0.0
1.3.3
1.0.5
1.1.0
1.0.1
1.0.0
1.2.0
1.1.0
1.9.6
1.2.7
1.4.6
1.2.3
1.2.1
2.28.0
1.3.0
0.5.2
1.2.1
1.0.2
1.4.7
1.1.6
1.2.1
1.11.0
1.6.0
1.6.0
2.0.0
1.3.3
1.0.5
1.1.1
1.0.1
1.0.1
1.2.0
1.1.0
1.9.7
1.2.9
1.4.7
1.2.5.15
1.2.1
1.2.3
2.0.0
1.0.2
1.4.7
1.1.6
1.2.0
1.11.3
1.6.1
1.6.3
2.0.1
1.3.5
1.0.6
1.1.2
1.0.2
1.0.4
1.2.0
1.1.0
2.26.0
1.3.0
0.5.2
1.2.1
1.0.2
1.4.7
1.1.6
1.2.1
1.10.0
1.6.0
1.5.3
2.0.0
1.3.3
1.0.5
1.1.0
1.0.1
1.2.0
1.0.5
1.9.3
1.2.7
1.4.6
1.2.3
1.2.1
1.2.2
1.0.2
1.4.7
1.1.6
1.2.0
1.11.1
1.6.1
1.6.3
2.0.0
1.3.4
1.0.5
1.1.1
1.0.1
1.0.2
1.2.0
1.1.0
2.25.0
1.3.0
0.5.2
1.2.1
1.0.2
1.4.7
1.1.6
1.2.1
1.10.0
1.6.0
1.5.3
2.0.0
1.2.9
1.0.5
1.1.0
1.0.0
1.2.0
1.0.5
1.9.2
1.2.6
1.4.4
1.2.3
1.0.3
Esempio di protocollo visualizzato sul portale di D3
Esempio di protocollo visualizzato sul portale di Datagraph
Esempio di protocollo visualizzato sul portale di Halley
Esempio di protocollo visualizzato sul portale di Hypersic
Esempio di protocollo visualizzato sul portale di Infor
Esempio di protocollo visualizzato sul portale di Gifra di Insiel
Esempio di protocollo visualizzato sul portale di Gifra di Insiel
Esempio di protocollo visualizzato sul portale di Maggioli Sicraweb ProWSApi
Esempio di protocollo visualizzato sul portale di Maggioli Sicraweb WSProtocolloDM
Esempio di protocollo visualizzato sul portale di Maggioli Sicraweb EVO
Esempio di protocollo visualizzato sul portale di PiTre
Esempio di protocollo visualizzato sul portale di PiTre
Esempio di protocollo visualizzato sul portale di PiTre
Esempio di protocollo visualizzato sul portale di Tinn
Esempio di protocollo visualizzato sul portale di italProt
Esempio di protocollo visualizzato sul portale di AGSPR
Esempio di protocollo visualizzato sul portale di SIGEDO
Esempio di protocollo visualizzato sul portale di Urbi Smart
3.10.1