Questo documento descrive due funzionalità nell’ambito del sottosistema di comunicazioni di Esse3 che permettono di indicare, sulla base di condizioni e filtri configurabili, quali template di comunicazione debbano essere utilizzati e a quali studenti debbano essere destinate le comunicazioni generate (es.: mail, sms) a fronte della notifica di un evento applicativo (es.: registrazione utente).

Le funzionalità in questione sono:

-          l’utilizzo o meno di un template di comunicazione sulla base di una condizione di applicabilità ad esso associato (vedi maschera Definizione regole di applicabilità);

-          l’applicazione automatica di un filtro studenti legato al template di comunicazione.

Per tali funzionalità esistono apposite configurazioni sulla maschera client di dettaglio del template di comunicazione.


Condizioni su template

E’ possibile assoggettare un template di comunicazione ad una condizione di applicabilità: ciò significa che il template in questione verrà utilizzato se e solo se la condizione associata viene soddisfatta.

La condizione di applicabilità può essere selezionata tra le regole SQL definite in Esse3 (funzione client “Definizione regole di applicabilità”) definite sul contesto ‘COMUNICAZIONI’.

Tali condizioni SQL possono prevedere parametri (fino ad un massimo dei 10 previsti a sistema) ed è quindi possibile indicare quali parametri passati in fase di notifica evento usare per quali parametri della condizione SQL.


L’applicazione della condizione impatta di conseguenza su quante/quali comunicazioni vengono generate a fronte di una notifica evento.

Esempio: supponiamo di avere l’evento applicativo E con associati i seguenti template (tutti abilitati e relativo media abilitato)

-          template T1 senza alcuna condizione di applicabilità associata;

-          template T2 con associata la condizione A;

-          template T3 con associata la condizione B.

Supponiamo inoltre che, per come sono definite le condizioni e per quelli che sono i parametri passati in fase di notifica evento, solo la condizione A sia verificata.

A fronte della notifica applicativa dell’evento E verranno allora generate solo 2 delle complessive 3 potenziali comunicazioni; infatti

-          la comunicazione relativa a T1 viene generata in quanto incondizionata;

-          la comunicazione relativa a T2 viene generata in quanto la condizione A è verificata;

-          la comunicazione relativa a T3 non viene generata in quanto la condizione B non è verificata.

L’eventuale condizione di applicabilità associata ad un template agisce quindi a monte di qualsiasi altra logica di generazione delle comunicazioni, ancor prima di entrare nel merito della risoluzione di parametri e valutazione dei destinatari.

Da client accedendo alla maschera di dettaglio del template di comunicazione è possibile configurare la condizione di applicabilità nella sezione “Proprietà”, riquadro “Condizione di Applicabilità”:

Dopo aver selezionato la condizione da applicare al template è possibile indicare il mapping di ognuno dei 10 possibili parametri previsti a sistema (vedi maschera Definizione regole di applicabilità) uno qualsiasi dei parametri previsti dall’evento/template di comunicazione. Dove Param. 1 del template corrisponderà a : P1 delle regole di applicabilità.

Filtro Studenti

Condizione tramite regole di applicabilità su destinatari studenti

La funzionalità di filtro studenti, configurata sempre a livello di template di comunicazione, entra in gioco solo se il template effettivamente si applica all’evento notificato (ovvero risulta abilitato, su media abilitato, con l’eventuale condizione di applicabilità soddisfatta).

Si tratta di un filtro che permette di restringere la totalità dei destinatari (passati in fase di notifica evento) ai soli studenti che soddisfano:

  • una condizione SQL (vedi maschera Definizione regole di applicabilità);
  • l’appartenenza ad un gruppo (di struttura didattica) - Vedi paragrafo (gru
  • entrambi i criteri (nel caso siano specificati tutti e due contemporaneamente).


Tale filtro agisce solo sui destinatari di tipo PERSONE (ovvero gli studenti con anagrafica su P01_ANAPER), quindi qualsiasi altro soggetto di tipologia differente (docente, soggetto esterno, external) indicato tra i destinatari in fase di notifica evento rimarrà presente (non verrà toccato dal filtro).

Se ci troviamo in una situazione in cui i destinatari indicati sulla notifica evento sono tutti e soli studenti e nessuno di questi soddisfa il filtro impostato per il template allora la relativa comunicazione non verrà generata per nulla.

Basta però, ad esempio, che ci sia anche solo un destinatario external (o docente, o soggetto esterno) per far sì che la comunicazione venga generata (al limite solo con quel destinatario, in caso di altri destinatari studenti dei quali nessuno soddisfi il filtro).


Da client accedendo alla maschera di dettaglio del template di comunicazione è possibile configurare il filtro studenti nel tab “Destinatari”, riquadro “Filtro Studenti”:

I destinatari aggiuntivi eventualmente configurati sul medesimo template (destinatari fissi di tipo external) di default vengono aggiunti solo se una volta applicato l’eventuale filtro studenti vi sono ancora destinatari residui.


ASSOCIAZIONE DI CONDIZIONI AI TEMPLATE DI COMUNICAZIONE

Nella maschera di dettaglio dei TEMPLATE di comunicazioni, è possibile definire 2 diversi tipi di condizione per il recupero dei destinatari: condizioni sql (basate sulle regole di applicabilità) e condizioni sui gruppi di struttura.

CONDIZIONE DESTINATARI

Questa applicazione della regola si basa su una condizione di applicabilità (vedi maschera Definizione regole di applicabilità). La condizione SQL legata al contesto COMUNICAZIONI può essere richiesta a CINECA oppure creata in autonomia dalla maschera.

Esempio1:

Esiste solo una condizione associata a un solo template. La Condizione1 (PRIMA IMMA) è applicata a un template dell’evento 10_018_PUBBL_ESITI: al verificarsi dell’evento, se lo studente rientra nella logica della condizione SQL, sarà aggiunto come destinatario della comunicazione nata da quel template. In caso contrario non riceverà nulla.

Esempio2:

Esistono piu condizioni (es. PRIMA IMMA e NOT PRIMA IMMA). La Condizione1 (PRIMA IMMA) applicata a un template dell’evento 10_018_PUBBL_ESITI;


e la Condizione2 (logica opposta alla prima, NOT PRIMA IMMA) applicata a un altro template (creato ad hoc), sempre dell’evento 10_018_PUBBL_ESITI.


  Al verificarsi dell’evento, se lo studente rientra nella logica della condizione1, sarà aggiunto come destinatario della comunicazione nata da quel template (quindi riceverà il testo di quel template); se rientra nella condizione2 sarà destinatario della comunicazione del secondo template; in alternativa, se non rientra ne in una ne nell'altra condizione, non riceverà nulla.

NOTA: per questa condizione sul filtro studenti, non è necessario mappare i parametri come previsto nello stesso tipo di condizione ma applicata alle proprietà del template: questo perché l'individuazione del tratto di carriera interessato dello studente è già previsto dal processo tramite p1: stu_id, p2: cds_id, p3_ pds_id, p4: aa_ord_id

Condizione tramite Gruppi su destinatari studenti

Questa logica di accodamento del destinatario (per gruppi) è simile alle condizioni destinatari, ma non si basa sulle regole di applicabilità ma sui GRUPPI DI STRUTTURA:

Occorre innanzitutto definire dei livelli di contesto (maschera GESTIONE LIVELLI PER CONTESTO) legato al contesto COMUNICAZIONI:

Nell’esempio è stato creato un livello con codice TIPO CORSO associato al contesto COMUNICAZIONI.

Occorre creare un gruppo di strutture per il livello TC (nell’esempio si è scelto il tipo corso L2), nella maschera GESTIONE GRUPPI DI STRUTTURE.

Quindi dalla maschera INSIEME DI GRUPPI ALTERNATIVI, si definisce un insieme legato al contesto COMUNICAZIONI, associando il gruppo di struttura TC L2 (dell’esempio precedente).

A questo punto è possibile associare questo logica di GRUPPO al template:


NOTA: Queste applicazioni cosi descritte fanno si che se lo studente non rientra nella logica della condizione (o del gruppo) non riceva la comunicazione. Nel caso non rientri in quella logica, per far si che riceva comunque una comunicazione, ma con testo differente (ad esempio legata a un template senza condizione),  occorrerà disporre di un ulteriore template con associata una condizione (o gruppo) con una logica opposta al primo, oppure senza alcuna condizione. Questa operazione (la creazione di un nuovo template) non è ancora possibile da maschera: in tal caso, fino al rilascio della funzione che permetta di creare autonomamente un nuovo template, occorre rivolgersi a Cineca per la configurazione di template ad hoc. 


HOWTO Gateway e messaggistica