Uploaded image for project: 'Ed-Fi Data Standard'
  1. Ed-Fi Data Standard
  2. DATASTD-948

BellSchedule should have an array of CalendarDates

    XMLWordPrintable

Details

    Description

      Summary of outcomes for Data Standard 2.1

      • Problem Addressed: BellSchedule can only accommodate one CalendarDate due to the cardinality (1:1) of the CalendarDate reference.
      • High-level Reasoning: This was traced back to a suspected error in the drafting of version 2.0 with a belief that the cardinality of the CalendarDate reference was intended to allow for multiple dates. As a result of this error, it is impossible to accurately identify the dates for which a BellSchedule is active.
      • Changes Made: Removed the reference to CalendarDate domain entity and replaced it with an optional collection of date fields named "Date" with the annotation "The dates for which the BellSchedule applies."

      Original ticket description follows:

      BellSchedule is intended to function by having an array of CalendarDates that describe the dates for which that BellSchedule is active. In the Ed-Fi UML model, this is captured correctly. However, in the XDS's the reference becomes 1:1 and the dictionary meaning changes to "the first calendar date." (This error gets replicated downstream in the Ed-Fi ODS APIs as well).

      As a result of this error, it is impossible to accurately identify the dates for which a BellSchedule is active. One consequence has been that extensions to account for this limitation (seen in the TN data model).

      The model needs to be fixed to allow for a BellSchedule to have 0 or more CalendarDates attached, and the definition of those CalendarDates changes to "The calendar dates for which the BellSchedule applies."


      Design

      • BellSchedule.CalendarDateReference to be changed to BellSchedule.CalendarDate (it is no longer a reference to a single entity)
      • BellSchedule.CalendarDate to have a cardinality of 0..∞
      • Change the CalendarDate collection to have the annotation "The calendar dates for which the BellSchedule applies."

      Alternates considered

      None - the model seems to be broken. The direction is to test the current, fixed model in the field.

      Breaking change summary

      The change will break existing API and bulk integrations, but none are known. All implementations we have looked at do not use this entity, and in fact may be working around the limitations caused by this problem.

      Business logic

      Transform existing CalendarDateReference into the first item of the BellSchedule.CalendarDate or the item could be discarded.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              ejansson-inactive Eric Jansson (inactive account) (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Salesforce