﻿---
title: Configuration settings
summary: Configuration keys and runtime inputs consumed by the SAIF.Application library.
status: draft
owner: SAIF Doc Gen
last_reviewed: 2026-07-24
library: SAIF.Application
reference_type: package
---

# Configuration settings

`SAIF.Application` does not retrieve configuration values directly from environment services, `ConfigurationManager.AppSettings`, connection-string sections, or secure-setting helpers. Instead, consuming code supplies portal and connection metadata programmatically through `ApplicationDataAccess` properties and `AppManagerBase` portal-injection hooks.

## Configuration retrieval methods

| Method | Class / Interface | Namespace | Usage pattern |
| --- | --- | --- | --- |
| Programmatic property assignment | `ApplicationDataAccess` | `SAIF.Application` | Callers set `DBUser`, `Database`, `Server`, and optional `BatchID` before invoking `CreateSQLServerPortal(...)` or `CreateOraclePortal(...)`. |
| Programmatic DPI injection | `AppManagerBase` | `SAIF.Application` | Derived managers can register or override `IDataPortalInfo` entries through `InjectDPI(inKey, inDPI)`. |
| Constructor-supplied portal context | `clsServiceAppManagerBase` | `SAIF.Application` | Service-oriented managers receive an `IDataPortalInfo` instance through the constructor and expose it through `DPI`. |

## Environment API settings

No `IEnvironmentService`, `GetConfigSetting`, or `GetSecureConfigSetting` calls were identified in the reviewed `SAIF.Application` source files.

## AppSettings (Web.config)

No `ConfigurationManager.AppSettings` or `My.Settings` retrievals were identified in the reviewed `SAIF.Application` source files.

## Database connection configuration

| Connection name | Provider | Retrieval method | Purpose | Source |
| --- | --- | --- | --- | --- |
| Caller-supplied portal settings | SQL Server / Oracle | `ApplicationDataAccess.DBUser`, `Database`, `Server`, `BatchID`, then `CreateSQLServerPortal(...)` or `CreateOraclePortal(...)` | Supply runtime connection metadata before the library creates a data portal. | `Application\SAIF.Application\ApplicationDataAccess.vb` |
| Caller-supplied `IDataPortalInfo` | Depends on the provided implementation | `AppManagerBase.InjectDPI(inKey, inDPI)` or `clsServiceAppManagerBase.New(ByVal inDataPortalInfo As IDataPortalInfo)` | Let consuming code inject a prebuilt portal definition instead of retrieving configuration internally. | `Application\SAIF.Application\AppManagerBase.vb`; `Application\SAIF.Application\Service Based\clsServiceAppManagerBase.vb` |

## Secure settings

No secure-setting decryption or credential-retrieval helpers are called directly by this library.

## Transitive configuration (from dependencies)

No dependency-owned configuration retrieval is invoked directly from the reviewed `SAIF.Application` source files.

## Configuration dependencies

| Dependency | Type | Required at | Impact if missing |
| --- | --- | --- | --- |
| `ApplicationDataAccess` connection values (`DBUser`, `Database`, `Server`, optional `BatchID`) | Caller-supplied runtime inputs | Before `CreateSQLServerPortal(...)` or `CreateOraclePortal(...)` | The library cannot construct provider-specific data portals. |
| `IDataPortalInfo` registrations supplied through `InjectDPI(...)` or `clsServiceAppManagerBase.New(...)` | Caller-supplied service/object | Before manager operations that rely on an injected portal | Managers cannot resolve the requested portal entry. |

## Related documentation
- [Index](index.md)
- [Overview](overview.md)
- [Architecture](architecture.md)
- [Dependencies](dependencies.md)
- [Operations and processes](operations-processes.md)
- [Business rules](business-rules.md)
- [Security and authorization](security-authorization.md)

## Sources
- `Application\SAIF.Application\AppConstants.vb`
- `Application\SAIF.Application\AppManagerBase.vb`
- `Application\SAIF.Application\ApplicationDataAccess.vb`
- `Application\SAIF.Application\Enums.vb`
- `Application\SAIF.Application\MessageFormatting.vb`
- `Application\SAIF.Application\My Project\Settings.Designer.vb`
- `Application\SAIF.Application\Service Based\clsServiceAppManagerBase.vb`
- `Application\SAIF.Application\Service Based\ServiceEnums.vb`
- `Application\SAIF.Application\Service Based\ServiceMessage.vb`
- `Application\SAIF.Application\Service Based\ServiceResponse.vb`
- `Application\SAIF.Application\UserAccess.vb`
