Moves banner into the content instead of at the top. Adds a course
expiration fragment to the course home page, the content, the progress
page, and the discussion page.
The course_visiblity field can have one of three values:
1. private (default): This keeps the standard access rules.
2. public_outline: Allows unenrolled and anonymous users access to the outline.
3. public: Allows unenrolled and anonymous users access to both outline and
course content.
When an unenrolled user accesses course content, instead of student_view(),
public_view() is used. A default implementation is provided for XBlocks
which do not implement this view. The public_view() must not have any
functionality which assumes the presence of a valid User and should show
a readonly only interface for the XBlock content.
The course_visiblity field can have one of three values:
1. private (default): This keeps the standard access rules.
2. public_outline: Allows unenrolled and anonymous users access to the outline.
3. public: Allows unenrolled and anonymous users access to both outline and
course content.
When an unenrolled user accesses course content, instead of student_view(),
public_view() is used. A default implementation is provided for XBlocks
which do not implement this view. The public_view() must not have any
functionality which assumes the presence of a valid User and should show
a readonly only interface for the XBlock content.
Potential solutions:
1. Removal of the "role" attributes on the "li" elements and on the "ol"
2. Wrapping of the section/subsection titles in heading tags (<h4>-<h5>) that map to the correct nesting level of the content in the course (this is done correctly for the top-level elements)
EDUCATOR-3035
Course outline page uses two main tags that violates modern
HTML5 standard that recommends only single main tag on a webpage.
To make it compliance with modern standard the enclosing main tag
is replaced with div which will improve accessibility.
LEARNER-4233
Remove some obsolete and broken a11y markup that was causing
keyboard navigation in the main course outline to focus elements
that shouldn't be focused.
LEARNER-2893
LEARNER-2308
Once a goal has been set for a user on the course home message,
allow them to update it on the course home side bar. Automatically
sets a course goal for users when enrolling in a verifiable course.
LEARNER-2332
Since CourseTalk doesn't allow for loading a read and write reviews
page at the same time, this commit adds a loading icon to show that
we need to grab the iframe.