Table of Contents |
---|
Grafico del flusso
Descrizione
Il flusso publicEngagement-no-validation-flow è un flusso per il censimento di iniziative di public engagement.Questo flusso NON prevede uno step di validazione da parte di una authority (centrale o dipartimentale)
Questo flusso prevede i seguenti attori nelle diverse visioni.
- Visione completa
- Helpdesk - HD
Team con profilo "Profilo Help Desk per le iniziative di public engagement (publicEngagement)" - Divisione Ricerca - DR
Team con profilo "Profilo Divisione Ricerca"
- Helpdesk - HD
- Visione dipartimentale
- Organi dipartimentali - OD
Utenti appartenenti al team con la seguente naming convention "Profilo di dipartimento per XXX", dove XXX è il nome del dipartimento
Sono abilitati a questa visione tutti i dipartimenti presenti nella sezione "Dipartimenti".
Cfr modello dati TAB Referenti
Questo flusso prevede il calcolo dinamico dei permessi per la visione dipartimentale (segnalato nel grafico dal simbolo "+").
Per maggiori dettagli fare riferimento a wfIdentityLogicMultipleHeadOfDepartmentPublicEngagementPermissionsJs
- Organi dipartimentali - OD
- Visione personale
- Responsabili scientifici - RS
Persona appartenente al team "Utenti", che compare tra i responsabili dell'iniziativa.
Cfr modello dati TAB Referenti - Partecipante - PA
Persona appartenente al team "Utenti", che compare tra i partecipanti all'iniziativa.
Cfr modello dati TAB Referenti - Delegato - RD
Persona appartenente al team "Utenti", che compare tra i delegati alla compilazione dell'iniziativa.
Cfr modello dati TAB Referenti
- Responsabili scientifici - RS
É possibile abilitare/disabilitare la creazione dell'oggetto da parte dell'owner, di default la creazione viene consentita, mentre se la variabile ap.publicEngagement-preapproval-flow.owner.create viene settata a false la creazione viene impedita.
Etichette Stati
I nomi degli stati possono essere personalizzati con la funzione di Gestione etichette.
Nella tabella sottostante vengono riportati tutti gli stati previsti dal flusso con relativa etichetta e valore di default.
Vengono anche fornite le etichette per i vari bottoni che consentono lo spostamento di stato.
Di default venegono utilizzate le etichette dei bottoni per lo stato successivo, è possibile configurare il flusso in maniera tale da utlizzare anche le etichette dei bottoni per lo stato precedente.
Esempio di utilizzo: l'oggetto si trova nello stato in attesa di essere validato, i possibili stati di cambio sono bozza e operativo. Il bottone per lo stato operativo utilizzerà l'etichetta per lo stato successivo, mentre il bottone per lo stato bozza utilizzerà l'etichetta per lo stato precedente.
Identificativo stato | Chiave etichetta stato | Valore default stato | Etichetta del bottone stato successivo | Etichetta del bottone stato precedente | Valore etichetta del bottone stato successivo | Valore etichetta del bottone stato precedente |
---|---|---|---|---|---|---|
draft | wfState.pen.draft | Bozza | button.forward.to.pen.draft | button.backward.to.pen.draft | Salva e invia in "Bozza" | Salva e invia in "Bozza" |
approved | wfState.pen.approved | Approvato | button.forward.to.pen.approved | button.backward.to.pen.approved | Salva e invia in "Approvato" | Salva e invia in "Approvato" |
reopened | wfState.pen.reopened | Riaperto | button.forward.to.pen.reopened | button.backward.to.pen.reopened | Salva e invia in "Riaperto" | Salva e invia in "Riaperto" |
Anchor | ||||
---|---|---|---|---|
|
Modello Dati
Il dettaglio del modello dati associato a questo flusso è disponibile alla seguente pagina Produzione - Modello dati (publicEngagement - PEN)
Anchor | ||||
---|---|---|---|---|
|
Permessi
Nella seguente sezione viene riportato il dettaglio dei permessi e delle transizioni di stato possibili per tutti gli attori del flusso.
Per quanto riguarda le transizioni di stato vengono riportati gli identificativi degli stati verso i quali è possibile effettuare la transizione.
Quando viene riportato il marcatore "__PREVIOUS_STATE__" significa che la transizione di stato è consentita verso lo stato precedente.
Di seguito la legenda dei permessi:
- c: create (disponibile solo per il primo stato del flusso)
- r: read
- w: write
- d: delete
Validazioni
Nella seguente sezione viene riportato il dettaglio delle validazioni per tutte le coppie (attore, stato) del flusso.
Le validazioni sono distinte nei seguenti macrotipi e sono riferite, se non specificato altrimenti, all'oggetto radice.
- enter: validazione applicata in ingresso nello stato
La transizione in ingresso viene NEGATA se anche solo una validazione NON viene superata con successo. - save: validazione applicata ad ogni salvataggio e quindi anche per ogni spostamento di TAB
Il salvataggio viene NEGATO se anche solo una validazione NON viene superata con successo. - delete: validazione applicata in fase di eliminazione di un oggetto radice
- element: validazione applicata agli elementi figli di un oggetto radice
- permissions: logiche di generazione dinamica dei permessi (rwfd) sull'oggetto radice che sovrascrive i permessi di flusso (rwfd)
- required: validazione di obbligatorietà di un attributo sull'oggetto radice.
- complex: validazione complessa applicabile sia all'oggetto radice che agli elementi.
Per avere maggiori dettagli sulla validazione cliccare sull'identificativo della validazione
- salvataggio (save)
- eliminazione (delete)
Ad esempio la seguente stringa
internalOrganizationUnit:delete departmentDeleteValidator indica che la validazione "departmentDeleteValidator" è applicata in eliminazione di un elemento di tipo internalOrganizationUnit dell'oggetto radice.
Per avere maggiori dettagli sui possibili elementi fare riferimento alla definizione del modello, disponibile nella sezione Modello Dati.
Infine è possibile applicare le validazioni, condizionalmente al soddisfacimento di determinate condizioni (opzionali).
Queste condizioni sono specificate nella colonna "Applicabilità": se è specificato always, la validazione è sempre attiva.
Stato | Attori | MacroTipo | Tipo | Attributo/Identificativo | Applicabilita' |
---|---|---|---|---|---|
Bozza (draft) | all | enter | required | wfItemTypeId | always |
dateMap[startDate] | always | ||||
description | always | ||||
complex | checkCreationPermissionsValidator | always | |||
ownerStartValidatorPublicEngagement | always | ||||
ownerWithSameDepartmentAsHeadValidator | always | ||||
transitionCommentValidator | always | ||||
save | complex | sameDefinitionForGenericItemValidator | always | ||
itemTypeNotWithdrawnValidator | always | ||||
delete | complex | childAndParentDetectorDeleteValidator | always | ||
element | complex | contributor:save addOrgUnitFromNewOwnerValidator | always | ||
owner:save addOrgUnitFromNewOwnerValidator | always | ||||
owner:save ownerElementTimeReportingValidator | always | ||||
impactIndicators:save impactIndicatorsValidatorPublicEngagement | always | ||||
publicInvolved:save publicInvolvedDuplicatedValidatorPublicEngagement | always | ||||
publicInvolved:save specificOtherValuePopulatedValidatorPublicEngagement | always | ||||
Helpdesk (helpdesk) | element | complex | suardInitiative:save suardDepartmentHelpdeskInitiativeValidatorPublicEngagement | always | |
Responsabile/Proprietario (owner) | element | complex | owner:save ownerCannotEditHimself | always | |
owner:delete ownerCannotDeleteHimself | always | ||||
suardInitiative:delete notAllowedValidator | always | ||||
suardInitiative:save notAllowedValidator | always | ||||
Organi dipartimentali (headOfDepartment) | element | complex | internalOrganizationUnit:delete departmentDeleteValidator | always | |
internalOrganizationUnit:save departmentChangeRoleValidator | always | ||||
suardInitiative:save suardDepartmentInitiativeValidatorPublicEngagement | always | ||||
permissions | complex | wfIdentityLogicMultipleHeadOfDepartmentPublicEngagementPermissionsJs | always | ||
Delegato (internalRepresentative) | element | complex | internalRepresentative:delete notAllowedValidator | always | |
internalRepresentative:save notAllowedValidator | always | ||||
owner:delete notAllowedValidator | always | ||||
owner:save notAllowedValidator | always | ||||
suardInitiative:delete notAllowedValidator | always | ||||
suardInitiative:save notAllowedValidator | always | ||||
Approvato (approved) | all | enter | required | wfItemTypeId | always |
description | always | ||||
stringMap[abstract] | always | ||||
dateMap[startDate] | always | ||||
numberMap[numTotalDay] | always | ||||
year | always | ||||
booleanMap[istitutionalInitiative] | always | ||||
stringMap[targetDescription] | always | ||||
booleanMap[evaluationEnable] | always | ||||
booleanMap[visibleOnPortal] | always | ||||
wfDictionaryMap[geographicalImpact] | always | ||||
numberMap[totalBudget] | always | ||||
stringMap[estimatedImpact] | always | ||||
wfDictionaryMap[involvementType] | always | ||||
complex | checkToolEvaluation | always | |||
multipleOwnerValidator | always | ||||
internalOrganizationUnitValidator | always | ||||
startDateAndEndDateValidator | always | ||||
periodicityValidatorPublicEngagement | always | ||||
scientificAreasInvolvedValidatorPublicEngagement | always | ||||
publicInvolvedAtLeastOneValidatorPublicEngagement | always | ||||
publicInvolvedValidator | always | ||||
ownerTimeReportingValidator | always | ||||
financingTotalBudgetValidator | always | ||||
dateCoverageAndOverlapValidator | always | ||||
secondaryCategoryDifferFromType | always | ||||
save | complex | sameDefinitionForGenericItemValidator | always | ||
itemTypeNotWithdrawnValidator | always | ||||
element | complex | owner:save ownerElementTimeReportingValidator | always | ||
Organi dipartimentali (headOfDepartment) | permissions | complex | wfIdentityLogicMultipleHeadOfDepartmentPublicEngagementPermissionsJs | always | |
Riaperto (reopened) | all | enter | required | wfItemTypeId | always |
description | always | ||||
stringMap[abstract] | always | ||||
dateMap[startDate] | always | ||||
numberMap[numTotalDay] | always | ||||
year | always | ||||
booleanMap[istitutionalInitiative] | always | ||||
stringMap[targetDescription] | always | ||||
booleanMap[evaluationEnable] | always | ||||
booleanMap[visibleOnPortal] | always | ||||
wfDictionaryMap[geographicalImpact] | always | ||||
numberMap[totalBudget] | always | ||||
stringMap[estimatedImpact] | always | ||||
complex | checkToolEvaluation | always | |||
multipleOwnerValidator | always | ||||
internalOrganizationUnitValidator | always | ||||
startDateAndEndDateValidator | always | ||||
save | complex | sameDefinitionForGenericItemValidator | always | ||
itemTypeNotWithdrawnValidator | always | ||||
delete | complex | childAndParentDetectorDeleteValidator | always | ||
element | complex | contributor:save addOrgUnitFromNewOwnerValidator | always | ||
owner:save addOrgUnitFromNewOwnerValidator | always | ||||
owner:save ownerElementTimeReportingValidator | always | ||||
impactIndicators:save impactIndicatorsValidatorPublicEngagement | always | ||||
publicInvolved:save publicInvolvedDuplicatedValidatorPublicEngagement | always | ||||
publicInvolved:save specificOtherValuePopulatedValidatorPublicEngagement | always | ||||
Helpdesk (helpdesk) | element | complex | suardInitiative:save suardDepartmentHelpdeskInitiativeValidatorPublicEngagement | always | |
Organi dipartimentali (headOfDepartment) | element | complex | internalOrganizationUnit:delete departmentDeleteValidator | always | |
internalOrganizationUnit:save departmentChangeRoleValidator | always | ||||
suardInitiative:save suardDepartmentInitiativeValidatorPublicEngagement | always | ||||
permissions | complex | wfIdentityLogicMultipleHeadOfDepartmentPublicEngagementPermissionsJs | always | ||
Responsabile/Proprietario (owner) | element | complex | owner:save ownerCannotEditHimself | always | |
owner:delete ownerCannotDeleteHimself | always | ||||
suardInitiative:delete notAllowedValidator | always | ||||
suardInitiative:save notAllowedValidator | always | ||||
Delegato (internalRepresentative) | element | complex | suardInitiative:delete notAllowedValidator | always | |
suardInitiative:save notAllowedValidator | always |
Logiche (action/start)
Nella seguente sezione vengono riportate le
- START LOGICS
Le start logics sono le "azioni" che vengono eseguite in fase di creazione di un nuovo oggetto radice - ACTION LOGICS
Le action logics sono delle "azioni" che vengono eseguite al verificarsi di determinati eventi.
Gli eventi contemplati sono:- enter: ingresso in uno stato
- save: salvataggio dell'oggetto radice
START LOGICS
- wfStartLogicIdentifier
- wfStartLogicYearFromStartDate
- wfStartLogicMultipleOwners
- wfStartLogicMultipleInternalOrganizationUnits
- wfStartLogicPublicEngagement
- wfStartLogicAcademicAreaFromOwner
- wfStartLogicVisibileOnPortal
- Bozza (draft)
- Approvato (approved)
- Riaperto (reopened)