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 - Updates
- Ian Christopher
- Chris Moffatt (Deactivated)
Previous Version
This is a previous version of the Ed-Fi ODS / API. Visit the Ed-Fi Tech Docs home page for a link to the current version, or the Ed-Fi Technology Version Index for links to all versions.
Updates to the Ed-Fi ODS / API
This section provides an overview of all the improvements, updates, enhancements, fixes, and changes in the latest version of the ODS / API. Although v2.0 is the first formal release of the Ed-Fi ODS / API, it was preceded by a Technical Preview and a Beta version that early adopters used in field implementations. Key differences with those prior versions are discussed below.
Improvements & Enhancements
Major improvements and enhancements are described here. Additional improvements and enhancements are documented in the Release Notes section of this documentation.
API Profiles (New in final release)
An API Profile enables the creation of a data policy for a particular set of Ed-Fi ODS / API Resources, generally in support of a specific usage scenario (such as for Nutrition or Special Education specialty vendors). The Profile can then be assigned to API consumers in the Security Configuration UI to ensure that all requests made by the consumer for Resources covered by the Profile's data policy use the Profile-specific content types, and thus are appropriately constrained. For more details, see the API Profiles section of the Platform Developers' Guide.
Alignment to Ed-Fi Data Standard v2.0
This release aligns to the Ed-Fi Data Standard v2.0, which is the current public release. This alignment will cause breaking changes for any early adopter applications developed against the previous Ed-Fi ODS / API - /wiki/spaces/TT/pages/18645345 (which was aligned to the /wiki/spaces/TT/pages/18645381).
ODS Schema Changes from Beta to Final Release (New in final release)
The following bug fixes were made to the ODS database schema between the Beta and final release:
- The [CreateDate] column was added to [edfi].[GraduationPlanRequiredAssessmentAssessmentPerformanceLevel].
- The following column was changed from NULL to NOT NULL:
- [edfi].[AssessmentIdentificationSystemDescriptor].[AssessmentIdentificationSystemTypeId]
- The following columns were changed from NOT NULL to NULL:
- [edfi].[ProgramCharacteristicDescriptor].[ProgramCharacteristicTypeId]
- [edfi].[StudentAcademicRecordAcademicHonor].[AchievementCategoryDescriptorId]
- [edfi].[StudentAcademicRecordDiploma].[AchievementCategoryDescriptorId]
- [edfi].[StudentAcademicRecordRecognition].[AchievementCategoryDescriptorId]
- [edfi].[StudentSpecialEducationProgramAssociation].[SpecialEducationSettingDescriptorId]
- The following tables were missing a default value of (getdate()) for column [CreateDate]
- [edfi].[GraduationPlanRequiredAssessment]
- [edfi].[LearningStandardGradeLevel]
- There were a number of index and foreign key changes to tables
Enhancements to the Application-level Security Model
Security Configuration Tool (New in final release)
The Ed-Fi ODS / API Security Configuration tool allows a designated administrator user to manage the security of the API for their vendors via a graphical user interface. For more details see the Security Configuration Tool section of the Platform Developers' Guide.
Security Visualization Tool (New in final release)
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 command-line tool is provided to help implementers visualize authorization configurations. For more details see the /wiki/spaces/ODSAPI20/pages/25919958 section of the Platform Developers' Guide (documentation to come).
Security Assessment (New in final release)
An independent security assessment of the Ed-Fi ODS / API was performed for the Ed-Fi Alliance by the Denim Group. As a result of the assessment, the following issues were identified for remediation (a login is required to review these issue in the Ed-Fi Tracker):
- ODS-531: Add clickjack protection to ODS Admin Portal, Security Configuration Tool, and Key Retrieval Tool
- ODS-532: Replace key and secret algorithms with cryptographic algorithms
- ODS-533: Mitigate Unsafe Authentication
- ODS-534: Mitigate Heap Inspection Security Risk
- ODS-535: Secure the Key and Secret information in the Ed-Fi Admin database
Please contact the Ed-Fi Alliance directly at info@ed-fi.org if you would like to review the security assessment report.
General Security Enhancements
A number of enhancements were made to the application-level security model which first appeared in the beta release. These enhancements included metadata-driven configuration and support for school-level security (in addition to LEA-level security). For more details see the Security section of the Platform Developers' Guide.
Expanded Documentation (New in final release)
Documentation has been greatly expanded for the final release. In addition to documentation for new and enhanced functionality, documentation has been added or expanded for the following areas:
- Deployment documentation, covering both Sandbox Deployments and Production Deployments
- A separate and expanded guide for API Client Developers
- Expanded information on Configuration and Extensibility & Customization
- Details on Unique ID System Integration
Ed-Fi ODS / API Client SDK
The Ed-Fi ODS / API exposes metadata describing the exposed resources as well as the inputs, verbs, and schema of the entities involved. This metadata enables the included Swagger UI framework to display API documentation and provides the ability to interact with the API through a user interface. This same metadata is also used to generate an Ed-Fi ODS / API SDK for C# and Java client applications, which reduces the development work required for clients to integrate with the ODS / API platform. For more information, see the API Client Developers' Guide.
Performance Testing
The transactional nature of the system means that the system must operate gracefully under all conditions, including when under heavy load. Work was undertaken to develop a load testing harness and test the system under load for transactional and bulk loading scenarios. Performance test results from this work can be found in the ODS / API Transactional Performance Testing and ODS / API Bulk Load Performance Testing technical articles.
Support for Ed-Fi Descriptors
The Technical Preview release required that system administrators pre-load Ed-Fi Descriptors1 into the system directly into the database. Authorized applications can now load Ed-Fi Descriptors via the transactional and bulk import APIs, and update Ed-Fi Descriptors via the transactional API.
Bug Fixes
This release includes a number of bug fixes contributed by the Ed-Fi Alliance and early adopters. Details are catalogued in the Release Notes.
1 For more information on Ed-Fi Descriptors, see the Ed-Fi Data Standard Developers' Guide documentation.