MN v3.3 - Calendars

This entity represents a set of dates associated with an organization.

Object Triggering Logic

This table describes logic for triggering syncing of this object.

ActionTrigger
Post

A Calendars record will be created for each Calendar/Grade/Schedule Structure combination.

  • When a new Calendar and Schedule Structure is created and saved via the Calendar Wizard.
  • When a new Schedule Structure in an existing Calendar is created and saved.
  • Do not send a record if the Calendars resource is toggled 'OFF' in the Calendars Resource Preferences.

  • When a new Grade Level is added to a Calendar.
  • Do not send a record if the Calendar is mapped to an override calendar in the Resource Preferences > Calendars > Calendar Override Mapping tool.
  • Do not send records if the Calendar Grade Level "Exclude from State Reporting" checkbox is selected for the grade level that the student's enrollment is tied to.
    • If one calendar is mapped to another calendar in the Calendars Override Mapping , and any grade levels are shared between the two calendars, the "mapped-to" calendar governs the "Exclude from State Reporting" status.
Put

When fields that are not part of the natural key are changed.

  • Type - if the type is changed on the Calendar tool.
  • When the Standard Day value is edited for a previously-existing Grade Level.
Delete

If a calendar and/or schedule structure is deleted.

  • If a grade level is deleted from a calendar.
  • If a previously-created Calendar's record has been sent, then it is subsequently mapped to a different calendar via the Calendar Override Mapping tool, and a resync of the Calendars resource is performed.
  • If a previously-created Calendars record has been sent, then the grade level is subsequently marked as "Exclude from State Reporting", and the record is resynced.
Delete/PostDelete if a 2nd Schedule Structure is added after 1st Calendar is sent.


School Exclude, Calendar Exclude, Resource Toggle and Resync Logic

This table describes the School Exclude, Calendar Exclude, Resource Toggle and Resync logic of this object.

ActionTrigger
NoneNo data will send if the School or Calendar is marked as Exclude.
DeleteIf the Calendar is marked as exclude after the Calendar or any dependent data is sent, the calendar and all dependent data will delete upon a resync even if the resource is toggled 'OFF'.
NoneIf a resource is toggled to 'OFF' after data has sent, all sent data will remain in the ODS but no new data will send.
ResyncIf a Calendar record is in the Ed-Fi Identity Mapping table and not in the ODS, it will be deleted from the Ed-Fi Identity Mapping table.
ResyncIf a Calendar record is in the ODS and it does not have a matching record in Campus or the Ed-Fi Identity Mapping table, it will be deleted from the ODS.
ResyncIf a mapping is changed in Resource Preferences, a resync will need to be done to reflect the changes.


Natural Key Changes, Cascading Updates, and Deletes Logic

This table describes the Natural Key Changes/Cascading Updates and Deletes logic of this object.

ActionTrigger
Post/Delete

Natural Key change:  If a 2nd schedule structure is added after data is sent, the first Calendar record will need to be Deleted/Posted with new Calendar Code logic to be Calendar ID + Schedule Structure ID.

  • If a calendar or schedule structure is moved via script, all data send to the ODS will remain and the Delete tool will need to be used to remove all data sent.

  • If the School ID changes, a delete/post will occur with the cascading deletes from the School ID change triggers


Scope Year Logic

This table describes scope year logic of this object.

Logic

Calendars will only send for the school year to which they are aligned.

  • Data will only send for years that have valid configuration.
  • A resync must be completed on the resource when a new scope year is connected in order for this data to send.


Resource Preferences

This table describes the Resource Preferences of this object.

Data Element LabelMapping Needed
Calendar Type DescriptorCalendar Type
Kindergarten Schedule Descriptor
Grade Level Kindergarten Schedule


Identity Mapping Object Key

This table describes the Identity Mapping Object Key of this object.

campusObjectTypeObject Key Data Source
ScheduleStructurestructureID


Event Queue Detail

This table describes the Event Queue Detail of this object.

Campus TableEd-Fi ActionFields
calendarPost/Put/DeleteThe primary table used for sending data for this resource.
gradelevelPutWill update the Grade Levels field if a grade level is added/removed to the school and a mapping exists for that grade level.


Error Log

ErrorPossible Causes/How to Fix
403 Forbidden:

{"message": "Access to the resource could not be authorized for the requested action 'http://ed-fi.org/odsapi/actions/create'."}

This is usually caused by a security set up error in the ODS.  Contact the Ed-Fi Alliance for assistant on correct security setup in the ODS
Error code return from Ed-Fi. 400: [message:Validation of 'Calendar' failed.  CalendarTypeDescriptorId is required. ].The Type field is not selected on the Calendar that is being sent or the Type selected on the Calendar is not mapped to an Ed-Fi Code in Resource Preferences.


Object Data Elements

This table describes data elements sent within the Calendars resource.

Data Element LabelBusiness RequirementBusiness RulesM, C or O

Location

idThe unique identifier of the resource.


M
Calendar Code

The identifier for the Calendar.

  1. Reports Calendar ID + Schedule Structure ID + grade level
  2. If calendar is marked 'Exclude', do not report

Report a dash between concatenated values.

Example: "calendarCode": "1027-1364-11"

M

alendar.calendarID + schedulestructure.structureID + gradelevel.name


School
Reference
A reference to the related School resource.

Reports the fields that are part of the Natural Key for the Schools resource.


M
SchoolYear
Type
Reference
A reference to the related School Year resource.

Reports the End Year the calendar is associated.

M
calendarType
Descriptor

Indicates the type of Calendar.

Reports the Ed-Fi Code the Calendar Type is mapped to in Calendar Resource Preferences.
  • If the Type is not selected on the Calendar or not mapped, an error will occur.
MScheduling & Courses > Calendar Setup > Calendar Information > Type

calendar.type
gradeLevelsIndicates the Grade Level associated with the Calendar.
  1. Report unique Grade Level value for the Calendar/Schedule Structure that are mapped to an Ed-Fi Grade Level, one Grade Level per Calendars record.
  2. If a grade level is not mapped, do not report.
CScheduling & Courses > Calendar Setup > Grade Level Setup

gradelevel.name
kindergarten
Schedule
Descriptor

Indicates the Kindergarten schedule.



  • If GradeLevel.kindergartenCode <> NULL, report the EdFi KindergartenScheduleDescriptor value mapped to the GradeLevel.kindergartenCode selected.
  • If GradeLevel.kindergartenCode is either NULL or not mapped, then do not report.
OScheduling & Courses > Calendar Setup > Grade Level Setup > Kindergarten Schedule

GradeLevel.kindergartenCode
instructional
Days
The total number of Instructional days during the current school year.Report the total number of days marked as Instructional in the associated calendar.
  1. Report the value saved in 'Instructional Days Override' if   'Instructional Days Override' is <>  NULL for that grade level and that value is less than the total instructional days for that calendar. 
  2. Otherwise, calculate the value from days marked as "Instruction" in the calendar.
OScheduling & Courses > Calendar Setup > Day Setup
OR
Scheduling & Courses > Calendar Setup > Grade Level Setup > Instructional Days Override
lengthOfDayIndicates the length of day.
  1. Report the value saved in 'Standard Day' for the grade level.
  2. If Standard Day is NULL, report the value saved in 'Student Day (instructional minutes)'.
O

Scheduling & Courses > Calendar Setup > Calendar Information > Student Day (instructional minutes)


OR


Scheduling & Courses > Calendar Setup > Grade Level Setup > Standard Day


Calendar.studentDay

GradeLevel.standardDay

Resource Preferences Continued

The Ed-Fi Configuration tool is used to establish Ed-Fi data resources.

The following describes how to set the resource preferences for the Calendars resource. If the Configure or Edit buttons do not display, then the resource does not need to be mapped and the toggle button can be used to turn the resource on or off.

 If a mapping is changed, a resync must be performed on the resource in order for the new mappings to send correctly.

Note: Records are not sent if the Calendar Grade Level "Exclude from State Reporting" checkbox is selected for the grade level that the student's enrollment is tied to:

  • If one calendar is mapped to another calendar in the Calendars Override Mapping , and any grade levels are shared between the two calendars, the "mapped-to" calendar governs the "Exclude from State Reporting" status.
  1. Select the appropriate Ed-Fi Code for the Calendar Types.

     Any item not mapped will not report to Ed-Fi.
    Calendar Types
    Attribute DictionarySystem Settings > Custom Data and Links > Core Attribute Dictionary > Calendar > Type
    UI LocationScheduling & Courses > Calendar Setup > Calendar Information

  2. Select the appropriate Ed-Fi Code for the Kindergarten Schedule Descriptors.
Grade Level Kindergarten Schedule
Attribute DictionarySystem Settings > Custom Data and Links > Core Attribute Dictionary > Grade Level > Kindergarten Schedule
UI LocationScheduling & Courses > Calendar Setup > Calendar Information > Grade Level Setup > Kindergarten Schedule

         

        3. The Calendars Override Mapping tool allows districts to identify specific Calendar/Schedules that they want an Infinite Campus Calendar to report as. Selecting an override value in any of the droplists only sends an Ed-Fi Calendars record generated from the Infinite Campus calendar selected in the droplist. Any Student School Association records for students enrolled in the selected Infinite Campus calendar will be tied to that same Ed-Fi Calendars record. Only map a calendar to another calendar if they are both tied to the same school.

FieldDescription
SchoolUsed to filter by school.
CalendarsUsed to filter by calendar.
Schedule StructuresUsed to filter by schedule structure.
Override to report as:Indicates the Infinite Campus calendar that will be  used as the override.
FillInserts the Infinite Campus calendar selected in the Override to report as: field into all schools. 

4. Click Save.