Table of Contents

Guide per sviluppatori

Costruire l'applicazione

  • Completa (Windows): Visual Studio 2022 / msbuild + Oracle Client (ODP.NET unmanaged Oracle.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 build sui progetti *XNET (20 in Server, 3 in Web). dotnet 10 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:

  1. Autorare in docs/ (prosa in italiano; identificatori tecnici non tradotti). Non toccare docs-site/content/ (copia rigenerata).
  2. Classificare ogni affermazione: VERIFIED / SUPPORTED / INFERRED / UNKNOWN / CONFLICTING, citando la fonte file:riga.
  3. DB solo read-only (viste USER_*); mai stampare segreti.
  4. Aggiornare gli state file (_state/) e ricostruire (build.sh, atteso 0/0).
  5. 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.