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

« Previous Version 5 Next »

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.

Calendar Generation for a Single Cohort

Bulk Generation

There are different structures that are used depending on whether a cohort has its timetable managed externally or not.

Timetable managed externally equals true

In the case where timetable is managed externally for a cohort, then a process such as the LISS Publish daily data and publish daily delta will be executed from a platform such as EdVal Daily. This exchange of data instructs Posi Ed to create individual session records for each class period.

The data relationship looks like this:

For each cohort we create a session and cohort session record for each class period that is being created. You may note the relationship between cohort and session is a many to many architecture  through the cohort session object. This is because each cohort will likely have multiple sessions but each session might (if it is a joint session) also have an interaction with multiple cohorts in the case of vertical or composite classes.

Timetable managed externally equals false

In the case where the timetable is managed by Posi Ed; either because the school is using a timetable product such as Edval and its publish timetable feature via LISS or because the cohort schedules have been set up manually, the following architecture is applied instead.

In this case, the relationship between cohort and cohort session can be ignored because it is not used. Instead cohort has one or more cohort schedule records and it is the schedule records that have the relationships to the cohort sessions and sessions. The generate calendar process will generate these cohort session and session records as per the process we'll get into in a minute.

Note that once again cohort session is the centrepiece of a many to many relationship in order to accommodate joint classes. The calendar generation process as it pertains to Posi Ed generating the calendar is only used when timetable managed externally is false. This process can be either a process run specifically for a cohort by pressing the generate calendar button on the cohort window or it can be executed for a group of cohorts in a process called bulk generate calendar execution. This is done through the cohort tab of the timetable structure object. By opening this page you can select one more or all cohorts and then clicking on the generate calendar button.

This performs the same process, but it executes it across all selected cohorts.

How sessions are generated

Regardless of the method of calendar generations you use the process of generating the calendar for a particular cohort is the same.

Step one

From the cohort record get the educational institution timetable structure, timetable term and a list of cohort schedule records to generate. The timetable term will be used to define such characteristics as whether the timetable structure is active, the 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 because this will provide a reference into the date map. If a 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 details for all year levels included in that cohort.

The system now cycles through each of the cohort schedule records. In each case it identifies the start and end date of the cohort schedule which may in rare situations differ from the term start and end dates of the cohort.

From the Bell time value on the cohort schedule we can identify the day, number, start time, end time period and other details of the cohort schedule.

Using the start and end date, the primary grade level, the day and week numbers we then query the date map to find all date map entries with values of this combination. For example we will find all date map entries for grade level 7 with a day type of 1 and a week of A and a period of 2 combination that it has identified and linked them to the cohort schedule record.

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 relationships as described previously but with a degree of extra complexity.

Both joint and vertical class architectures require each session to be associated with two or more cohorts or 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

  • Repeat for the next Course Offering schedule

  • No labels