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.
What's New - Overview
- Chris Moffatt (Deactivated)
- Ian Christopher
This section provides an overview of the improvements, enhancements, and fixes in the v2.1.1 release of the ODS / API. A comprehensive listing of all changes is documented in the Release Notes section.
Improvements & Enhancements
This section briefly describes new features and enhancements built in to the ODS / API v2.1.1 and provides links to additional documentation.
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.
Standard API Composite Resources
In addition to providing developer support for creating customized composite endpoints, the as-shipped ODS / API v2.1.1 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.
- The Assessment Composite API enables the efficient transfer of assessment metadata and assessment results from one system to another. This API is an implementation of Ed-Fi RFC 3, the Ed-Fi Data Standard - Assessment API. This implementation compliments and does not replace the existing resources designed for assessment data collection (i.e, assessments, assessmentItems, objectiveAssessments and studentAssessments).
Authorization Enhancements (New in v2.1.1 release)
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 (New in v2.1.1 release)
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.
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:
- Caching improvements (tickets ODS-869, ODS-870, ODS-871). (New in v2.1.1 release)
- Fixed life cycles of both UsersContext and SecurityContext to clean up on a regular basis (tickets ODS-723, ODS-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:
- Implemented support for prefixing ODS database names (ticket ODS-770). (New in v2.1.1 release)
- Modify Sdk Generation to Create Request Objects for GetByKey and GetByExample (ticket ODS-847). (New in v2.1.1 release)
- Improved client SDK generation to generate bulk/identity API and models into a single namespace (ticket ODS-846). (New in v2.1.1 release)
- 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-700, ODS-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-811, ODS-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.
Bug Fixes
This release includes a number of bug fixes contributed by the Ed-Fi Alliance and implementers. Details are catalogued in the Release Notes.