Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Expand
titleMermaid diagram
Code Block
sequenceDiagram
    actor Sys Admin

    rect rgb(191, 223, 255)
    note right of Sys Admin: One time setup.

        Sys Admin->>Config Service: POST /connect/register
        Config Service->>Identity Provider: Create credentials
        note right of Identity Provider: Created with config role
        
        Config Service-->>Sys Admin: clientCredentials
    end

    Sys Admin->>Config Service: POST /v2/vendors
    Config Service->>Config Database: INSERT dbo.Vendor

    Sys Admin->>Config Service: POST /v2/applications

    Config Service->>Identity Provider: Create credentials
    note right of Identity Provider: Created with dms role
    Identity Provider-->>Config Service: clientCredentials
    Config Service->>Config Database: INSERT dbo.Application
    Config Database -->>Config Service: applicationId
    Config Service->>Config Database: INSERT dbo.ApplicationEducationOrganization
    Config Service->>Config Database: INSERT dbo.ApiClient

    Config Service-->>Sys Admin: clientCredentials

...

Roadmap

Getting to a pilot-ready release candidate by Tech Congress was always going to be challenging. The team has been working hard, but we need to adjust the milestones and expectations for release candidate 1.

Goals for release candidate are broadly:

  1. Deployable and fully functional in the basic CRUD operations on all Resources and Descriptors.

  2. Proper error handling and edge case management.

  3. Performance on par with the ODS/API.

  4. Be useable for basic field testing and non-critical path use cases.

While we want to be looking ahead to supporting state agency use, at the 2024 Summit we agreed to prioritize service provider / LEA usage scenarios first. Given that,

...

Milestone

...

Functional Goals

...

Basic timeline

  1. Tech Congress 2025 - release candidate with “basic” feature set useable for pilot testing typical data exchange scenarios.

Info

Focused primarily on LEA and vendor-to-vendor scenarios.

State scenarios are critical for this project. The Alliance will be designing for state usage scenarios before Tech Congress 2025, but not prioritizing delivery.

  1. Summit 2025 - production-ready version 1.0

Info

Aiming for feature parity with the ODS/API from the perspective of API-based integrations, with one primary exception: no plan to support XML-based composites.

States should be able to pilot test at this point.

Feature List

Note

Reviewing the list below:

  1. Which features listed “By Summit” should we prioritize to try to release sooner?

  2. Are there any features we failed to list?

Data Standard and API Standard Compatibility

0.2

Status
colourGreen
titleDONE

  • 📢 Milestone 0.2.0 has been reached!

  • .NET application with PostgreSQL storage

  • Level 0 and Level 1 document validation

  • Reference and descriptor validation

  • Error message like ODS/API 7.2

  • Docker and Kubernetes

0.3

Feature

ODS/API Platform

Data Management Service

By TC

By Summit

Resources API - core Ed-Fi Data Standard

(tick)

Status
colourGreen
titledone

(tick)

Compliant Discovery API, Descriptor API, and Resource API definition (except GET by query): able to run bulk upload, smoke test. Includes JSON validation based on API schema file. Fake OAuth (1).

Descriptor API - core Ed-Fi Data Standard

(tick)

Status
colourGreen
titledone

(tick)

Discovery API

(tick)

Status
colourGreen
titledone

(tick)

Data Standard version independence

(tick)

Status
colourBlue
titleMUST HAVE

(tick)

MetaEd-based extensions

(tick)

Status
colourBlue
titleMUST HAVE

(question)

(tick)

Dynamic Profiles

(tick)

Status
colourBlue
titlemust have

(question)

(tick)

Multiple data standards in same deployment

(error)

Status
colourYellow
titleCould Have

Note

Does anyone want this?

(question)

XML Composites

(tick)

Status
colourRed
titleWOn't Have

(error)

Data Integrity and Validation Features

Feature

ODS/API Platform

Data Management Service

By TC

By Summit

Level 0 and level 1 validation

(tick)

Status
colourGreen
titledone

(tick)

Descriptor validation

(tick)

Status
colourGreen
titledone

(tick)

Reference validation

(tick)

Status
colourGreen
title

DONE
  • Streaming data out via Kafka

  • GET by query using OpenSearch

  • done

    (tick)

    Cascading updates on

    allowed key changes
  • Abandoned direct Kubernetes support as too costly

  • by 10/1 (Ed-Fi Summit)

  • 0.4

    key changes

    (tick)

    Status
    colourGreen
    titledone

    (tick)

    Concurrency management with ETags

    (tick)

    Status
    colourBlue
    titleMUST HAVE

    (question)

    (tick)

    Level 2 validation via SQL scripts

    (tick)

    Status
    colourBlue
    titleMUST HAVE

    Once a compatibility layer is available, will be able to run the same SQL scripts used today for Level 2 validation

    (question)

    Realtime level 2 validations via streaming data

    (error)

    Status
    colourYellow
    titleCould Have

    Note

    Does anyone want this? Might be more of a demonstration than a core feature of the system

    (question)

    Database Technologies

    Feature

    ODS/API Platform

    Data Management Service

    By TC

    By Summit

    Core database storage in PostgreSQL

    (tick)

    Status
    colour

    Blue

    Green
    title

    in progressToken authorization

    done

    The database structure is very different than the ODS database

    (tick)

    Core database storage in MSSQL

    (tick)

    Status
    colour

    Green

    Blue
    title

    DONEClient credentials management

    MUST HAVE

    (tick)

    GET queries using search database

    (error)

    Status
    colourGreen
    title

    DONENamespace authorization

    done

    Either OpenSearch or Elasticsearch

    (tick)

    GET queries using relational database

    (tick)

    Status
    colour

    Yellow

    Blue
    title

    nextBONUS: Elasticsearch/Kibana instead of OpenSearch/OpenSearch Dashboard

    MUST HAVE

    Removes the requirement to run Kafka and OpenSearch or Elasticsearch

    (tick)

    Reporting queries using ODS database schema

    (tick)

    Status
    colour

    Green

    Blue
    title

    DONE

    0.5

    Design spikes around ed-org authorization

    MUST HAVE

    Note

    This will likely be a compatibility layer to ease the transition for those who have built reporting solutions on the ODS database structure.

    Is this required for state-based pilot testing? Can it be finalized after the 1.0 release?

    (question)

    Core database storage in managed PostgreSQL-compatible databases (e.g. Aurora, Cosmos DB)

    (error)

    Status
    colourPurple
    titleSHOULD Have

    Conceptually this should work, but we may need community help for testing these scenarios while the development team focuses on code-level features.

    (question)

    Data Management Features

    Feature

    ODS/API Platform

    Data Management Service

    By TC

    By Summit

    Streaming data out via Kafka

    (error)

    Status
    colourGreen
    titledone

    (tick)

    Change Queries API

    (tick)

    Status
    colourPurple
    title

    DONEConcurrency management with eTags

    SHOULD Have

    Required for API Publisher synchronization; if not implemented must provide alternative.

    (question)

    Security Features

    Feature

    ODS/API Platform

    Data Management Service

    By TC

    By Summit

    API-driven client credential management

    (tick) (Admin API)

    Status
    colour

    Red

    Green
    title

    DEFER?Extensions

    done

    (tick)

    OAuth token authentication

    (tick)

    Status
    colour

    Red

    Green
    title

    DEFER?Multiple data standards

    done

    (tick)

    Integration with third party OAuth identity providers

    (error)

    Status
    colour

    Red

    Blue
    title

    DEFER? (DS 5.2)

    0.6

    Dynamic profiles

    MUST HAVE

    At minimum, will support Keycloak, with clear path for supporting other providers

    (tick)

    API-driven claimset management

    (tick) (Admin API)

    Status
    colourBlue
    titleMUST HAVE

    (tick)

    Namespace authorization

    (tick)

    Status
    colourBlue
    titleMUST HAVE

    (tick)

    Relationship authorization

    (tick)

    Status
    colourBlue
    titleMUST HAVE

    (tick)

    Ownership authorization

    (tick)

    Status
    colour

    Red

    Blue
    title

    DEFER?Multitenancy and routing

    MUST HAVE

    (question)

    (tick)

    Combined authorization

    (tick)

    Status
    colour

    Red

    Blue
    title

    DEFER?

    0.7

    Education organization authorization

    MUST HAVE

    (question)

    (tick)

    Extensible authorization filtering

    (tick) (7.3)

    Status
    colourBlue
    titleMUST HAVE

    (question)

    Deployment Management

    Feature

    ODS/API Platform

    Data Management Service

    By TC

    By Summit

    Docker images

    (tick)

    Status
    colour

    Purple

    Green
    title

    Move upClaimset customization

    done

    (tick)

    Multitenancy routing and instance management

    (tick)

    Status
    colour

    Red

    Blue
    title

    DEFER?

    ...

    MUST HAVE

    (question)

    (tick)

    PowerShell installation scripts for Windows Server

    (tick)

    Status
    colourYellow
    titleCould Have

    Note

    Does anyone want this?

    (question)

    Deployment orchestration via (Kubernetes, Terraform, Cloud Formation, ARM, etc.)

    (error)

    (though there are Exchange contributions)

    Status
    colourRed
    titleWOn't Have

    Unless a community member contributes

    (error)

    Other Integrations

    Feature

    ODS/API Platform

    Data Management Service

    By TC

    By Summit

    SwaggerUI

    (tick)

    Status
    colourBlue
    titlemust have

    (tick)

    Admin Console

    (warning) coming soon

    Status
    colourBlue
    titlemust have

    (question)

    (tick)

    Design Questions

    What plans are there for error detection (i.e. dropped records) and correction?

    ...