Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Proposal: Feature to close courses and block learner access #18907

Conversation

lgp171188
Copy link
Contributor

This feature will make it possible to close a course which will block learner access to the closed course. A per-course 'Close course' setting will be provided to close the course or re-open access to the course. Currently, course authors achieve this by moving the course start date to the far future which can be confusing and is a misleading use of the feature. The error message shown when the learner tries to access that course is also misleading.

The functionality of blocking access to the course will be similar to the behavior when the course start date is in the future. The student dashboard will still display the course in the student dashboard but without any links to the blocked course. Navigating to the course content directly by URL will redirect the student to the dashboard page with an appropriate error message.

Most of the code changes to implement this feature will have to be done in the courseware module. There are existing checks in that module which check for the course start date and block access if it is in the future. Additional checks can be added for implementing this feature.

Dependencies: None

Merge deadline: None

Reviewers

CC @mduboseedx, requesting a review for this proposal.

@openedx-webhooks
Copy link

Thanks for the pull request, @lgp171188! I've created OSPR-2605 to keep track of it in JIRA. JIRA is a place for product owners to prioritize feature reviews by the engineering development teams.

Feel free to add as much of the following information to the ticket:

  • supporting documentation
  • edx-code email threads
  • timeline information ("this must be merged by XX date", and why that is)
  • partner information ("this is a course on edx.org")
  • any other information that can help Product understand the context for the PR

All technical communication about the code itself will still be done via the GitHub pull request interface. As a reminder, our process documentation is here.

@openedx-webhooks openedx-webhooks added needs triage open-source-contribution PR author is not from Axim or 2U labels Sep 10, 2018
@mduboseedx
Copy link
Contributor

@marcotuts @shamck Could you take a look at this proposal?

@openedx-webhooks openedx-webhooks added product review PR requires product review before merging and removed needs triage labels Sep 10, 2018
@lgp171188
Copy link
Contributor Author

@marcotuts @shamck did you get a chance to review this proposal? @mduboseedx

@marcotuts
Copy link
Contributor

Hello! I will be taking a look at this and should have a reply back next week. Thanks!

@UmanShahzad
Copy link
Contributor

@marcotuts Thanks, that's good news :) Were you able to take a look at this?

@lgp171188
Copy link
Contributor Author

@marcotuts, did you get a chance to take a look at this?

1 similar comment
@lgp171188
Copy link
Contributor Author

@marcotuts, did you get a chance to take a look at this?

@lgp171188
Copy link
Contributor Author

Hello! I will be taking a look at this and should have a reply back next week. Thanks!

@marcotuts, greetings! Did you get a chance to look at this?

@edx-status-bot
Copy link

Your PR has finished running tests. The following contexts failed:

  • jenkins/bokchoy

@marcotuts
Copy link
Contributor

Hello! This is something I will need to run by @sstack22 and her engineering team as they have been thinking about access / gating / dates. Apologies for the delay, I did not reach out internally to get this input when I should have.

@marcotuts
Copy link
Contributor

I have scheduled time next week to review with Shelby. Thanks!

@marcotuts
Copy link
Contributor

@lgp171188 - Can you help us understand the intent of this feature, and when authors might choose to do this? What situations arise that require closing a course? Is it always at the end of a course run so that access can be clearly cut off before the course is deleted? Is it in support of other workflow needs?

Related / Potential Use Cases:
1.) Learners can go in because the course hasn't started. --> Start Date in Future
2.) Learners can't go in because they haven't met a cours pre-requisite --> Prerequisite Course Set (feature enabled on instance, as it isn't enabled by default)
3.) Learner should be able to go in because course date end has passed? --> Default behavior is the course is "Archived" is the goal here to remove access with this date instead? (This might be achieved instead by an option to control behavior at course end of "Archive" vs Close. If this is what is being asked for by the client we can discuss this use case.)
4.) Learner momentarily? should not be able to get into the course for some reason?
5.) Other use case?

@lgp171188
Copy link
Contributor Author

@marcotuts, thanks for reviewing this proposal.

Learner should not be able to go in because course date end has passed? --> Default behavior is the course is "Archived" is the goal here to remove access with this date instead? (This might be achieved instead by an option to control behavior at course end of "Archive" vs Close. If this is what is being asked for by the client we can discuss this use case.)

This is the requirement from the client - after the course end date, the course content should not be accessible. The current behaviour of archiving courses after the end date still allows access to the course content. We are looking at a way to override the behaviour to close the course instead.

Tying this new behaviour to the course end date will change the current way it behaves. So if that is not okay, we are also okay with ideas to implement a separate "Close the course" action or a "Close the course after date" action.

This could be implemented at a per-course level, per site-level and also as a configuration setting.

@lgp171188
Copy link
Contributor Author

@marcotuts, did you get a chance to check my response to your questions? Do you have any other questions or concerns?

@lgp171188
Copy link
Contributor Author

lgp171188 commented May 20, 2019

@marcotuts, ping! Did you get a chance to check my response to your questions? Do you have any other questions or concerns?

@openedx-webhooks openedx-webhooks added needs triage and removed product review PR requires product review before merging labels May 21, 2019
@openedx openedx deleted a comment from openedx-webhooks May 28, 2019
@natabene
Copy link
Contributor

@lgp171188 Sorry for delay, we will try to look into this soon.

@marcotuts
Copy link
Contributor

marcotuts commented May 31, 2019

Thanks for the details here, in summary it sounds like your use case is most aligned to "#3"

3.) Learner should be able to go in because course date end has passed? --> Default behavior is the course is "Archived" is the goal here to remove access with this date instead? (This might be achieved instead by an option to control behavior at course end of "Archive" vs Close. If this is what is being asked for by the client we can discuss this use case.)

From a product standpoint I suppose what I'm proposing is that rather than add another date to the course, I would add an option for the behavior that happens at Course End. On course end the default behavior would be "Archive: Course remains accessible to students thought it is clearly labeled as being archived / unmonitored to set learner expectations." A new second option (behind a waffle flag) would let you see this option control and have "Close: Course is no longer viewable after course end date."

See attached draft image for the way this would be expressed on the Schedule & Details page. Thoughts on this? We believe this is preferable to adding another date to the course authoring experience. (Note the red block with the new "Course End Behavior"

Closecourse

@openedx-webhooks openedx-webhooks added the waiting on author PR author needs to resolve review requests, answer questions, fix tests, etc. label May 31, 2019
@lgp171188
Copy link
Contributor Author

@marcotuts, thanks for the inputs on the way to implement this. The approach you have suggested and the screenshot that you have posted in your comment fully matches our requirements and we have no concerns on implementing this. After we get the approval from the client on this, we will start working on the implementation and get back with a PR containing the changes. Thanks!

@natabene
Copy link
Contributor

natabene commented Jun 3, 2019

@lgp171188 Do you still need this PR open?

@lgp171188
Copy link
Contributor Author

@natabene, this PR can be closed as it is just for a proposal.

@lgp171188 lgp171188 closed this Jun 10, 2019
@openedx-webhooks
Copy link

@lgp171188 Even though your pull request wasn’t merged, please take a moment to answer a two question survey so we can improve your experience in the future.

@openedx-webhooks openedx-webhooks added rejected and removed needs triage waiting on author PR author needs to resolve review requests, answer questions, fix tests, etc. labels Jan 22, 2021
@bradenmacdonald bradenmacdonald deleted the guruprasad/proposal-close-course-access branch January 12, 2022 01:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
open-source-contribution PR author is not from Axim or 2U rejected
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants