Skip to main content

Task template

🚧 BOZZA

La sezione Task template permette di gestire i task template presenti in piattaforma.


🧠 Concetti chiave

La sezione Task template permette di gestire tutti i task template presenti in piattaforma.

Ogni task è composto da:

  • Il nome è il titolo identificativo del task (es. "Compilazione del CMC").
  • La descrizione fornisce maggiori dettagli su cosa fare nel task (es. "Compila il computo metrico commerciale con le lavorazioni standard di commessa").
  • La descrizione quando il task è chiuso è il testo mostrato al completamento dell'azione (es. "Il Computo metrico commerciale è stato correttamente compilato").
  • La categoria permette di raggruppare i task per tipologia (es. Computo metrico).
  • L'assegnatario è il ruolo a cui il task è assegnato (es. Progettista) (da capire se possiamo togliere questo dato ed ereditaro dagli Utenti che possono eseguire il task).
  • Gli utenti che possono eseguire il task sono coloro che possono completare l'azione e lo visualizzano nella sezione "TODO" (es. Superadmin, Progettista).
  • Gli utenti che possono visualizzare il task ma non eseguirlo possono vederlo nella sezione "Altri task aperti" ma non possono completarlo (es. Capocommessa).
  • L'azione al click sul task definisce l'operazione eseguita quando l'utente interagisce con esso (es. apertura di una modale, redirect a una pagina specifica).
  • L'ordinamento stabilisce la posizione del task all'interno della lista.
  • Le condizioni di apertura sono le regole che determinano quando il task diventa visibile e attivo (es. al verificarsi di un evento).
  • Le condizioni di chiusura sono le regole che, se soddisfatte, determinano il completamento automatico del task.

In piattaforma è possibile gestire i task, modificando i dati del task template, ad eccezione dell’azione al click sul task, delle condizioni di apertura e delle condizioni di chiusura, che sono attributi tracciati lato codice e non modificabili da interfaccia.


Creazione e gestione dei task template

I task template non possono essere creati da zero: vengono definiti a livello di codice dai dev, che stabiliscono la loro esistenza e le relative logiche di base. Una volta definiti, però, possono essere gestiti e personalizzati tramite interfaccia, così da adattarli alle esigenze della piattaforma.
In questo modo, i contenuti e le policy dei task saranno configurabili direttamente dalla piattaforma, senza necessità di intervento da parte dei dev.

Un altro aspetto gestibile dall’utente è l’ordinamento. L’ordinamento rappresenta il flusso operativo dei task, cioè la sequenza con cui si devono aprire e con cui devono essere affrontati. Sarà possibile gestire questo flusso direttamente dall’interfaccia, stabilendo quali task devono aprirsi prima e quali successivamente.
Le condizioni di apertura e chiusura, invece, continueranno a essere definite ed implementate nel codice dai dev. Queste condizioni, infatti, dipendono da dati presenti nel database e sono troppo complesse per essere rese dinamiche lato interfaccia.
Per modificare l'ordinamento dei task, è necessario aggiornare la versione dell'ordinamento dei task. Questo comporta la creazione di una nuova versione dell'ordinamento dei task, inserendo le dipendenze tra i task. In questo modo, è possibile visualizzare le versioni precedenti dell'ordinamento dei task e tracciarne lo storico.

Logiche rilevanti
  • Le condizioni di apertura e chiusura sono attributi tracciati lato codice e non modificabili da interfaccia.
  • Le condizioni di apertura e chiusura sono definite ed implementate nel codice dai dev. Queste condizioni, infatti, dipendono da dati presenti nel database e sono troppo complesse per essere rese dinamiche lato interfaccia.
  • Per modificare l'ordinamento dei task, è necessario aggiornare la versione dell'ordinamento dei task. Questo comporta la creazione di una nuova versione dell'ordinamento dei task, inserendo le dipendenze tra i task. In questo modo, è possibile visualizzare le versioni precedenti dell'ordinamento dei task e tracciarne lo storico.

Condizioni di apertura e chiusura

Le condizioni di apertura e le condizioni di chiusura definiscono la logica che regola il ciclo di vita di un task:

  • Le condizioni di apertura stabiliscono quando un task deve diventare disponibile.
    • Esempio: il task “Contratto di Fornitura” si apre solo se nell’anagrafica della commessa è presente almeno un fornitore.
  • Le condizioni di chiusura stabiliscono quando un task può considerarsi completato.
    • Esempio: il task “Contratto di Fornitura” si chiude solo se il contratto è stato firmato.

Queste condizioni vengono scritte nel codice perché dipendono dai dati presenti nel database e variano da task a task. Renderle dinamiche e configurabili via interfaccia sarebbe troppo complesso, oltre a rischiare di compromettere la coerenza dei processi.


⚙️ Logiche sotto il cofano

Entità coinvolte