- Created by Chris Moffatt, last modified on Sep 29, 2016
You are viewing an old version of this page. View the current version.
Compare with Current View Page History
« Previous Version 9 Next »
This section provides an overview of all the new improvements, enhancements and fixes in the v2.1 release of the ODS / API. A comprehensive listing of all changes is documented in the Release Notes section.
Improvements & Enhancements
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 endpoints, the as-shipped ODS / API v2.1 contains two predefined API Composite Resources, the Enrollment Composite API and Assessment Composite API:
- The Enrollment Composite API enables the 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 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 XML files.
XML Lookup Utility : Uses Ed-Fi Standard XSD files and a functional Ed-Fi ODS API to retrieve and adds identity types to reference types that only contain lookup types in Ed-Fi XML files, for subsequent loading into an Ed-Fi ODS / API. 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, and 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, 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:
- Added support for authorization strategy overrides and authorization-specific validations (tickets ODS-475, ODS-836). (New in v2.1.1 release)
- 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)
- 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.
- No labels