Tutorial — aggiungere un campo al dominio fin
Pattern generale identico agli altri domini: vedi
Aggiungere un campo su inv.invoices.
🎯 Casi tipici in fin
Campo su projects
Es. aggiungere un campo externalProjectId (riferimento esterno al
codice FemiWeb).
- Editare
Database/fin/Tables/projects.sql, aggiungere[externalProjectId] NVARCHAR(128) NULL+ extended property. - Conf:
_conf/projects.dxgrid.conf.json, campo in form, posizionamento nelFormOrder. - Rigenerare via MCP.
Campo sul ciclo di vita fase
Es. aggiungere escalationLevel a projectPhases.
- Campo sul ciclo di vita: se impatta le transizioni stato, aggiornare anche la logica (da documentare in una pagina Logica applicativa in spec successiva).
Nuovo stato progetto
Aggiungere valore all'enum ProjectStatus (es. IN_CORSO_ESAMI).
- Modificare
TrainingHub.Shared/Enums.cs. - Aggiornare traduzioni (localizations).
- Nessun cambio schema DB (status è stringa).
- Documentare transizione (da-quale-stato, a-quale-stato).
Nuovo tipo documento
Aggiungere voce a documentTypes (anagrafica, fuori scope).
- Solo dati: nessun cambio schema.
- Eventualmente aggiornare UI in modulo documenti.
⚠️ Considerazioni fin-specifiche
- Integrazione FemiWeb. Modifiche che impattano dati esportati richiedono aggiornamento del protocollo di export.
- Validazioni regolamentari. Alcune regole sono imposte da FondItalia (es. soglia 70% presenza). Non implementarle silenziosamente lato UI: documentare e concordare con stakeholder.
- Retro-compatibilità con progetti storici. Campi nullable per non rompere dati esistenti.