Commit Graph

67533 Commits

Author SHA1 Message Date
Feanil Patel
14d4aa22c8 Merge pull request #37482 from openedx/feanil/drop_assets_and_files
feat!: Drop the legacy files and uploads page.
2025-10-20 12:54:55 -04:00
Feanil Patel
b10448dbd8 Merge pull request #37507 from openedx/feanil/fix_workflow_triggers
build: Fix workflow triggers for the Dunder init check.
2025-10-20 12:48:14 -04:00
Feanil Patel
6c7a95c7a0 build: Fix workflow triggers for the Dunder init check.
This check was previously only running on PRs to master, which makes it annoying to stack PRs and have all the checks run.  Update it so that the check runs on all PRs and on pushes to master.
2025-10-20 12:08:16 -04:00
Feanil Patel
fcfa4138fd feat!: Drop the legacy files and uplades page.
The assets page and related tests and settings flags will be removed.
They have been replaced with a new implementation in the
frontend-app-authoring MFE.

BREAKING CHANGE: The legacy_studio.files_uploads flag has been removed
and will no longer allow operators to fall back to the legacy files and
uploads view.  The new MFE version is now the only available veiew.
2025-10-20 11:50:05 -04:00
Feanil Patel
c2d65c9225 Merge pull request #37462 from openedx/feanil/drop_course_outline
feat!: Drop the legacy course_outline page.
2025-10-20 11:49:21 -04:00
Feanil Patel
91010abc17 Merge pull request #37454 from openedx/feanil/drop_course_home
feat!: Drop the legacy studio course home page
2025-10-20 11:45:58 -04:00
David Ormsbee
f7a1a9d990 feat!: remove version from library serializer
The ContentLibraryMetadata used to hold a version field that was meant
to represent the version of the library as a whole. This is a holdover
from v1 libraries, where all changes to the library resulted in a new
version of the content, and that version indicator was used by courses
to know whether or not an update was available.

This maps poorly to Learning Core backed libraries for a number of
reasons:

1. LC-backed libraries have Draft and Published branches, meaning that
   a global "version" may be ambiguous.
2. LC-backed libraries have things like tagging and collections, where
   modifications are explicitly *not* versioned at all, and do not show
   up in either the publish log or the draft change log.
3. Courses that borrow content from LC-backed libraries track
   versioning at the level of the individual thing being borrowed, e.g.
   a single Component. This is in keeping with the goal to have very
   large libraries with many small bits of content to search and use.

This commit removes the notion of a Library-global version entirely for
v2 (LC-backed) libraries. This does not affect legacy v1 libraries that
are backed by ModuleStore.
2025-10-20 11:11:46 -04:00
Tobias Macey
0fdb6ed2fe fix: Convert UUIDField columns to uuid type for MariaDB (#37494)
The behavior of the MariaDB backend has changed behavior for UUIDField
from a `CharField(32)` to an actual `uuid` type. This is not converted
automatically, which results in all writes to the affected columns to
error with a message about the data being too long. This is because the
actual tring being written is a UUID with the `-` included, resulting in
a 36 character value which can't be inserted into a 32 character column.
2025-10-20 10:32:44 -04:00
Feanil Patel
83cfa1d58b docs: Apply suggestion from @kdmccormick
Co-authored-by: Kyle McCormick <kyle@axim.org>
2025-10-20 10:26:53 -04:00
Feanil Patel
ad4b0541f8 test: Don't test HTML views that no longer exist.
The removed tests either needed to check things on the outline page
which makes them not relevant tests, or they just needed data from the
course_handler which they can get from json now.
2025-10-20 10:26:49 -04:00
Feanil Patel
5b1362fdb1 test: Drop the header menu tests.
The tests were testing a set of menu items that were specifically
available on the old course_outline page.  Since the page is never
rendered we don't need to test to see if those header items are actually
rendered.

As we finish the rest of the studio frontend cleanup, the header itself
should be removed but just removing these tests since they relied on
conditional bits of the header for when it was showing a course outline.
2025-10-20 10:26:48 -04:00
Feanil Patel
e64d4cee8d feat!: Drop the legacy course_outline page.
This page has been replaced with an equivalent page in the authoring MFE
which has been on by default since Teak.  This change removes the
ability to fallback to the old page using waffle flags.

BREAKING CHANGE: The `legacy_studio.course_outline` waffle flag will be removed
and the code will behave as if it's always set to `False`. Preventing
you from falling back to the old Course Outline page.
2025-10-20 10:26:48 -04:00
Feanil Patel
1ca24ee71c docs: Add a link to future cleanup ticket.
Co-authored-by: Kyle McCormick <kyle@axim.org>
2025-10-20 10:24:08 -04:00
Peter Pinch
264198f013 Merge pull request #37395 from asajjad2/areeb/discussions-edit-errant-string
fix: prevent errant body string on title edit
2025-10-20 08:32:56 -04:00
Muhammad Sameer Amin
71989bd67c Merge pull request #37498 from openedx/sameeramin/upgrade-edx-enterprise-e2526cf
feat: Upgrade Python dependency edx-enterprise
2025-10-20 12:41:38 +05:00
Navin Karkera
744cc87ffb feat: follow migrated legacy library content block (#37405)
* feat: show item bank ui for migrated legacy library content

* feat: migrate legacy content block to item bank block on view in studio

* fix: duplicate and copy issues

* refactor: migration location and add tests

* fix: lint issues

* fix: item bank and library content children view add button functionality

Newly added blocks from library in children view page of item bank block
and migrated library content block were not displayed automatically.

* fix: lint issues

* fix: lint issues

* feat: only migrate if same version of library is migrated

* refactor: migrate block on request

* fix: component reload on migration

* fix: tests

* refactor: comments and message wordings

* refactor: update alert text

* docs: add context

* fix: component links not being created on migrating legacy blocks

* fix: api docs and types

* refactor: use inheritance and specific parent method call

* fix: imports

* fix: api typing

* fix: upstream_version check

* refactor: rename variables

* refactor: parsing entity keys to usage_keys
2025-10-20 11:20:37 +05:30
Kyle McCormick
d91676fcb4 fix: Don't look for a custom Python ZIP in Content Libs V2 (#37500)
Python-evaluated problems were failing to render because they were trying to
invoke `course_id.make_asset_key` in order to obtain the asset key of the
custom Python ZIP file. Learning Core assets work differently (no asset keys,
etc.), and, furthermore, we haven't really thought though how and whether we
want to support custom Python ZIPs in libraries.

So, this fix punts on supporting Python ZIP files in libraries for now, but
enables rendering of advanced CAPA problems which don't rely on a ZIP. This
brings us to parity with Legacy Libraries, which didn't support assets at all
and thus didn't support Python ZIPs either.

Fixes: https://github.com/openedx/edx-platform/issues/37447
2025-10-17 17:29:26 -04:00
sameeramin
4953c12fbc feat: Upgrade Python dependency edx-enterprise
Commit generated by workflow `openedx/edx-platform/.github/workflows/upgrade-one-python-dependency.yml@refs/heads/master`
2025-10-17 17:38:32 +00:00
Rômulo Penido
e2526cfb9b feat: intra library container copy [FC-0097] (#37483)
Allows pasting sections and subsections in libraries, adding support for intra-library copy and paste
2025-10-17 12:14:24 -05:00
Peter Pinch
2b0982f2da Merge branch 'master' into areeb/discussions-edit-errant-string 2025-10-17 12:50:25 -04:00
Feanil Patel
0c214db8e3 Merge pull request #37394 from openedx/dependabot/github_actions/actions/setup-python-6
chore(deps): bump actions/setup-python from 5 to 6
2025-10-17 10:58:30 -04:00
Feanil Patel
0b8df53d70 Merge pull request #37393 from openedx/dependabot/github_actions/actions/setup-node-5
chore(deps): bump actions/setup-node from 4 to 5
2025-10-17 10:58:21 -04:00
Feanil Patel
599138b9a5 Merge pull request #36589 from tonybusa/depr-karma-selenium-webdriver-launcher
Remove karma-selenium-webdriver-launcher and dependent configs
2025-10-17 10:55:21 -04:00
Feanil Patel
56fdae20eb Merge pull request #35645 from openedx/dependabot/github_actions/thollander/actions-comment-pull-request-3
build(deps): bump thollander/actions-comment-pull-request from 2 to 3
2025-10-17 10:51:32 -04:00
Feanil Patel
7c8020d29d feat: Update the home_library url to redriect to the MFE.
The url previously pointed to the legacy index.html with the libraries
tab loaded.  Now it redirects to the new libraries endpoint in the
authoring MFE.
2025-10-17 10:25:03 -04:00
Feanil Patel
30d219fe71 test: Switch the contentstore tests to use APIs
Since we're trying to drop the underlying page, switch to the equivalent
API views for these contentstore tests.
2025-10-17 10:25:03 -04:00
Feanil Patel
b6b9599f18 test: Drop useless tests.
We had a set of i18n tests that testing basic english is working on a
page that's going away.  It's not necessary. And then we have a skipped
test that tests i18n. It would be good to have actual i18n tests and
there are some other ones in this file at the block level that do test
i18n but since this test isn't actually testing anything novel there's
no need to keep it.
2025-10-17 10:25:03 -04:00
Feanil Patel
63286258ec test: Drop tests related to the legacy course home view.
This view has been replaced with a new courses API endpoint
`/contentstore/v2/home/courses` which has its own tests.
2025-10-17 10:25:03 -04:00
Feanil Patel
0077058e37 feat!: Drop the legacy studio home page.
This is the page that lists the courses in studio.  This has been
replaced by an MFE and the MFE has been on by default since Teak.

BREAKING CHANGE: Setting the `legacy_studio.home` waffle flag will no longer
work.  The code will behave as if this is set to false showing the new
studio authoring MFE experience for the course home page.

This has been the default since Teak.
2025-10-17 10:25:03 -04:00
dependabot[bot]
ba56c0aa2d chore(deps): bump actions/setup-python from 5 to 6
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 5 to 6.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v5...v6)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-17 14:11:51 +00:00
Feanil Patel
073afac46a Merge pull request #37460 from openedx/alert-autofix-332
Potential fix for code scanning alert no. 332: Workflow does not contain permissions
2025-10-17 09:56:08 -04:00
Feanil Patel
69875c28ea Merge pull request #37453 from openedx/feanil/drop_legacy_editor_config
feat: Drop the `legacy_studio.text_editor` flag.
2025-10-17 09:41:10 -04:00
Feanil Patel
346158840f Merge pull request #37492 from openedx/feanil/update_requirements_consistency_workflow
build: Refactor GitHub Actions workflow for dependencies
2025-10-17 09:37:34 -04:00
Feanil Patel
542b6f84ed build: Refactor GitHub Actions workflow for dependencies
Updated to checkout the code first since not all workflows(merge_queue)
will check have the PR_URL setting set. Then grab the shas from the
relevant event payload and use those to get the list of affected files.
2025-10-16 16:50:27 -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
940e9e63d5 docs: Apply suggestion from @kdmccormick
Co-authored-by: Kyle McCormick <kyle@axim.org>
2025-10-16 15:01:36 -04:00
Feanil Patel
3abfeb24ca test: Switch the library test to use problem instead of html.
Since we're removing the studio implementation of the html block, update
the library test that was using it to use the problem block instead.
2025-10-16 15:01:36 -04:00
Feanil Patel
e50d1cc83b feat: Drop the unused edit view template.
And update the studio-view function to raise a NotImplementedError since
we now rely on the authoring environment to provide the edit view of
this block.

Unfortunately, a copy of the template lives in the lms and relies on the
the underlying JS and CSS to render a tiny-mce editor in the instructor
dashboard. This means we can't remove the CSS and JS until we've dropped
the usage of it in the instructor dash.  The good news is, that the work
to replace the instructor dash is in progress so those assets should get
cleaned up soon.

The places where the JS and CSS is still being used are:

* lms/templates/instructor/instructor_dashboard_2/instructor_dashboard_2.html
* lms/djangoapps/instructor/views/instructor_dashboard.py
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
Tony Busa
1704a0807a chore: remove karma-selenium-webdriver-launcher and unneeded browsers 2025-10-16 12:39:10 -06:00
dependabot[bot]
9fc2441773 build(deps): bump thollander/actions-comment-pull-request from 2 to 3
Bumps [thollander/actions-comment-pull-request](https://github.com/thollander/actions-comment-pull-request) from 2 to 3.
- [Release notes](https://github.com/thollander/actions-comment-pull-request/releases)
- [Commits](https://github.com/thollander/actions-comment-pull-request/compare/v2...v3)

---
updated-dependencies:
- dependency-name: thollander/actions-comment-pull-request
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-16 16:54:01 +00:00
Feanil Patel
87c8e55f71 Merge pull request #37455 from open-craft/braden/merge-queue
build: enable CI checks in merge queues / merge groups on GitHub
2025-10-16 10:48:22 -04:00
Nathan Sprenkle
415c969ad3 chore: bump edxval to 3.1.0 (#37490) 2025-10-16 10:31:40 -04:00
Chris Chávez
7e1a17a707 feat: Multiple updates to handle children upstream info [FC-0097] (#37433)
* Which edX user roles will this change impact? "Developer"".
* Added `upstream_ready_to_sync_children_info` in `ContainerChildrenSerializer`
* Now, the `ContainerChildrenView` can return the `upstream_ready_to_sync_children_info`
* Update the child info in `UpstreamLink._check_children_ready_to_sync`
2025-10-15 19:16:51 -05:00
Raymond Zhou
da2daf255e feat: future proof artifact uploads (#37464) 2025-10-14 18:32:48 -04:00
Feanil Patel
86293e5e40 Merge pull request #37461 from openedx/feanil/remove_accessibility_html
fix: Remove templates that are never used.
2025-10-14 17:14:15 -04:00
Feanil Patel
2268c5a92f fix: Remove templates which are never used.
The code that renders these was removed some time ago but this got missed I
guess.

This cleanup is part of
https://github.com/openedx/edx-platform/issues/36108 and https://github.com/openedx/studio-frontend/issues/381
2025-10-14 16:20:59 -04:00
Feanil Patel
fc374e7dfa Merge pull request #37474 from openedx/fix-assert-dict-contains-subset-depr
fix: replace deprecated assertDictContainsSubset()
2025-10-14 13:42:51 -04:00
Chris Chávez
3db4399f74 feat: bulk modulestore migration [FC-0097] (#37381)
- Adds the task, python api, and rest api view for bulk migration.
- Refactor the code to share code between single migration and bulk migration.
2025-10-13 21:34:36 +00:00
usamasadiq
8aa2970c51 fix: fix pycodestyle error 2025-10-13 22:53:37 +05:00