Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

Identification

Are you responding as a...

(Choice)

  • Vendor who accesses Ed-Fi API instances?
  • Host who manages Ed-Fi API instances?
  • Education Agency who relies on an Ed-Fi API?

Feature Usage

Which of these ODS/API features do you use?

(Likert scale with options: not used, some usage, critical usage)

  • Profiles - for restricting data access
    • Both read and write
  • Profiles - for performance benefit
    • There are fewer attributes in the GET request
  • Extensions
  • Change Queries
  • "Link" in the HTTP response
  • PUT requests - instead of DELETE & POST
    • (warning) Some organizations choose to DELETE and then re-POST modified records, instead of using PUT. Commonly this is to avoid extra coding logic around disallowed natural key updates (e.g. no updating a StudentUniqueId).
  • ETags and If-Match header
  • Data model information list at /api
  • XSD endpoint
  • Dependencies endpoint
  • Enrollment Composite
  • Identity Pass-through
  • Location header - storing the ID

Strictness

How important are the following to you?

(Likert scale with options: could, should, must)

  • Strict JSON payload validation
    • e.g. reject extra properties
    • Why? Someone might have a typo on an optional property and never realize because it was accepted but thrown away
  • Require a DateTime to include the time
    • Most validators require the time component, though some systems will infer it as midnight
  • Store time in UTC
    • Otherwise, whose timezone is it?
  • Resources names and attributes are case sensitive
    •  /ed-fi/classPeriods is different from /ed-fi/ClAsPeriODs
    • ?schoolId=1234 is a valid query but ?sCHOoLid=1234 is not.
  • Strings (e.g. in payload, or search values) are case sensitive
    • ?firstName=John and ?firstName=JOHN return different results
    • This is the default in PostgreSQL, but not in SQL Server
    • Modifying the database setting is harder than one would think
  • API version metadata declares case sensitivity
    • New idea for future releases
  • No labels