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:

address, birth-info, fiscal-code, full-name, gender, iban, minor-personal-data, personal-data-contacts, personal-data-light, personal-data-minimal, personal-data, residency

Variabili ambiente

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

NomeRequiredDefaultNote

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

Se configurato abilita l'integrazione con un server Sentry

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

NomeRequiredDefaultNote

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

Integrazione con servizio queue-it

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:

NomeRequiredDefaultNote

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:

NomeRequiredNote

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

Last updated

Logo

Documentazione Opencity Italia