Decisioni di architettura (ADR / RDR)
- ADR — decisioni correnti/future del programma di documentazione.
- RDR — Reconstructed Decision Record: ricostruzione plausibile di scelte storiche (con evidenza e confidenza).
- Known Constraint — vincolo verificato di origine ignota.
ADR-001 — Portale con DocFX (VERIFIED)
Il portale usa DocFX perché il sistema è a prevalenza .NET (integrazione futura della
reference API .NET dai .sln). La reference DB è generata da script custom a partire dai
metadati Oracle (DocFX non modella Oracle nativamente).
ADR-002 — Backend trattato come Oracle, non SQL Server (VERIFIED)
Correzione della specifica (che assumeva SQL Server). Tutta l'analisi DB usa viste di catalogo Oracle; le 4 "database" sono schemi. Vedi AS-001.
RDR-001 — Migrazione net8 side-by-side tramite progetti *XNET (INFERRED)
- Comportamento osservato: 23 progetti
*XNET(net8) che ricollegano il sorgente legacy (<Compile Include=..\legacy\*.vb Link=…>) invece di duplicarlo, conOracle.ManagedDataAccess.Core. - Razionale probabile: migrazione incrementale a basso rischio, partendo da Common/BIM/IEM/Property e dalla slice RequestCenter, mantenendo un'unica fonte del sorgente.
- Evidenza:
inventory-server.json,inventory-web.json,RequestCenter.DAL.OracleODPXNET.vbproj:18. - Confidenza: INFERRED. Conferma richiesta al team (OQ-8).
Known Constraint KC-001 — Build completa solo su Windows (VERIFIED)
ODP.NET unmanaged (Oracle.DataAccess) + Web Forms + Windows Services richiedono Windows +
Visual Studio + Oracle Client. Cross-platform solo la slice net8 *XNET e il portale.
ADR-003 — Struttura del portale: quattro documenti high-level + "Altro" (2026-07-24)
- Decisione: il livello superiore del portale espone quattro documenti high-level — InfocadServer, InfocadWeb, Database, Interazioni — più la Panoramica. Tutto il resto (flussi, regole, reference del codice, API, operations, debito, indici) resta invariato ma raggiungibile dal menu Altro.
- Una documentazione per repository, non una unica: i due repo hanno responsabilità, runtime e vincoli di build diversi; il loro accoppiamento è documentato a parte (pagina Interazioni), perché è il punto in cui gli errori di comprensione costano di più.
- Razionale: il livello superiore precedente esponeva 7 gruppi / 16 voci di approfondimento; chi arrivava per la prima volta non trovava un percorso di lettura. Richiesta esplicita in revisione (24/07/2026).
- Costo: nessuna pagina eliminata, nessuna URL cambiata — solo navigazione e pagine di ingresso.
RDR-002 — Accoppiamento fra i repo tramite cartella di binari condivisa (SUPPORTED)
- Comportamento osservato: 137 progetti InfocadServer con
<OutputPath>..\..\Assembly\</OutputPath>e 123 progetti InfocadWeb con 1841HintPathverso la stessa cartellaAssembly/, posta nella directory padre dei due repository (le DLL sono versionate3.8.0.0,SpecificVersion=False). - Razionale probabile: disaccoppiare le due solution mantenendo un'unica versione dei binari condivisi, senza riferimenti di progetto cross-repo (che sono uno solo) e senza pacchetti NuGet interni.
- Conseguenze: checkout affiancato obbligatorio, ordine di build Server → Web, e nessuna
garanzia di coerenza a compile time se
Assembly/contiene binari di un build precedente. - Confidenza: SUPPORTED (misurato sui file di progetto). Conferma richiesta al team. Dettaglio: Interazioni.
Conflitti aperti
Vedi il registro conflicts.md — attualmente CONF-001 (superficie WCF/SOAP).