Commit Graph

10630 Commits

Author SHA1 Message Date
Braden MacDonald
4158a44307 feat: multi-select when adding blocks to problem bank (#35705)
This implements basic multi-select for adding components to a problem bank,
for the Libraries Relaunch Beta [FC-0062].

Part of: https://github.com/openedx/frontend-app-authoring/issues/1385
2024-10-23 08:29:16 -04:00
Braden MacDonald
9e28ba92ec feat: minimal UI for the Problem Bank block 2024-10-22 17:27:04 -07:00
Jillian
784b2b8c3c feat: add "beta" label to libraries v2 content + item bank buttons (#35690) 2024-10-22 09:18:45 -07:00
Navin Karkera
7e8fb4393e feat: adds Library Content (v2) button to Studio Unit page (#35670)
Requires that v2 libraries are enabled.
2024-10-21 10:32:54 -07:00
Braden MacDonald
e2d6765637 feat: expand support for versioned URLs in v2 XBlock runtime (#35676)
* fix: problem block could not be used with versioned handler URls

* refactor: simplify REST API handling of usage keys

* feat: add more version awareness and update tests

* fix: make the preview changes modal bigger as requested

* refactor: parse version at the urlconf layer too
2024-10-21 09:14:17 -07:00
Chris Chávez
9e14566f90 feat: Copy tags when sync library [FC-0062] (#35596)
* feat: Copy tags when sync library

* feat: Avoid delete object tag if is copied

* chore: Bump version of openedx-learning to 0.16.0

* test: Tests for copy paste library blocks

* feat: Sync tags when sync upstream
2024-10-21 15:24:46 +00:00
José Ignacio Palma
123ad8d82c feat: adds CourseAboutPageURLRequested and LMSPageURLRequested filters (#35142) 2024-10-21 10:35:00 -04:00
Muhammad Adeel Tajamul
968f4f716b feat: removed styling from course update notification (#35680) 2024-10-21 16:04:44 +05:00
Braden MacDonald
83827a3dc2 feat: Confirmation modal to preview and accept v2 library updates (#35669) 2024-10-18 12:21:16 -07:00
Jillian
96811d6452 feat: adds waffle flags for legacy libraries v1 and new libraries v2 (#35576)
* refactor: rename CourseHomeSerializer to StudioHomeSerializer

to better reflect how this serializer/API is used in the Authoring MFE

* feat: adds waffle flags for legacy libraries v1 and new libraries v2 in new Studio Home

These waffle flags replace the MFE env flag LIBRARY_MODE.

* refactor: use contentstore.toggles.libraries_v1_enabled()

and ENABLE_CONTENT_LIBRARIES feature toggle where possible.

ENABLE_CONTENT_LIBRARIES has been incorporated into both the
libraries_v1_enabled() and libraries_v2_enabled() toggles:
FEATURES['ENABLE_CONTENT_LIBRARIES'] must be true for either version of
libraries to be "enabled".
2024-10-18 09:43:01 -07:00
Sagirov Evgeniy
e4a1e41367 feat: new Studio view for rendering a Unit in an iframe [FC-0070]
The first attempt at creating a new MFE-driven page for Studio Unit
rendering involved rendering each XBlock separately in its own iframe.
This turned out to be prohibitively slow because of the many redundant
assets and JavaScript processing (e.g. MathJax) that happens for each
XBlock component.

In order to mitigate some of these issues, we decided to try a hybrid
approach where we render the entire Unit's worth of XBlocks at once on
the server side in a Studio view + template, and then invoke that from
frontend-app-authoring as an iframe. The frontend-app-authoring MFE
would still be responsible for displaying most of the interactive UI,
but the per-component actions like "edit" would be triggered by buttons
on the server-rendered Unit display. When one of those buttons is
pressed, the server-rendered UI code in the iframe would use
postMessage to communicate to the frontend-app-authoring MFE, which
would then display the appropriate actions.

To make this work, we're making a new view and template that copies
a lot of existing code used to display the Unit in pre-MFE Studio, and
then modifying that to remove things like the header/footer so that it
can be invoked from an iframe.

This entire design is a compromise in order to do as much of the UI
development in frontend-app-authoring as possible while keeping
XBlock rendering performance tolerable. We hope that we can find
better solutions for this later.

Authored-by: Sagirov Eugeniy <evhenyj.sahyrov@raccoongang.com>
2024-10-18 10:03:07 -04:00
Kyle McCormick
795d039581 feat: Upstream Sync with Content Library Blocks (#34925)
This introdues the idea of "upstream" and "downstream" content,
where downstreams (like course components) can pull content updates from
upstreams (like learning core-backed content library blocks). This
supports the upcoming Content Libraries Relaunch Beta for Sumac.
New features include:

* A new XBlockMixin: UpstreamSyncMixin.
* A new CMS Python API: cms.lib.xblock.upstream_sync
* A new CMS JSON API: /api/contentstore/v2/downstreams
* A temporary, very basic UI for syncing from Content Library blocks

Implements:
https://github.com/kdmccormick/edx-platform/blob/kdmccormick/upstream-proto/docs/decisions/0020-upstream-block.rst

Co-authored-by: Braden MacDonald <braden@opencraft.com>
2024-10-17 16:02:26 +00:00
David Ormsbee
77e683d5b6 feat: new view & API calls to serve content library assets (#35639)
This commit adds a new view to serve static assets for content
libraries, along with Content Library API calls to add, delete, and get
metadata about these assets. These assets come from Learning Core and
should ONLY BE ACCESSED FROM STUDIO. Users must have read access to the
library in order to see an asset in that library.

This also re-implements video transcript support for content libraries
and re-enables some previously disabled tests around it.
2024-10-16 11:12:11 -04:00
Peter Pinch
c3d68b13f8 Merge pull request #34432 from DmytroAlipov/add-adaptive-display-of-links 2024-10-15 17:58:28 -04:00
Kyle McCormick
2bbd8ecd18 feat!: Remove outdated Libraries Relaunch cruft (#35644)
The V2 libraries project had a few past iterations which were never
launched. This commit cleans up pieces from those which we don't need
for the real Libraries Relaunch MVP in Sumac:

* Remove ENABLE_LIBRARY_AUTHORING_MICROFRONTEND,
  LIBRARY_AUTHORING_FRONTEND_URL, and
  REDIRECT_TO_LIBRARY_AUTHORING_MICROFRONTEND, all of which are obsolete
  now that library authoring has been merged into
  https://github.com/openedx/frontend-app-authoring.
  More details on the new Content Libraries configuration settings are
  here: https://github.com/openedx/frontend-app-authoring/issues/1334

* Remove dangling support for syncing V2 (learning core-backed) library
  content using the LibraryContentBlock. This code was all based on an
  older understanding of V2 Content Libraries, where the libraries were
  smaller and versioned as a whole rather then versioned by-item.
  Reference to V2 libraries will be done on a per-block basis using
  the upstream/downstream system, described here:
  https://github.com/openedx/edx-platform/blob/master/docs/decisions/0020-upstream-downstream.rst
  It's important that we remove this support now so that OLX course
  authors don't stuble upon it and use it, which would be buggy and
  complicate future migrations.

* Remove the "mode" parameter from LibraryContentBlock. The only
  supported mode was and is "random". We will not be adding any further
  modes. Going forward for V2, we will have an ItemBank block for
  randomizing items (regardless of source), which can be synthesized
  with upstream referenced as described above. Existing
  LibraryContentBlocks will be migrated.

* Finally, some renamings:

  * LibraryContentBlock -> LegacyLibraryContentBlock
  * LibraryToolsService -> LegacyLibraryToolsService
  * LibrarySummary -> LegacyLibrarySummary

  Module names and the old OLX tag (library_content) are unchanged.

Closes: https://github.com/openedx/frontend-app-authoring/issues/1115
2024-10-15 11:32:01 -04:00
Dima Alipov
e4c69565f4 feat: adaptive display of links
Do not display the 'Learn more' and 'Share feedback' links for
banner that is enabled by the context_course.discussions_settings
flag if the URLs for these links are not set in the settings.
2024-10-12 13:07:39 +02:00
Braden MacDonald
7316111b35 fix: Improve v2 library block permissions checks for read-only authors (#35598) 2024-10-08 10:22:41 -07:00
Jeremy Ristau
1d94cf3c2a chore: Remove edge reference in notification 2024-10-07 12:47:53 -04:00
Deborah Kaplan
8c923bea24 feat!: removes deprecated v1 certificate behavior (#35562)
* feat!: removes deprecated v1 certificate behavior

this removes the long-deprecated v1  certificate behavior. This removes
the old-style date selection behavior  (ie., not a choice between
*Immediately upon passing*, *End date of course*, *A date after the course
end date*), which is no longer reliably maintained or supported in
Studio or Credentials.

FIXES: #35399
2024-10-02 12:06:57 -04:00
Zachary Hancock
d59c596fdf fix: allow courses to render with invalid proctoring provider (#35573) 2024-10-01 15:01:05 +00:00
Alison Langston
a4c7413e38 fix: gate use of proctoring api if provider is LTI based (#35564) 2024-10-01 08:53:38 -04:00
Braden MacDonald
67b490cab4 fix: suppress errors+warnings when video is used in a content library (#35544) 2024-09-26 09:35:17 -07:00
Peter Pinch
fe80a1cdcd Merge pull request #35406 from open-craft/cef/set-links-for-course-authoring-alert
feat: set links for CourseAuthoring discussion alert
2024-09-26 11:32:12 -04:00
Ahtisham Shahid
b50c42318c feat: added country disabling feature (#35451)
* feat: added country disabling feature
2024-09-25 14:40:08 +05:00
Varsha Menon
ed59e79417 fix: fix broken proctoring settings link 2024-09-24 09:23:57 -04:00
Feanil Patel
0f975adc14 feat: Be able to login to bare-metal studio easily. (#35172)
* feat: Be able to login to bare-metal studio easily.

Updating the documentation and the devstack.py files so that if you're
running bare-metal you can easily setup studio login via the LMS.

I also added the Ports that the various MFEs expect to the runserver
scripts so that it's easier to run those locally as well.

Co-authored-by: Kyle McCormick <kyle@axim.org>
2024-09-20 08:51:51 -04:00
Rômulo Penido
bb6ac5a898 feat: new unstable URL to render a v2 library xblock in an iframe (#35473) 2024-09-13 11:45:33 -07:00
Demid
448edd7e5f feat: add can_access_advanced_settings to studio home (#35426) 2024-09-12 12:36:35 -04:00
Zachary Hancock
4b827bf9be feat: show error on courses with unknown proctoring providers (#35445) 2024-09-10 09:02:13 -04:00
Alison Langston
e498d2087d fix: allow courses to render with invalid proctoring provider (#35430) 2024-09-09 10:51:06 -04:00
cef
73364712ba feat: set links for CourseAuthoring discussion alert 2024-09-09 08:42:36 -05:00
Kaustav Banerjee
79fb1cc404 fix: hide new library button for ineligible users in split studio view (#35316) 2024-09-06 11:21:56 -07:00
Tim McCormack
b615a8767f feat: Convert contentserver to view permanently (drop middleware and flag) (#35420)
Final planned portion of https://github.com/openedx/edx-platform/issues/34702 -- waffle flag and middleware are removed.

Commits:

1. Feature change
    - Delete `content_server.use_view` waffle flag in favor of always using view
    - Delete the husk of `StaticContentServerMiddleware` and references to it
    - Update views module docstring
2. Refactor (move)
    - Move contentserver implementation into views.py
3. Lint cleanup
    - Fix import ordering (from refactor debris + amnestied lint)
2024-09-06 14:42:32 +00:00
Braden MacDonald
4a12de7851 refactor: remove unused JS requirement in CMS (#34545) 2024-09-03 10:40:32 -07:00
Robert Raposa
01c718dfb2 Revert "feat: DEPR USE-JWT-COOKIE header (#35393)" (#35397)
This reverts commit 1c2b804ef7.
2024-08-29 11:23:05 -04:00
Muhammad Adeel Tajamul
481a50717a feat: updated content in course_update notification (#35373) 2024-08-29 18:07:57 +05:00
Robert Raposa
1c2b804ef7 feat: DEPR USE-JWT-COOKIE header (#35393)
This repo is no longer using USE-JWT-COOKIE header,
since it has the required edx-drf-extensions>10.2.0,
where it was fully removed.

This is final clean-up for this repo.

See "[DEPR]: USE-JWT-COOKIE header" for more details:
- https://github.com/openedx/edx-drf-extensions/issues/371
2024-08-29 08:27:47 -04:00
Rômulo Penido
5fbcc794cf feat: add collections app from openedx-learning (#35312) 2024-08-23 14:33:31 +09:30
Kristin Aoki
36a3b0ba81 Revert "fix: update course discussion config before course load (#35219)" (#35349)
This reverts commit 5c0942481c.
2024-08-22 19:49:21 +00:00
Muhammad Farhan Khan
375b9d9286 feat: Expose xmodule xblocks Sass variables as vanilla CSS variables (#35233)
* feat: Expose xmodule xblocks Sass variables as vanilla CSS variables
* https://github.com/openedx/edx-platform/issues/35173
2024-08-20 20:05:02 +05:00
Ahtisham Shahid
5c0942481c fix: update course discussion config before course load (#35219)
fix: update course discussion config before course load

fix: updated unit tests

fix: resolved content issue in renamed notification
2024-08-12 07:53:55 +00:00
Ahtisham Shahid
9bd692413a fix: make course update email pref false (#35224)
fix: updated unit tests

fix: updated unit tests
2024-08-07 14:55:02 +05:00
Eemaan Amir
085a2f5815 refactor: deprecated course update notification waffle flag (#35190) 2024-07-30 11:57:51 +05:00
Kristin Aoki
8d0ada54c4 feat: add waffle flag for beta testing new problem editor parser (#35184)
* feat: add waffle flag for beta testing new problem editor parser

* chore: remove commented out code

* fix: failing test
2024-07-26 12:00:42 -04:00
Daniel Valenzuela
78b691b56a refactor: inheritable authoring mixin callbacks for editing & duplication (#33756) 2024-07-25 10:30:37 -07:00
Feanil Patel
1fa8e07f1c style: Fix a pylint and other style violations. 2024-07-25 11:06:17 -04:00
connorhaugh
25437d2a72 docs: imporved comment 2024-07-25 10:12:16 -04:00
connorhaugh
df635e0fae fix: libraries across orgs 2024-07-25 10:12:16 -04:00
Muhammad Adeel Tajamul
e12ec1b153 feat: added group_by_id field in notifications model (#35137) 2024-07-23 14:28:56 +05:00
Deborah Kaplan
58de0964ca feat: removing visible_date-to-creds updates per-cert (#35113)
* feat: removing visible_date-to-creds updates per-cert

The credentials IDA now relies on  the course certificate configuration
and (if present) `certificate_available_date` for displayability. We no
longer need to send `visible_date` updates for every awarded certificate
when a course  overview changes.
2024-07-17 08:43:12 -04:00