Page tree
Skip to end of metadata
Go to start of metadata

Grafico del flusso

Descrizione

Il flusso project-centralized-flow è un flusso centralizzato che modella il ciclo di vita di un progetto di ricerca, dalla proposta, all'ottenimento del finanziamento e dei successivi risultati.

Questo flusso prevede i seguenti attori nelle diverse visioni.
  • Visione completa
    • Helpdesk - HD
      Team con profilo "Profilo Helpdesk per i Progetti (project)"
    • Divisione Ricerca - DR
      Team con profilo "Profilo Divisione Ricerca"
    • Contabilità - CO
      Team con profilo "Profilo Contabilità"
  • Visione dipartimentale
    • Organi dipartimentali - OD
      Team con la seguente naming convention "Profilo di dipartimento per XXX", dove XXX è il nome del dipartimento
      La completa operatività su un dato progetto è consentita solo per il dipartimento marcato come "Principale"
      I dipartimenti aggregati avranno accesso in sola lettura.
  • Visione personale
    • Responsabile scientifico - RS
      Persona appartenente al team "Utenti", che compare tra i responsabili del progetto. Cfr modello dati TAB Soggetti interni
    • Partecipante - PA
      Persona appartenente al team "Utenti", che compare tra i partecipanti del progetto. Cfr modello dati TAB Soggetti interni
    • Referente amministrativo - RA
      Persona appartenente al team "Utenti", che compare tra i referenti amministrativi del progetto. Cfr modello dati TAB Soggetti interni
Trattandosi di un flusso centralizzato, la creazione di un nuovo progetto è consentita SOLO all' HD e DR.
Questo flusso consente all'HD di effettuare qualunque transizione di stato anche senza seguire il flusso canonico: è quindi possibile anche effettuare "salti" di stato.
Nel grafico, per chiarezza, vengono riportate però solo le transizioni di stato canoniche.
Inoltre, facciamo presente che gli stati in arancione sono gli stati di sincronizzazione con UGOV-PJ

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.

Identificativo stato Chiave etichetta stato Valore default stato Chiave etichetta bottone transizione in ingresso Valore default bottone transizione in ingresso
draft wfState.prj.draft Bozza button.forward.to.prj.draft Salva e invia in "Bozza"
added wfState.prj.added Inserito button.forward.to.prj.added Salva e invia in "Inserito"
validated wfState.prj.validated Validato button.forward.to.prj.validated Salva e invia in "Validato"
operative wfState.prj.operative Operativo button.forward.to.prj.operative Salva e invia in "Operativo"
concluded wfState.prj.concluded Concluso button.forward.to.prj.concluded Salva e invia in "Concluso"
archived wfState.prj.archived Archiviato button.forward.to.prj.archived Salva e invia in "Archiviato"

Modello Dati

Il dettaglio del modello dati associato a questo flusso è disponibile alla seguente pagina Produzione - Modello dati (project - PRJ)

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
Viene, inoltre, fornito dettaglio dei TAB disponibili (quelli in sola lettura presentano il suffisso readonly)

Stato Attori Permessi Transizioni Tab
Bozza
(draft)
Helpdesk (helpdesk) c r w d added
Referente amministrativo (administrativeOwner) r w d added
Inserito
(added)
Responsabile/Proprietario (owner) r none
Helpdesk (helpdesk) r w draft,validated
Referente amministrativo (administrativeOwner) r w draft,validated
Validato
(validated)
Responsabile/Proprietario (owner) r none
Helpdesk (helpdesk) r w added,operative,archived
Referente amministrativo (administrativeOwner) r w added,operative,archived
Operativo
(operative)
Responsabile/Proprietario (owner) r w none
Organi dipartimentali (headOfDepartment) r none
Contabilita' (accountancy) r none
Helpdesk (helpdesk) r w validated,concluded
Referente amministrativo (administrativeOwner) r w validated,concluded
Concluso
(concluded)
Responsabile/Proprietario (owner) r w none
Organi dipartimentali (headOfDepartment) r none
Contabilita' (accountancy) r none
Helpdesk (helpdesk) r w operative
Referente amministrativo (administrativeOwner) r w operative
Archiviato
(archived)
Responsabile/Proprietario (owner) r none
Helpdesk (helpdesk) r w validated
Referente amministrativo (administrativeOwner) r w d validated

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)
Le validazioni sono ulteriormente distinte nei seguenti tipi.
  • 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
Nel caso di validazioni di tipo element, oltre all'identificativo della validazione, viene riportato anche l'identificativo dell'elemento a cui è applicata e l'azione che l'ha scatenata:
  • 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
description always
dateMap[proposalStartDate] always
complex ownerValidatorProject always
checkCreationPermissionsValidator always
itemTypeAndTeamCreatableValidator isNotLegacy
save required wfItemTypeId always
complex ethicCommiteeDeleteInconsistentDataProject always
sameDefinitionForGenericItemValidator always
changeItemTypeForNotSynchronizedItemValidator always
personInFragmentValidator isNotLegacy
delete complex childAndParentDetectorDeleteValidator always
Helpdesk (helpdesk) save complex itemTypeAndTeamEditableValidator isNotLegacy
Inserito
(added)
all enter required dateMap[proposalStartDate] always
wfItemTypeId always
description always
complex ownerValidatorProject always
organizationUnitValidatorProject isNotLegacy
save required wfItemTypeId always
complex ethicCommiteeDeleteInconsistentDataProject always
sameDefinitionForGenericItemValidator always
changeItemTypeForNotSynchronizedItemValidator always
personInFragmentValidator isNotLegacy
Helpdesk (helpdesk) save complex itemTypeAndTeamEditableValidator isNotLegacy
Validato
(validated)
all enter required dateMap[proposalStartDate] always
wfItemTypeId always
description always
booleanMap[ethicCommiteeApplicability] always
complex ownerValidatorProject always
organizationUnitValidatorProject isNotLegacy
ethicCommiteeTopicValidatorProject isNotLegacy
ethicCommiteeSubmittedValidatorProject isNotLegacy
ethicCommiteeAuthorizationNumberValidatorProject isNotLegacy
ethicCommiteeAuthorizationDateValidatorProject isNotLegacy
ethicCommiteeAuthorizationOrganizationValidatorProject isNotLegacy
save required wfItemTypeId always
complex ethicCommiteeDeleteInconsistentDataProject always
sameDefinitionForGenericItemValidator always
changeItemTypeForNotSynchronizedItemValidator always
personInFragmentValidator isNotLegacy
Helpdesk (helpdesk) save complex itemTypeAndTeamEditableValidator isNotLegacy
Operativo
(operative)
all enter required dateMap[proposalStartDate] always
description always
dateMap[startDate] always
dateMap[endDate] always
numberMap[internalCofinancing] always
numberMap[internalCost] always
numberMap[internalContribution] always
wfItemTypeId always
wfDictionaryMap[currency] always
booleanMap[ethicCommiteeApplicability] always
complex uniqueIdentifierProject isNotLegacy
ownerValidatorProject always
organizationUnitValidatorProject isNotLegacy
organizationUnitRoleValidatorProject isNotLegacy
ownerAndOrganizationUnitMatchValidatorProject isNotLegacy
grantorValidatorProject isNotLegacy
currencyAndInternalContributionValidatorProject isNotLegacy
checkPartnerValidatorProject isNotLegacy
partnerAndGlobalCostValidatorProject isNotLegacy
checkInconsistentFundingValidatorProject isNotLegacy
wfUgovPjSenderValidatorProject always
checkDateExtensionValidator always
ethicCommiteeTopicValidatorProject isNotLegacy
ethicCommiteeSubmittedValidatorProject isNotLegacy
ethicCommiteeAuthorizationNumberValidatorProject isNotLegacy
ethicCommiteeAuthorizationDateValidatorProject isNotLegacy
ethicCommiteeAuthorizationOrganizationValidatorProject isNotLegacy
contributorAndOwnerStartDateValidator isNotLegacy
contributorAndOwnerValidatorWithStartEndDate isNotLegacy
expenditureStartDateAndExpenditureEndDateValidator always
startDateAndEndDateValidator always
save required wfItemTypeId always
complex contributorAndOwnerStartDateValidator isNotLegacy
contributorAndOwnerValidatorWithStartEndDate isNotLegacy
checkDateExtensionValidator always
checkInconsistentFundingValidatorProject isNotLegacy
changeItemTypeForSynchronizedItemValidator always
ethicCommiteeDeleteInconsistentDataProject always
personInFragmentValidator isNotLegacy
expenditureStartDateAndExpenditureEndDateValidator always
startDateAndEndDateValidator always
checkPartnerValidatorProject isNotLegacy
partnerAndGlobalCostValidatorProject isNotLegacy
wfUgovPjSenderValidatorProject always
Responsabile/Proprietario (owner) save complex notEditableByOwnerValidator always
element complex owner:delete  notEditableFragmentValidator always
owner:save  notEditableFragmentValidator always
contributor:delete  notEditableFragmentValidator always
contributor:save  notEditableFragmentValidator always
Helpdesk (helpdesk) save required description always
dateMap[startDate] always
dateMap[endDate] always
numberMap[internalCofinancing] always
numberMap[internalCost] always
numberMap[internalContribution] always
wfItemTypeId always
wfDictionaryMap[currency] always
complex ownerValidatorProject always
organizationUnitValidatorProject isNotLegacy
organizationUnitRoleValidatorProject isNotLegacy
ownerAndOrganizationUnitMatchValidatorProject isNotLegacy
grantorValidatorProject isNotLegacy
currencyAndInternalContributionValidatorProject isNotLegacy
itemTypeAndTeamEditableValidator isNotLegacy
Referente amministrativo (administrativeOwner) save required description always
dateMap[startDate] always
dateMap[endDate] always
numberMap[internalCofinancing] always
numberMap[internalCost] always
numberMap[internalContribution] always
wfItemTypeId always
wfDictionaryMap[currency] always
complex ownerValidatorProject always
organizationUnitValidatorProject isNotLegacy
organizationUnitRoleValidatorProject isNotLegacy
ownerAndOrganizationUnitMatchValidatorProject isNotLegacy
grantorValidatorProject isNotLegacy
currencyAndInternalContributionValidatorProject isNotLegacy
Concluso
(concluded)
all enter required dateMap[proposalStartDate] always
description always
dateMap[startDate] always
dateMap[endDate] always
numberMap[internalCofinancing] always
numberMap[internalCost] always
numberMap[internalContribution] always
wfItemTypeId always
wfDictionaryMap[currency] always
booleanMap[ethicCommiteeApplicability] always
complex ownerValidatorProject always
organizationUnitValidatorProject isNotLegacy
organizationUnitRoleValidatorProject isNotLegacy
ownerAndOrganizationUnitMatchValidatorProject isNotLegacy
grantorValidatorProject isNotLegacy
currencyAndInternalContributionValidatorProject isNotLegacy
checkPartnerValidatorProject isNotLegacy
partnerAndGlobalCostValidatorProject isNotLegacy
contributorAndOwnerValidatorWithStartEndDate isNotLegacy
checkDateExtensionValidator always
checkInconsistentFundingValidatorProject isNotLegacy
ethicCommiteeTopicValidatorProject isNotLegacy
ethicCommiteeSubmittedValidatorProject isNotLegacy
ethicCommiteeAuthorizationNumberValidatorProject isNotLegacy
ethicCommiteeAuthorizationDateValidatorProject isNotLegacy
ethicCommiteeAuthorizationOrganizationValidatorProject isNotLegacy
contributorAndOwnerStartDateValidator isNotLegacy
expenditureStartDateAndExpenditureEndDateValidator always
startDateAndEndDateValidator always
wfUgovPjSenderValidatorProject always
save required wfItemTypeId always
complex contributorAndOwnerStartDateValidator isNotLegacy
contributorAndOwnerValidatorWithStartEndDate isNotLegacy
checkDateExtensionValidator always
checkInconsistentFundingValidatorProject isNotLegacy
changeItemTypeForSynchronizedItemValidator always
personInFragmentValidator isNotLegacy
expenditureStartDateAndExpenditureEndDateValidator always
startDateAndEndDateValidator always
checkPartnerValidatorProject isNotLegacy
partnerAndGlobalCostValidatorProject isNotLegacy
wfUgovPjSenderValidatorProject always
Responsabile/Proprietario (owner) save complex notEditableByOwnerValidator always
element complex owner:delete  notEditableFragmentValidator always
owner:save  notEditableFragmentValidator always
contributor:delete  notEditableFragmentValidator always
contributor:save  notEditableFragmentValidator always
Helpdesk (helpdesk) save required description always
dateMap[startDate] always
dateMap[endDate] always
numberMap[internalCofinancing] always
numberMap[internalCost] always
numberMap[internalContribution] always
wfItemTypeId always
wfDictionaryMap[currency] always
complex ownerValidatorProject always
organizationUnitValidatorProject isNotLegacy
organizationUnitRoleValidatorProject isNotLegacy
ownerAndOrganizationUnitMatchValidatorProject isNotLegacy
grantorValidatorProject isNotLegacy
currencyAndInternalContributionValidatorProject isNotLegacy
ethicCommiteeDeleteInconsistentDataProject always
itemTypeAndTeamEditableValidator isNotLegacy
Referente amministrativo (administrativeOwner) save required description always
dateMap[startDate] always
dateMap[endDate] always
numberMap[internalCofinancing] always
numberMap[internalCost] always
numberMap[internalContribution] always
wfItemTypeId always
wfDictionaryMap[currency] always
complex ownerValidatorProject always
organizationUnitValidatorProject isNotLegacy
organizationUnitRoleValidatorProject isNotLegacy
ownerAndOrganizationUnitMatchValidatorProject isNotLegacy
grantorValidatorProject isNotLegacy
currencyAndInternalContributionValidatorProject isNotLegacy
ethicCommiteeDeleteInconsistentDataProject always
Archiviato
(archived)
all save required wfItemTypeId always
complex changeItemTypeForNotSynchronizedItemValidator always
delete complex childAndParentDetectorDeleteValidator always
Helpdesk (helpdesk) save complex itemTypeAndTeamEditableValidator isNotLegacy

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
Di seguito viene riportato il dettaglio delle logiche definite per questo flusso.

START LOGICS ACTION LOGICS