Skip to content

ProcessOB3PRetention configuration

Runtime configuration comes almost entirely from the Environment API, accessed through IEnvironmentService.GetConfigSetting. The App.config file carries only a WCF binding definition and one appSettings entry (ApplicationHost), which the framework reads.

Environment API settings

Key Section / key Read at Behavior
processob3pretention.processbatchsize Section processob3pretention, key processbatchsize ThirdPartyRetentionProcessor.cs (GetProcessBatchSize) Read only when claims exist. An empty, non-numeric, or non-positive value falls back to 100. A missing key throws ApplicationException (exit 5). See BR-OB3P-002.
imagingapiurl Global key ImagingApiClient.cs (constructor) Base URL of the Imaging REST API. Missing throws ApplicationException; empty throws UriFormatException (exit 5).
ProcessOB3PRetention.WSPEndPointUrl Section processob3pretention, key wspendpointurl OnBaseService.cs (constructor) Runtime address of the OnBase SOAP endpoint; overrides the address in App.config.

processob3pretention.processbatchsize and ProcessOB3PRetention.WSPEndPointUrl are confirmed not secure (secureFlag: false in the seeded environment settings). The secure status of imagingapiurl is not confirmed, since it is not seeded in this repository.** There is no fallback to appSettings. imagingapiurl and ProcessOB3PRetention.WSPEndPointUrl are always required: they are read unconditionally when the service constructors run during application resolution. processob3pretention.processbatchsize is conditional: it is read only when the Imaging API returns at least one eligible claim (retentionClaims.Length > 0), so a missing key does not fail a run that finds no claims.

Environment variance

environmentSettings/settings.yml is seeded to the Environment API for the prod, entqa, and npuat tracks. It defines wspendpointurl with one address per track and processbatchsize of 200 for each of the three tracks. The code fallback of 100 is separate from these seeded values: it applies only when the value is empty, non-integer, or not greater than zero, and a missing key throws ApplicationException from the framework rather than falling back. imagingapiurl is not seeded in this repository, so where it is maintained is unknown.** Other tracks have no seeded values.** Host names and URLs are intentionally not reproduced here.

app.config

Setting Value Notes
appSettings ApplicationHost entqa Read by the framework; appears to be a developer-machine setting*
WCF binding BasicHttpBinding_HylandOutBoundContract basicHttpBinding, Transport security Client endpoint address is overridden at runtime by ProcessOB3PRetention.WSPEndPointUrl

There are no <connectionStrings>, custom configuration sections, or binding redirects.

Database connections

This application does not use a database. No connections are stored in <connectionStrings> and none are configured. Connection resolution through IEnvironmentService and DbConnectionManager is a framework capability that this application does not exercise.

Environment variables

Variable Purpose
EnvironmentApiUrl Machine-level location of the Environment API used to resolve the settings above
OTEL_EXPORTER_OTLP_ENDPOINT Optional OpenTelemetry collector endpoint
OTEL_EXPORTER_OTLP_PROTOCOL Optional OpenTelemetry protocol
OTEL_EXPORTER_OTLP_HEADERS Optional OpenTelemetry headers

Log file destinations

The framework names five destinations through the environment variables file0 to file4. This application never writes to them.

Variable Used by this application
file0 Not used
file1 Not used
file2 Not used
file3 Not used
file4 Not used

Console output goes to stdout and stderr. Any persisted log is whatever the scheduler captures from those streams.*

Documentation Description
Index Documentation entry point
Overview Purpose and capabilities
Architecture Components and composition root
Run lifecycle Execution flow and exit codes
Arguments Argument contract
Dependencies Packages and API dependencies
Operations and processes Operation catalog
Business rules Rules enforced during processing
Operational runbook Run and recovery procedures
Tech debt Technical debt observations

Note: Statements marked with * were inferred from code structure, naming conventions, or contextual evidence where direct confirmation was not available in source artifacts. Statements marked with ** could not be confirmed; treat as unknown until verified.

Sources

  • ProcessOB3PRetention/App.config
  • ProcessOB3PRetention/ThirdPartyRetentionProcessor.cs
  • ProcessOB3PRetention/Services/ImagingApiClient.cs
  • ProcessOB3PRetention/Services/OnBaseService.cs
  • ProcessOB3PRetention/Program.cs
  • environmentSettings/settings.yml