Commit Graph

67747 Commits

Author SHA1 Message Date
Feanil Patel
c1bfbcf6fc build: Recompile the requirements 2025-12-30 20:43:54 -05:00
Feanil Patel
c8140a978b fix: Drop the markdown extra.
It was removed from the package and markdown support is now part of the
default package without the extras decleration.

1e95ac6fc8 (diff-60f61ab7a8d1910d86d9fda2261620314edcae5894d5aaa236b821c7256badd7)
2025-12-30 20:19:48 -05:00
edX requirements bot
f2df24d806 chore: Upgrade Python requirements 2025-12-29 21:50:09 -05:00
Ahtisham Shahid
9d2bbb1797 refactor: removed all references to CourseNotificationPreference (#37768) 2025-12-29 15:11:56 +05:00
Muhammad Farhan Khan
360a97fdd3 refactor: Move available_translations into VideoConfigService (#37808)
This moves edx-platform-specific logic out of the VideoBlock,
in preparation for the VideoBlock extraction:
openedx#36282
2025-12-26 18:56:57 +05:00
Rômulo Penido
e26a3fb7e6 fix: add course name on collection description on import (#37817)
Co-authored-by: Chris Chávez <xnpiochv@gmail.com>
2025-12-24 18:25:09 +00:00
Navin Karkera
a37528d5ad feat: allow specifying custom page size for course list api (#37815) 2025-12-24 11:56:49 -05:00
Ahtisham Shahid
432926d2dc feat: added option to override default preferences (#37807) 2025-12-24 13:19:11 +05:00
Muhammad Farhan Khan
c5333b3550 refactor: Move upload/delete transcript int video_config service
Merge pull request #37793 from openedx/farhan/upload-delete-transcript
2025-12-24 12:21:58 +05:00
Feanil Patel
00f72bb41e Merge pull request #37504 from Pearson-Advance/felipeb/learning-microfrontend-url-site-aware
feat: make LEARNING_MICROFRONTEND_URL site aware.
2025-12-23 10:58:34 -05:00
farhan
3c9e1a90de refactor: Move upload/delete transcript int video_config service
This moves edx-platform-specific logic out of the VideoBlock,
in preparation for the VideoBlock extraction:
https://github.com/openedx/edx-platform/issues/36282
2025-12-23 20:44:14 +05:00
Feanil Patel
f23c5d619f Merge pull request #37805 from openedx/repo-tools/upgrade-python-requirements-32b7f27
chore: Upgrade Python requirements
2025-12-23 10:15:02 -05:00
Feanil Patel
e2d19b6780 fix: Update to match compile-requirements output.
For some reason sphinx is being listed as a thing that requires
`roman-numerals` during the upgrade call but not during
`compile-requirements`. This just commits the expectations from
compile-requirements for now so we can land the package update.
2025-12-23 09:37:55 -05:00
edX requirements bot
a93b93e6fb chore: Upgrade Python requirements 2025-12-23 09:24:16 -05:00
Navin Karkera
32b7f27c46 feat: api to bulk update legacy library references (#37789)
Adds API to fetch all legacy library content blocks that are ready to be updated to use library v2 and convert to item banks.
Also adds API to update all the references via a user celery task and to fetch its status.
2025-12-22 12:49:43 -05:00
Asad Ali
f6633dafb1 fix: make pull_translations (#37801) 2025-12-22 19:12:50 +05:00
Muhammad Farhan Khan
277481f741 chore: remove unused/legacy translation method from video block
Remove unused/legacy translation method from video block
2025-12-22 17:57:52 +05:00
Muhammad Farhan Khan
f93322aae8 chore: remove unused copy_or_rename_transcript method
Merge pull request #37779 from openedx/farhan/remove-legace-code
2025-12-22 12:58:16 +05:00
Feanil Patel
7b91d1d64c Merge pull request #37797 from openedx/feanil/change_common_constraints_update
build: Don't update common_constraints.txt on re-compilation.
2025-12-19 12:37:59 -05:00
Feanil Patel
cc1514e360 build: Don't update common_constraints.txt on re-compilation.
Re-compilation and upgrade-package should be able to run without
updating the common_constraints.txt file.  We do this all the time when
backporting fixes to older releases.  We shouldn't pull in the latest
common_constraints.txt in those cases as they may not be compatible with
older releases.
2025-12-19 10:51:58 -05:00
David Ormsbee
f899c7907a fix: allow library creation by course creators
Prior to this, if ENABLE_ORGANIZATION_STAFF_ACCESS_FOR_CONTENT_LIBRARIES
was enabled, we would not return the orgs that someone had course
creator rights on, even if ENABLE_CREATOR_GROUP was enabled. (For the
moment, we are conflating "can create courses" with "can create
libraries" for a given org, even though we should probably eventually
split those apart.)
2025-12-18 22:56:33 -05:00
Kyle McCormick
91e521ef51 fix: Various fixes to modulestore_migrator (#37711)
For legacy library_content references in courses, this PR:
- **Removes the spurious sync after updating a reference to a migrated
  library**, so that users don't need to "update" their content _after_
  updating their reference, _unless_ there were real content edits that
  happened since they last synced. We do this by correctly associating a
  DraftChangeLogRecord with the ModulestoreBlockSource migration artifact,
  and then comparing that version information before offering a sync.
  (related issue:
  https://github.com/openedx/frontend-app-authoring/issues/2626).
- **Prompts users to update a reference to a migrated library with higher
  priority than prompting them to sync legacy content updates for that
  reference**, so that users don't end up needing to accept legacy content
  updates in order to get a to a point where they can update to V2 content.
- **Ensures the library references in courses always follow the correct
  migration,** as defined by the data `forwarded` fields in the data model,
  which are populated based on the REST API spec and the stated product UI
  requirements.

* For the migration itself, this PR:

- **Allows non-admins to migrate libraries**, fixing:
  https://github.com/openedx/edx-platform/issues/37774
- **When triggered via the UI, ensures the migration uses nice title-based
  target slugs instead of ugly source-hash-based slugs.** We've had this as an
  option for a long time, but preserve_url_slugs defaulted to True instead of
  False in the REST API serializer, so we weren't taking advantage of it.
- **Unifies logic between single-source and bulk migration**. These were
  implement as two separate code paths, with drift in their implementations. In
  particular, the collection update-vs-create-new logic was completely
  different for single-souce vs. bulk.
- **When using the Skip or Update strategies for repeats, it consistently
  follows mappings established by the latest successful migration** rather than
  following mappings across arbitrary previous migrations.
- **We log unexpected exceptions more often**, although there is so much more
  room for improvement here.
- **Adds more validation to the REST API** so that client mistakes more often
  become 400s with validation messages rather than 500s.

For developers, this PR:
- Adds unit tests to the REST API 
- Ensures that all migration business logic now goes through a general-purpose
  Python API.
- Ensures that the data model (specifically `forwarded`, and
  `change_log_record`) is now populated and respected.
- Adds more type annotations.
2025-12-18 23:49:36 +00:00
Feanil Patel
cf417c3123 Merge pull request #37790 from openedx/feanil/drop_unsupported_variants
feat: Drop unsupported service variants.
2025-12-18 15:05:20 -05:00
Feanil Patel
0f7a7e5c98 feat: Drop unsupported service variants.
We haven't done anything specila for lms-xml for over a decade and we
dropped lms-preview support last year when we added preview capabality
to the new Authoring MFE.

https://github.com/openedx/edx-platform/pull/36460
2025-12-18 12:10:34 -05:00
Feanil Patel
92bcb8ca3a Merge pull request #35658 from openedx/bmtcril/retirement_extension_docs
docs: Update retirement docs
2025-12-18 11:35:14 -05:00
Navin Karkera
781feb1883 feat: suppress user task email after importing content in libraries (#37771) 2025-12-18 11:15:32 -05:00
Brian Mesick
be4a996132 docs: Update retirement docs
Add some details around extending retirement steps
2025-12-18 10:58:37 -05:00
Daniel Wong
c67558f17d fix: bump learning-core to 0.30.2 2025-12-18 08:58:26 -05:00
wgu-jesse-stewart
2c53232c5d docs: add instructor api v2 ADR/OpenAPI spec for course info and grading (#37743) 2025-12-17 13:19:55 -07:00
Navin Karkera
ca78895edf chore: add end date to course outline api (#37727)
Co-authored-by: Chris Chávez <xnpiochv@gmail.com>
2025-12-17 17:22:05 +00:00
Muhammad Farhan Khan
87c825c45f chore: enable word cloud xblock
Enable word cloud XBlock
2025-12-17 22:09:03 +05:00
farhan
386dfe3e99 chore: remove unused copy_or_rename_transcript method 2025-12-17 21:04:15 +05:00
David Ormsbee
53c25b9cd8 fix: sanitize HTML for course overview & sidebar
The "overview" and "about_sidebar_html" fields in the
CoursewareInformation view (/api/courseware/course/{courseId}) were
returning unsanitized HTML and relying on the client to sanitize it.
This commit shifts that work to the server side (clean_dangerous_html)
to remove potentially dangerous tags when generating the response. The
source of this data is modified in the "Settings and Details" section
of a course in Studio.
2025-12-17 11:02:12 -05:00
github-actions[bot]
ecba02abdd feat: Upgrade Python dependency xblocks-contrib (#37778)
Commit generated by workflow `openedx/edx-platform/.github/workflows/upgrade-one-python-dependency.yml@refs/heads/master`

Co-authored-by: farhan <25842457+farhan@users.noreply.github.com>
2025-12-17 18:19:34 +05:00
farhan
2688000c07 chore: more cleanup 2025-12-17 16:20:53 +05:00
farhan
1208d6c1f6 chore: remove unused/legacy translation method from video block 2025-12-17 14:06:32 +05:00
Jesus Balderrama
2637cc6b0f feat(numericalInput): endpoint added to validate a numerical input (#37677)
To be used in the visual Problem editor to validate numeric input. 

Part of: https://github.com/openedx/frontend-app-authoring/issues/1680
2025-12-16 17:23:31 -05:00
Chris Chávez
a032955243 feat: New states for library info icon in components in Unit page (#37735)
- Adds `upstream_name` to the `UpstreamLink` dataclass.
- Add new states to library info icon in components in Unit page
2025-12-16 19:18:24 +00:00
Feanil Patel
05d0d0936d Merge commit from fork
fix: CourseLimitedStaffRole should not be able to access studio.
2025-12-16 11:56:16 -05:00
Feanil Patel
18c541e848 Merge pull request #37721 from WGU-Open-edX/feature/37713-instructor-dashboard-course-info-api
FEAT: Instructor Dashboard - Course Info - API - Add missing content
2025-12-16 11:54:59 -05:00
Brian Buck
11fd2225e6 fix: Fix OpenAPI schema generation
Fix OpenAPI schema generation for GET /api/instructor/v2/courses/{course_id} to properly show documentation.
2025-12-16 09:20:45 -07:00
Brian Buck
88f2856c82 feat: Adds the bulk_email tab for staff level users in CourseInformationSerializer v2 serializer.
Rename v2 InstructorTaskSerializer to InstructorTaskSerializerV2

Rename v2 CourseInformationSerializer to CourseInformationSerializerV2
2025-12-16 09:20:45 -07:00
Brian Buck
baaa666435 fix: Fixes a bug in OpenAPI schema generation
Fixes a bug in OpenAPI schema generation that would fail due to overlapping namespaces between v1 and v2 APIs
2025-12-16 09:20:45 -07:00
Brian Buck
81bdfdd8d2 feat: Adds course_run field to CourseInformationSerializer v2
Adds sort_order field to tabs JSON in the tabs list in CourseInformationSerializer v2 serializer

Move course_run below course_number and also move the serializer method.

Auto-format removing extraneous white space.

Add trailing commas to the instructor course tabs list to improve the diff going forward.

Add comment about sort order
2025-12-16 09:20:28 -07:00
farhan
e662394398 refactor: Enable word cloud XBlock 2025-12-16 19:01:42 +05:00
M. Tayyab Tahir Qureshi
24cb3cf9f5 refactor: enable the Extracted Annotatable, Poll XBlocks
Enabled the Extracted Annotatable, Poll XBlocks 

---------

Co-authored-by: farhan <farhan.khan@arbisoft.com>
2025-12-16 18:22:57 +05:00
edX requirements bot
610e2ab14b chore: Upgrade Python requirements 2025-12-15 15:44:58 -05:00
farhan
a7fc0c963a fix: Constrain xblocks-contrib until it can be updated. 2025-12-15 15:44:58 -05:00
Javier Ontiveros
6c8a3af6b9 feat: instructor dashboard - added graded subsections endpoint (#37708)
* feat: added extensions v2 endpoint

* chore: move new api related things to new v2 files

* chore: cleanup

* chore:  codestyle fixes

* chore: manual codestyle fix

* chore: better class naming

* chore: fixed trailing new lins

* chore: better response for bad learner id

* chore: fixed comments

* chore: fixed linting issues

* chore: commit fixes

* feat: add GET graded subsections endpoint

* chore: fixed lint issue

* chore: pylint fixes

* chore: lint fix

* chore: lint fixes

* chore: lint fix

* chore: lint fix

* chore: updated JsonResponse to Response for consitency

* chore: syntax fix after rebase

* chore: re-added url after master rebase
2025-12-15 12:26:35 -05:00
Leonardo Beroes
70ea641c99 feat: Improve robust score rendering with event-based architecture
This commit implements a comprehensive solution for test score integration in the
enhancement system along with improvements to the score rendering mechanism. Key
changes include:

- Add event handler for rendering blocks with edx-submissions scores
- Implement event-based mechanism to render XBlocks with scoring data
- Create signal handlers in handlers.py to process external grader scores
- Develop specialized XBlock loader for rendering without HTTP requests
- Add queue_key propagation across the submission pipeline
- Register submission URLs in LMS routing configuration
- Add complete docstrings to score render module for better code maintainability
- Add ADR for XBlock rendering with external grader integration
- Add openedx-events fork branch as a dependency in testing.in
- Upgrade edx submission dependency

These changes support the migration from traditional XQueue callback HTTP requests
to a more robust event-based architecture, improving performance and reliability
when processing submission scores. The included ADR documents the architectural
decision and implementation approach for this significant improvement to the
external grading workflow.
2025-12-15 09:01:40 -05:00