Commit Graph

2232 Commits

Author SHA1 Message Date
Braden MacDonald
d60cdc2305 fix: refactor MakoService to allow specifying namespace per template (#33061) 2023-08-21 10:05:38 -07:00
Kyle McCormick
355779983e build: commit builtinblocks Webpack config and stub out xmodule_assets (#32685)
The Webpack configuration file for built-in XBlock JS used to be
generated at build time and git-ignored. It lived at
common/static/xmodule/webpack.xmodule.config.js. It was generated
because the JS that it referred to was also generated at build-time, and
the filenames of those JS modules were not static.

Now that its contents have been made entirely static [1], there is no
reason we need to continue generating this Webpack configuration file.
So, we check it into edx-platform under the name
./webpack.builtinblocks.config.js. We choose to put it in the repo's
root directory because the paths contained in the config file are
relative to the repo's root.

This allows us to behead both the xmodule/static_content.py
(`xmodule_assets`) script andthe  `process_xmodule_assets` paver task, a
major step in removing the need for Python in the edx-platform asset
build [2]. It also allows us to delete the `HTMLSnippet` class and all
associated attributes, which were exclusively used by
xmodule/static_content.py..

We leave `xmodule_assets` and  `process_xmodule_assets` in as stubs for
now in order to avoid breaking external code (like Tutor) which calls
Paver; the entire pavelib/assets.py function will be eventually removed
soon anyway [3]. Further, to avoid extraneous refactoring, we keep one
method of `HTMLSnippet` around on a few of its former subclasses:
`get_html`. This method was originally part of the XModule framework;
now, it is left over on a few classes as a simple internal helper
method.

References:
1. https://github.com/openedx/edx-platform/pull/32480
2. https://github.com/openedx/edx-platform/issues/31800
3. https://github.com/openedx/edx-platform/issues/31895

Part of: https://github.com/openedx/edx-platform/issues/32481
2023-07-27 14:32:29 +00:00
Dmytro
bf74a8bf7b fix: discussion could not be loaded in course units (#32456)
Discussion:
 - https://github.com/openedx/wg-build-test-release/issues/276
2023-07-24 10:50:43 -04:00
Agrendalath
92b684004e refactor: reuse services and wrappers between XBlocks (fixed)
This re-applies commit 36cc415 with handling an invalid context_key in the
`PartitionService`. It can happen when rendering a `LibraryContentBlock` in
Studio because this service is initialized by the modulestore when validating
an XBlock to gather its error messages in the `studio_xblock_wrapper`.
2023-07-19 18:01:59 +02:00
Agrendalath
6825088801 Revert "Revert "feat: remove field-data binding from the runtime [FC-0026]" (#32740)"
This reverts commit fa06be106e.
2023-07-19 15:36:26 +02:00
Piotr Surowiec
fa06be106e Revert "feat: remove field-data binding from the runtime [FC-0026]" (#32740)
* Revert "feat: remove `field-data` service from runtime initialization"

This reverts commit 6c435bb68c.

* Revert "feat: remove field data binding from the runtime"

This reverts commit 5f46ea52cd.
2023-07-13 13:04:02 -04:00
Piotr Surowiec
c6bd98e51a Revert "refactor: reuse services and wrappers between XBlocks" (#32730)
This reverts commit 36cc415fc2.
2023-07-13 10:05:34 -04:00
Agrendalath
36cc415fc2 refactor: reuse services and wrappers between XBlocks 2023-06-30 15:06:43 +02:00
Agrendalath
6c435bb68c feat: remove field-data service from runtime initialization 2023-06-26 19:21:22 +02:00
Agrendalath
5f46ea52cd feat: remove field data binding from the runtime 2023-06-26 19:21:22 +02:00
Agrendalath
71fee4a4a0 feat!: remove block handling from runtime initialization of ReplaceURLService
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.
2023-06-21 20:28:24 +02:00
Piotr Surowiec
0137f21627 feat: move XQueueService from the runtime to ProblemBlock
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.
2023-06-21 20:08:31 +02:00
Agrendalath
9fbc263edd feat: remove block-specific handling from runtime role checks 2023-06-15 11:08:03 +02:00
Braden MacDonald
aa68ea1162 chore: Update with latest master 2023-05-31 16:25:35 -07:00
Leangseu Kim
1b50e80437 chore: add go to course button for student already enrolled in the courses
chore: linting

chore: update requested change
2023-05-30 09:45:50 -04:00
Braden MacDonald
dac1c5abe1 refactor: we don't need _unwrapped_field_data any more 2023-05-29 15:27:12 -07:00
Edward Zarecor
2f44415eba Merge pull request #32099 from open-craft/navin/fix-video-transcripts 2023-05-18 14:29:34 -04:00
nsprenkle
1839bc01c6 feat: update text for sharing to Twitter
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
2023-05-18 13:51:51 -04:00
Leangseu Kim
f72d27c6af chore: remove studio check
chore: remove duplicate code

chore: update get_public_video_url because reverse doesn't work on cms
2023-05-18 13:08:01 -04:00
Muhammad Adeel Tajamul
d8db64cf2a feat: hide discussion tab when disabled (#32195) 2023-05-16 05:17:06 +05:00
Navin Karkera
a06c9b17be fix: update transcripts field in video on upload 2023-05-12 18:36:59 +05:30
Piotr Surowiec
9d9bd63926 Merge pull request #32177 from open-craft/braden/fix-warnings
Fix some warnings from usage of deprecated properties
2023-05-08 16:04:28 +02:00
jansenk
4de07c25d0 refactor: video sharing js
test: add testing for VideoSocialSharingHandler

test: fix context tests

refactor: move most link logic to django

chore: update python test

chore: update linting
2023-05-04 09:33:16 -04:00
Braden MacDonald
11a46bde54 chore: properly mark usage of deprecated accessors in test_block_render
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.
...
2023-05-03 12:42:43 -07:00
Nathan Sprenkle
745cda1580 feat: course overrides of video sharing settings (#32169)
* 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.
2023-05-03 13:23:34 -04:00
Agrendalath
aa85257b19 fix: use student-specific anonymous IDs in CAPA and HTML XBlocks
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.
2023-05-02 17:58:22 +02:00
Pooja Kulkarni
c80fba689a refactor: rename descriptor -> block within lms/djangoapps/courseware
Co-authored-by: Agrendalath <piotr@surowiec.it>
2023-04-26 17:10:53 +02:00
Agrendalath
522c48c137 refactor: do not rely on LmsModuleSystem in Video XBlock
It was introduced in 159b707. We are removing this class.
This also adds a missing test case.
2023-04-21 11:53:49 +02:00
Kaustav Banerjee
c5439221cb chore: address review comments 2023-04-21 11:53:49 +02:00
Kaustav Banerjee
d0fa2d65e3 test: fix test cases and lint issues 2023-04-21 11:53:49 +02:00
Sathis
714b6cb109 fix: Allow download url in video component when MP4/WEBM format is available
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
2023-04-07 10:47:38 -05:00
Jansen Kantor
2f64020259 feat: get info from catalog service (#32009) 2023-03-30 12:01:51 -04:00
Jansen Kantor
da1982f432 fix: get marketing url from overview, with override (#31998)
* fix: get marketing url from overview, with override

* style: quality
2023-03-28 16:02:36 -04:00
Nathan Sprenkle
4d999ed3f7 feat: add organization logo to public video page (#31922)
* 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
2023-03-16 10:35:02 -04:00
Jansen Kantor
b6ba32830a feat: add endpoint to tell if video sharing feature is enabled for a course (#31931)
* 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
2023-03-16 09:51:05 -04:00
Leangseu Kim
5c47374483 test: behavior test for public video xblock 2023-03-15 16:02:35 -04:00
Jansen Kantor
9ad3f0ff60 fix: share link should show even if video download is disabled (#31902)
* 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>
2023-03-10 12:54:07 -05:00
Leangseu Kim
e3e83c74dc feat: add twitter share button to public access video 2023-03-09 13:50:09 -05:00
Jansen Kantor
e809344701 fix: waffle flag gates public video (#31881)
* fix: waffle flag gates public video

* test: move test into existing file
2023-03-06 15:16:22 -05:00
Jansen Kantor
d6f1fd54ac fix: video share improvements (#31792)
* 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
2023-02-17 17:35:34 -05:00
Zachary Hancock
9522cbdc8b feat: gate exam content using access token (#31653)
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.
2023-02-17 10:00:52 -05:00
Jansen Kantor
dc7c74e890 fix: hide download urls and fix margin for video embed view (#31784)
* fix: hide all download links if embed

* style: remove embed margin

* test: fix failing video context tests
2023-02-16 21:17:03 -05:00
Jansen Kantor
5436136609 feat: public video metadata + embed (#31753)
* feat: public video metadata + embed

* refactor: alphebetize template context

* feat: don't default show transcript when embed

* fix: rename var

* fix: remove padding in embed view

* style: newline

* test: add tests
2023-02-16 13:18:45 -05:00
Ned Batchelder
12765a7a59 refactor(test): use @skip_unless_lms uniformly 2023-02-01 13:52:26 -08:00
0x29a
3a1011bed8 refactor: replace usages of XModuleMixin.system with XBlock.runtime 2023-01-30 18:15:24 +01:00
0x29a
e96155807a refactor: rename module (or item) -> block within common 2023-01-30 18:15:23 +01:00
0x29a
d338f00e39 refactor: rename module (or item) -> block within cms 2023-01-30 18:15:23 +01:00
0x29a
a027f36724 refactor: rename module -> block within xmodule 2023-01-30 18:15:22 +01:00
0x29a
e348a8118d refactor: rename module -> block within lms/djangoapps/instructor_task 2023-01-30 18:15:22 +01:00
0x29a
9d8375ff99 refactor: rename module -> block within lms/djangoapps/courseware
Also, removed unused `_has_access_xmodule` methid from `lms/djangoapps/courseware/access.py`.
2023-01-30 18:15:22 +01:00