Skip to content

Configuration

Configuration is retrieved at runtime from the Environment API through IEnvironmentService. There are no database connections and no secure/encrypted settings anywhere in this application. Nine distinct application-consumed setting keys exist: seven Environment API keys (across eight call sites) and two appSettings keys.

Environment API settings

Key Retrieved by Consuming class Secure Varies by environment Purpose
OnBaseKeywordSync.onbaseasync GetConfigSetting<bool> OnBaseKeywordSyncRunner.Execute No No Whether updates are sent to OnBase asynchronously (declared true on every track)
imagingapiurl GetConfigSetting ImagingApiClient.BuildImagingApiClient No Yes Imaging API base URL; not declared in this repository — resolved from shared/global environment settings**
onbasekeywordsync.imagingClientTimeoutSeconds GetConfigSetting<int> ImagingApiClient.BuildImagingApiClient No Yes Imaging API response timeout in seconds (300 most tracks, 5400 on np12, 7200 on np17/prod)
OnBaseKeywordSync.getdocumentcount GetConfigSetting (string, query string) ImagingApiClient.GetUnprocessedKeywordSyncs No No Whether to get and log the total count of docs to update
OnBaseKeywordSync.getdocumentcount GetConfigSetting + Convert.ToBoolean KeywordUpdater.PerformUpdate No No Same key, consumed a second way (see risk below)
OnBaseKeywordUpdateServiceUrl GetConfigSetting OnBaseKeywordSyncClient constructor No Yes OnBase SOAP endpoint address; not declared in this repository**
OnBaseKeywordSync.onbaseclientsleepmilliseconds GetConfigSetting<int> OnBaseKeywordSyncClient.UpdateKeyword No No Milliseconds to sleep between OnBase keyword-update calls (declared 500 on every track)
OnBaseKeywordSync.customquerymappings GetConfigSetting OnBaseKeywordSyncClient.GetCustomQueryName No Yes DTG\|custom query pairs, ~-delimited; doc-type-group coverage differs per track

Database configurations

None. No DatabaseConfig is passed to RegisterCommonDependencies in RegisterAppDependencies, so no IUnitOfWork is ever registered or resolved.

app.config settings

appSettings

Key Value Read by Purpose
ApplicationHost np12 EnvironmentServiceBase Environment API host resolution†; committed as a non-production track and expected to be substituted at release time*
debugLogFile C:\temp\OnBaseKeywordSync_Debug.log Extensions static constructor, Extensions.Log, Extensions.LogError Debug-only log tee path, truncated at every process start

Custom configuration sections

Section Purpose
system.serviceModel basicHttpBinding binding BasicHttpBinding_HylandOutBoundContract (all defaults) and a client endpoint of the same name for contract OnBase.HylandOutBoundContract with no address attribute — the runtime address comes from OnBaseKeywordUpdateServiceUrl
startup supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.2"

No <connectionStrings> element and no <oracle.manageddataaccess.client> section exist.

Assembly binding redirects

Assembly Redirected to Note
Newtonsoft.Json 8.0.0.0 Redirect range 0.0.0.0-8.0.0.0; the package is pinned at 8.0.3 (2016-era)

Log file destinations

Log outputs are resolved from machine-level environment variables file0–file4, scanned by ConsoleLogService at construction. Each variable's value is a log file path.† The application registers no log file explicitly and assigns no role to any specific id — every message goes through Write/WriteError, which fan out to all registered writers†. Whether any of these variables is set on the scheduled host is not determinable from the repository.**

Environment variable Log id Content written by this application
file0–file4 LogType.File0–LogType.File4 Not used — the application assigns no specific role to any id; whatever is registered receives every Write/WriteError message

Environment variance

Setting global np12 np17 / prod Notes
OnBaseKeywordSync.onbaseasync true true true Declared true on all 25 tracks including prod
OnBaseKeywordSync.getdocumentcount false false false Declared false on all 24 well-formed tracks; enttest8 is malformed (see Tech debt)
OnBaseKeywordSync.onbaseclientsleepmilliseconds 500 500 500 Declared 500 on all 24 well-formed tracks; enttest8 is malformed
OnBaseKeywordSync.customquerymappings Includes 3P, LEGAL varies Includes 3P, LEGAL Lower environments omit 3P and/or LEGAL entries
onbasekeywordsync.imagingClientTimeoutSeconds 300 5400 7200 Varies materially by track
imagingapiurl Unknown** Unknown** Unknown** Not declared in this repository — resolved from shared/global environment settings
OnBaseKeywordUpdateServiceUrl Unknown** Unknown** Unknown** Not declared in this repository
ApplicationHost n/a np12 (committed) Unknown* Committed as np12; expected to be substituted per deployment, no transform file exists in the repository
debugLogFile C:\temp\OnBaseKeywordSync_Debug.log same same Local developer path, not a deployed concern

Note: Statements marked with † are derived from dependency library documentation via the Legends CLI. Statements marked with * were inferred from code structure or contextual evidence. Statements marked with ** could not be confirmed; treat as unknown until verified.

Sources

  • OnBaseKeywordSync/App.config
  • OnBaseKeywordSync/Program.cs
  • OnBaseKeywordSync/Extensions.cs
  • OnBaseKeywordSync/OnBaseKeywordSyncRunner.cs
  • OnBaseKeywordSync/Services/ImagingApiClient.cs
  • OnBaseKeywordSync/Services/KeywordUpdater.cs
  • OnBaseKeywordSync/Services/OnBaseKeywordSyncClient.cs
  • environmentsettings/settings.yml
  • Pipelines/release.yml