Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

This article describes configuration settings in appSettings.json for Admin App v2.x.

Details

Following are some important configuration settings for Admin App along with their corresponding details:

AppSettings
Setting NameDescriptionValid Values
AppStartupSets the environment in which Admin App is hosted."Azure", "OnPrem". Default value: "Azure". "Azure" is used by Cloud ODS deployment exclusively. All other deployments should use "OnPrem".
DatabaseEngineSets the database engine being used."SqlServer", "PostgreSql". Default value: "SqlServer"
ApplicationInsightsInstrumentationKeySets the instrumentation key for Application Insights for Cloud ODS deployments. Admin App logging can be viewed in Application Insights when using Azure. The instrumentation key identifies the resource that you want to associate your telemetry data with. More information can be found here.An instrumentation key can be procured from the Azure portal. Example: "5b46bad4-b3c3-454f-80dc-6f6f5bd7ce4b"
XsdFolderSets the path to the directory containing the Ed-Fi Standard XSD files.Any string (must be an existing folder path). Default value: "Schema" which points to the Schema folder under the Admin App web project. For most users, this should be left equal to the default. (This setting is expected to become irrelevant for ODS 5.2.0 and above.)
DefaultOdsInstanceSets the default ODS instance name to be used in case of SharedInstance mode.

Any string. 
Default value: "EdFi ODS"

ProductionApiUrlPoints to the Ed-Fi ODS / API server url.Any string (must be a valid server url)
SecurityMetadataCacheTimeoutMinutesSets the amount of time the security metadata from the EdFi_Security database is cached. E.g., if it is set to 10 mins, the claim set changes will reflect in the API at least after 10 mins without needing to recycle the API process. This setting must match the same setting on the ODS/API appsettings.json.

A positive integer representing the number of minutes. Default value: 10

ApiStartupTypeSets the component settings for the API. This setting must match the ODS/API settings. See the following section on Developers' Guide for more information on this setting."SharedInstance", "YearSpecific", "DistrictSpecific".
Default value: "SharedInstance"
LocalEducationAgencyTypeValueSets the name for the 'Local Education Agency' education organization type.Any string. Default value: "Local Education Agency"
SchoolTypeValueSets the name for the 'School' education organization type.Any string. Default value: "School"
BulkUploadHashCacheSets the folder path to the Bulk Upload hash cache.Any string (must be an existing folder path). Default value: "C:\\ProgramData\\Ed-Fi-ODS-AdminApp\\BulkUploadHashCache"
OptionalEntropySets the optional entropy value for DPAPI encryption and decryption calls. Entropy is an additional key specific to the application that is protecting the data. If not specified, it allows other applications running on the same machine to decrypt the encrypted data. If specified, it allows for the protection of data from other system applications.Any string
EncryptionProtocolSets the encryption protocol to be used. Data Protection API (DPAPI) is the default encryption protocol. AES encryption is used for docker deployments. "DPAPI", "AES". Default value: "DPAPI"
Cloud ODS Specific App Settings - Set by Cloud ODS Deployment and not recommended to set manually.
IdaAADInstanceSets the base URL of the authorization server (this is always https://login.microsoftonline.com)
IdaClientIdSets the application/client Id in Azure Active Directory/App Registrations for the Azure AD app registered when you deployed
IdaClientSecretSets the shared secret of the application. In the App Registration screen for the AdminApp. Click on "Certificates & secrets" and add a New Client Secret. This key value is your IdaClientSecret.
IdaTenantIdSets the tenant Id. Can be procured from the Azure portal under Tenant properties.
IdaSubscriptionIdSets the subscription Id. Can be procured from the Azure portal under Subscription properties.
Docker Specific App Settings
ApiExternalUrlPoints to the Ed-Fi ODS / API server URL. This appsetting is only supposed to be used for displaying the correct URL in docker environments. It is used when displaying the ODS API location on the Applications screen.Any string (must be a valid server url)

EncryptionKey

Sets the encryption key for AES encryption.Must be an AES 256-bit key. An AES 256-bit key can be expressed as a hexadecimal string with 64 characters. It will require 44 characters in base64. Rather than setting this manually, see the docker setup instructions for populating it via environment variable ENCRYPTION_KEY.
ConnectionStrings

Formatting Note: Example values contain the special character "\". When placed into a double-quoted JSON string, they must be "escaped" as a double slash:
Value: Data Source=.\;Initial Catalog=EdFi_Admin;Integrated Security=True

Value as appears quoted in appsettings.json: "Data Source=.\\;Initial Catalog=EdFi_Admin;Integrated Security=True"

ConnectionString NameDescriptionExamples
AdminSets the connection string for the EdFi_Admin database. Can be a PostgreSQL or SQLServer connection string depending on the DatabaseEngine appsetting.Data Source=.\;Initial Catalog=EdFi_Admin;Integrated Security=True
SecuritySets the connection string for the EdFi_Security database. Can be a PostgreSQL or SQLServer connection string depending on the DatabaseEngine appsetting.Data Source=.\;Initial Catalog=EdFi_Security;Integrated Security=True
ProductionOdsSets the connection string for the EdFi_ODS database. The database name depends on the ApiStartupType (multi-instance or single instance). Can be a PostgreSQL or SQLServer connection string depending on the DatabaseEngine appsetting. Just like in the ODS's own config, instance name templating with the special placeholder "{0}" is supported.Data Source=.\;Initial Catalog=EdFi_Ods_Production;Integrated Security=True

Data Source=.\;Initial Catalog=EdFi_{0};Integrated Security=True