Guide per sviluppatori
Costruire l'applicazione
- Completa (Windows): Visual Studio 2022 /
msbuild+ Oracle Client (ODP.NET unmanagedOracle.DataAccess). Solution:InfocadServer/InfocadServer.sln,InfocadWeb/WebMachine/WebMachine.sln(+Customizations.sln,InfocadIntegration.sln,ECM.sln,IEM.sln). Restore NuGet (packages.config). - Slice net8 (cross-platform):
dotnet buildsui progetti*XNET(20 in Server, 3 in Web).dotnet10 presente su questo host. - Nessun test automatico — vedi Qualità e test.
Costruire il portale di documentazione
docs-site/scripts/build.sh # genera reference DB/CRUD/ERD/per-tabella, scaffold, docfx build -> _site
docs-site/scripts/serve.sh # build + server locale (http://localhost:8080)
docs-site/scripts/validate.sh # warning docfx + check link locali
Reference API .NET (opzionale, Windows): docs-site/scripts/gen-api-metadata.sh (docfx metadata sui .sln).
Generatori (tutti invocati da build.sh, offline)
| Script | Cosa produce |
|---|---|
gen-db-reference.py |
overview + indice tabelle/procedure per schema (da database-catalog.json) |
gen-crud-matrix.py |
crud-matrix.csv + pagina CRUD (da stored-procedure-dependencies.csv) |
gen-db-tables.py |
pagine per-tabella + reverse-link (da db-detail.json) |
gen-db-erd.py |
ERD per-schema (FK dichiarate) |
gen-scaffold.py |
stub sezioni + toc.yml ricorsivi |
Estrazione DB (fuori build, read-only, richiede .env): gen-db-detail.py.
Integrazione output workflow: persist-flow-evidence.py <journal.jsonl> (persiste _evidence, fonde business-rule-index.json, corregge i link).
Contribuire alla documentazione
Guida completa (percorso issue e percorso Pull Request): Contribuire e correggere la documentazione. Ogni pagina del portale ha in fondo i pulsanti Modifica su GitHub / Segnala un errore.
In sintesi:
- Autorare in
docs/(prosa in italiano; identificatori tecnici non tradotti). Non toccaredocs-site/content/(copia rigenerata). - Classificare ogni affermazione:
VERIFIED / SUPPORTED / INFERRED / UNKNOWN / CONFLICTING, citando la fontefile:riga. - DB solo read-only (viste
USER_*); mai stampare segreti. - Aggiornare gli state file (
_state/) e ricostruire (build.sh, atteso 0/0). - Per analisi ampie: pattern coordinator + worker (workflow) — i worker scrivono pagine e restituiscono l'evidenza; il coordinatore integra.
Riprendere il programma
Leggere docs/_state/last-handoff.md (ancora di ripresa), poi work-queue.md, claims.ndjson,
conflicts.md, open-questions.md, coverage.csv. Non ripartire da zero: costruire sull'evidenza esistente.
Struttura del codice
Vedi Repository (InfocadServer / InfocadWeb) e Architettura.