Current problems that should be addressed:
1. When a course is restored as a template, the activity dates do not adjust to reflect the new start date of a course and teachers have to manually adjust dates in the restored course.
2. Students that start a course at different times currently all have the same due dates on activities and there is no flexibility, unless teachers go through the lengthy process of duplicating activities with different due dates and creating groups to restrict access.
To address these issues, an option should be added to the date entry for activity open, due and cutoff dates that would allow users to enter a date that is relative to the enrollment date or course start date. (In reference to 3.2 adding a course end date, this could also be included as a relative date). This would create many benefits including not having to reset dates after a course had been created from a template, the ability to have a course in which students enroll at different times, and an easy method for setting a time table for unmonitored students. The same options would also need to be available in the activity completion criteria.
- Project size: Medium
- Audience: primary schools, universities, work places
- Target users: teachers, students, administrators
To enable course activity and resource availability to be set relative to the start (or end) of the course or the date of student enrollment.
To add a more flexible time scale that is relative to the student instead of the course. This would come inline with a more student centered course/site design.
To create a date method that is not locked to a specific date which would also allow for easier course restoring where activity dates would then adjust automatically.
To allow teachers to specify timelines within their courses that will remain consistent across multiple sections/semesters/years.
As a student, I would see a personalized timeline for my course/s that is dependent on my enrollment date or the course start/end date. This timeline would be reflected in the dashboard and calendar and would adjust automatically if any changes were made by the teacher to the course start/end date or student enrollment date.
As a teacher, I could set dates for all activities in the course to be dependent on the start or end of the course or the enrollment date of the student. For activities set to be dependent on enrollment date, this would allow me to keep a course open for several years but still have due dates that were relative to each student. For activities set to be dependent on the course date, this would allow me to restore the course to a different semester and have all the dates adjust accordingly.
As an admin, I would be able to enable or disable this feature with a settings page that allows me to select whether courses would have the option for either or both date options (course start/end or enrollment date).
As a teacher, I would be able to change the course start date or student enrollment date and the activity due dates would adjust accordingly.
As an admin, I could use the course upload feature with course templates and all activity dates would adjust to new start date/enrollment dates automatically.
As a teacher, I could do a course reset and activity dates would automatically update (either option).
As a teacher, dynamically changing activity dates based on enrollment dates would not show on the calendar but individual student due dates that are passed would trigger a teacher notification with a link to the activity and a reference to the student/s that had not submitted on time.
As a teacher, activity dates that are based on course start and end would show on the calendar. Any dragging and dropping to a different date on the calendar would adjust the time from the start or end date so that the dynamic date updating functionality is not lost.
Links to existing tracker issues, forum discussions, contrib plugins
Below I have listed two possible interfaces.
The first option would allow the options to be selected at the activity or resource level and would need a way to calculate the date either for each student or relative to the start of the course date. The interface would have to clarify somehow which option was being selected (perhaps a separate enable checkbox for each option).
The second interface option would add an option in the course settings to decide what type of date setting you want for the course. It would be a dropdown with three options - Absolute (present method of date setting), Based on Course Date, Based on Student Enrollment Date. (This might need to extend to four options with the addition of a Course End Date in 3.2 so that dates could be set relative to the course end date.) The activity/resource availability setting interface would then just show what ever option was selected at the course level, simplifying the settings at the activity/resource level. (If Course End Date was also added as an option, the Course Activity settings would then need to adjust to read "Days Before Course End Date" and all calculations would have to reflect the change in After to Before.)
For the student enrollment date setting, the date setting will have to adjust automatically in relation to who is viewing the course. A new report might be added to show the due dates for each specific student for teacher access and review.
All new settings will have to apply to the calendar, dashboard etc and any activity/resource date notifications.
Course restore or load from template will have to take the new settings into account when restoring the course.
Course backup will also have to include the new settings and backup appropriately.
Any change at the course format level (Interface option 2) should automatically adjust any existing dates that have already been set. (Need to have scenarios for each change - e.g. Absolute to Days after Enrollment should probably base originally on the date of first student enrollment.)