feat: allow marking Library Content Block as complete on view [BB-4503] - #28268
Conversation
|
Thanks for the pull request, @Agrendalath! I've created OSPR-5930 to keep track of it in JIRA, where we prioritize reviews. Please note that it may take us up to several weeks or months to complete a review and merge your PR. Feel free to add as much of the following information to the ticket as you can:
All technical communication about the code itself will be done via the GitHub pull request interface. As a reminder, our process documentation is here. Please let us know once your PR is ready for our review and all tests are green. |
There was a problem hiding this comment.
I wanted to use classproperty here to make the purpose clearer, but it's not supported by pylint (also, it doesn't seem to be documented before Django 3.1, but it's present in the code).
There was a problem hiding this comment.
Never mind, we need a classproperty here.
f7cfe0b to
dda8974
Compare
arjunsinghy96
left a comment
There was a problem hiding this comment.
👍 @Agrendalath LGTM
- I tested that completion on view can be configured with the feature flag
MARK_LIBRARY_CONTENT_BLOCK_COMPLETE_ON_VIEW - I read through the code
-
I checked for accessibility issues - Includes documentation
-
I made sure any change in configuration variables is reflected in the corresponding client'sconfiguration-securerepository.
|
@natabene, this is ready for your review. |
dda8974 to
c729be7
Compare
|
@Agrendalath Thank you! |
c729be7 to
c6b7238
Compare
618c5d6 to
fe39441
Compare
fe39441 to
a9bda23
Compare
|
Your PR has finished running tests. There were no failures. |
|
@natabene Would this be suitable for a Core Contributor review? |
|
@mtyaka Let me check with the owning team, and I will get back to you. |
|
@mtyaka Please review and merge as you find fit. |
a9bda23 to
43cc419
Compare
edx/edx-platform#24365 has changed the completion mode of these blocks. Before Koa, it was sufficient to view the block to get a completion checkmark. Since Koa, all children of the block must be completed. This adds a toggle to change the completion behavior back to the previous one so that the user experience can be consistent if needed.
43cc419 to
d05e5c6
Compare
mtyaka
left a comment
There was a problem hiding this comment.
👍
- I tested this: I followed the testing instructions on the sandbox and verified that a randomized content block gets flagged as complete on view (without having to complete the problem) when the
MARK_LIBRARY_CONTENT_BLOCK_COMPLETE_ON_VIEWfeature is enabled. - I read through the code
- Includes documentation
|
@Agrendalath 🎉 Your pull request was merged! Please take a moment to answer a two question survey so we can improve your experience in the future. |
|
EdX Release Notice: This PR has been deployed to the staging environment in preparation for a release to production. |
|
EdX Release Notice: This PR has been deployed to the production environment. |
Description
edx/edx-platform#24365 has changed the completion mode of these blocks.
Before Koa, it was sufficient to view the block to get a completion checkmark.
Since Koa, all children of the block must be completed.
This adds the
MARK_LIBRARY_CONTENT_BLOCK_COMPLETE_ON_VIEWtoggle to change the completion behavior back to the previous one so that the user experience can be consistent if needed.Use case
Our client offers a Certificate of Completion additionally to the one received after passing a course. In order to receive it, learners need to "complete" all of the course material, including the final exam (Randomized Content Block). The final exam is considered "complete" for the purposes of these criteria even if the learner has not submitted every question. This way, the learners who have spent some time in the final exam would still get this certificate - even if they haven't submitted everything.
Jira
OSPR-5930
BB-4503
Sandbox
https://pr28268.sandbox.opencraft.hosting/ (provisioning)
Testing instructions
completion.enable_completion_tracking[Waffle Switch|http://localhost:18000/admin/waffle/switch/] (marked as active)."library_content"to "Advanced Module List".FEATURES['MARK_LIBRARY_CONTENT_BLOCK_COMPLETE_ON_VIEW'] = Truetoenvs/private.py.publish_completionPOSTrequests in the browser's Network tab. The first one will return 200, and the second one 400 (because it's not going to affect the problem block itself).Deadline
None.
Reviewers
Settings