Session Booking: Difference between revisions

From MoodleDocs
mNo edit summary
No edit summary
Line 18: Line 18:
The module was created and is currently maintained by [[User:Mustafa Hajjar|Mustafa Hajjar]].
The module was created and is currently maintained by [[User:Mustafa Hajjar|Mustafa Hajjar]].


<<embeded youtube video>>
{{MediaPlayer | url = https://www.youtube.com/watch?v=QhfHDO27kf8}}
==Installation==
==Installation==
===Dependencies===
===Dependencies===
Line 61: Line 61:


*'''Lesson completion prioritization''': is a multiplier for weighing lesson completion in prioritization score
*'''Lesson completion prioritization''': is a multiplier for weighing lesson completion in prioritization score
{{MediaPlayer | url = https://www.youtube.com/watch?v=EyTmXRgZ-E4}}
===Course settings===
===Course settings===
*'''Use session booking''': is a checkbox that indicates whether or not to enable 'Session booking' for the course.
*'''Use session booking''': is a checkbox that indicates whether or not to enable 'Session booking' for the course.
Line 103: Line 105:
<p class="note">Note: a Beta User role can be defined at soft-launch with capability '/local/booking:availabilityview' while removing the capability from students during the beta period.</p>
<p class="note">Note: a Beta User role can be defined at soft-launch with capability '/local/booking:availabilityview' while removing the capability from students during the beta period.</p>
==Features==
==Features==
{{MediaPlayer | url = https://www.youtube.com/watch?v=KVYrDdsu7Sc}}
The following are the highlights and key features of Session Booking:
The following are the highlights and key features of Session Booking:
*Allows instructors to book students based on their recorded availability.
*Allows instructors to book students based on their recorded availability.
Line 113: Line 116:
*Provides a custom student prioritization mechanism for booking sessions based on student's session recency, course activity, availability posting, and lesson completion.
*Provides a custom student prioritization mechanism for booking sessions based on student's session recency, course activity, availability posting, and lesson completion.
*Session calendar integration with Moodle, Google, and Outlook Live calendars, including (ics) standard iCal calendar file download.
*Session calendar integration with Moodle, Google, and Outlook Live calendars, including (ics) standard iCal calendar file download.
{{MediaPlayer | url = https://www.youtube.com/watch?v=prIXeQl8i5A}}
{{MediaPlayer | url = https://www.youtube.com/watch?v=Ndv3xU39pFY}}
{{MediaPlayer | url = https://www.youtube.com/watch?v=xWfzElWlSJc}}
==Availability posting==
==Availability posting==
[[File:availability.png|right|frameless|357x357px]]
[[File:availability.png|right|frameless|357x357px]]
Students can post their availability on a weekly calendar view once a preset restriction wait period had passed after the student’s last instructor-led session. The calendar view can be accessed from Moodle's left navigation panel under the 'My availability' link. The navigation panel can be displayed by clicking the 'hamburger' icon to toggle the navigation drawer.
Students can post their availability on a weekly calendar view once a preset restriction wait period had passed after the student’s last instructor-led session. The calendar view can be accessed from Moodle's left navigation panel under the 'My availability' link. The navigation panel can be displayed by clicking the 'hamburger' icon to toggle the navigation drawer.
{{MediaPlayer | url = https://www.youtube.com/watch?v=1FY07P5KAec}}
===Posting ===
===Posting ===
To post availability simply click and drag on any set of contiguous time slot in the active area of the displayed week.  This will result in the selected time slots turning green as shown in the diagram below. To deselect the selected slot, simply click and drag again, and the selected time slots will turn back to a white background. Once all desired time slots are selected, click the [Save] button to record marked availability posts.  
To post availability simply click and drag on any set of contiguous time slot in the active area of the displayed week.  This will result in the selected time slots turning green as shown in the diagram below. To deselect the selected slot, simply click and drag again, and the selected time slots will turn back to a white background. Once all desired time slots are selected, click the [Save] button to record marked availability posts.  
Line 129: Line 139:
==Pilot logbook==
==Pilot logbook==
Upon completion of an instructor-led session, the instructor adds the flight time duration, session duration, and potentially solo flight time duration when applicable. Students can access their logbook from the left navigation panel under the 'My logbook' link. The view provides a summary of the total flight times, session times, and solo flight times. For each session a more detailed log data is displayed including flight date, flight durations, aircraft type, pilot callsign, the primary and secondary pilot in command, PIREP number, and finally departure and arrival airport ICAO code.  
Upon completion of an instructor-led session, the instructor adds the flight time duration, session duration, and potentially solo flight time duration when applicable. Students can access their logbook from the left navigation panel under the 'My logbook' link. The view provides a summary of the total flight times, session times, and solo flight times. For each session a more detailed log data is displayed including flight date, flight durations, aircraft type, pilot callsign, the primary and secondary pilot in command, PIREP number, and finally departure and arrival airport ICAO code.  
{{MediaPlayer | url = https://www.youtube.com/watch?v=r7LLOdx7Yk8}}
[[File:logbook.png|alt=Student logbook|center|thumb|1200x1200px|Student logbook]]
[[File:logbook.png|alt=Student logbook|center|thumb|1200x1200px|Student logbook]]
==Booking sessions==
==Booking sessions==
Instructors can book against student posted availability from the left navigation menu under the 'Session booking' link. The view lists all active students, their session priority, booking & grading actions, and course progression for each student. Completed and graded sessions are marked in blue, tentatively booked sessions prior to student confirmation are marked in orange, and confirmed bookings are marked in green.  
Instructors can book against student posted availability from the left navigation menu under the 'Session booking' link. The view lists all active students, their session priority, booking & grading actions, and course progression for each student. Completed and graded sessions are marked in blue, tentatively booked sessions prior to student confirmation are marked in orange, and confirmed bookings are marked in green.  
{{MediaPlayer | url = https://www.youtube.com/watch?v=Wci-4KeLGM8}}
{{MediaPlayer | url = https://www.youtube.com/watch?v=WRxzxqVDPTY}}
[[File:session booking2.png|alt=Session Booking|center|thumb|1200x1200px|Session Booking]]
[[File:session booking2.png|alt=Session Booking|center|thumb|1200x1200px|Session Booking]]


Inactive [Book] button indicates that the student has not completed pending lessons for the upcoming exercise (assignment). Once the student completes current and all past lessons, the [Book] button will turn active with a green background.
Inactive [Book] button indicates that the student has not completed pending lessons for the upcoming exercise (assignment). Once the student completes current and all past lessons, the [Book] button will turn active with a green background.

Revision as of 15:54, 8 December 2021

Session Booking
Type General plugins (Local)
Set N/A
Downloads Plugins directory link unavailable at present
Issues https://github.com/zcodemonkeyz/SessionBooking/issues
Discussion Link to the forum or discussion thread unavailable at present
Maintainer(s) Mustafa Hajjar

What is Session Booking?

Session Booking is a plugin that allows aviation training organizations (ATO) manage instructor-led training sessions. The plugin allows student pilots to post their availability for instructor-led sessions, and instructors to book sessions against students availability. It provides a workflow that starts with students posting availability time slots, instructors booking against student posted time slots, and finally instructors grading assignments associated with joint sessions.

Session booking workflow


The plugin also allows course managers in assigning students to specific instructors, and monitor instructor participation in instructor-led sessions. In addition, student sessions are prioritized based on a weighted scoring mechanism based on four variables: session recency, lesson completion, course activity, and availability posting. Also, priority can be configured to give more weight to any of the four variables in the plugin settings.

The module was created and is currently maintained by Mustafa Hajjar.

Installation

Dependencies

  • The plugin requires three roles are defined to benefit from certain access restricted capability.
  1. Instructor role: [shortname=instructor] ARCHETYPE: Teacher (non-editing)
  2. Senior Instructor: [shortname=seniorinstructor] ARCHETYPE: Teacher (editing)
  3. Flight Training Manager: [shortname= flighttrainingmanager] ARCHETYPE: Manager

Moodle plugins install

1. Download SessionBooking zip

2. Site administration > Plugins > Install plugins

3. Drop or upload the zip file

CLI install

$ cd [path-to-moodle]\local
$ mkdir booking
$ cd booking
$ git clone https://github.com/zcodemonkeyz/SessionBooking.git

Setup

Session booking has multiple settings that can be set to configure the plugin's behavior. There are two kinds of settings for Session booking, one set that affects the plugin behavior that is only accessible to site administrators 'Plugin settings', and the other set is specific to each course and accessible to course managers 'Course settings'.

Plugin settings

  • First session time: indicates the starting hour for availability posting.
  • Last session time: indicates the ending hour for availability posting.
  • Availability posting weeks lookahead: indicates how many weeks ahead a student can post.
  • Wait period: indicates the standard wait period after last session and for on-hold, suspension, and instructor overdue session calculation.
  • Recency prioritization: is a multiplier for weighing recency in prioritization score.
  • Slot count prioritization: is a multiplier for weighing availability posting count in prioritization score
  • Course activity prioritization: is a multiplier for weighing course activity in prioritization score
  • Lesson completion prioritization: is a multiplier for weighing lesson completion in prioritization score

Course settings

  • Use session booking: is a checkbox that indicates whether or not to enable 'Session booking' for the course.
  • Home airport ICAO: the course's home airport ICAO code.
  • Training Aircraft ICAO: the course training aircraft ICAO(s).
  • Course Exercise custom titles: allows course managers to add custom labels to the progression view vs. the exercise (assignment) name.

Capabilities

Roles and capabilities are supported since the version for Moodle 1.9.

Capability Description Status
local/booking:view an instructor can view session booking. implemented in 1.0
local/booking:availabilityview a student can post availability (add and delete). implemented in 1.0
local/booking:logbookview a student can view own log book entries. implemented in 1.0
local/booking:participationview a course manager can instructor participation in instructor-led session booking. implemented in 1.0
local/booking:studentnotification an instructor can send email notifications to student, including booking notifications, session cancellations. implemented in 1.0
local/booking:instructornotification a student can send email notifications to instructors with booked session confirmation. implemented in 1.0
Capability
Capability

Note: a Beta User role can be defined at soft-launch with capability '/local/booking:availabilityview' while removing the capability from students during the beta period.

Features

The following are the highlights and key features of Session Booking:

  • Allows instructors to book students based on their recorded availability.
  • Allows students to record and manage their weekly availability for sessions.
  • Allows course managers in assigning students to instructors.
  • Tracks instructor participation in conducting student sessions.
  • Tracks flight data and tracks student pilot log book entries.
  • Manages email communication between students and instructors.
  • Provides a dashboard for instructors and course administrators to visualize student progression throughout the course.
  • Provides a custom student prioritization mechanism for booking sessions based on student's session recency, course activity, availability posting, and lesson completion.
  • Session calendar integration with Moodle, Google, and Outlook Live calendars, including (ics) standard iCal calendar file download.

Availability posting

availability.png

Students can post their availability on a weekly calendar view once a preset restriction wait period had passed after the student’s last instructor-led session. The calendar view can be accessed from Moodle's left navigation panel under the 'My availability' link. The navigation panel can be displayed by clicking the 'hamburger' icon to toggle the navigation drawer.

Posting

To post availability simply click and drag on any set of contiguous time slot in the active area of the displayed week. This will result in the selected time slots turning green as shown in the diagram below. To deselect the selected slot, simply click and drag again, and the selected time slots will turn back to a white background. Once all desired time slots are selected, click the [Save] button to record marked availability posts.

Copy/Paste

Students can copy previously saved postings of a week and paste them into a different week by navigating to the week containing the desired slots, clicking on the [Copy] button, navigating to a different week (previous or next), then clicking the [Paste] button. After pasting, make sure to click the [Save] button prior to navigating away from the current week or to a different page.

Clear

To delete all postings of a specific week, simply click on the [Clear] button, which will clear all posted availability time slots. Don't forget to [Save] before navigating away from the current week or to a different page.

All students view

The link at the bottom of the page [View everyone's availability] allows students to view all posted availability for everyone in the course for that week. Also, this gives an indication of the number of booked sessions during that week.

Availability posting
Availability posting

Note: postings are only visible to instructors when the current lesson and all past lessons have been completed.

Note: The local time can be set in the User Profile page under timezone to reflect the correct student timezone.

Pilot logbook

Upon completion of an instructor-led session, the instructor adds the flight time duration, session duration, and potentially solo flight time duration when applicable. Students can access their logbook from the left navigation panel under the 'My logbook' link. The view provides a summary of the total flight times, session times, and solo flight times. For each session a more detailed log data is displayed including flight date, flight durations, aircraft type, pilot callsign, the primary and secondary pilot in command, PIREP number, and finally departure and arrival airport ICAO code.

Student logbook
Student logbook

Booking sessions

Instructors can book against student posted availability from the left navigation menu under the 'Session booking' link. The view lists all active students, their session priority, booking & grading actions, and course progression for each student. Completed and graded sessions are marked in blue, tentatively booked sessions prior to student confirmation are marked in orange, and confirmed bookings are marked in green.

Session Booking
Session Booking

Inactive [Book] button indicates that the student has not completed pending lessons for the upcoming exercise (assignment). Once the student completes current and all past lessons, the [Book] button will turn active with a green background.

Instructors should add a new log book entry after each graded session to be reflected in the student's logbook. Log book entries can be added by clicking on the info icon after it is graded. Existing log book entries can be edited or deleted when clicking on an existing graded session as shown below:

Edit log book entry
Edit log book entry
New logbook entry
New log book entry

Instructor dashboard

At the bottom of the 'Session booking' page, the instructor can see two sections that lists the instructors active bookings under 'My active bookings', and assigned students under 'My assigned students'. The instructor can cancel any active booking by clicking on the [Cancel] button next to the active booking, which will in turn prompt the instructor to provide a comment to the student regarding the cancellation.

Course managers can find an added section at the bottom that lists instructors' participation in the course, which notes the instructor role(s), last instructor-led session with a student, and the days since last conducted session.

Instructor dashboard
Instructor dashboard

How to report a bug

Please, use the plugin's github repository issue tracking. Stamp collection if one of the components in "Non-core contributed modules" project. See the list of tracked issues at https://github.com/zcodemonkeyz/SessionBooking/issues.

Feature ideas and requests

Note: This section will be moved to the tracker feature requests.