This section describes how to set up a "Year-Specific" configuration. This information is only necessary for those implementers who need to set up an instance of the Ed-Fi ODS / API that provides separate endpoints for data related to specific years. The as-shipped configuration does not segment information by year, and so no additional Year-Specific configuration is required if that's the desired behavior.
Overview
ODS / API platform hosts may choose a "Year-Specific" configuration mode within their ODS environments to partition data per-year within a SQL Server instance. Beginning with Admin App v1.6, Year-Specific mode is supported and configuration instructions are below. For more information on enabling year-specific mode for the Ed-Fi ODS / API platform, please see /wiki/spaces/ODSAPI32/pages/27099724.
Checklist
Use this checklist and the details below to modify your ODS and Admin App to run in Year-Specific mode
- ODS API: configure the ODS API Web.config for YearSpecific startup
- ODS SwaggerUI: configure the swagger.webApiMetadataUrl to contain the configured year. For example, http://localhost:54746/metadata/{year}/
- ODS Database: Rename the EdFi_Ods database to EdFi_Ods_2019
- Admin App: update database value in EdFi_Ods_Production connectionString
- Admin App: enable and configure year specific app settings yearSpecific:isEnabled and yearSpecific:year
Year-Specific Configuration
ODS Web API and SwaggerUI Config
The ODS / API and SwaggerUI each require changes to configure them for Year-Specific mode. If installed through .exe installers, you can locate the Web.config for each using IIS Manager. Right click "Explore" on the web application and then find the Web.config file.

In the SwaggerUI Web.config, make the following changes:
- Update swagger.webApiMetadataUrl to contain a school year.

In the WebApi Web.config, make the following changes:
- Update the owin:appStartup app setting to have the value of "YearSpecific".

ODS Database Year-Specific Naming Convention
In Year-Specific mode, the database is identified with a "_{year}" suffix value in the database name. To enable, install the database as usual, either through the initdev process or through the Windows Installers for the Ed-Fi ODS / API Suite 3. Once installed, you can manually rename the database through SQL Server Management Studio by right clicking on the database name and selecting "Rename":

Admin App Configuration
Admin App requires three configuration changes in the Web.config file in order to enable connections to a Year Specific ODS.
Step 1. Locate the Web.config file
To find the Web.config file, open IIS Manager and navigate to the AdminApp web application. Right-click and select the "Explore" option. This will open the installation directory of Admin App where you will find Web.config.

In Web.config, make the following changes:
Change 1. Set the "EdFi_Ods_Production" connection string to contain the year specific database name created while setting up the ODS. The example below uses the "EdFi_Ods_2019" database and windows authentication:

Changes 2 & 3. To enable year-specific functionality inside Admin App, add the two items shown below into the AppSettings node in Web.config, placing them below any items that already exist.

Reporting Issues
If you encounter issues related to configuration of the Admin App, please create a ticket in the Ed-Fi Tracker system (in the EDFI project).