Vai alle logiche

Helpdesk · logiche business

Le regole che nascono dalle risposte.

Questa pagina tiene insieme le decisioni operative ricavate dal questionario: ruoli, routing, privacy, tempi, escalation, conservazione, base ente/AOO, ponte con il funzionigramma e tre soluzioni di emergenza SPEM.

Registro evolutivo

Da domanda a regola

Ogni blocco sotto indica quali domande hanno generato una logica. Quando arrivano nuove risposte, il registro cresce o corregge le regole gia segnate.

51 logiche6 dubbi43 oggetti dati3 SPEM3 funzioni iniziali

Funzionigramma Sprint 1

Funzioni iniziali da pubblicare e configurare

Le funzioni non sono le code: spiegano cosa fa l istituto e cosa viene chiesto. Le code sono invece i contenitori operativi che lavorano i ticket.

Carriera amministrativa studentiCarriera didattica studentiProtocollo, AOO e flussi documentali

Fonte reale · 2026-06-02

Dato reale IPA Cimarosa per ente, AOO e UO

IndicePA / Opendata IPA, dataset Amministrazioni, Aree Organizzative Omogenee e Unita Organizzative

DatoValoreUso
Codice IPACMDC_AVseed ente
Denominazione IPAConservatorio di Musica 'D. Cimarosa' di Avellinoseed ente
Codice fiscale80005510641seed ente
Categoria IPAIstituzioni per l'Alta Formazione Artistica, Musicale e Coreutica - AFAMseed ente
IndirizzoVia Circumvallazione, 156 - 83100 Avellinoseed ente
PEC principaleconsavellino@pec.itseed ente
Sitowww.conservatoriocimarosa.orgseed ente
Responsabile ente IPAGiuliana Franciosa, Presidenteseed ente
Aggiornamento fonte ente2025-10-01seed ente

AOO e UO

AOO reale, non dato di comodo

DatoValoreUso
Codice univoco AOOA009176seed AOO
Denominazione AOOPresidenteseed AOO
cod_aoo entePresidenteseed AOO
Data istituzione2014-12-22seed AOO
PEC AOO 1attiriservaticonsav@pec.itseed AOO
PEC AOO 2consavellino@pec.itseed AOO
Protocollo informaticoSseed AOO
URI protocolloprotocollo@conservatoriocimarosa.orgseed AOO
Aggiornamento fonte AOO2025-01-30seed AOO
CodiceUOContatto
KFYBVWConservatorio di musica · UO istituzionale · AOO A009176Annachiara Giusto · attiriservaticonsav@pec.it / consavellino@pec.it / protocollo@conservatoriocimarosa.org
NBECROUfficio per la transizione al Digitale · UO RTD · AOO A009176Massimiliano Michetti · consavellino@pec.it / protocollo@conservatoriocimarosa.org
UF2UQQUff_eFatturaPA · UO fatturazione elettronica · AOO non associataAnnachiara Giusto · consavellino@pec.it

Il DB locale enti contiene anche record manuali Cimarosa incompleti: non vanno usati come fonte definitiva se il dato IPA reale e disponibile. Lo Sprint 1 deve agganciare o importare questi dati IPA reali nel dominio enti prima di generare migrazioni helpdesk.

student_admin_careerSegreteria studenti

Carriera amministrativa studenti

Gestisce la posizione amministrativa dello studente e le richieste conoscitive o operative collegate alla segreteria studenti.

Visibilita: Pubblica sintetica, setup esteso riservato
  • certificati di iscrizione, frequenza e attestati
  • tasse, contributi, scadenze amministrative
  • diritto allo studio, agevolazioni, sport e convenzioni
  • stato pratica, modulistica, contatti e orari
student_didactic_careerSegreteria didattica

Carriera didattica studenti

Gestisce la carriera didattica: percorso formativo, attivita didattiche, esami e richieste che richiedono istruttoria didattica.

Visibilita: Pubblica sintetica, setup esteso riservato
  • piani di studio e percorsi formativi
  • lezioni, calendari didattici, esami
  • frequenza e presenze al singolo corso con obbligo di frequenza
  • verbalizzazioni e commissioni
  • riconoscimento crediti e trasferimenti come orientamento guidato
protocol_aoo_document_flowSetup/AOO, non coda pubblica ordinaria nel MVP

Protocollo, AOO e flussi documentali

Collega ente, AOO, UO e uffici al perimetro documentale. Serve a sapere dove passa la pratica, senza trasformare il protocollo in helpdesk pubblico iniziale.

Visibilita: Pubblica solo come organigramma/funzionigramma sintetico; setup tecnico riservato
  • ente IPA CMDC_AV: Conservatorio di Musica 'D. Cimarosa' di Avellino
  • AOO IPA A009176, cod_aoo Presidente
  • UO IPA KFYBVW, NBECRO, UF2UQQ
  • raccordo protocollo e fascicolo pratica
  • snapshot AOO nel routing del ticket

Soluzioni emergenza

SPEM-01, SPEM-02, SPEM-03

Sono tre sprint rapidi da usare quando il normale avanzamento non basta: non aprono nuove superfici pubbliche e si appoggiano al backend/staff gia sviluppato.

SPEM-01SPEM-02SPEM-03
SPEM-01Emergenza

Setup e permessi in emergenza

Setup non coerente, coda attiva senza responsabile primario, operatori non autorizzati, seed o policy base mancanti.

Copertura attuale: Implementato come comando backend: riusa HelpdeskQueueMembership, responsabili primari, run_helpdesk_setup_check, check_helpdesk_setup e admin base.Regole confermate
  • Se il gate fallisce si blocca tutto il lavoro non urgente, non solo le nuove aperture pubbliche.
  • Il report emergenza setup e visibile ad amministratori helpdesk e responsabili di coda.
  • Se una coda resta senza responsabile primario, il Direttore amministrativo e fallback temporaneo proposto.
  • SPEM-01 ha un comando/check dedicato.
Soluzione operativa
  • Eseguire check_helpdesk_setup e bloccare il lavoro non urgente se il gate non e OK.
  • Ripristinare responsabile primario e membership minime sulle code attive.
  • Usare seed idempotente solo su dati reali enti/IPA, senza creare utenti inventati.
  • Mostrare il report emergenza a responsabili e amministratori.
  • Usare check_helpdesk_emergency --spem=01 come comando dedicato.
  • Produrre report rapido con conteggi, code scoperte e rotte staff da verificare.
Logiche collegate: HD-BL-017, HD-BL-021, HD-BL-024, HD-BL-043, HD-BL-049

check_helpdesk_setup torna OK, tutte le code attive hanno responsabile primario e gli operatori staff vedono solo code autorizzate.

SPEM-02Emergenza

Arretrati, sovraccarico e recupero coda

Ticket non presi dopo 32h+1m, picco arretrati, operatori saturi o rilascio massivo al responsabile.

Copertura attuale: Implementato come comando backend: riusa S19, autoassegnazione, soglia 10, fallback responsabile, badge staff e corsia Arretrati.Regole confermate
  • L autoassegnazione parte in dry-run, poi puo diventare automatica programmata dopo conferma amministrativa.
  • Se tutti gli operatori sono sopra soglia 10, il ticket va al responsabile primario.
  • Non nasce una nuova pagina: si potenzia /helpdesk/staff/arretrati/.
  • SPEM-02 ha un comando/check dedicato.
Soluzione operativa
  • Eseguire auto_assign_helpdesk_tickets in dry-run e far leggere il piano a responsabile/admin.
  • Materializzare con --commit solo le assegnazioni coerenti.
  • Usare /helpdesk/staff/arretrati/ come pagina figlia di recupero.
  • Separare casi rilasciati al responsabile da casi autoassegnati al meno pieno.
  • Usare check_helpdesk_emergency --spem=02 come comando dedicato.
Logiche collegate: HD-BL-009, HD-BL-010, HD-BL-015, HD-BL-048, HD-BL-050

nessun ticket resta oltre soglia senza assegnazione o piano manuale motivato nel relativo audit.

SPEM-03Emergenza

Privacy, consultazione pubblica e dati riservati

Ticket con dati sensibili, consultazione pubblica da disattivare, rischio leak, nota interna da rendere pubblica solo dopo depurazione.

Copertura attuale: Implementato come comando backend: riusa S2, S17, TicketPublicView service-side, public_lookup_enabled, sensitivity_level, audit e controlli anti-leak.Regole confermate
  • Tutti gli operatori autorizzati possono segnalare/classificare, poi il ticket diventa visibile solo ai gradi piu alti.
  • Se il ticket diventa segreto, la consultazione pubblica email+codice si disattiva sempre in automatico.
  • La depurazione di una nota interna richiede doppia conferma autore piu responsabile.
  • Sono ammesse depurazioni generiche preautorizzate da lista.
  • SPEM-03 ha un comando/check dedicato.
Soluzione operativa
  • Disabilitare public_lookup_enabled o classificare il ticket come riservato/segreto.
  • Verificare markup pubblico con test anti-leak prima di qualunque riapertura pubblica.
  • Consentire pubblicazione di note interne solo tramite depurazione autorizzata e audit.
  • Gestire lista di depurazioni generiche preautorizzate per casi semplici.
  • Usare check_helpdesk_emergency --spem=03 come comando dedicato.
  • Tenere allegati reali fuori dal perimetro finche SPEM non ha storage/antivirus/retention approvati.
Logiche collegate: HD-BL-004, HD-BL-005, HD-BL-013, HD-BL-019, HD-BL-041, HD-BL-051

la pagina pubblica non espone dati interni o riservati, il ticket ha classificazione corretta e ogni oscuramento e auditato.

HD-BL-001Chiusa

Core unico e mono-modulo

Il modulo Django si chiama helpdesk, vive in backend/src/helpdesk, parte dal Conservatorio Cimarosa e usa codice ticket HD-YYYY-NNNNNN.

Fonte: Q001-Q006
  • un solo core generico
  • setup ente obbligatorio
  • codice ticket non dipendente dalla coda
HD-BL-002Chiusa

Due code MVP

Il primo perimetro operativo usa Segreteria studenti e Segreteria didattica, con categoria che instrada alla coda e fallback da assegnare.

Fonte: Q004, Q012, Q021-Q027
  • queue obbligatoria sul ticket
  • presa in carico personale successiva
  • routing correggibile
HD-BL-003Chiusa

Richiedenti plurali

Il richiedente puo essere studente, cittadino/pubblico, stakeholder, fornitore, personale interno o operatore per conto terzi.

Fonte: Q005, Q021, Q022, Q024-Q026
  • tipo richiedente obbligatorio
  • matricola facoltativa
  • operatore e richiedente tracciati separatamente
HD-BL-004Chiusa parziale

Conversazione separata dal lavoro interno

Messaggi pubblici, note interne, eventi audit e allegati pubblici/interni restano livelli distinti del ticket.

Fonte: Q014, Q018-Q020, Q081-Q090
  • primo messaggio pubblico dalla descrizione
  • note interne non esposte
  • audit eventi non modificabile
HD-BL-005Chiusa parziale

Privacy a doppio click

Apertura bloccata senza presa visione informativa e consenso; testo privacy e ricevuta sono snapshot versionati sul ticket.

Fonte: Q009, Q010, Q021, Q029, Q030, Q061-Q065
  • due conferme obbligatorie
  • versione privacy salvata
  • ricevuta salvata anche senza email reale
HD-BL-006Chiusa parziale

Allegati preparati ma non pubblici nel MVP

Il modello allegati entra subito, ma upload pubblico resta rinviato finche sicurezza e neutralizzazione rischi non sono definite.

Fonte: Q011, Q016-Q018, Q081-Q090, Q199
  • 5 file per ticket
  • 10 MB per file
  • visibilita pubblica/interna
  • blocco formati pericolosi
HD-BL-007Chiusa parziale

Ruoli a catena

Operatore, responsabile coda, amministratore helpdesk e superuser hanno poteri crescenti; gli stati pubblici usano una regola mista tra automatismi e comando autorizzato.

Fonte: Q031-Q040, Q051-Q055
  • operatore incaricato avanza ticket ordinari
  • responsabile presidia eccezioni
  • admin oscura su proposta
  • stati interni non sempre visibili
HD-BL-008Chiusa

Riassegnazione governata per linea

Categoria e coda si possono correggere, ma la riassegnazione segue linea di competenza, privacy e ruolo autorizzato.

Fonte: Q034-Q036, Q041-Q043
  • stessa linea: responsabile
  • linee diverse: amministratore
  • privacy: decisione responsabile/admin
HD-BL-009Riallineata a S19, policy ricche in S20

Urgenza guidata, priorita fuori MVP

La priorita interna resta fuori MVP, ma presa in carico e prima risposta non sono piu teoriche: il setup gestisce 32 ore, 48 ore, urgenza 24 ore e limite operatore; S19 applica la presa in carico mancata a 32h+1m.

Fonte: Q044-Q047, Q056-Q060, Q206-Q213
  • presa in carico 32h+1m
  • prima risposta 48 ore
  • urgenza valutata entro 24 ore
  • sospensioni e calendari avanzati restano S20
HD-BL-010Riallineata a S19 / SPEM-02

Escalation arretrati

La prima emergenza arretrati e ora governata: se nessuno prende in carico dopo 32h+1m il sistema assegna al meno pieno, usa soglia 10 e ricade sul responsabile primario se operatori assenti o saturi. Escalation amministratore/super amministratore resta step successivo.

Fonte: Q048-Q049, Q056-Q060, Q191-Q198
  • autoassegnazione S19
  • badge arretrato staff
  • fallback responsabile
  • SPEM-02 per picco arretrati e recupero operativo
HD-BL-011Chiusa

Riapertura senza reset

La riapertura non cancella ne' azzera la storia: conserva tutto e aggiunge eventi, tempi e stati separati.

Fonte: Q020, Q050, Q118, Q120
  • storico completo
  • KPI riapertura dedicati
  • prima chiusura e riaperture misurate separatamente
HD-BL-012Chiusa parziale

Accesso progressivo

Il MVP usa email piu codice ticket, ma la consultazione pubblica resta temporanea: massimo 30 giorni o fino al collegamento in area personale.

Fonte: Q025, Q061, Q101-Q110, Q200
  • consultazione pubblica temporanea
  • nessun account obbligatorio iniziale
  • messaggio dopo 30 giorni
  • migrazione futura da preparare
HD-BL-013Presidiata, emergenza privacy in SPEM-03

Conservazione con esclusione auditata

Il ticket conserva la storia con audit; S17 ha reso coerenti chiusura, riapertura e archiviazione collaudi. La minimizzazione/depurazione di contenuti sensibili resta governata come emergenza SPEM-03 prima della pubblicazione di note o allegati reali.

Fonte: Q050, Q062-Q065, Q216-Q220
  • conservazione completa
  • archiviazione sicura collaudi
  • classificazione riservatezza
  • SPEM-03 per leak o dati sensibili
HD-BL-014Da precisare

Ricevuta minimizzata e correggibile

La ricevuta deve salvare dati minimi, riepilogo breve e istruzioni per correzione o integrazione, soprattutto quando l operatore apre per conto di qualcuno.

Fonte: Q066-Q070, Q222-Q223
  • riepilogo massimo 10 parole
  • area/servizio invece di coda interna
  • form correzione o integrazione
  • snapshot notifiche rilevanti
HD-BL-015Implementata S18, estesa da S19

Dashboard agile a tre corsie

La dashboard staff e diventata codice: S18 ha introdotto madre e pagine figlie Da prendere, In scadenza, Arretrati e Miei ticket; S19 aggiunge badge Autoassegnato, Rilasciato e Arretrato.

Fonte: Q071-Q075, Q224-Q225
  • Da prendere
  • In scadenza
  • Arretrati
  • Miei ticket
  • badge S19
  • vista responsabile/admin senza board enorme
HD-BL-016Bozza S0

Schema simulato prima della migrazione

Prima dello sviluppo reale lo schema viene espresso come SQL simulato su pagina pubblica di lavoro, cosi tabelle e vincoli sono discutibili senza toccare il database.

Fonte: S0, Q001-Q075, Q201-Q225
  • nessuna migrazione generata
  • DDL PostgreSQL leggibile
  • relazioni verificabili
  • base per modelli Django futuri
HD-BL-017Base operativa, da estendere in S20/SPEM-01

Policy configurabili, non valori hardcoded

La base non e piu solo bozza: esistono setup istituzione, SLA policy, category entry rule e membership. Restano da rendere piu ricche le policy stati/categorie/permessi, con SPEM-01 come paracadute se il setup risulta incoerente.

Fonte: Q037, Q041, Q055, Q060, Q074, Q205, Q225
  • InstitutionSetup reale
  • SlaPolicy reale
  • CategoryEntryRule reale
  • mapping stato interno/pubblico da estendere
  • S20 per setup ricco
HD-BL-018Bozza S0

Ticket come fascicolo conversazionale

Il ticket madre non e solo una richiesta: conserva messaggi, note, allegati, assegnazioni, ricevute, consensi e audit come fascicolo minimo.

Fonte: Q014, Q019, Q050, Q062, Q065
  • ticket centrale
  • tabelle figlie append-only dove possibile
  • eventi audit sempre separati
  • riapertura come evento
HD-BL-019Bozza S0

Privacy e riservatezza come livelli dati

La riservatezza non e un testo libero: serve livello classificato sul ticket e sugli allegati, includendo anche il livello segreto, con regole di visibilita, minimizzazione e log accesso.

Fonte: Q009, Q010, Q063-Q065, Q214-Q220, Q217
  • sensitivity_level sul ticket
  • livello segreto previsto
  • visibility_scope sugli allegati
  • access log minimizzato
  • oscuramento auditato
HD-BL-020Bozza S0

Segreteria studenti e didattica distinte nel routing

La coda helpdesk deve distinguere carriera amministrativa e carriera didattica, restando collegabile a organigramma e funzionigramma senza far scegliere uffici tecnici al pubblico.

Fonte: Q004, Q012, Q041-Q043, Q161-Q170
  • queue collegata a ufficio/funzione
  • categoria come ingresso pubblico
  • area/servizio in ricevuta
  • storico anche se organigramma cambia
HD-BL-021Chiusa per Sprint 1

Base ente, AOO e organigramma shared

Il MVP parte dal Conservatorio Cimarosa come ente unico, ma il modello resta multi-ente. Il dato reale IPA verificato usa codice ente CMDC_AV, AOO A009176 e UO KFYBVW, NBECRO, UF2UQQ: la pagina non deve usare dati fittizi o denominazioni di comodo.

Fonte: Q161-Q170, chiarimenti ente/AOO 2026-06-02
  • FK verso enti.PublicEntity
  • AOO A009176 come profilo dedicato
  • UO IPA reali nel seed
  • validita storica obbligatoria
  • dipartimenti didattici fuori MVP
HD-BL-022Chiusa per Sprint 1

Funzionigramma sintetico ed esteso

Il pubblico vede solo un funzionigramma sintetico. Il backend/setup conserva il funzionigramma esteso con funzioni, responsabilita, relazioni ufficio-funzione e validita temporale; le funzioni iniziali sono carriera amministrativa studenti, carriera didattica studenti e protocollo/AOO come funzione di raccordo documentale.

Fonte: Q161-Q170, punto 7
  • vista pubblica minimale
  • setup esteso riservato
  • funzioni iniziali seedate
  • funzioni storicizzate
  • ruoli responsabile/istruttore/supporto/approvatore
HD-BL-023Chiusa per Sprint 1

Coda collegata a ufficio e funzione

La coda non coincide con l ufficio: e il contenitore operativo dei ticket. Ogni coda punta a un ufficio responsabile e a una funzione prevalente; ogni categoria puo puntare a una funzione per spiegare perche la richiesta viene instradata li.

Fonte: Q009 chiarimento finale, Q041-Q043, Q161-Q170
  • ufficio = responsabilita operativa
  • funzione = cosa viene chiesto
  • coda = lavoro ticket
  • snapshot routing sul ticket
HD-BL-024Chiusa per Sprint 1

Seed mono-ente pronto per multi-ente

Il seed parte dal solo Conservatorio Cimarosa, ma non deve nascere come scorciatoia mono-ente: ogni record deve puntare all ente e restare idempotente, rilanciabile e non distruttivo verso modifiche admin.

Fonte: Q226-Q230, Q235
  • CMDC_AV come ente iniziale
  • A009176 usabile e aggiornabile da IPA
  • due code pubbliche iniziali
  • privacy ordinaria di default
  • seed update-or-create non distruttivo
HD-BL-025Chiusa per Sprint 1

Certificazioni studenti distinte da frequenza didattica

Certificati di iscrizione, certificati di frequenza e atti certificativi sono carriera amministrativa e vanno in Segreteria studenti. Le presenze o la frequenza al singolo corso con obbligo di frequenza restano carriera didattica e vanno in Segreteria didattica.

Fonte: Q231-Q232, verifica web 2026-06-02
  • categoria certificati -> Segreteria studenti
  • categoria presenze corso -> Segreteria didattica
  • template pubblici separati
  • niente confusione tra certificato e registro frequenza
HD-BL-026Nuovo set S4

Categorie MVP con ingresso informativo

Le categorie MVP non devono aprire sempre un ticket: alcune mostrano prima informazione, modulistica o contatti; il ticket nasce solo quando resta un caso personale, una pratica o un dubbio non risolto.

Fonte: Q012-Q013, Q233, Q236-Q243
  • category_entry_rule
  • informazione prima del ticket
  • campi progressivi per pratica e corso
  • riduzione richieste inutili
HD-BL-027Da chiudere con S4

Casi delicati lavorabili senza dati riservati

Crediti, trasferimenti, piani complessi, ricorsi, disciplinari, contenzioso e richieste economiche particolari possono essere orientati o pre-lavorati, ma nel primo setup non devono raccogliere dati riservati.

Fonte: Q013, Q151-Q160, Q234, Q244-Q247
  • orientamento o pre-triage controllato
  • warning dati sensibili
  • conversione a ticket solo autorizzata
  • metriche minimizzate
HD-BL-028Chiusa parziale

Privacy standard, mailbox e bozza risposta

Il DPO predisporra il testo definitivo quando serve; per ora si usa informativa standard. Il sistema prevede avviso dati sensibili, mailbox per servizio piu mailbox generale errori e bozza risposta prima dell invio ufficiale.

Fonte: Q076-Q080, Q248-Q249
  • privacy interim standard
  • sensitive warning prima invio
  • service mailbox configurabile
  • reply draft prima del messaggio ufficiale
HD-BL-029Chiusa per Sprint 1

Sprint 1 operativo minimo

Sprint 1 include core minimo e setup essenziale, non esteso: migrazioni, seed idempotente, admin per code/categorie/regole/testi/SLA, form pubblico senza allegati/email/login, lista operatore semplice e azioni minime.

Fonte: Q251-Q265
  • InstitutionSetup e policy minime
  • seed dry-run prima di --commit
  • nessun utente reale inventato
  • consultazione email+codice rinviata
  • DoD: migrazioni, seed, admin, form, test, smoke route, report e commit pulito
HD-BL-030Implementata S2 minimo

Sprint 2 preparato come consultazione pubblica stretta

Sprint 2 e stato portato nel codice come consultazione pubblica stretta: pagina /helpdesk/consultazione/ con email, codice e cognome; vista solo pubblica del ticket; ricevuta HTML; errori generici; log minimizzato e blocchi progressivi.

Fonte: Q266-Q305
  • rotta pubblica /helpdesk/consultazione/
  • solo parte pubblica del ticket
  • terzo controllo cognome
  • codice normalizzato
  • email case-insensitive
  • ticket riservati/segretati esclusi dalla consultazione pubblica
HD-BL-031Predisposizione S2 / attivazione successiva

Integrazione e riapertura predisposte ma non invasive

L integrazione pubblica del richiedente e la richiesta di riapertura sono funzioni certe ma da attivare con calma: prima consultazione read-only, poi integrazione con warning, privacy extra per dati sensibili ed evento interno di attenzione.

Fonte: Q267-Q268, Q272-Q273, Q280, Q296, Q304
  • integrazione pubblica rinviabile allo step successivo
  • riapertura non automatica
  • prima riapertura operatore con notifica responsabile
  • flag dati sensibili con conferme aggiuntive
  • evento interno per coda quando arriva integrazione
HD-BL-032Chiusa per S2 minimo

Sicurezza accesso pubblico minimizzata

La consultazione pubblica usa controllo email+codice+cognome, 5 tentativi, blocchi 10/30 minuti e poi sblocco umano; accessi e tentativi sono loggati con hash e dati tecnici ridotti per 30 giorni.

Fonte: Q269-Q270, Q284-Q285, Q297-Q300, Q302-Q303
  • messaggio errore sempre generico
  • IP minimizzato
  • user agent ridotto
  • hash email/codice/cognome
  • retention log 30 giorni
  • anti-spam minimo solo sperimentale
HD-BL-033Chiusa per S2 minimo

FAQ before ticket per categorie informative

Le categorie information_first devono mostrare prima una pagina informativa o FAQ con orari, calendario accademico, ricevimento uffici, contatti, tasse, scadenze, modulistica e regolamenti; se non basta, si apre ticket sulla categoria.

Fonte: Q281-Q283
  • pagina informativa prima del ticket
  • CTA apri ticket su questa categoria
  • riduzione ticket inutili
  • testi minimi configurabili
HD-BL-034Chiusa per S2 minimo, integrata da S18

Dashboard leggera con ingressi filtrati

La scrivania operatore resta semplice: lista principale piu ingressi filtrati. La base S2 aveva tre pulsanti/figlie Da prendere, In scadenza e Arretrati; S18 integra la quarta corsia Miei ticket senza trasformarla in board completa.

Fonte: Q286-Q287
  • lista principale semplice
  • ingressi filtrati come pagine figlie
  • quarta corsia Miei ticket in S18
  • responsabile vede propri ticket e collaboratori
  • amministratore vede tutte le code
HD-BL-035Superata dal codice S2/S18

Preparazione Sprint 2 senza avvio sviluppo

Le rifiniture S7 hanno chiuso mockup e vincoli minimi; poi S2 ha attivato la consultazione pubblica e S18 ha aperto la scrivania staff. Questa logica resta come memoria di perimetro: niente pubblico nuovo finche backend/staff non e stabile.

Fonte: Q306-Q320
  • nessuna migrazione generata da S7
  • rotta Django S2 attivata dopo il via esplicito
  • mockup e logiche pronti per il kickoff
  • perimetro S2 ristretto e verificabile
HD-BL-036Implementata S2 minimo

Mockup pubblico S2 essenziale

La UX pubblica minima e presente su /helpdesk/consultazione/ e mantiene il vincolo forte: mostrare solo parte pubblica, ricevuta e messaggi pubblici, senza note interne, audit o stati interni.

Fonte: Q306-Q312
  • form consultazione compatto email/codice/cognome
  • link e box secondario dalla pagina nuovo ticket
  • ricevuta HTML con stampa browser pulita
  • badge e colori per distinguere interlocutorio e risposta ufficiale
HD-BL-037Implementata S2 minimo

Accessi pubblici separati dai tentativi errati

Ogni accesso riuscito viene registrato in PublicAccessLog, mentre i tentativi errati o bloccati stanno in PublicAccessAttempt. Il rate-limit usa email, codice, cognome normalizzati e IP minimizzato.

Fonte: Q313-Q315
  • log riusciti e tentativi separati
  • conteggio ogni accesso
  • chiave blocco normalizzata
  • privacy by design su IP e identificativi
HD-BL-038Predisposta per step successivo

Eventi pubblici come badge operatore

Quando integrazioni, dati sensibili o richieste di riapertura entreranno nel flusso, dovranno creare eventi interni visibili in lista con badge e contatori, senza trasformare subito la dashboard in board complessa.

Fonte: Q316-Q319
  • flag dati sensibili anche nei messaggi
  • richiesta riapertura come evento da valutare
  • badge Nuova integrazione e Richiesta riapertura
  • pulsanti Da prendere/In scadenza/Arretrati con contatore eventi
HD-BL-039Applicata su S2 e mantenuta per S15-S19

Gate minimo Sprint 2

Il gate leggero e diventato pratica: test Django mirati, smoke route manuale, report, commit e push. Da S18-S19 il visual gate Playwright entra quando si toccano dashboard o template staff.

Fonte: Q288, Q320
  • test Django bloccanti
  • smoke route manuale obbligatorio
  • report finale obbligatorio
  • Playwright rinviato, non cancellato
HD-BL-040Usata per esecuzione S2

Ready Sprint 2 esecuzione

Le 10 conferme finali hanno trasformato S2 da proposta a codice: consultazione pubblica read-only, rotta stabile, campi obbligatori, visibilita pubblica minima, esclusioni privacy, modelli minimi, test bloccanti e DoD.

Fonte: Q321-Q330
  • S2 eseguibile solo come read-only
  • nessun codice ticket nell URL pubblico
  • TicketPublicView come read model/service
  • test bloccanti definiti prima della migrazione
  • avvio codice subordinato a via esplicito
HD-BL-041Chiusa per esecuzione S2

Sicurezza service-side Sprint 2

S9 blinda la vista pubblica: errore generico, log senza dati in chiaro, TicketPublicView centralizzato, stati pubblici mappati, esclusione dati interni a livello service, disattivazione manuale e test anti-leak HTML.

Fonte: Q331-Q340
  • errore pubblico sempre generico
  • log pubblici senza email/codice/cognome in chiaro
  • service unico TicketPublicView
  • esclusione dati interni a livello service
  • test negativo su HTML pubblico
HD-BL-042Sprint 15 operativo

Assegnazioni come storico correlato

Il ticket resta fascicolo aggregatore; la presa in carico nominale, i cambi, le motivazioni e la validita temporale stanno in HelpdeskTicketAssignment. Esiste una sola assegnazione attiva per ticket, mentre le precedenti restano storicizzate.

Fonte: Q401-Q402, S15
  • ticket non trasformato in mega-tabella
  • una sola assegnazione attiva
  • precedenti assegnazioni chiuse con motivazione
  • scheda staff con storia recente
  • audit su cambio assegnazione
HD-BL-043Sprint 15 operativo, setup runtime risolto

Responsabile primario e fallback operativo

Ogni coda attiva deve avere un responsabile primario reale. Il sistema non crea operatori inventati; se nessuno prende in carico dopo la soglia configurata, autoassegna al meno carico della coda o al responsabile primario quando mancano operatori disponibili o sono saturi. Nel runtime il blocco e risolto: luigi.dalessandro presidia Segreteria studenti e francesca.manganiello presidia Segreteria didattica.

Fonte: Q403-Q408, S15
  • responsabile primario obbligatorio per coda attiva
  • blocco responsabili primari mancanti risolto nel runtime
  • seed senza utenti fittizi
  • soglia presa in carico dal setup
  • limite carico operatore configurabile
  • check_helpdesk_setup OK=True dopo configurazione responsabili
HD-BL-044Sprint 15 operativo

Permessi staff su ticket assegnato

Le azioni staff seguono assegnazione e ruolo: operatore assegnato lavora il ticket, responsabile e amministratore supervisionano, il rilascio al responsabile richiede motivazione e le note interne restano filtrate per ruolo.

Fonte: Q408-Q410, S15
  • azione pubblica solo per assegnato o supervisore
  • rilascio motivato al responsabile primario
  • intervento responsabile auditato
  • note interne filtrate per ruolo
  • DoD S15 con test, smoke, report, commit e push
HD-BL-045Collaudo runtime eseguito

Collaudo interno reale S16

S16 verifica il flusso reale interno su ticket HD-2026-000001: apertura controllata senza dati personali reali, presa in carico da operatore tecnico, nota interna riservata, rilascio motivato al responsabile primario e audit ricostruibile.

Fonte: Q411-Q420, S16
  • ticket di test interno marcato collaudo
  • presa in carico con assegnazione self_take_charge
  • nota interna non pubblica
  • rilascio release_to_responsible verso luigi.dalessandro
  • storia assegnazioni e audit eventi verificabili
HD-BL-046Sprint 17 operativo

Ciclo chiusura, riapertura e collaudi S17

S17 completa il ciclo backend/staff senza aprire nuova UI pubblica: la chiusura ordinaria chiude anche l assegnazione attiva, la prima riapertura staff crea una nuova assegnazione presidiata e i ticket di collaudo sono archiviabili solo con doppio criterio sicuro e comando dry-run-first.

Fonte: Q421-Q430, S17
  • chiusura ticket e chiusura incarico non restano divergenti
  • audit assignment_closed distinto dalla chiusura del ticket
  • prima riapertura staff limitata da reopened_count
  • riapertura con nuova assegnazione attiva all operatore che riapre
  • archiviazione collaudi solo se subject [COLLAUDO...] ed email @example.invalid
  • comando archive_helpdesk_test_tickets dry-run di default e scrittura solo con --commit
  • admin action prudente che salta ticket non sicuri
  • nessuna nuova migrazione S17
HD-BL-047Implementata backend/staff

Dashboard staff minima S18

S18 e ora codice Django: la dashboard staff usa un read model derivato, quattro ingressi filtrati, pagine figlie, ricerca rapida, filtri coda/stato e badge per assegnazioni, collaboratori ed eventi. Non introduce nuova migrazione e non apre nuova UI pubblica MM Prova.

Fonte: Q431-Q445, S18
  • default su code autorizzate per operatore
  • vista tutte le code per superuser o ruolo amministratore helpdesk
  • corsie Da prendere, In scadenza, Arretrati e Miei ticket
  • pagine figlie /helpdesk/staff/<corsia>/
  • responsabile vede collaboratori con badge distinto
  • amministratore helpdesk vede e lavora tutte le code
  • massimo 5 ticket per corsia nella madre
  • colonne compatte: codice, oggetto, coda, stato interno, assegnazione, eta, eventi
  • ordinamento per urgenza operativa e anzianita
  • ricerca rapida con codice normalizzato, email, cognome e oggetto
  • filtri coda e stato interno nelle pagine figlie
  • test S18 su operatore, responsabile, amministratore e filtri
  • nessuna nuova UI pubblica MM Prova/helpdesk
HD-BL-048Implementata backend/staff

Escalation e arretrati staff S19

S19 rafforza il motore operativo interno: presa in carico mancata a 32 ore piu 1 minuto, autoassegnazione al meno pieno nella stessa coda, soglia configurabile di 10 ticket attivi, fallback al responsabile, rilascio motivato e badge staff Autoassegnato/Rilasciato/Arretrato.

Fonte: Q446-Q453, S19
  • nessuna nuova UI pubblica
  • nessuna tabella duplicata per lo storico assegnazioni
  • helpdesk_ticket_assignment resta la storia dell iter operativo
  • autoassegnazione solo dopo soglia esatta 32h+1m
  • meno pieno calcolato sui ticket attivi assegnati nella stessa coda
  • soglia troppo pieno configurabile nel setup istituzione, default 10
  • fallback al responsabile primario se operatori assenti o saturi
  • stato interno assegnata quando il sistema crea incarico nominale
  • rilascio al responsabile solo con motivazione obbligatoria
  • dashboard staff arricchita con badge piccoli e non invasivi
HD-BL-049Implementata backend/staff

SPEM-01 - Setup e permessi in emergenza

SPEM-01 serve quando il sistema non puo lavorare per setup incoerente: coda senza responsabile primario, membership mancanti, policy base assenti, seed non riallineato o permessi staff non coerenti. Se il gate fallisce si blocca tutto il non urgente e si riparte dai controlli gia sviluppati, non dal pubblico.

Fonte: Analisi cumulativa HD-BL-001..048, S15-S19
  • check_helpdesk_setup come gate di emergenza
  • blocco di tutte le nuove operazioni non urgenti
  • report visibile ad amministratori helpdesk e responsabili di coda
  • verifica responsabili primari per ogni coda attiva
  • fallback temporaneo al Direttore amministrativo se manca il responsabile primario
  • ripristino membership e permessi minimi da admin
  • seed helpdesk idempotente solo se agganciato a dati reali enti/IPA
  • comando operativo check_helpdesk_emergency --spem=01
  • report rapido con rotte staff e conteggi setup
HD-BL-050Implementata backend/staff

SPEM-02 - Arretrati, sovraccarico e recupero coda

SPEM-02 governa il picco arretrati: usa la base S19 per autoassegnare dopo 32h+1m, distribuire al meno pieno, fermarsi alla soglia 10 e rientrare al responsabile primario se tutti sono saturi. La corsia staff Arretrati va potenziata, senza creare una pagina concorrente.

Fonte: HD-BL-009, HD-BL-010, HD-BL-015, HD-BL-048
  • dry-run auto_assign_helpdesk_tickets prima di scrivere
  • automatismo programmabile solo dopo conferma amministrativa
  • ticket al responsabile primario se tutti gli operatori superano soglia 10
  • potenziamento della corsia Arretrati esistente
  • badge Autoassegnato/Rilasciato/Arretrato come segnale minimo
  • nessuna email reale o automazione aggressiva in emergenza iniziale
  • comando operativo check_helpdesk_emergency --spem=02
  • chiusura emergenza solo con zero ticket oltre soglia o piano manuale motivato
HD-BL-051Implementata backend/staff

SPEM-03 - Privacy, consultazione pubblica e dati riservati

SPEM-03 entra quando un ticket contiene dati riservati, rischio di esposizione pubblica, consultazione da bloccare o contenuto da depurare. Tutti possono segnalare la classificazione, ma dopo la marcatura la visibilita sale ai gradi piu alti; il livello segreto disattiva sempre la consultazione pubblica.

Fonte: HD-BL-004, HD-BL-005, HD-BL-013, HD-BL-019, HD-BL-030, HD-BL-041
  • disattivazione consultazione pubblica per ticket sensibile
  • disattivazione automatica public_lookup_enabled per ticket segreto
  • classificazione iniziale possibile a tutti gli operatori autorizzati
  • visibilita successiva limitata a responsabili/admin/gradi piu alti
  • classificazione riservato/ristretto/segreto da backend autorizzato
  • verifica HTML pubblico anti-leak
  • depurazione nota con doppia conferma autore piu responsabile
  • depurazione generica consentita solo da lista preautorizzata
  • comando operativo check_helpdesk_emergency --spem=03
  • audit di ogni oscuramento o cambio visibilita
  • allegati reali ancora fuori finche storage e sicurezza non sono pronti

Modello implicato

Oggetti che il core dovra prevedere

Non e ancora schema Django definitivo: e il primo inventario logico di cio che le risposte stanno imponendo al sistema.

Ticket madreTicketCodeRequesterProfileInstitutionSetupQueueQueueMembershipQueueRelationCategoryCategoryWorkflowPolicySlaPolicyTicketAssignmentPublicMessageInternalNoteAttachmentReceiptSnapshotPrivacyConsentSnapshotAuditEventEscalationEventPublicAccessLogPublicAccessAttemptTicketPublicViewPublicLookupPolicyPublicTicketIntegrationTicketReopenRequestSensitivityClassificationVisibilityPolicyNotificationSnapshotDashboardLaneStaffDashboardViewCategoryEntryRuleSensitiveContentMarkerServiceMailboxReplyDraftPublicEntityLinkAOOProfileOrganizationalUnitRelationFunctionCatalogUnitFunctionAssignmentQueueOfficeFunctionBridgeTicketRoutingSnapshotEmergencySolutionSprintEmergencyRunbookEmergencyGateResult

Da chiarire

Decisioni aperte

Q236-Q243

Percorsi informativi prima del ticket

Serve decidere per certificati, tasse, scadenze, pratiche, modulistica, orari e contatti quando basta informazione e quando nasce un ticket ordinario.

Q244-Q247

Delicati senza dati riservati

Serve scegliere tra orientamento puro e pre-triage controllato, piu chi puo convertire un caso delicato in ticket lavorabile.

Q248-Q249

Mailbox e bozza risposta

Serve decidere cosa mostrare in ricevuta quando esistono piu mailbox e quando la bozza risposta diventa obbligatoria.

Q250

Sequenza ticket nel multi-ente

Serve decidere se il codice HD-YYYY-NNNNNN resta globale o diventa progressivo per ente quando il cantiere multi-ente si apre davvero.

ENTE-AOO-S1

Import/aggancio dati IPA reali

Dati verificati: ente CMDC_AV, AOO A009176, UO KFYBVW/NBECRO/UF2UQQ. Resta aperta solo l'implementazione del bridge che importa o aggancia questi dati reali nel dominio enti/helpdesk.

SQL-S0

DDL simulato prima dei model Django

La pagina SQL introduce una prima ipotesi PostgreSQL integrata tra enti e helpdesk. Ogni tabella resta bozza finche lo Sprint 1 non genera i model Django.

Traccia decisioni

Mappa sintetica

DomandeTemaLogica
Q031-Q032Operatore e responsabile codapermessi operativi distinti
Q033Amministratore helpdeskruolo separato dal solo superuser
Q034Code collegatevisibilita condizionata da privacy e riservatezza
Q035-Q036Cambio categoria/codaresponsabile, Direttore amministrativo, admin o superuser secondo competenza
Q041-Q043Routing guidatocategoria obbligatoria, template preformati, ufficio non scelto liberamente
Q044-Q047Priorita e tempipriorita fuori MVP, urgenza guidata, SLA da quantificare
Q048-Q049Arretrati e integrazioniescalation e sollecito automatico prima del contatto umano
Q050Conservazioneriapertura senza reset e storia completa
Q051-Q075Set S1 prima dello sviluppo25 decisioni elaborate e precaricate
Q201-Q225Set S2 chiarimenti25 chiarimenti immediati aggiunti senza rinumerare Q076-Q200
Q226-Q235Set S3 seed Segreteriamono-ente pronto multi-ente, AOO reale, due code, certificazioni in Segreteria studenti
Q076-Q080Approfondimenti non bloccantiprivacy standard, warning dati sensibili, allegati pubblici limitati, mailbox servizio, bozza risposta
Q236-Q250Set S4 categoriepercorsi ragionati per informazione, ticket, orientamento e pre-triage controllato
Q251-Q265Set S5 Sprint 1DoD operativa: migrazioni, seed, admin, form, test, smoke route, report e commit pulito
Q266-Q305Set S6 Sprint 2consultazione pubblica stretta, accesso email+codice+cognome, log minimizzato, ricevuta HTML e route /helpdesk/consultazione/
Q306-Q320Set S7 rifinituremockup, sicurezza e gate minimi chiusi come preparazione S2, senza avvio codice
Q321-Q330Set S8 Ready S2Definition of Ready chiusa: scope read-only, rotta, campi, visibilita, modelli, test e DoD
Q331-Q340Set S9 sicurezza S2errori generici, log hashati, service unico TicketPublicView e test anti-leak HTML
Q401-Q410Set S15 assegnazioni staffticket aggregatore, storico assegnazioni, responsabili primari e permessi backend/staff
Q411-Q420Set S16 collaudo internoticket HD-2026-000001 con presa in carico, nota interna e rilascio al responsabile primario
Q421-Q430Set S17 ciclo backend staffchiusura assegnazione, riapertura staff e archiviazione sicura collaudi senza nuova migrazione
Q431-Q445Set S18 dashboard staff minimaimplementate rotte /helpdesk/staff/, quattro corsie, pagine figlie, permessi, ricerca rapida e test
Q446-Q453Set S19 escalation e arretrati staff32h+1m, meno pieno, soglia 10, fallback responsabile, rilascio motivato e badge staff
SPEM-01Emergenza setup e permessiblocco non urgente, report admin+responsabili, fallback Direttore amministrativo e check dedicato
SPEM-02Emergenza arretrati e saturazionedry-run poi programmabile, corsia arretrati potenziata, soglia 10 e fallback responsabile primario
SPEM-03Emergenza privacy e dati riservatisegreto disattiva pubblico, visibilita gradi alti, doppia conferma o depurazione da lista
ENTE-AOO-01Base ente e AOOente CMDC_AV, AOO A009176 e UO IPA reali come fonte del seed
FUNZ-01Funzionigrammaversione pubblica sintetica e setup esteso riservato
FUNZ-INIT-01Funzioni inizialicarriera amministrativa, carriera didattica e protocollo/AOO come raccordo documentale
QUEUE-BRIDGE-01Code helpdeskcoda collegata sia a ufficio sia a funzione
SQL-S0Schema simulatoprime tabelle PostgreSQL proposte senza migrazione reale