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
- Itzel Torres
- Ian Christopher (Deactivated)
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 Name | Possible Values | Description |
---|---|---|
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 Name | Possible Values | Description |
---|---|---|
DailyAttendanceCalculationSource | Both, School, Section | For Daily Attendance Rate calculations, this setting determines which method below is used.
Example: <add key="DailyAttendanceCalculationSource" value="Both" /> |
ReportingPeriodLastXDays | int | 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" /> |
ReportingPeriodLastYDays | int | 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" /> |
APScoreMasteryLevel | int | For student advanced course mastery calculations, this setting provides the threshold for AP score mastery. Example: <add key="APScoreMasteryLevel" value="3" /> |
IBScoreMasteryLevel | int | For student advanced course mastery calculations, this setting provides the threshold for IB score mastery. Example: <add key="IBScoreMasteryLevel" value="4" /> |
DaysNeededForLateEnrollment | int | 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" /> |
RunOnlyYearEndSnapshot | boolean | 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" /> |
IncludeWithdrawnStudents | boolean | 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 Name | Possible Values | Description |
---|---|---|
ExcludeExtensionList | Names 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="" /> |
CacheAllQueries | boolean | 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" /> |
DryRun | boolean | 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" /> |
UseFileBuffer | boolean | 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" /> |
FileBufferLocation | Path 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" /> |
CalculateDailyHistoricalAttendance | boolean | 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" /> |
RebuildHistoricalCalculations | boolean | 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" /> |
SessionTraceFlags | Comma-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: |
DashboardLink | string | 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" /> |
OdsLink | string | 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" /> |