Grafico del flusso

Descrizione

Il flusso project-decentralized-flow è un flusso Decentralizzato 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. Trattandosi di un flusso decentralizzato, la creazione di un nuovo progetto è consentita anche ai RS.
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.
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.prj.draft Bozza button.forward.to.prj.draft button.backward.to.prj.draft Salva e invia in "Bozza" Torna in "Bozza"
financingScouting wfState.prj.financingScouting Scouting Finanziamento button.forward.to.prj.financingScouting button.backward.to.prj.financingScouting Salva e invia in "Scouting Finanziamento" Salva e invia in "Scouting Finanziamento"
archived wfState.prj.archived Archiviato button.forward.to.prj.archived button.backward.to.prj.archived Salva e invia in "Archiviato" Salva e invia in "Archiviato"
grantorFound wfState.prj.grantorFound Potenziale Finanziamento button.forward.to.prj.grantorFound button.backward.to.prj.grantorFound Salva e invia in "Potenziale Finanziamento" Salva e invia in "Potenziale Finanziamento"
rejected wfState.prj.rejected Respinto button.forward.to.prj.rejected button.backward.to.prj.rejected Salva e invia in "Respinto" Salva e invia in "Respinto"
operative wfState.prj.operative Operativo button.forward.to.prj.operative button.backward.to.prj.operative Salva e invia in "Operativo" Salva e invia in "Operativo"
concluded wfState.prj.concluded Concluso button.forward.to.prj.concluded button.backward.to.prj.concluded Salva e invia in "Concluso" Salva e invia in "Concluso"

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:

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 financingScouting,grantorFound
Responsabile/Proprietario (owner) c r w d financingScouting,grantorFound
Delegato (internalRepresentatives) c r w d financingScouting,grantorFound
Partecipante (contributor) r none
Scouting Finanziamento
(financingScouting)
Helpdesk (helpdesk) r w d draft,archived,grantorFound
Responsabile/Proprietario (owner) r w draft,archived,grantorFound
Partecipante (contributor) r none
Organi dipartimentali (headOfDepartment) r none
Archiviato
(archived)
Helpdesk (helpdesk) r w d financingScouting
Responsabile/Proprietario (owner) r none
Partecipante (contributor) r none
Organi dipartimentali (headOfDepartment) r none
Potenziale Finanziamento
(grantorFound)
Helpdesk (helpdesk) r w d __PREVIOUS_STATE__,rejected,operative
Responsabile/Proprietario (owner) r none
Partecipante (contributor) r none
Organi dipartimentali (headOfDepartment) r w rejected,operative
Respinto
(rejected)
Helpdesk (helpdesk) r w d grantorFound
Responsabile/Proprietario (owner) r none
Partecipante (contributor) r none
Organi dipartimentali (headOfDepartment) r none
Operativo
(operative)
Helpdesk (helpdesk) r w d grantorFound,concluded
Responsabile/Proprietario (owner) r none
Partecipante (contributor) r none
Organi dipartimentali (headOfDepartment) r w concluded
Concluso
(concluded)
Helpdesk (helpdesk) r w d operative
Responsabile/Proprietario (owner) r none
Partecipante (contributor) r none
Organi dipartimentali (headOfDepartment) r none

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.

Le validazioni sono ulteriormente distinte nei seguenti tipi. 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:
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
save required identifier always
wfItemTypeId always
complex ethicCommiteeDeleteInconsistentDataProject always
sameDefinitionForGenericItemValidator always
changeItemTypeForNotSynchronizedItemValidator always
uniquePeopleInOwnerAndContributorSetValidator isNotLegacy
delete complex childAndParentDetectorDeleteValidator always
element complex owner:save  addOrgUnitFromNewOwnerValidator always
owner:delete  deleteOrgUnitAssociatedToOldOwnerValidator always
Responsabile/Proprietario (owner) element complex internalOrganizationUnit:save  notAllowedValidator always
internalOrganizationUnit:delete  notAllowedValidator always
Scouting Finanziamento
(financingScouting)
all enter required dateMap[proposalStartDate] always
description always
complex organizationUnitValidatorProject isNotLegacy
save required identifier always
wfItemTypeId always
complex ethicCommiteeDeleteInconsistentDataProject always
sameDefinitionForGenericItemValidator always
changeItemTypeForNotSynchronizedItemValidator always
uniquePeopleInOwnerAndContributorSetValidator isNotLegacy
delete complex childAndParentDetectorDeleteValidator always
Archiviato
(archived)
all enter required dateMap[proposalStartDate] always
description always
numberMap[internalContribution] always
numberMap[internalCost] always
booleanMap[ethicCommiteeApplicability] isNotLegacy
complex organizationUnitValidatorProject isNotLegacy
ownerAndOrganizationUnitMatchValidatorProject isNotLegacy
grantorValidatorProject isNotLegacy
contributorAndOwnerStartDateValidator isNotLegacy
checkPartnerValidatorProject isNotLegacy
partnerAndGlobalCostValidatorProject isNotLegacy
ethicCommiteeValidatorProject isNotLegacy
save required identifier always
wfItemTypeId always
complex ethicCommiteeDeleteInconsistentDataProject always
sameDefinitionForGenericItemValidator always
changeItemTypeForNotSynchronizedItemValidator always
uniquePeopleInOwnerAndContributorSetValidator isNotLegacy
delete complex childAndParentDetectorDeleteValidator always
Potenziale Finanziamento
(grantorFound)
all enter required description always
dateMap[proposalStartDate] always
numberMap[requestedInternalContribution] always
numberMap[requestedInternalCost] always
booleanMap[ethicCommiteeApplicability] isNotLegacy
complex organizationUnitValidatorProject isNotLegacy
ownerAndOrganizationUnitMatchValidatorProject isNotLegacy
grantorValidatorProject isNotLegacy
checkPartnerValidatorProject isNotLegacy
ethicCommiteeValidatorProject isNotLegacy
save required identifier always
wfItemTypeId always
complex ethicCommiteeDeleteInconsistentDataProject always
sameDefinitionForGenericItemValidator always
changeItemTypeForNotSynchronizedItemValidator always
uniquePeopleInOwnerAndContributorSetValidator isNotLegacy
delete complex childAndParentDetectorDeleteValidator always
Organi dipartimentali (headOfDepartment) element complex internalOrganizationUnit:delete  departmentDeleteValidator always
internalOrganizationUnit:save  departmentChangeRoleValidator always
Respinto
(rejected)
all enter required description always
dateMap[proposalStartDate] always
numberMap[internalContribution] always
numberMap[internalCost] always
booleanMap[ethicCommiteeApplicability] isNotLegacy
complex organizationUnitValidatorProject isNotLegacy
ownerAndOrganizationUnitMatchValidatorProject isNotLegacy
grantorValidatorProject isNotLegacy
checkPartnerValidatorProject isNotLegacy
ethicCommiteeValidatorProject isNotLegacy
save required identifier always
wfItemTypeId always
complex ethicCommiteeDeleteInconsistentDataProject always
sameDefinitionForGenericItemValidator always
changeItemTypeForNotSynchronizedItemValidator always
uniquePeopleInOwnerAndContributorSetValidator isNotLegacy
delete complex childAndParentDetectorDeleteValidator always
Operativo
(operative)
all enter required dateMap[startDate] always
dateMap[endDate] always
dateMap[proposalStartDate] always
description always
numberMap[requestedInternalContribution] always
numberMap[requestedInternalCost] always
numberMap[internalContribution] always
numberMap[internalCost] always
wfDictionaryMap[currency] always
booleanMap[ethicCommiteeApplicability] isNotLegacy
wfDictionaryMap[researchNature] isNotLegacy researchNatureValidatorProject
complex checkInconsistentFundingValidatorProject isNotLegacy
checkDateExtensionValidator always
ownerValidatorProject always
organizationUnitValidatorProject isNotLegacy
organizationUnitRoleValidatorProject isNotLegacy
ownerAndOrganizationUnitMatchValidatorProject isNotLegacy
grantorValidatorProject isNotLegacy
currencyAndInternalContributionValidatorProject isNotLegacy
checkPartnerValidatorProject isNotLegacy
partnerAndGlobalCostValidatorProject isNotLegacy
ethicCommiteeValidatorProject isNotLegacy
contributorAndOwnerStartDateValidator isNotLegacy
contributorAndOwnerValidatorWithStartEndDate isNotLegacy
expenditureStartDateAndExpenditureEndDateValidator isNotLegacy
startDateAndEndDateValidator always
dateCheckCoverageAndOverlap isNotLegacy
projectInternalOrganizationUnitRoleValidator isNotLegacy
wfUgovPjSenderValidatorProject always
save required identifier always
wfItemTypeId always
dateMap[startDate] always
dateMap[endDate] always
description always
numberMap[requestedInternalContribution] always
numberMap[requestedInternalCost] always
numberMap[internalContribution] always
numberMap[internalCost] always
wfDictionaryMap[currency] always
wfDictionaryMap[researchNature] isNotLegacy researchNatureValidatorProject
complex sameDefinitionForGenericItemValidator always
checkDateExtensionValidator always
checkInconsistentFundingValidatorProject isNotLegacy
contributorAndOwnerStartDateValidator isNotLegacy
contributorAndOwnerValidatorWithStartEndDate isNotLegacy
ownerValidatorProject always
organizationUnitValidatorProject isNotLegacy
organizationUnitRoleValidatorProject isNotLegacy
ownerAndOrganizationUnitMatchValidatorProject isNotLegacy
grantorValidatorProject isNotLegacy
currencyAndInternalContributionValidatorProject isNotLegacy
checkPartnerValidatorProject isNotLegacy
partnerAndGlobalCostValidatorProject isNotLegacy
ethicCommiteeDeleteInconsistentDataProject always
changeItemTypeForSynchronizedItemValidator always
uniquePeopleInOwnerAndContributorSetValidator isNotLegacy
expenditureStartDateAndExpenditureEndDateValidator isNotLegacy
startDateAndEndDateValidator always
dateCheckCoverageAndOverlap isNotLegacy
projectInternalOrganizationUnitRoleValidator isNotLegacy
wfUgovPjSenderValidatorProject always
delete complex childAndParentDetectorDeleteValidator always
Organi dipartimentali (headOfDepartment) element complex internalOrganizationUnit:delete  departmentDeleteValidator always
internalOrganizationUnit:save  departmentChangeRoleValidator always
Concluso
(concluded)
all enter required dateMap[startDate] always
dateMap[endDate] always
dateMap[proposalStartDate] always
description always
numberMap[requestedInternalContribution] always
numberMap[requestedInternalCost] always
numberMap[internalContribution] always
numberMap[internalCost] always
dateMap[expenditureEndDate] always
wfDictionaryMap[currency] always
booleanMap[ethicCommiteeApplicability] isNotLegacy
wfDictionaryMap[researchNature] isNotLegacy researchNatureValidatorProject
complex ownerValidatorProject always
organizationUnitValidatorProject isNotLegacy
organizationUnitRoleValidatorProject isNotLegacy
ownerAndOrganizationUnitMatchValidatorProject isNotLegacy
grantorValidatorProject isNotLegacy
currencyAndInternalContributionValidatorProject isNotLegacy
checkPartnerValidatorProject isNotLegacy
partnerAndGlobalCostValidatorProject isNotLegacy
ethicCommiteeValidatorProject isNotLegacy
contributorAndOwnerStartDateValidator isNotLegacy
contributorAndOwnerValidatorWithStartEndDate isNotLegacy
checkInconsistentFundingValidatorProject isNotLegacy
checkDateExtensionValidator always
expenditureStartDateAndExpenditureEndDateValidator isNotLegacy
projectEndDateAndExpenditureEndDateValidator isNotLegacy
startDateAndEndDateValidator always
dateCheckCoverageAndOverlap isNotLegacy
projectInternalOrganizationUnitRoleValidator isNotLegacy
wfUgovPjSenderValidatorProject always
save required identifier always
wfItemTypeId always
numberMap[requestedInternalContribution] always
numberMap[requestedInternalCost] always
numberMap[internalContribution] always
numberMap[internalCost] always
dateMap[expenditureEndDate] always
wfDictionaryMap[currency] always
description always
dateMap[startDate] always
dateMap[endDate] always
wfDictionaryMap[researchNature] isNotLegacy researchNatureValidatorProject
complex sameDefinitionForGenericItemValidator always
contributorAndOwnerValidatorWithStartEndDate isNotLegacy
contributorAndOwnerStartDateValidator isNotLegacy
checkDateExtensionValidator always
checkInconsistentFundingValidatorProject isNotLegacy
ownerValidatorProject always
organizationUnitValidatorProject isNotLegacy
organizationUnitRoleValidatorProject isNotLegacy
ownerAndOrganizationUnitMatchValidatorProject isNotLegacy
grantorValidatorProject isNotLegacy
currencyAndInternalContributionValidatorProject isNotLegacy
checkPartnerValidatorProject isNotLegacy
partnerAndGlobalCostValidatorProject isNotLegacy
ethicCommiteeDeleteInconsistentDataProject always
changeItemTypeForSynchronizedItemValidator always
uniquePeopleInOwnerAndContributorSetValidator isNotLegacy
expenditureStartDateAndExpenditureEndDateValidator isNotLegacy
projectEndDateAndExpenditureEndDateValidator isNotLegacy
startDateAndEndDateValidator always
dateCheckCoverageAndOverlap isNotLegacy
projectInternalOrganizationUnitRoleValidator isNotLegacy
wfUgovPjSenderValidatorProject always
delete complex childAndParentDetectorDeleteValidator always

Logiche (action/start)

Nella seguente sezione vengono riportate le

Di seguito viene riportato il dettaglio delle logiche definite per questo flusso.

START LOGICS

ACTION LOGICS