Skip to content

Configuration settings

SAIF.Services.Appworx is effectively configuration-free: it declares no named setting keys, holds no secrets, and reads no connection strings. Its only runtime-variable behavior is a single environment discrimination call, and even that selects between two hard-coded Oracle database aliases rather than configured values.

Configuration retrieval methods

Method Class / Interface Namespace Usage pattern
GetApplicationEnvironment() IEnvironmentService, reached statically via AppGlobal.EnvironmentService SAIF.Core.Services (service); SAIF.Framework.Security (the AppGlobal accessor) Called once, inside the Shared SubmitBatchJob overload, and only when inUseWCISDEV1AppworxForAllDevEnv = True. The returned value is compared against ApplicationEnvironment.Prod to choose a hard-coded Oracle database alias (BR-002). Environment discrimination, not key-based configuration retrieval.
New clsMSOracleDataLayer(schema, database) → .DataPortalInfo() clsMSOracleDataLayer SAIF.Framework Constructs an Oracle data layer from hard-coded literal schema/database values ("PRADT" + "WCISPROD"/"WCISDEV1") and derives an IDataPortalInfo from it. Connection details are resolved inside the framework from the alias, not from any config value read in this library.

Environment API settings

No named configuration keys are retrieved by this library. The single IEnvironmentService interaction is an environment query (GetApplicationEnvironment()), not a keyed GetConfigSetting/GetSecureConfigSetting lookup, so it has no setting-key value.

Setting key Method Data type Purpose Consuming class Source
(none — no key; environment discriminator) GetApplicationEnvironment() ApplicationEnvironment (enum) Distinguishes production from every other environment to select the override routing target (BR-001, BR-002) clsRequestAppworxJob (Shared SubmitBatchJob) SAIF.Services.Appworx/clsRequestAppworxJob.vb

AppSettings (Web.config)

None. Neither SAIF.Services.Appworx/App.config nor SAIF.Services.Appworx/Web.config declares an <appSettings> section, and no ConfigurationManager.AppSettings read exists in any .vb file in the project.

Setting key Default value Purpose Consuming class Source
— — — — —

Database connection configuration

The library performs no connection-string retrieval — no DbConnectionManager, no <connectionStrings>, no GetOracleConnectionString. Connections arrive by one of two paths:

Connection name Provider Retrieval method Purpose Source
Caller-supplied data portal (inDPI) — default path Oracle (ODP.NET Managed Driver) None — the IDataPortalInfo is passed in by the caller Normal submission path used by all three in-repo callers; submit_appworx_job executes against whatever schema/database the caller's portal resolves to SAIF.Services.Appworx/clsRequestAppworxJob.vb
PRADT @ WCISPROD — override path, production Oracle (ODP.NET Managed Driver) None — hard-coded literals in source Dedicated Appworx-hosting database used when inUseWCISDEV1AppworxForAllDevEnv = True and the environment is Prod (BR-001) SAIF.Services.Appworx/clsRequestAppworxJob.vb
PRADT @ WCISDEV1 — override path, all non-production Oracle (ODP.NET Managed Driver) None — hard-coded literals in source Single shared development Appworx database used when the flag is set and the environment is anything other than Prod (BR-002) SAIF.Services.Appworx/clsRequestAppworxJob.vb
ODP.NET Managed Driver provider registration Oracle oracle.manageddataaccess.client config section + Oracle.ManagedDataAccess.Client invariant Makes the Oracle managed factory available to the data layer; supplies no endpoint of its own SAIF.Services.Appworx/App.config, SAIF.Services.Appworx/Web.config

Hard-coded environment routing. Database targeting on the override path is compiled into the source, not configured — the schema (PRADT) and both database aliases (WCISPROD, WCISDEV1) are string literals. Retargeting any of them requires a code change and redeploy; they cannot be adjusted through the environment API, Web.config, or a connection string. This override path has no caller inside this repository — all three in-repo call sites leave the flag at its False default, so the hard-coded routing is currently inert*.

Secure settings

None. No GetSecureConfigSetting, no SystemHashUtil.ComputeHash, no SystemType.*, no credentials, passwords, API keys, tokens, or encrypted values appear anywhere in SAIF.Services.Appworx/. Database credentials are never handled by this library — they are resolved by the framework data layer behind the alias.

Setting key Encryption method Purpose Consuming class Source
— — — — —

Transitive configuration (from dependencies)

Setting key Method Source dependency Dependency type Purpose
(unspecified — inherited) Framework-internal SAIF.BOF.Framework NuGet package Whatever config keys IEnvironmentService and clsMSOracleDataLayer require (environment classification source, Oracle TNS/alias resolution, credential lookup) must be provided by the hosting application's Web.config and the environment API — none are visible in, or satisfiable by, this class library**

Configuration dependencies

Dependency Type Required at Impact if missing
oracle.manageddataaccess.client config section + DbProviderFactories registration Config section Runtime (hosting application's merged config) Without the ODP.NET managed factory registration, the Oracle provider cannot be resolved by name in the hosting application
Hosting application's environment/config infrastructure (behind IEnvironmentService, clsMSOracleDataLayer) Service Runtime Environment discrimination and Oracle alias/TNS resolution fail if the hosting application does not supply this infrastructure**

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

  • SAIF.Services.Appworx/clsRequestAppworxJob.vb
  • SAIF.Services.Appworx/App.config
  • SAIF.Services.Appworx/Web.config
  • SAIF.Services.Appworx/My Project/Settings.Designer.vb