The Ed-Fi “Classic Dashboards” are no longer supported through the Ed-Fi Alliance. You can still receive support and maintenance through the Ed-Fi vendor community. Please look at any of the vendors’ dashboard solutions on the Registry of Ed-Fi Badges or the Ed-Fi Starter Kits if you are looking for a visualization solution to use with the Ed-Fi ODS. This documentation will remain available to assist existing Classic Dashboard implementers.

ETL Developers' Guide - Application Configuration

The Ed-Fi Dashboards v3.0 ETL Application has a number of built-in configuration and extensibility options that will allow you to customize application behavior without coding.

All application configuration settings are located in the App.config file in the EdFi.Runtime folder. When deployed to production, the settings are located in the EdFi.Runtime.exe.config file in the EdFi.Runtime folder.

General Application Settings

The ETL Application runtime has a number of general settings that determine how it will run. 

Application-Related Settings

These are settings that affect how the executable itself runs.

Setting NamePossible ValuesDescription

MinimumLogLevel

Verbose, Debug, Information, Warning, Error, Fatal

Sets the logging level for the ETL. Performance may be adversely affected when the logging level is set to "Verbose", so this setting should only be used for active troubleshooting. The default setting is "Information".

Example:
<add key="MinimumLogLevel" value="Information" />

EnableConsoleLogging

boolean

Shows log output in the console.

Example:
<add key="EnableConsoleLogging" value="false" />

SqlQueryCommandTimeout

int

Sets the SQL query command timeout. Specified in seconds.

Example:
<add key="SqlQueryCommandTimeout" value="120" />

All application configuration settings must be present in the App.config file, otherwise the executable will throw a fatal exception.

Metric-Related Settings

These are settings related to how certain metrics will be calculated implementation-wide. 

Setting NamePossible ValuesDescription
DailyAttendanceCalculationSource 

Both, School, Section

For Daily Attendance Rate calculations, this setting determines which method below is used.

  • If the flag is set to "School", then Daily Attendance is used.
  • If the flag is set to "Section", then Section Attendance is used.
  • If the flag is set to "Both" (which is the default), then both are used. In the case of a student having both, priority is given to Daily Attendance.

Example:
<add key="DailyAttendanceCalculationSource" value="Both" />
ReportingPeriodLastXDaysint

For attendance calculations, this setting provides the range of instructional days upon which to perform the metric calculation. For example, a reporting period of four weeks is 20 instructional days.

Example:
<add key="ReportingPeriodLastXDays" value="20" />
ReportingPeriodLastYDaysint

For attendance calculations, this setting provides range of instructional days to perform the metric calculation. For example, a reporting period of eight weeks is 40 instructional days.

Example:
<add key="ReportingPeriodLastYDays" value="40" />
APScoreMasteryLevelint

For student advanced course mastery calculations, this setting provides the threshold for AP score mastery.

Example:
<add key="APScoreMasteryLevel" value="3" />
IBScoreMasteryLevelint

For student advanced course mastery calculations, this setting provides the threshold for IB score mastery.

Example:
<add key="IBScoreMasteryLevel" value="4" />
DaysNeededForLateEnrollmentint

For student information calculations, this setting provides the number of calendar days after which a student is considered for late enrollment.

Example:
<add key="DaysNeededForLateEnrollment" value="14" />
RunOnlyYearEndSnapshotboolean

If set to true, the ETL will roll over the end-of-year metric calculations from the DDS to the DDW. The ETL will not re-calculate metrics in the DDS prior to the rollover.

Example:
<add key="RunOnlyYearEndSnapshot" value="false" />
IncludeWithdrawnStudentsboolean

When true, students who have withdrawn from school or are not enrolled will be processed normally. If false, students not enrolled in school will be excluded from output and metric calculations. The default is true.

Example:
<add key="IncludeWithdrawnStudents" value="true" />

Advanced Settings

This section covers advanced settings useful for performance tuning, debugging the ETL Application runtime execution, and so forth.

Setting NamePossible ValuesDescription
ExcludeExtensionListNames of metric extensions (e.g., StudentAttendance, StudentCourseGrades)

Comma-separated list of container metric projects to exclude from the ETL execution. Commonly used to debug.

Example:
<add key="ExcludeExtensionList" value="" />
CacheAllQueriesboolean

Caches streamed objects in bus. Commonly used for debugging the ETL but may also be necessary if dealing with large datasets to avoid timeouts.

Example:
<add key="CacheAllQueries" value="false" />
DryRunboolean

When DryRun is true the ETL does not write to the output databases. Commonly used for debugging the ETL.

Example:
<add key="DryRun" value="false" />
UseFileBufferboolean

When the streamed data reaches the BulkCopyBufferSizeMax, the data in the buffer will be written to a file, to free up memory. The file will be read into SQL Server using SQL Bulk Copy.

This feature is useful when dealing with large datasets (i.e., 250K+ students).

Example:
<add key="UseFileBuffer" value="false" /> 
FileBufferLocationPath to folder (e.g., C:\Windows\Temp)

When UseFileBuffer is true, FileBufferLocation specifies the directory into which the file will be written. SQL Server must have permissions to read the directory. The ETL application must have permissions to write to the directory.

The disk containing the directory must be able to store the amount of data being buffered to the server, which depends on the amount of data in the ODS. The storage requirements listed in the ETL Developers' Guide - Overview should be sufficient for this process.

Example:
<add key="FileBufferLocation" value="C:\Windows\Temp" />
CalculateDailyHistoricalAttendanceboolean

Determines if daily historical attendance calculations are performed. Daily historical attendance is a time-consuming process, so the feature can be turned off. However, the historical graph for attendance will not show the daily period link.

Example:
<add key="CalculateDailyHistoricalAttendance" value="true" /> 
RebuildHistoricalCalculationsboolean

When true, the ETL will recalculate historicals for all time periods in the current school year. When false, the ETL will only calculate historical metrics for time periods that have not been completed previously.

Example:
<add key="RebuildHistoricalCalculations" value="true" />
SessionTraceFlagsComma-separated list of ints

Turns on SQL Server trace flags for executed queries.

Example:
<add key="SessionTraceFlags" value="" />

This requires SQL Server Administrator rights which is not recommended for production environments. The current use is only for running integration tests disabling SQL Read Ahead.

Example:
<add key="SessionTraceFlags" value="8744,652" />

DashboardLinkstring

Used for advanced linked server configurations only: for most configurations, this option should be left as default, which is empty.

Linked server name for the instance containing the Dashboard.

For users with a linked server configuration where the Data Warehouse and Dashboard exist on different instances, ensure that the Data Warehouse has a linked server configured by this name with access to the Dashboard.

Example:
<add key="DashboardLink" value="SERVER\DDSLINK" />
OdsLinkstring

Used for advanced linked server configurations only. For most configurations, this option should be left as default, which is empty.

Linked server name for the instance containing the ODS.

For users with a linked server configuration where the Data Warehouse and ODS exist on different instances, ensure that the Data Warehouse has a linked server configured by this name with access to the ODS.

Example:
<add key="OdsLink" value="SERVER\ODSLINK" />