Configuration Details
The Ed-Fi ODS / API is configurable in a number of ways. Since the source code is available to licensees, one could argue that everything is configurable. But, what we’re discussing in this section are things like settings and options that do not require a change to the compiled code.
Key configuration points include:
OAuth endpoints
OAuth key retrieval site location
Instance type information (e.g., Sandbox, Shared Instance)
Bulk upload directory
Key retrieval maximum tries
Token timeout value
Detail about the configurations can be found in the tables below.
Required Configuration Settings
Some configuration must be done for every ODS / API platform instance. Examples of required configurations include database connection strings, SMTP server locations, and similar.
To make it easier for developers to install and run the Ed-Fi ODS / API, the default download from source control is pre-configured with values appropriate for a developer or single-server test instance of the system.
Application | Location | Setting Name | Value | Description |
|---|---|---|---|---|
EdFi.Ods.Admin.Web | Web.config | OAuthUrl | Example: http://site-address:port/oauth | Points to the root of the authorization API in the Ed-Fi ODS website. |
EdFi.Ods.SecurityConfiguration | Web.config | KeyRetrievalSite | Example: http://site-address:port/ | Points to the Key Retrieval tool application. The link in the email body uses this address as the root address of the Key Retrieval Tool site. |
EdFi.Ods.WebApi | Web.config | owin:appStartup | Sandbox, SharedInstance, etc. | The component settings for the API. See the Developers' Guide for more information on this setting. |
EdFi.Ods.WebApi | Web.config | BulkOperationWorkingFolder | Example: c:\temp | A temporary storage area used to assemble bulk upload data. |
EdFi.Ods.WebApi | Web.config | DescriptorNamespacePrefix | Example: http://www.ed-fi.org | The default namespace for creating and finding descriptors if none are supplied. More information on descriptors and descriptor namespaces can be found at Ed-Fi Descriptors |
EdFi.Ods.SwaggerUI | Web.config | swagger.webApiMetadataUrl | Example: http://site-address:port/metadata/{section}/api-docs | The location of the Swagger metadata in the Ed-Fi ODS / API |
A deployment to a staging or production instance is usually more involved, and requires additional configuration. Required configurations for a production instance can be found in the Deployment section of this documentation.
Optional Configuration Settings
Although this list of settings is not exhaustive, other important and useful optional configuration values include:
Application | Location | Setting Name | Value | Description |
|---|---|---|---|---|
Key Retrieval Web App | Web.config | MaxChallengeRetries | Default Value: 3 | This is the number of tries a vendor is allowed to enter the correct activation code to retrieve the key and secret. |
EdFi.Ods.SwaggerUI | Web.config | swagger.prepopulatedKey | Example: populatedTemplate | Optionally provides the value to prefill in the "key" field of auth. |
EdFi.Ods.SwaggerUI | Web.config | swagger.prepopulatedSecret | Example: populatedTemplateSecret | Optionally provides the value to prefill in the "secret" field of auth. |
EdFi.Ods.Admin.Web | Web.config | <initialization> | Example: <initialization enabled="true">
<users>
<add name="Test Admin" email="test@ed-fi.org" password="***REMOVED***" admin="true">
<sandboxes>
<sandbox name="Populated Demonstration Sandbox" key="populatedSandbox"
secret="populatedSandboxSecret" type="Sample" refresh="true" />
<sandbox name="Minimal Demonstration Sandbox" key="minimalSandbox"
secret="minimalSandboxSecret" type="Minimal" refresh="true" />
</sandboxes>
</add>
</users>
</initialization>
| Custom configuration section for defining automatically created user accounts and sandboxes. Also configures automatic refreshes of sandboxes to a clean state. Each user entry will be created with the given email/password, and the sandboxes defined underneath it will also be created for the type and key/secret values. |
EdFi.Ods.WebApi | Web.config | QueueAutoCreate | Example: 1 | Whether or not a message queue should be created if it is not found. For Azure or Active Directory queues, this should be 0. |
EdFi.Ods.WebApi | Web.config | CommitUploadCommandMessageEndPoint | Example: localhost | The server hosting the message queues. |
EdFi.Ods.WebApi | Web.config | BearerTokenTimeoutMinutes | Example: 30 | The amount of time that an inactive token remains valid. |