Table of Contents

Operations

Procedure operative verificate dall'analisi statica (evidenza: TASK-CFG-001). La topologia IIS di produzione resta UNKNOWN (OQ-2).

Portale di documentazione (questo sito)

DocFX è installato come dotnet tool (~/.dotnet/tools/docfx, v2.78.5).

# build (stage docs/ -> docs-site/content, poi docfx build -> docs-site/_site)
docs-site/scripts/build.sh
# build + server locale
docs-site/scripts/serve.sh
# validazione (link rotti, riferimenti evidenza mancanti)
docs-site/scripts/validate.sh
# rigenera la reference DB dai metadati (offline, read-only)
python3 docs-site/scripts/gen-db-reference.py

Reference API .NET (opzionale, richiede Windows + assembly compilati): docs-site/scripts/gen-api-metadata.sh (esegue docfx metadata sui .sln). Non eseguibile su questo host macOS.

Ricerca del portale (Typesense self-hosted + RAG "Chiedi all'AI", opzionale): setup e manutenzione in Ricerca (Typesense + RAG). Un solo comando per ricostruire e reindicizzare: docs-site/scripts/reindex.sh.

Build applicativa

  • Completa: Windows + Visual Studio 2022 / msbuild + Oracle Client (ODP.NET unmanaged).
  • Slice net8: dotnet build sui progetti *XNET (cross-platform; dotnet 10.0.200 presente).
  • Nessun test automatico né CI.

Modello di deploy (VERIFIED dal codice)

  1. Copia/robocopy rispettando le exclude-list committate:
    • InfocadServer/InfocadServer.ExcludeFiles.txt
    • InfocadWeb/WebMachine/WebMachine.ExcludeDir.txt, WebMachine.ExcludeFiles.txt
    • Escludono .config e Oracle.DataAccess.dll → i config target per-ambiente e l'Oracle Client vengono preservati.
  2. ConnectionsService (Descor.Applications.ConnectionsService, Program.cs:22-116) riscrive le connection string in-place:
    • imposta APP_CONFIG_FILE = <install>/IEMServer.exe.config (hardcoded), resetta la cache ConfigurationManager via reflection;
    • legge <install>/Connections/connections.xml + service.xml (drop deploy-time, non in repo);
    • svuota e riscrive <connectionStrings>; ricava applicationName dal token di MainConnection; rimuove e riaggiunge OracleMembershipProvider e OracleRoleProvider con il nuovo applicationName;
    • cancella connections.xml, attende 10s, poi restartserver.bat.

Le connection string dei web DEM/app.config e RequestCenter/app.config sono spedite vuote (<connectionStrings/>) e popolate al deploy.

Servizi e job

  • Windows Services (ServiceBase): InfocadServer, IEMServer, ECMServer (+ companion ConnectionsService, UpdateService, IEMService, WindowService).
  • InfocadIntegration: triadi Process/Queue/Scheduler ({Console,Core,Service}), ServiceJob.{ASE,CAI,CUT,LEONARDO,RequestCenter,UCSC}, TicketLoaderMBDA (LoaderService).
  • Scheduling: JobScheduler usa Quartz.NET (quartz.config, quartz_jobs.xml).

Configurazione connessioni (nomi; valori mai registrati)

Server/shared: MainConnection, RequestCenterConnection, DEMConnection, OracleProvidersDB. Web (CASSANDRA): ConnectionString, RequestCenter, DEMdata. Integrazione: INFOCAD_CS, RC_CS, DEM_CS, Oracle, OracleFS, OracleTI. Provider: Oracle.DataAccess.Client ovunque.

Warning

Non stampare mai i valori delle connection string. Vedi SEC-001.