Commit Graph

107 Commits

Author SHA1 Message Date
Irtaza Akram
474dc71f0d chore: remove legacy problem studio view (#37795)
* fix: remove legacy problem studio view and resource templates
2026-01-08 13:07:15 +05:00
Feanil Patel
28ab2ceb67 fix: Drop other references to studiofrontend.
Drop tooling to load studio-frontend components into mako templates and
XSS testing features related to it.
2025-10-20 14:08:45 -04:00
Feanil Patel
6ac4201604 fix: Drop the image modal on containers.
This is only needed to make the legacy editor work on containers. Added
originally via https://github.com/openedx/edx-platform/pull/17834

However, now that we use the new MFE text editor even on this legacy
page, we don't need to load the old image modal in the old text editor.
2025-10-16 15:01:36 -04:00
Feanil Patel
e68eab9e5b feat: Drop the legacy_studio.text_editor flag.
Remove the flag and update the code paths as if it's always set to true.
2025-10-16 15:01:36 -04:00
Kyle McCormick
8e9f94424d feat!: Flip Studio MFE Waffle Flags to be On-By-Default (#36495)
This makes nearly all of Studio React-by-default by replacing the
"opt-in-to-React" flags with a set of parallel
"opt-out-of-React-and-use-the-legacy-experience" flags. Here is the
mapping:

* `contentstore.new_studio_mfe.use_new_unit_page` ->
  `!legacy_studio.unit_editor`
* `new_core_editors.use_new_problem_editor` ->
  `!legacy_studio.problem_editor`
* `new_core_editors.use_new_text_editor` ->
  `!legacy_studio.text_editor`
* `new_core_editors.use_new_video_editor` ->
  `!legacy_studio.video_editor`
* `new_studio_mfe.use_new_home_page` ->
  `!legacy_studio.home`
* `contentstore.new_studio_mfe.use_new_custom_pages` ->
  `!legacy_studio.custom_pages`
* `contentstore.new_studio_mfe.use_new_schedule_details_page` ->
  `!legacy_studio.schedule_details`
* `contentstore.new_studio_mfe.use_new_advanced_settings_page` ->
  `!legacy_studio.advanced_settings`
* `contentstore.new_studio_mfe.use_new_grading_page` ->
  `!legacy_studio.grading`
* `contentstore.new_studio_mfe.use_new_updates_page` ->
  `!legacy_studio.updates`
* `contentstore.new_studio_mfe.use_new_import_page` ->
  `!legacy_studio.import`
* `contentstore.new_studio_mfe.use_new_export_page` ->
  `!legacy_studio.export`
* `contentstore.new_studio_mfe.use_new_files_uploads_page` ->
  `!legacy_studio.files_uploads`
* `contentstore.new_studio_mfe.use_new_course_outline_page` ->
  `!legacy_studio.course_outline`
* `contentstore.new_studio_mfe.use_new_course_team_page` ->
  `!legacy_studio.course_team`
* `contentstore.new_studio_mfe.use_new_certificates_page` ->
  `!legacy_studio.certificates`
* `contentstore.new_studio_mfe.use_new_textbooks_page` ->
  `!legacy_studio.textbooks`
* `contentstore.new_studio_mfe.use_new_group_configurations_page` ->
  `!legacy_studio.configurations`

Part of: https://github.com/openedx/edx-platform/issues/36275
2025-04-24 12:34:35 -04: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
Artur Gaspar
90fc5f8dbf feat: open new editors from non-unit Studio container page (#33575)
Make the edit button on a container page for a non-unit block
(i.e. an individual text, problem or video block) open the new
editor when the relevant flag is enabled.
2024-05-31 11:30:59 -04:00
Lewis M. Kabui
3a84339a95 fix: Use Locator property block_id. (#34187)
This change has been made to address 9 deprecation warnings which
can be seen after the tests are run.

`name` property of Locators has been deprecated and replaced by the
`block_id` property.

Co-authored-by: Lewis Kabui <lewisemm@users.noreply.github.com>
2024-03-18 12:10:25 -07:00
Chris Chávez
5838d68efc feat: Tagging UX refinements - refresh tag count on edit (#34059)
* style: drawer-cover color updated for all tagging drawers
* feat: Update TagList component when a tag is updated on Manage tags drawer
* feat: Refactor TagCount to be able to refresh the count
* feat: Sync tag count in units
2024-01-25 10:33:47 -08:00
Pooja Kulkarni
f5b246d0e9 feat: copy/paste unit from within a unit in Studio - feature flagged (#33724)
(requires the contentstore.enable_copy_paste_units waffle flag)
2023-12-01 11:33:34 -08:00
Chris Chávez
f72710e261 feat: Display tags on the Unit page in Studio (feature-flagged) - Take 2 (#33761) 2023-11-21 12:12:17 -08:00
Kyle McCormick
e800ae7622 feat: provisionally support V2 libraries in LibraryContentBlock (randomized only) (#33263)
Refactors and reworks the LibraryContentBlock so that its
sync-from-library operations are asynchronous and work with
V2 content libraries. This also required us to make
library_content block duplication asynchronous, as that
involves syncing from the source library.

For the sake of clarity, this PR includes two major method renames:

* update_children(...) -> sync_from_library(...)
* refresh_library(...) -> sync_from_library(upgrade_to_latest=True, ...)

an an XBlock HTTP handler rename:

  /refresh_children -> /upgrade_and_sync

There are still a couple issues with import or duplication
of library_content blocks referencing V2 libraries other than
latest. These will be resolved in an upcoming PR.

Part of: https://openedx.atlassian.net/wiki/spaces/COMM/pages/3820617729/Spec+Memo+Content+Library+Authoring+Experience+V2
Follow-up work: https://github.com/openedx/edx-platform/issues/33640

Co-authored-by: Connor Haugh <chaugh@2u.com>
Co-authored-by: Eugene Dyudyunov <evgen.dyudyunov@raccoongang.com>
2023-11-20 15:58:10 +00:00
Rebecca Graber
c66ed87f65 Revert "feat: Tag List on Unit page (feature-flagged) (#33645)" (#33740)
This reverts commit 104d42c67a.
2023-11-17 20:12:47 +00:00
Chris Chávez
104d42c67a feat: Tag List on Unit page (feature-flagged) (#33645) 2023-11-17 10:03:28 -08:00
Yusuf Musleh
3eb4e0ce9c feat: Update new files notification banner styles (#33197)
Uses the updated styles for the notification based on the new designs.
Includes a button to open view the files directly in the notification.

This also fix a bug where the notification was not appearing when paste
a whole Unit.
2023-09-15 08:58:50 -07:00
Jesper Hodge
a6c57811cd feat add xblock api endpoint (#32282)
* feat: add xblock endpoint for updating an xblock

fix: remove debugger

feat: make function call more generic

refactor: just use request.json for request data as before

refactor: extract method

fix: revert wrong method change

fix: refactor correct method

feat: use handle_xblock method so that we can do more than update xblocks

fix: usage_key_string defaults to None

add all CRUD operations

fix usage key parameter

refactor: create /views folder

refactor: move xblock view functions to xblock_services

fix: tests

fix: tests

refactor: move xblock API endpoint to contentstore

* docs: add explanatory comment to new xblock_service

* feat: add feature flag for enabling content editing api

* feat: raise 404 if studio content api is disabled

* tests: test xblock endpoint

* test: make all post tests work

* test: check that xblock_handler receives correct args

* refactor: create util mixin for course factories with staff

* refactor: extract course staff authorization tests

* refactor: extract tests to api view testcase class

* test: add get tests

* test: fix tests

* test: fix tests

* test: fix tests

* test: add all crud tests

* fix: refactor to fix tests

* fix: merge conflict

* fix: merge conflict

* fix: tests after merge

* fix: json request decorator

* fix: lint

* fix: lint

* fix: lint

* fix: lint

* fix: new test files

* fix: lint

* fix: lint and apply PR suggestions

* fix: lint

* fix: lint

* fix: lint

* fix: lint

* fix: lint

* fix: lint
2023-06-15 14:17:49 -04:00
Braden MacDonald
8ee1f66ffb feat: Paste Components (OLX) into any Unit in Studio (#31969)
* feat: Implement paste button

* chore: improve docs and add tests for python API

* fix: drive-by fix to use a better API for comparing XML

* feat: track which XBlock something was copied from

* feat: add tests

* feat: enable import linter so content_staging's public API is respected

* fix: error seen when trying to paste drag-and-drop-v2 blocks

* fix: use strip_text=True consistently for XML comparisons

* refactor: rename get_user_clipboard_status to get_user_clipboard

* feat: Better error reporting when pasting in Studio

* chore: convert new test suite to pytest assertions

* refactor: push READY status check into the API per review suggestion

* fix: use strip_text=True consistently for XML comparisons

* fix: store "copied_from_block" as a string to avoid Reference field issues

* fix: minor lint error

* refactor: move data types to data.py per OEP-49
2023-04-27 09:58:04 -07:00
David Ormsbee
7bc6ff8c34 feat: pre-fill location to Unit URL in Studio sidebar
Studio has a panel on the right side in the Unit view that shows authors
how to create a jump_to_id link to that Unit from HTML components that
are elsewhere in the course. However, that link was the literal text:

  "/jump_to_id/<location ID>"

The expectation was that people would then copy the location ID as well,
and construct the link manually. This commit is a minor tweak that just
displays the link address with the location ID pre-filled. Doing this
does cause a little bit of text overflow, which is why this commit also
removes the quotes surrounding the URL. It's still doesn't always fit
perfectly, but the increased usability is worth the small visual issue.
2023-04-19 11:09:26 -04:00
Jawayria
70ae3e531a fix: replace 'ugettext' with 'gettext' in cms 2021-12-13 20:30:32 +05:00
Shimul Chowdhury
e339cc1b07 Add Unit & Nested blocks to breadcrumbs
hide links that has no url

Hide sequence nav in nested pages

Improve doc
2021-01-15 18:49:01 +06:00
Kyle McCormick
538dbf696b Import CMS code using fully qualified module names
or, using proper the proper Python 3 relative imports
(e.g., 'from .views import x') which are standard and
unambiguous.
2020-10-19 09:34:31 -04:00
Dave St.Germain
95abce3830 Fixed the studio breadcrumbs to show the current chapter/section name. 2020-03-10 14:29:56 -04:00
Dave St.Germain
3e73ba3879 TNL-6929:
Improves navigation within Studio for Learning Sequences, speeding up authors who want to see how a learner progresses through content without needing to jump over to the LMS.

This adds a dropdown section navigator to the breadcrumbs on the unit page and copies the sequence navigator from LMS to the studio unit page.
2019-11-07 09:13:00 -05:00
Awais Jibran
1a4eb7d2e8 Pervent reverse tabnabbing in edx platform 2019-08-28 16:08:34 +05:00
noraiz-anwar
1c4f9da92d improved quality of multiple files 2019-08-22 12:47:08 +05:00
Michael Roytman
7653f10213 remove enable_edit_image_modal waffle flag 2018-08-16 16:30:29 -04:00
Calen Pennington
07a15c681f Reapply the XBlock RequireJS -> Webpack changes
This reverts commit 105db2cf59, reversing
changes made to 447457594f.
2018-06-27 22:27:07 -04:00
Eric Fischer
e72549cdbe Revert "Merge pull request #18340 from cpennington/fix-studio-xblock-rendering"
This reverts commit 9a70ca78a5, reversing
changes made to efd5b9abbd.

Hopefully fixes EDUCATOR-3053
2018-06-15 13:18:27 -04:00
Calen Pennington
be3c7e05c5 Reapply "Switch container factory to webpack"
This reverts commit 18d93b00ba.
2018-06-07 15:52:05 -04:00
Calen Pennington
18d93b00ba Revert "Switch container factory to webpack" 2018-06-07 13:46:47 -04:00
Calen Pennington
0abe75a7c6 Re-apply the changes to convert XBlocks to Webpack
Reapplies edx/edx-platform#17509

This reverts commit 0f7e2373d0.
2018-06-06 12:52:12 -04:00
Calen Pennington
0f7e2373d0 Revert "Switch container factory to webpack" 2018-05-29 16:01:38 -04:00
Calen Pennington
d08e199f79 Load XBlocks with webpack rather than RequireJS 2018-05-29 12:19:05 -04:00
Calen Pennington
389f4fcec9 Switch container.js to bundle using webpack 2018-05-29 12:19:05 -04:00
Michael Roytman
8e9e3dac2f pass courseDetails to editImageModal 2018-04-27 13:29:39 -04:00
Michael Roytman
ecab1286a6 Merge pull request #18006 from edx/mroytman/add-accessibility-image-best-practice-doc-link
add image accessibility best practice documentation URL and pass thro…
2018-04-20 16:08:59 -04:00
Michael Roytman
b6e90f4dff prevent loading both production and development CSS from the studio-frontend container 2018-04-20 13:39:03 -04:00
Michael Roytman
03a9e85272 add image accessibility best practice documentation URL and pass through to studio-frontend edit image modal 2018-04-20 13:38:15 -04:00
Tyler Hallada
71e74949e9 Change in-context waffle switch to a flag
Also update studio-frontend to version 1.7.1
2018-04-05 16:47:42 -04:00
Tyler Hallada
d31249ba20 Studio-frontend in-context image selection modal
Open edit image modal via a custom signal

Send img tag attributes in open signal

Send natural image dimensions if no attr specified

Add new modal button in addition to old button

Also load built CSS when waffle switch on

Swap out TinyMCE toolbar button on waffle switch

Pass LANGUAGE_CODE from Django to template to studio-frontend

Define request.LANGUAGE_CODE in test_container_page.py
2018-04-04 15:48:36 -04:00
Jeremy Bowman
113e8dde61 PLAT-1885 Stop using deprecated BlockUsageLocator properties 2018-01-12 16:40:21 -05:00
Jeff LaJoie
1c90220462 EDUCATOR-434: Extends Course Outline Unit settings to allow Group Access configuration 2017-07-19 14:17:38 -04:00
muhammad-ammar
c7dc83c378 Move modal show course outline with breadcrumb
TNL-6060
2017-03-01 19:25:57 +05:00
Sylvia Pearce
d6cf03b094 Update guidance in Studio Unit Location text 2017-01-10 16:29:08 -05:00
ssemenova
c1f793172f change icon tags from i to span
TNL-4692
2016-06-07 10:52:00 -04:00
Robert Raposa
7223ee9316 Fix import order for HTML, Text. 2016-05-23 08:47:08 -04:00
Robert Raposa
8e1e4a4715 Use markup HTML helper with Text
TNL-4160
2016-03-04 10:44:41 -05:00
Robert Raposa
29fe2c7b0c Move markup helpers to djangolib 2016-02-05 02:42:43 -05:00
Robert Raposa
f555ffd585 Refactor and improve js_utils helpers
- Rename escape_json_dumps to dump_js_escaped_json
- Rename escape_js_string to js_escaped_string
- Update js_escaped_string to output empty string for None
- Introduce dump_html_escaped_json
- Move dump_js_escaped_json after the pipe as new best practice
- Introduce additional uses of helpers
- Introduce new djangolib directory and move js_utils
2016-02-03 17:13:21 -05:00
Usman Khalid
766c3dca71 Merge pull request #11051 from Ayub-Khan/ayubkhan/TNL-3822
Fix escaping in studio editor
2015-12-23 14:57:50 +05:00