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.

Skip to end of metadata
Go to start of metadata

This documentation provides a summary overview of the major improvements, updates, fixes, and changes made in previous releases of the Ed-Fi ODS / API v2.x suite of releases and provides links to additional documentation.

Improvements & Enhancements - Version 2.2

Full documentation for this release can be found at Ed-Fi ODS / API v2.2.

Performance Improvements to Bulk Load 

The bulk load process has been updated to improve the performance of bulk loading Ed-Fi XML data files. Under the new implementation, bulk load processing is done in two phases. The first phase processes the data from Ed-Fi XML files into the Bulk Load ODS. The second phase processes the data in the Bulk Load ODS into the current ODS. For more details, see ODS / API Optimized Bulk Load

Improved Identities API 

In ODS / API v2.2, the Identities API has been improved, based on feedback and requirements from field implementations. The Ed-Fi Identities API provides an abstraction wrapper for an optional, native identity system. The revised interface is described in detail in the Identities API technical article, and code changes are tracked here.

Swagger Usability Enhancements 

The API interface to the Ed-Fi ODS / API exposes metadata describing the exposed resources as well as the inputs, HTTP verbs, and schema of the exposed entities. This metadata enables a user interface (based on the Swagger framework) to display API documentation. In the v2.2 release, the Swagger documentation framework was upgraded to Swagger v2.0, which delivers improvements in the API documentation pages. In addition, an API summary page is provided, which provides an overview of the type of APIs, with links to detail pages.

Smoke Testing Tool 

The ODS / API Smoke Test Tool is a console application that will exercise each dynamically generated endpoint of the ODS / API. Its purpose is to verify an installation and operation of an ODS / API, which is useful as part of a continuous build or continuous deployment environment. For more information, see How To: Use the ODS / API Smoke Test Utility.

Improvements and Enhancements - Version 2.1.1

Full documentation for this release can be found here.

Authorization Enhancements

A number of enhancements were made related to authorization:

  • Added support for claim set specific authorization overrides (ticket ODS-475).

  • Added support for authorization-specific validations (ticket ODS-836). 

  • Added an authorization strategy for establishing relationships with a student through the StudentEducationOrganizationAssociation table instead of the StudentSchoolAssociation table (ticket ODS-475).

For more information, see the readme file in the Application/SampleAuthorizationExtensions folder in the Ed-Fi-ODS-Implementation repository.

New Utilities

Two new utilities were added to the project.

  • Client-Side Bulk Load Utility. A client-side utility for loading Ed-Fi Standard XML files - contributed by the Michigan TRIG Data Integration Activity.

  • XML Lookup Utility. Uses Ed-Fi Standard XSD files and a functional Ed-Fi ODS / API to retrieve and add identity type information to reference types that only contain lookup types in Ed-Fi XML files. This enables loading data into an Ed-Fi ODS / API even if the reference type only contains lookup type information. For more information see How To: Use the XML Lookup Utility.

Developer Assistance

A number of improvements were made to support developers getting started with ODS / API implementation, including:

  • Implemented support for prefixing ODS database names (ticket ODS-770).
  • Modify Sdk Generation to Create Request Objects for GetByKey and GetByExample (ticket ODS-847).
  • Improved client SDK generation to generate bulk/identity API and models into a single namespace (ticket ODS-846).

Improvements and Enhancements - Version 2.1 

Full documentation for this release can be found here.

Standard API Composite Resources

In addition to providing developer support for creating customized composite endpoints, the as-shipped ODS / API contains two predefined API Composite Resources, the Enrollment Composite API and Assessment Composite API.

  • The Enrollment Composite API enables efficient transfer of basic student and teacher demographic data and enrollment data for K–12 education. This API is an implementation of Ed-Fi RFC 4, the Ed-Fi Data Standard - Enrollment API.

Customizable API Composite Resources

As part of the evolution of the Ed-Fi ODS / API from primarily supporting data collection use cases to a widening set of data integration use cases, a mechanism is needed for exposing data from multiple standard API resources in a single call, effectively reducing the “chattiness” of API interactions.

API Composite Resources address this requirement, enabling platform hosts to create API endpoints that combine and re-shape resources – analogous to the way a database view can join information from multiple tables. The API Composite Resources section of the Developers' Guide has an overview and basic how-to information. The ODS / API Composite Resources Technical Approach technical article has information about how API Composite Resources work under the hood.

Validation of Mandatory 1-many Sub-Relationships

This release includes updated API code to validate mandatory 1-many sub-relationships when data is submitted via the REST API. Details can are found in the Ed-Fi Tracker / JIRA system on ticket ODS-623

Release Note

An effect of fixing this bug is to validate that additional data (required according to the Ed-Fi data standard) is supplied in affected resources. This may impact existing client API applications that are not supplying all required data. See the Ed-Fi Tracker ticket referenced above for more details

Performance and Stability Improvements

A number of changes were made to improve performance and stability, including:

  • Fixed life cycles of both UsersContext and SecurityContext to clean up on a regular basis (tickets ODS-723ODS-630).
  • Fixed memory leak due to the Windsor container holding a reference to a controller (ticket ODS-765).
  • Added additional security and authorization unit test coverage (ticket ODS-806).
  • Added null check action filter for POST, PUT, and DELETE to address 500 error due caused by a null reference (ticket ODS-625). 
  • Added missing indexes on entity IDs (ticket ODS-561).
  • Addressed issue with bulk load services generating massive logs under some conditions (ticket ODS-671).

Developer Assistance

A number of improvements were made to support developers getting started with ODS / API implementation, including:

  • Created standardized logging configurations (ticket ODS-739).
  • Improved information on "natural key conflict" error messages (ticket ODS-478).
  • Added support for Visual Studio 2015 (tickets ODS-700ODS-709).
  • Made database restoration process more resilient to non-default SQL installations (ticket ODS-670).
  • Provided additional claim sets in the as-shipped code (tickets ODS-811ODS-804).
  • Made Azure SDK optional (ticket ODS-208).
  • Validated API Profile definitions (ticket ODS-568).

Expanded Documentation 

In addition to documentation for new and enhanced functionality, documentation has been added or expanded for the following areas, including:

  • Security Visualization Tool. Authorization schemes in an Ed-Fi ODS / API implementation are flexible and can be customized to serve a wide variety of security needs – but the metadata can get quite complex quickly. A new command-line tool has been provided to help implementers visualize authorization configurations. For more details see the Security Visualization Tool section of the Platform Developers' Guide.
  • Bulk Load Services. Helpful information on how to configure bulk load services and use the bulk load endpoints is provided in How To: Use the Ed-Fi API Bulk Load Services.
  • Logging Configuration. The Ed-Fi ODS / API uses the Apache log4net framework to assist developers and operations staff log system output at a variety of output levels and to a variety of output targets. The ODS / API System & Application Logging Configurations page provides example configurations for specific scenarios.

What's New Documentation Contents

Find out more about what's new in the latest version of the Ed-Fi ODS / API:

  • No labels