Skip to content

Configuration settings

SAIF.Framework.Core uses a small direct configuration surface — one Environment API key (workCalendarServiceUrl) and one typed ApplicationSettingsBase SOAP endpoint setting (SAIF_Framework_Core_SAIFDates_SAIFDates) — but its data-portal and environment helpers also rely on transitive configuration from SAIF.Framework.Connection, SAIF.Framework.Security.EnvironmentApi, and SAIF.Framework.Security. Three connection-configuration patterns and nine transitive bootstrap or dependency settings were confirmed from source.

Configuration retrieval methods

Method Class / Interface Namespace Usage pattern
GetConfigSetting EnvironmentServiceBase (via AppGlobal.EnvironmentService) SAIF.Framework.Security clsSmartDate resolves workCalendarServiceUrl from the centralized Environment API before invoking the SAIFDates SOAP client.
ApplicationSettingsBase MySettings SAIF.Framework.My The generated SAIFDates proxy seeds its default endpoint from SAIF_Framework_Core_SAIFDates_SAIFDates.
Environment.GetEnvironmentVariable EnvironmentServiceBase SAIF.Framework.Security The Environment API dependency requires the EnvironmentApiUrl OS environment variable before any AppGlobal.EnvironmentService lookup succeeds.
ConfigurationManager.AppSettings EnvironmentServiceBase SAIF.Framework.Security The Environment API dependency reads ApplicationHost and EnvApiDeveloperSettingsOverride for developer-machine host resolution and local settings overrides.
getConnection clsConnection SAIF.Framework.Connection Oracle and SQL Server data portals delegate connection-string resolution to the ConnectInfo SOAP service wrapper.

Environment API settings

Settings retrieved via IEnvironmentService (centralized environment configuration service).

Setting key Method Data type Purpose Consuming class Source
workCalendarServiceUrl GetConfigSetting URL Sets the SAIFDates SOAP client endpoint used by clsSmartDate work-calendar helpers. clsSmartDate SAIF.Framework.Core\V1\SmartValues\clsSmartDate.vb

AppSettings (Web.config)

Static settings declared in the project's generated settings class and configuration file.

Setting key Default value Purpose Consuming class Source
SAIF_Framework_Core_SAIFDates_SAIFDates http://saifonline/webservices/saifdates/saifdates.asmx Design-time/default endpoint for the generated SAIFDates SOAP reference. The client constructor reads this value before clsSmartDate overwrites Url with workCalendarServiceUrl. SAIFDates.SAIFDates SAIF.Framework.Core\My Project\Settings.Designer.vb; SAIF.Framework.Core\Web References\SAIFDates\Reference.vb; SAIF.Framework.Core\app.config

Database connection configuration

Connection strings and database provider settings consumed by this library.

Connection name Provider Retrieval method Purpose Source
Oracle data portal connection Oracle.ManagedDataAccess.Client SAIF.Framework.Connection.clsConnection.getConnection(...) MSOracleDataPortal resolves an Oracle connection string through the shared ConnectInfo service and assigns it to OracleConnection.ConnectionString. SAIF.Framework.Core\V1\DataAccessLayer\MSOracle\MSOracleDataPortal.vb; SAIF.Framework.Connection\clsConnection.vb
SQL Server data portal connection (SAIF Connection) System.Data.SqlClient SAIF.Framework.Connection.clsConnection.getConnection(...) SQLDataPortal can resolve a SQL Server connection string through the shared ConnectInfo service when constructed with inUseSAIFConnection = True. SAIF.Framework.Core\V1\DataAccessLayer\SQLServer\SQLDataPortal.vb; SAIF.Framework.Connection\clsConnection.vb
SQL Server data portal connection (direct credentials) System.Data.SqlClient Inline connection-string assembly from clsDataAccess.clsEnvironment SQLDataPortal can also build a standard SQL Server connection string directly from caller-supplied Server, Database, DBUser, and Password values when inUseSAIFConnection = False. SAIF.Framework.Core\V1\DataAccessLayer\SQLServer\SQLDataPortal.vb; SAIF.Framework.Core\V1\DataAccessLayer\clsDataAccess.vb

Secure settings

Settings that require decryption or credential retrieval.

None detected.

Transitive configuration (from dependencies)

Settings required at runtime by referenced libraries or packages, not directly consumed by this library's code.

Setting key Method Source dependency Dependency type Purpose
EnvironmentApiUrl Environment variable SAIF.Framework.Security.EnvironmentApi ProjectReference Base URL for Environment API calls made by AppGlobal.EnvironmentService.
checkforupdatedsettingsinseconds Configurations.Settings[...] SAIF.Framework.Security.EnvironmentApi ProjectReference Controls the Environment API refresh interval; EnvironmentServiceBase throws if the key is absent from loaded configuration.
ApplicationHost AppSettings SAIF.Framework.Security.EnvironmentApi ProjectReference Developer-machine host override used when EnvironmentServiceBase resolves the application host.
EnvApiDeveloperSettingsOverride AppSettings SAIF.Framework.Security.EnvironmentApi ProjectReference Optional path to a local JSON override file that EnvironmentServiceBase checks before returning an Environment API setting.
ad.ldap.host GetGlobalConfigSetting SAIF.Framework.Security.EnvironmentApi ProjectReference LDAP host used when Environment API developer-machine detection instantiates MachineSecurityService.
ad.ldap.internal.root GetGlobalConfigSetting SAIF.Framework.Security.EnvironmentApi ProjectReference LDAP root used with MachineSecurityService during developer-machine detection.
ad.internal.domain GetGlobalConfigSetting SAIF.Framework.Security.EnvironmentApi ProjectReference Active Directory domain used with MachineSecurityService during developer-machine detection.
securityServiceUrl GetConfigSetting SAIF.Framework.Security ProjectReference Security service endpoint used by MachineSecurityService to evaluate developer-machine group membership.
SAIF_Framework_Connection_ConnectInfo_ConnectInfo ApplicationSettingsBase SAIF.Framework.Connection ProjectReference Default ConnectInfo SOAP endpoint used to retrieve Oracle and SQL Server connection strings for core data portals.

Configuration dependencies

Dependency Type Required at Impact if missing
workCalendarServiceUrl Environment API setting runtime clsSmartDate cannot redirect the SAIFDates client to the configured work-calendar service; missing-key resolution throws from the Environment API dependency.
EnvironmentApiUrl OS environment variable runtime Any AppGlobal.EnvironmentService call throws MissingEnvironmentUrlVariableException before environment, track, or setting data can be loaded.
checkforupdatedsettingsinseconds Environment API setting runtime EnvironmentServiceBase throws KeyNotFoundException while refreshing configuration, preventing GetApplicationEnvironment, GetApplicationTrack, or GetConfigSetting from succeeding.
SAIF_Framework_Core_SAIFDates_SAIFDates applicationSettings entry runtime The generated SAIFDates proxy falls back to this default endpoint on construction; an incorrect value points the client at the wrong service until the URL is overwritten.
SAIF_Framework_Connection_ConnectInfo_ConnectInfo applicationSettings entry runtime Oracle and SAIF-managed SQL Server portal constructors cannot resolve the ConnectInfo service endpoint correctly, so connection-string acquisition fails.
oracle.manageddataaccess.client config section registration startup Oracle managed-driver configuration cannot be loaded if the ODP.NET section registration is removed from app.config.
Oracle.ManagedDataAccess.Client provider factory DbProviderFactories registration startup Oracle provider resolution can fail for code paths that rely on the managed ODP.NET provider registration.
clsDataAccess.clsEnvironment (Server, Database, DBUser, Password) caller-supplied connection data runtime Direct SQL Server connection mode cannot assemble a usable connection string when the required environment fields are absent.

Sources

  • SAIF.Framework.Core\app.config
  • SAIF.Framework.Core\My Project\Settings.Designer.vb
  • SAIF.Framework.Core\My Project\Settings.settings
  • SAIF.Framework.Core\Web References\SAIFDates\Reference.vb
  • SAIF.Framework.Core\V1\SmartValues\clsSmartDate.vb
  • SAIF.Framework.Core\V1\DataAccessLayer\clsDataAccess.vb
  • SAIF.Framework.Core\V1\DataAccessLayer\MSOracle\MSOracleDataPortal.vb
  • SAIF.Framework.Core\V1\DataAccessLayer\SQLServer\SQLDataPortal.vb
  • SAIF.Framework.Core\SAIF.BOF.Framework.Core.vbproj
  • SAIF.Framework.Connection\clsConnection.vb
  • SAIF.Framework.Connection\My Project\Settings.Designer.vb
  • SAIF.Framework.Security\AppGlobal.vb
  • SAIF.Framework.Security\Utilities\MachineSecurityService.vb
  • SAIF.Framework.Security.EnvironmentApi\Core\Services\IEnvironmentService.cs
  • SAIF.Framework.Security.EnvironmentApi\Exceptions\MissingEnvironmentUrlVariableException.cs
  • SAIF.Framework.Security.EnvironmentApi\Services.Common\EnvironmentServiceBase.cs
  • SAIF.Framework.Security.EnvironmentApi\Services.Common\WebEnvironmentService.cs
  • SAIF.Framework.Security.EnvironmentApi\Services.Common\WindowsEnvironmentService.cs