This version of the Ed-Fi ODS / API is no longer supported. See the Ed-Fi Technology Version Index for a link to the latest version.

 

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 director
  • 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 Ed-Fi 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. 

ApplicationLocationSetting NameValueDescription
EdFi.Ods.Admin.WebWeb.configOAuthUrl

Example: http://site-address:port/oauth

Points to the root of the authorization API in the Ed-Fi ODS / API.
EdFi.Ods.SecurityConfiguration
.Administration.Web
Web.configKeyRetrievalSiteExample: 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.WebApiWeb.configowin:appStartupSandbox, SharedInstance, etc.The component settings for the API. See the Developers' Guide for more information on this setting.
EdFi.Ods.SwaggerUIWeb.configswagger.webApiMetadataUrlExample: http://site-address:port/metadata/The location of the Swagger metadata in the Ed-Fi ODS / API.
EdFi.Ods.SwaggerUIWeb.configswagger.webApiVersionUrlExample: http://site-address:port/Points to the version endpoint 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:

ApplicationLocationSetting NameValueDescription
Key Retrieval Web AppWeb.configMaxChallengeRetriesDefault Value: 3This is the number of tries a vendor is allowed to enter the correct activation code to retrieve the key and secret.
EdFi.Ods.SwaggerUIWeb.configswagger.prepopulatedKey

Example:
populatedTemplate

Optionally provides the value to prefill in the "key" field of auth.
EdFi.Ods.SwaggerUIWeb.configswagger.prepopulatedSecret

Example:
populatedTemplateSecret

Optionally provides the value to prefill in the "secret" field of auth.
EdFi.Ods.Admin.WebWeb.config<initialization>

Example:

Contents on Web.Config
<initialization configSource="AdminCredential.config" />

Sample contents of AdminCredential.config
<initialization enabled="true">
  <users>
    <add name="Test Admin" email="test@ed-fi.org" password="SVpcL4yBICNw3uhQO179G" admin="true">
      <sandboxes>
        <sandbox name="Populated Demonstration Sandbox" key="yKqfNFm310whrkvGBC5AQ"
          secret="EfYy6v5Tx3VuMCkQgS9c0" type="Sample" refresh="true" />
        <sandbox name="Minimal Demonstration Sandbox" key="iHyObkIehprzmjuZwnUqg"
          secret="cYPh0Htdl1xqTKUaSZMAI" type="Minimal" refresh="true" />
      </sandboxes>
    </add>
  </users>
</initialization>

Custom configuration section (sourced by an external config file AdminCredential.config) 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.WebApiWeb.configQueueAutoCreateExample: 1Whether 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.WebApiWeb.configCommitUploadCommandMessageEndPointExample: localhostThe server hosting the message queues.
EdFi.Ods.WebApiWeb.configBearerTokenTimeoutMinutesExample: 30The amount of time that an OAuth token remains valid.