Calendar Generation
Calendar Generation is the process of generating all necessary Sessions that will be associated with each of the Cohorts for which we are generating the calendar. This means we are creating the individual classes for each of the class periods for each of the class groups, according to the timetable and calendar schedule that has been defined.
...
For each Cohort we create a Session and Cohort Session record for each class period that is being createdspecified by the external system. Note that the relationship between Cohort and Session is a many-to-many relationship through the Cohort Session object. This is because each Cohort will likely have multiple Sessions and each Session might (if it is a Joint session) also have an association with multiple Cohorts.
...
This performs the same process, but it executes it across all selected cohorts.
How
...
Sessions are
...
Generated
Regardless of the method of calendar generations generation you use the process of generating the calendar for a particular cohort is the same.
...
From the cohort Cohort record get the educational institution timetable structure, timetable term and a list of cohort schedule records to generate. The timetable term Cohort Schedule records, the Timetable Structure, Timetable Term and Primary Grade Level.
The Timetable Term will be used to define such characteristics as whether the timetable structure Timetable Structure is active, the weeks Weeks in the cycle, days per week, etc. The term is used to define the start and end date of the cohort although this should be updated on the cohort itself. After this point, it is the cohort records that are most important.The primary grade level value is also important Cycle, Days Per Week and Date Map.
The Primary Grade Level value is required because this will provide a reference into the date mapthe Date Map. On any given day in the Date Map there might be different Day Types depending on the Grade Level - for example, grades 7-10 might have Day Type=1 but grades 11-12 might be on Holiday. If a cohort Cohort is combining multiple grade levels , then it is vital that all classes defined for that cohort have exactly the same date map and period Date Map and Bell Time details for all year grade levels included in that cohort.
The system now cycles through each of the cohort schedule Cohort Schedule records. In each case it identifies the start Start and end End date range of the cohort schedule Cohort Schedule which may in rare some situations differ from the term start Start and end End dates of the cohortCohort.
From If the Bell time Time value is populated on the cohort schedule Cohort Schedule we can identify the day, number, start time, end time period and other details of the cohort scheduleDay Number, Week Number, Period, Start and End Time from this record.
...
If the Bell Time value is not populated on the Cohort Schedule we get the Day Number, Week Number, Period, Start and End Time values from the Cohort Schedule record.
Using the start Start and end End date, the primary Primary grade level, the day Day and week Week numbers we then query the date map the Date Map is queried to find all date map Date Map entries with values of this combination. For example we will find all date map Date Map entries for grade level Grade Level 7 with a day type Day Type of 1 and a week Week Type of A and a period of 2 combination that it has identified and linked them to the cohort schedule record..
A Session and Cohort Session record combination is then created for each of these dates and these are linked to the Cohort Schedule.
DO WE GENERATE THESE HERE OR IN GENERATE ATTENDANCE???
It will then duplicate any cohort schedule connection records for each session through session connection records. It will also create various event record entries for each cohort schedule connection record for each session. For example if there are two teachers, two classrooms and a resource booking listed in the cohort schedule connections, then it will create two session staff, two session location and a session resource event record for each session record that it creates.
Joint sessions
Joint sessions, whether they are created via Posi Ed or through external timetable management utilise the same object Whether or not a cohort’s timetable is managed externally or not, we manage Joint classes using the same objects and relationships as described previously but with a an extra degree of extra complexity.
Both joint Composite and vertical Vertical class architectures require each session Session to be associated with two or more cohorts Cohort or cohort Cohort schedule records. Examples of the record creation are described below:
- Insert screenshots from my ERD's from vertical and composite classes from the PosiEd 1 programme (Mike to review which diagrams are best: refer Lucidchart)
Base Calendar
The Base Calendar object requires an entry for each day of the year for each grade level.
Where all Grade Levels have the same rules i.e. a normal school day or a holiday, etc., then a single Base Calendar record can satisfy the requirements of all grade levels.
If, for example, Year 7-10 have one type of activity on the day e.g. a normal school day; and say Year 11-12 have an exam day, then 2 separate records will be created. The first pertaining to Year 7-10 and the 2nd pertaining to Year 11-12 each with the respective Day Type coding.
To create a calendar for a single Course Offering, we need the following:
The Course Offering must be allocated against a Term. This term will specify the Start Date and End Date range
The Course Offering must include one or more Course Offering Schedule records. This may have been populated from EDVAL, each will designate a specific Day Number e.g. 1 for the 1st day and Period which will be linked to the Time Block i.e. Start and End Time
A fully populated Base Calendar, this defines the grade level assigned to the particular Course Offering which days have each respective timetable
Once all of these have been defined, we can generate calendar events for the course offering through the following process:
...
Retrieve the Start and End Date through the Term associated with the Course Offering
...
Retrieve the Year Level from the Course Offering
...
For each Course Offering Schedule record, retrieve the Day Number and Time Block i.e. Start and End Time
...
Retrieve from the Base Calendar object all records that are between the Start Date and End Date and of the same Grade Level and with the same Day Number
...
Create Session and Cohort Session entries for each Day and Time Block range linking it to the Course Offering
...
WHERE ARE VERTICAL AND JOINT CLASSES DESCRIBED?
https://lucid.app/lucidchart/b298586f-e162-4267-b2b5-13279a805f65/edit?page=6e3V7Z-N18yr#