Files
edx-platform/openedx/features/course_experience
Michael Terry 40fbef4af2 AA-289: rewrite how course updates behave when dismissed
Previously, dismissing one course update would disable all future
updates. But that feels a bit limiting.

Instead, these are the new rules:
- If the newest update has not been dismissed yet, it gets displayed.
- If the newest update has been dismissed, we display nothing.
- Editing the newest update will cause it to be displayed again.
- New updates get displayed, even if previous updates were dismissed.

This commit includes a light refactoring and addition of some utility
methods to help manage the above.

It also notes that the learning MFE does not use the "latest_update"
waffle option, which controls the labeling of the update message.
2020-11-12 09:39:15 -05:00
..
2018-05-02 15:21:45 -04:00
2019-05-29 03:00:19 -04:00
2020-06-10 13:59:21 -04:00
2020-11-06 12:52:08 -05:00

Status: Maintenance

Responsibilities
================
The Course Experience directory contains a Django application that provides the
Course Home page (or course landing page), and various resources in support of
the landing experience.


Direction: Deprecate
====================
This will be replaced eventually by new UI in the form of Microfrontends.  New functionality should not be added here.


Glossary
========

More Documentation
==================

The course experience consists of a number of views:

1. **Course Home**

   The course home page is the landing page for the course. It presents
   the learner with information necessary to understand the purpose of the
   course, its content, and its milestones. It includes a "Course Tools"
   section that provides links to other tools associated with the course.
   For example, it includes tools such as reviews, updates and bookmarks.

2. **Welcome Message**

   The welcome message is a fragment view which is typically shown on the
   course home page. It provides the user with a description of the course
   and helps them to understand its requirements.

3. **Course Outline**

   The course outline is a fragment view which shows an outline of the content
   of the course.

4. **Course Dates**

   The course dates fragment is a view which shows users important dates for the
   course, such as the start and end dates.

5. **Course Sock**

   The course sock is a fragment view which is typically shown just above
   the footer of course pages (hence the name). The default implementation
   presents the users with a message encouraging them to purchase a verified
   certificate.

6. **Course Updates**

   The course updates page shows the user all of the course team's updates
   in a scrolling list. The updates page is also provided as a course tool.

7. **Course Reviews**

   This page shows the user reviews of the course from an external provider.
   The default provider is `CourseTalk`_. The reviews page is also provided
   as a course tool.

A number of the features in the course experience are controlled via Waffle
flags. For documentation, see `Waffle flag definitions`_.

.. _CourseTalk: https://www.coursetalk.com/
.. _Waffle flag definitions: https://github.com/edx/edx-platform/blob/master/openedx/features/course_experience/__init__.py