openedx / openedx/openedx-platform

Pacing resets when saving a course with past start date

Open
#37,300 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
8.2k
Forks
4.4k
Avg merge
6d 18h
Merged PRs (30d)
42

Description

🐛 Bug Report

If the course pacing is changed while simultaneously setting the course start date to the past, Studio silently discards the pacing selection.

Steps to Reproduce
  1. Create a new course.
  2. Select Self-paced rather than Instructor-paced.
  3. Set a Start Date and Enrollment Date, both in the past.
  4. Save the course.
  5. Refresh the page.
Observed Behavior
  • After refresh, the course pacing reverts to Instructor-paced, even though Self-paced was selected before saving.
  • When the start date is in the past, the platform disables pacing selection and shows the message:

    “Pacing cannot be changed once the course has started.”

  • However, if the user follows the above sequence and saves without refreshing, they may not notice that pacing was not applied correctly.
  • The instructor may only realize the issue later when notified.
Expected Behavior

If the course has not actually started, pacing should be saved as selected (Self-paced or Instructor-paced). The UI and backend logic should be consistent to avoid silently overwriting pacing settings.

💡 Proposed Solution

At the time of save, validate whether the course has truly started.

  • If the course start date is being changed to the past in the same save, the system should respect the selected option.
  • If not, discard the pacing selection.

Happy to open a PR to fix this.

📋 Environment
  • Open edX release: Sumac
  • Affected Service: Studio

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the Studio save flow with self-paced selection and past start and enrollment dates, then trace where the UI and backend validate course pacing. Confirm whether the selected pacing is discarded during the same save, and verify that saved pacing remains consistent with the course-started rule after refresh.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
full-stack
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.