Skip to content

Support multiple Schedule pages #21

@philipmjohnson

Description

@philipmjohnson

Currently, Morea does not have good support for courses in which different sections are taught on different days. A typical example is one section on MW and another on TTh. In this case, a single Schedule page is problematic since an assignment will be due on different days depending upon the section. In the past, we have tried:

  • Creating two separate Morea sites, one for each section, that differ only in the start_date associated with assignments. The problem with this approach is keeping the two sites in sync and manually changing the other site each time the first one changes. That can create a lot of maintenance overhead.
  • Removing due dates from assignments, and using some other mechanism (such as Laulima). This creates its own problems, such as when there are "suggested" dates for tasks that are not officially Laulima assignments.

To provide better support for courses with different sections on different days, Morea could provide a backwards-compatible option that enables multiple schedule pages. In this approach, there would be: a flag in the _config.yml file to enable multiple schedule pages (disabled by default or if missing from the config file). If the flag is present and enabled, then the "Schedule" link in the nav bar will be converted into a dropdown menu with two items. Each item links to a separate schedule page. One schedule page is populated with the module start/end dates and the experience start dates (as is done currently). The second schedule page is populated with module start/end dates and experience start dates as indicated by a morea_start_date2 field in the front matter.

Implementing this involves:

  1. Create a branch named issue-021 in this repository to hold the changes.
  2. Create a new top-level folder called schedule2. The contents will be just like the schedule folder, except the calendar generated will be from a file called schedule-info2.js.
  3. Update the MoreaGenerator.rb file to write out a file called schedule-info2.js when the flag for generating a second schedule is present. This should contain the appropriate entries for the second schedule.
  4. Update the _layouts/core.html file to conditionally create the dropdown menu rather than a single link to the schedule page with the config.yml flag is set.
  5. Test.
  6. Document this option in the Morea docusaurus site.
  7. Merge into master.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions