BREAKING CHANGE: This removes the following deprecated shims from the runtime:
`replace_urls`, `replace_course_urls`, `replace_jump_to_id_urls`. XBlocks need
to use the `replace_urls` service instead.
The XQueueService is used only by the ProblemBlock. Therefore, we are moving
it out of the runtime, and into the ProblemBlock, where it's initialized only
when it's going to be used.
Updated logic to include organization info, when available. Also
refactored away some no-longer-relevant code and pulled Twitter handle
from config.
style: add missing newline
fix: fix outdated signature in test
refactor: make organization optional arg
Required to fix some tests
style: fix pylint issues
chore: organization is a dict change the accessor + linting
test: add testing for VideoSocialSharingHandler
test: fix context tests
refactor: move most link logic to django
chore: update python test
chore: update linting
lms/djangoapps/courseware/tests/test_block_render.py:
DeprecationWarning: runtime.seed is deprecated. Please use the user service `user_id` instead.
DeprecationWarning: runtime.user_id is deprecated. Use block.scope_ids.user_id or the user service instead.
DeprecationWarning: runtime.user_is_staff is deprecated. Please use the user service instead.
DeprecationWarning: runtime.get_user_role is deprecated. Please use the user service instead.
...
* refactor: public sharing enabled toggle
Cherry-picked from https://github.com/openedx/edx-platform/pull/32150
* feat: course video share setting on video block
Adds awareness of course.video_sharing_options setting to video XBlock.
This can override whether or not sharing is enabled for a video or fall
back to per-video settings
* test: course video share setting on video block
Adds awareness of course.video_sharing_options setting to video XBlock.
This can override whether or not sharing is enabled for a video or fall
back to per-video settings
* test: course video share setting on preview page
Extends checking for course override of video share settings to public
video preview page.
After changes from #31472, the user service of a "leaf" XBlock gets overridden
with the one created for its parent (SequenceBlock). Therefore, the
`requires_per_student_anonymous_id` is ignored in these XBlocks. The
subsequent renders of an XBlock (e.g., when requesting the solution) use
the student-specific IDs.
This removes choosing the proper ID (course-specific or student-specific) from
the runtime initialization. Instead, both IDs are passed to the user service.
There are only two XBlocks that relied on the
`requires_per_student_anonymous_id` - `ProblemBlock` and `HtmlBlock`. They
now request the "deprecated" (student-specific) user ID directly from the user
service.
* test: warn about dependencies from cms->openedx->lms and vice versa
* test: warn about importing from package's internal implementation code
* chore: Update some imports to use public APIs only
* chore: Update 'bookmarks' app to have stricter public API
* fix: we are sharing 'adapters' from olx_rest_api to content_staging
When creating a new video component in Studio and specifying an HLS URL and MP4 URL along with setting Video Download Allowed equal to True the download link for MP4 has to be shown.
Fixes: https://github.com/openedx/edx-platform/issues/31300
* feat: add org logo to public video page
Refactors CTA banner slightly to allow for left org logo float.
* fix: hide org logo if not provided
* test: add tests for org logo
* feat: add endpoint to tell if video sharing feature is enabled for a course
* feat: create video setting endpoint
* feat: move toggle out of lms
* docs: update toggle location in comment
* docs: fix toggle annotation
* fix: share link should show even if video download is disabled
* fixup! fix: share link should show even if video download is disabled
* chore: update test
* chore: linting
---------
Co-authored-by: Leangseu Kim <lkim@edx.org>
* feat: show poster thumbnail for social media preview
* fix: hide video downloads in public_view
* fixup! fix: hide video downloads in public_view
* test: fix failing video tests
Gate access to exam content by requiring an access token. This is a signed JWT issued by the edx-exams service that grants a user access to a sequence locator for a short lived window while an exam is in progress. This feature only applies to courses using the new exam service instead of edx-proctoring.