openedx / openedx/openedx-platform
Pacing resets when saving a course with past start date
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
- Create a new course.
- Select Self-paced rather than Instructor-paced.
- Set a Start Date and Enrollment Date, both in the past.
- Save the course.
- 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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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