- Created by Ian Christopher [Contractor] [X] on Sep 10, 2022
This section provides an overview of the new features in v6.0 of the Ed-Fi ODS / API for Tech Suite 3, targeted at deployment starting in the 2023–2024 school year. A comprehensive list of all changes is in the Release Notes section.
The changes include:
Detail about each change follows.
Improvements & Enhancements
This section briefly describes the new features and enhancements built into the Ed-Fi ODS / API Platform v6.0 and provides links to additional documentation.
Data Model Changes
ODS / API v6.0 implements Ed-Fi Data Standard v4.0-a, which introduces important updates to the core data model for domains commonly used by student information systems (e.g., the Grade & Gradebook entities), assessment systems, and finance systems. There are breaking changes in these domains, so implementers are advised to review the changes carefully. Other areas of the model have received minor, non-breaking updates. Refer to What's New - v4.0-a for details. Platform hosts should also be aware that there are database changes and changes to build and deployment pipelines.
Enhancements to Change Queries Delete Tracking
The ODS / API tracks inserts, updates, and deletes. The ODS/API surfaces those changes to client systems through a feature called "changed record queries." This feature allows client systems to narrow requests for data to only data that has changed since a specified point in time, which enables clients to stay in sync with the ODS / API without having to pull a complete data set. This release provides additive changes to address shortcomings identified by field implementations related to delete tracking and key changes, specially in ODS to ODS sync scenarios.
- The Changed Record Queries article contains detail for platform hosts, including how to enable the feature and detail behind the impact on the ODS data table structure.
- The Using the Changed Record Queries section in the API Client Developers' Guide provides how-to information for client systems.
Combining Authorization Strategies
In previous releases of the ODS / API, each resource action could be configured to use a specific authorization strategy. Refer to API Claim Sets & Resources for details on authorization strategies. Recently, use cases have emerged where vendors need access both to enrolled student access and special cases of unenrolled student access. In previous implementations, such support meant code changes and authorization-related view changes. Refer to Authorization for Unenrolled Students for one such use case and the changes required in previous implementations.
Ed-Fi ODS / API v6.0 allows combining authorization strategies for a resource action so that an API client can access the resource when any one of the configured authorization strategies satisfy. Platform hosts should be aware that there are schema changes to EdFi_Security database related to this feature.
Ownership Based Authorization
The Ed-Fi ODS / API primarily uses a relationship-based authorization strategy based on education organizations. While relationship-based authorization strategy is sufficient for most of the implementations, use cases have emerged in the field that require more granular access control.
In this release, the Ed-Fi ODS / API adds ownership-based authorization that can be used in additional scenarios. When enabled, this authorization strategy authorizes access to individual resources based on the concept of “ownership." An API caller has an associated "Ownership Token" that is captured with each resource the caller creates. The API caller's claims information also includes a list of "Ownership Tokens" that can be used to identify which resource items they currently "own," and the authorization process will filter results for matching an "Ownership Token" value stored with the resources.
Refer to Ownership Based Authorization for technical details on how to configure the ODS / API for this feature. Refer to API Claim Sets & Resources for details on various available authorization strategies. Platform hosts should be aware that there are schema changes to EdFi_Security database related to this feature.
Support For External Cache
The ODS / API uses in-memory caching for descriptors, person-USI-to-Unique-Id mapping and API client details used for authorization, which improves API performance by avoiding additional database calls. However this increases memory requirements, and in large implementations a cache can take up several gigabytes. Implementations running the Ed-Fi ODS / API on containers, scaling up API containers based on resource utilization means a repeated in-memory cache on each instance. In addition, with individual API instances maintaining their own in-memory cache, caches can get out of sync.
The ODS / API v6.0 release provides and optional feature for using external distributed cache service (Redis), so that the resources that are currently cached per Ed-Fi API instance can be shared on a distributed cache server. Refer to How To: Use an External Cache Provider for the Ed-Fi API for details on how to enable external caching and how to choose external or in-memory caching for specific cache data.
.NET 6, SQL Server 2019, PostgreSQL 13 Upgrade
The ODS / API v6.0 has been upgraded to use .NET 6 and will require Visual Studio 2022 as a development environment. The code has been tested with Microsoft SQL Server 2019 and PostgreSQL 13 databases and the sample databases that ship with ODS / API are compatible with the above mentioned database server versions. See Getting Started section for more details on the required software.
MetaEd IDE v3.1
Implementing extensions in ODS / API v6.0 requires implementers to update to MetaEd IDE v3.1.
Find out more about what's new in the latest version of the Ed-Fi ODS / API: