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.
Related documentation¶
- Application index
- Overview
- Architecture
- Dependencies
- Operations and processes
- Business rules
- Security and authorization
- Data model
- Tech debt
Sources¶
LegalMaintenance/Classes/clsLegalMaintenanceModel.vbLegalMaintenance/Web.configLegalMaintenance/App.config- SAIF.Application configuration
- SAIF.Application.Claim configuration
- SAIF.Application.Claim.Legal configuration
- SAIF.Business.Claim.Legal configuration
- SAIF.Business.View.Policy configuration
- SAIF.Services.Appworx configuration
- SAIF.Services.Printing configuration