Skip to content

Organizzazioni e Scope ​

Sono le due entità da cui dipende tutto il resto. Un'Organizzazione è il cliente; uno Scope è un perimetro dentro l'organizzazione. Ogni altra cosa della piattaforma — un canale, un intent, una sessione, una Knowledge Base — appartiene a un'organizzazione e vive in uno o più dei suoi scope.

01OrganizzazioneIl cliente. È il confine dei dati: niente attraversa da un'organizzazione a un'altra.
02ScopeUn perimetro funzionale dentro il cliente. Separa ambiti che non devono mescolarsi.
03Ciò che si appendeCanali, intent, moduli e Knowledge Base si collegano a uno scope, non all'organizzazione.

L'organizzazione ​

È l'unità di intestazione e di isolamento. Ha un nome leggibile e uno slug, che è la forma breve usata dappertutto — nei percorsi, nelle etichette, nel nome composto di uno scope.

Sull'organizzazione stanno le cose che valgono per tutto il cliente:

Identità
Nome e slug
Autenticazione
Il riferimento al sistema con cui si verifica chi sta parlando
Configurazione
Le impostazioni del modello linguistico e i parametri propri del cliente
Licenza
Piano e consumi — esecuzioni, flow, integrazioni, spazio delle Knowledge Base — consultabili nella pagina dell'abbonamento
Stato
Un'organizzazione può essere disattivata senza essere cancellata

Lo scope ​

Uno scope è un raggruppamento orizzontale di funzionalità. Serve quando dentro lo stesso cliente ci sono ambiti che devono restare distinti: un comune che gestisce i rifiuti e i tributi non vuole che un intent dell'uno risponda a una domanda dell'altro, né che i due condividano i documenti.

Uno scope ha uno slug — lettere, cifre, e i separatori / e : — e il suo nome completo si compone con quello dell'organizzazione:

organizzazione:scopecomune-di-esempio:servizi/rifiuticomune-di-esempio:servizi/tributi

È la forma con cui lo scope compare nelle sessioni e nella configurazione di un canale. Le due parti restano leggibili: davanti ai due punti c'è sempre il cliente.

Cosa si collega a uno scope ​

Si collegaRelazioneConseguenza
CanaliUn canale può servire più scopeIl canale sa in quale perimetro sta arrivando il messaggio
IntentOgni intent appartiene a un solo scopeUn intent non è raggiungibile da fuori dal suo perimetro
Moduli (DIM)Un modulo può essere registrato su più scopeLo stesso modulo serve ambiti diversi senza duplicarlo
Knowledge BaseMolte a molte, con una modalità per collegamentoLa stessa Knowledge Base può essere obbligatoria in uno scope e opzionale in un altro
Data SourceMolte a molteLo scope decide su quali database si può chiedere

La direzione è sempre la stessa: le cose si appendono allo scope, e lo scope appartiene all'organizzazione. Non esiste un intent «dell'organizzazione» che valga per tutti i suoi scope.

Chi può fare cosa ​

La piattaforma non decide chi è l'utente né cosa gli è permesso. Quando arriva un messaggio, chiede al sistema di autenticazione dell'organizzazione se quell'utente è riconosciuto, e quello risponde con l'elenco delle sue Capability.

Le capability non vengono generate da Calybron: sono trasmesse da fuori, e la piattaforma le applica per stabilire quali intent dello scope siano disponibili in quella sessione. Il criterio è prudente per costruzione: un intent che richiede una capability è visibile soltanto a chi la possiede, e un utente non riconosciuto vede soltanto gli intent pubblici. La riservatezza di un intent si ottiene chiedendogli una capability.

Cosa non si mescola mai ​

documenti e indicisessioni e cronologiaintent e modulivariabili e credenzialidatabase collegati

L'organizzazione è il confine dei dati, e il confine è verificato dove i dati si leggono, non solo dove si scrivono: un'interrogazione che nominasse una Knowledge Base di un altro cliente viene respinta interamente, non filtrata.

Lo scope, invece, è un confine funzionale: separa ciò che non deve mescolarsi per non confondere l'utente e il riconoscimento dell'intenzione. Quello che deve restare riservato si protegge con le capability e con la separazione fra organizzazioni.

Da dove si comincia ​

Un'organizzazione nuova richiede, in quest'ordine: l'organizzazione, almeno uno scope, un canale collegato allo scope, e gli intent che quel canale deve saper servire. Tutto si fa dalla dashboard, in pochi minuti; la prima risposta arriva appena il canale è collegato.

Documentazione Calybron