Skip to content

Application configuration settings

LegalMaintenance's configuration surface is small and mostly delegated to the BOF framework: across the entry-point application and its consumed libraries, 11 unique Environment API keys, 1 Web.config AppSettings key, one Oracle ODP.NET provider registration, one SQL Server BDS connection built from three Environment API keys, and two custom configuration sections (infragistics.web, oracle.manageddataaccess.client) were found. No library or the application itself stores secrets, connection strings, or credentials directly — all are resolved by the SAIF BOF framework behind logical keys/portal names.

Configuration retrieval methods

Method Class / Interface Namespace Usage pattern
EnvironmentService.GetConfigSetting(key) / AppGlobal.EnvironmentService.GetConfigSetting(key) EnvironmentService / AppGlobal SAIF.Framework.Security (backed by SAIF.BOF.Framework.Security.EnvironmentApi) The dominant pattern across the application and its libraries — a static/ambient accessor resolves a named plain-text setting. Used in LegalMaintenance, SAIF.Application.Claim, SAIF.Business.Claim.Legal, SAIF.Business.View.Policy, and SAIF.Services.Printing.
WindowsEnvironmentService().GetConfigSetting(key) WindowsEnvironmentService SAIF.Framework.Security Instantiated inline (rather than via AppGlobal) in LegalMaintenance to resolve the claim-data API base URL. See LegalMaintenance configuration.
AppGlobal.EnvironmentService.GetApplicationEnvironment() EnvironmentService SAIF.Framework.Security Environment classification query (not a keyed lookup) compared against ApplicationEnvironment.Prod to switch test/production behavior. Used in SAIF.Application.Claim.Legal, SAIF.Business.Claim.Legal, and SAIF.Services.Appworx.
ConfigurationManager.AppSettings / Web.config <appSettings> — System.Configuration Only one key found across the entire application (ApplicationHost, declared in LegalMaintenance/Web.config); no direct ConfigurationManager.AppSettings[...] call site was found in any library's .vb source.
Injected IDataPortalInfo IDataPortalInfo SAIF BOF data portal The dominant connection-configuration pattern — the caller supplies a pre-built Oracle or SQL Server data portal rather than the library reading connection configuration itself. Used by SAIF.Application.Claim, SAIF.Application.Claim.Legal, and SAIF.Business.View.Policy.
Config-section provider registration oracle.manageddataaccess.client section handler Oracle.ManagedDataAccess Declared (usually empty) in every project's app.config/Web.config to register the ODP.NET managed provider factory; not read directly by any library's code.

Environment API settings catalog

Settings retrieved via EnvironmentService / WindowsEnvironmentService (centralized environment configuration service), consolidated across the application and its libraries.

Setting key Method Purpose Owning library Documentation
EnvironmentConfigKeys.OracleDatabase GetConfigSetting Logical/target Oracle database environment identifier, exposed as clsLegalMaintenanceModel.DatabaseEnvironment LegalMaintenance (entry point) Configuration
cc.ccclaimdataapiurl GetConfigSetting Base URL for the claim data API, used to construct an ApiClient registered on the active manager's DPI LegalMaintenance (entry point) Configuration
imagingapiurl GetConfigSetting Base URL of the SAIF Imaging API, used to construct ClaimAppManager.ClaimImageApiClient SAIF.Application.Claim Configuration
xpressionsoutputdocumentspath GetConfigSetting Filesystem/UNC path where Xpressions-generated legal letter output documents are written/read SAIF.Business.Claim.Legal Configuration
Legal.LettersManagingAttorneyUserId GetConfigSetting User ID of the managing attorney stamped onto generated legal letters/letter requests SAIF.Business.Claim.Legal Configuration
BDS_USER GetConfigSetting SQL Server BDS database user identifier passed to clsSQLDataLayer SAIF.Business.View.Policy Configuration
bdsDatabase GetConfigSetting SQL Server host/instance name for the BDS connection (misleadingly-named key)* SAIF.Business.View.Policy Configuration
BDS_DATABASENAME GetConfigSetting SQL Server catalog name for the BDS connection SAIF.Business.View.Policy Configuration
documentGeneratorServiceUrl GetConfigSetting xPression clsGenerate ASMX endpoint URL SAIF.Services.Printing Configuration
documentMSMQPath GetConfigSetting MSMQ queue path used to construct a transactional MessageQueue for deferred/composite print distribution SAIF.Services.Printing Configuration
idmFilePath GetConfigSetting Imaging (IDM) drop location, re-read live on every access SAIF.Services.Printing Configuration
sqlReportingServiceUrl GetConfigSetting SSRS ReportExecution2005 ASMX endpoint URL SAIF.Services.Printing Configuration

12 unique Environment API keys across the application. In addition, IsProduction and IsWeb are read as environment API flags (not keyed settings) by SAIF.Services.Printing to select an environment label and a security platform, respectively, and GetApplicationEnvironment() is called (with no key) by SAIF.Application.Claim.Legal, SAIF.Business.Claim.Legal, and SAIF.Services.Appworx purely to branch on production vs. non-production.

AppSettings catalog

Setting key Default value Purpose Owning project Documentation
ApplicationHost np17 Host/environment identifier declared in Web.config; no direct ConfigurationManager.AppSettings["ApplicationHost"] call site was found anywhere in this repository's .vb code, so the consumer is framework-internal or read via reflection/binding infrastructure.** LegalMaintenance (entry point) Configuration

1 AppSettings key application-wide. No other library declares an <appSettings> section or reads ConfigurationManager.AppSettings.

Database connection catalog

Connection name Provider Retrieval method Purpose Owning library Documentation
Oracle ODP.NET provider registration Oracle — ODP.NET Managed Driver (Oracle.ManagedDataAccess, v4.122.21.1) <system.data><DbProviderFactories> + <oracle.manageddataaccess.client> config section Registers the Oracle managed provider factory at the process level so dependency libraries' CreateOraclePortal calls can open connections LegalMaintenance (entry point) Configuration
Claim data portal (ClaimDPI) Oracle — ODP.NET Managed Driver DataLayer.CreateOraclePortal(ClaimAppConstants.DPIClaimKey), DB user pinned to "CLM" All claim data access via ClaimAppManager.DPI SAIF.Application.Claim Configuration
Caller-supplied LegalNet database Oracle Managed Data Access inDatabase constructor argument + DataLayer.DBUser = "LGN" All direct SQL, package calls, and business-object persistence for LegalNet workflows SAIF.Application.Claim.Legal Configuration
Oracle connection (portal-resolved, no local connection string) Oracle.ManagedDataAccess.Client (ODP.NET Managed Driver) Resolved by the SAIF BOF data portal (IDataPortalInfo) at runtime Oracle database access for all criteria/collection loads SAIF.Business.Claim.Legal Configuration
Primary Oracle policy-data connection (DPI) Oracle / ODP.NET* Injected IDataPortalInfo Main policy, association, audit, address, and trading-as data path SAIF.Business.View.Policy Configuration
SQL Server BDS security connection (DPISql) Microsoft SQL Server Constructed from BDS_USER + bdsDatabase + BDS_DATABASENAME via clsSQLDataLayer Group, loss-control, and agent authorization plus BDS policy-list lookups SAIF.Business.View.Policy Configuration
Team-assignment email SQL Server connection Microsoft SQL Server* Injected IDataPortalInfo cp_external_client_lookup for external team-member email resolution SAIF.Business.View.Policy Configuration
Caller-supplied data portal (default) + hard-coded PRADT@WCISPROD/WCISDEV1 override Oracle (ODP.NET Managed Driver) Caller-injected IDataPortalInfo, or hard-coded literal schema/database when an inert override flag is set Appworx batch job submission SAIF.Services.Appworx Configuration

No library or the application itself declares a literal connection string, TNS alias, host, or credential in any Web.config/App.config — the entry point's <connectionStrings /> element is empty, and all connections are resolved by the BOF framework from logical portal keys or Environment API settings.

Custom configuration sections

Custom XML configuration sections registered in Web.config/App.config.

Section name Handler type Purpose Owning project
infragistics.web System.Configuration.SingleTagSectionHandler Configures the Infragistics WebUI style set (styleSetName="SAIFDefault", styleSetPath="/resources/ig_res") used by the application's Infragistics 11.1/10.3 controls LegalMaintenance (entry point)
oracle.manageddataaccess.client OracleInternal.Common.ODPMSectionHandler (Oracle.ManagedDataAccess, v4.122.21.1) Declares the ODP.NET managed configuration section; present in nearly every project's app.config/Web.config but contains no child elements in any of them LegalMaintenance and every consumed library

Settings classes (ApplicationSettingsBase)

Class Property Purpose Owning library Notes
SAIF.Services.Printing.My.MySettings WebServiceUrl (×2) Design-time typed proxy defaults for the xPression and SSRS ASMX web references SAIF.Services.Printing Both values are unconditionally overwritten at runtime by the corresponding Environment API setting (documentGeneratorServiceUrl, sqlReportingServiceUrl); the designer-generated defaults are never actually used at runtime.*
SAIF.Application.Claim.Legal.My.MySettings — Auto-generated Settings Designer scaffold SAIF.Application.Claim.Legal Contains no settings properties — effectively unused.

Two additional legacy ClientSettingsSection declarations (applicationSettings/SAIF.MySettings, applicationSettings/SAIF.My.MySettings) exist in SAIF.Services.Printing/app.config with no corresponding designer class — vestigial/dead declarations carried over from a predecessor assembly.*

Secure settings

None found application-wide. No library or the entry-point application calls GetSecureConfigSetting, computes a hash via SystemHashUtil, or stores a credential, password, API key, or token literal in source or config files. Credentials for external services (xPression, SSRS, Oracle, SQL Server, Active Directory) are resolved by the BOF framework or carried by the ambient Windows/Web identity, not by application-level configuration.

Transitive configuration (from dependencies)

Configuration required by BOF framework packages consumed transitively (SAIF.BOF.Framework.Security.EnvironmentApi, SAIF.BOF.Framework.Connection, SAIF.BOF.Framework.Security) — key names are not visible from this repository.

Setting key Consumed by (framework mechanism) Purpose
Environment API service bootstrap configuration EnvironmentService / WindowsEnvironmentService initialization Bootstraps the environment service itself before any GetConfigSetting call can succeed**
Oracle connection string / TNS resolution (per logical portal key: ClaimDPI, LegalNet database, policy DPI, Appworx aliases) CreateOraclePortal / injected IDataPortalInfo Resolves the actual Oracle connection behind each logical portal key used across the application**
AD SecurityService endpoint clsSecurityPrincipal.IsAuthorized / UserAccess.HasAccess Backs all AD resource membership checks used across every screen and manager in the application**

Environment variance assessment

Setting key Varies by environment Notes
EnvironmentConfigKeys.OracleDatabase Yes Explicitly an environment identifier by design.
cc.ccclaimdataapiurl Yes Claim data API base URL differs per environment (DEV/TEST/UAT/PROD).
imagingapiurl Yes Imaging API base URL varies by environment.
xpressionsoutputdocumentspath Likely* Output path plausibly differs by environment (e.g., shared drive per environment), not directly confirmed.
Legal.LettersManagingAttorneyUserId No* A business/organizational value (managing attorney user ID), not an infrastructure endpoint — unlikely to vary by environment, though not directly confirmed.
BDS_USER / bdsDatabase / BDS_DATABASENAME Yes SQL Server BDS host/catalog/user plausibly differ per environment.
documentGeneratorServiceUrl / sqlReportingServiceUrl Yes ASMX service endpoints differ by environment.
documentMSMQPath / idmFilePath Yes Filesystem/queue paths plausibly differ by environment.
ApplicationHost Yes Environment-specific host identifier (np17 observed in this repository's Web.config).

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