XBlock rendered in an iframe in frontend-app-authoring needs to resize automatically based on component size.
Updates xblock iframe template to post message to parent window on size change.
efactors the content_libraries.api to use LibraryCollectionLocator and LibraryContainerLocator keys, instead of passing separate LibraryUsageKeyV2 keys along with the collection/container locators.
Renames misleading uses of collection_usage_key to collection_locator, including in the content_libraries.api and content.search.api method names and parameters.
This change impacts Developers, but should not affect end users.
This refactoring seems reasonable to do without going through deprecation, given the minimal use of these APIs.
In the Annotatable XBlock, the <instructions> element was appearing
twice in the student view:
* Once in "annotatable-instructions" (where it should be).
* Again in "annotatable-content" (where annotations and other content are rendered).
The _render_content method processed and rendered the entire XML
data, including <instructions>, without removing it. The
_extract_instructions method, which is responsible for removing
<instructions>, was not called in _render_content, leading to
duplication.
This fix will:
* Prevents duplicate instructions in the student view.
* Maintains the expected behavior of showing instructions only in
"annotatable-instructions".
* No impact on existing annotation functionality.
There was a waffle flag `contentstore.enable_studio_content_api`,
intended to gate the "experimental" REST APIs at
`<CMS_ROOT>/api/contentstore/v{0,1,2}/*`. In practice, these APIs are no
longer experimental: for the past few named releases, they have been
enabled in Tutor and used to power the Authoring MFE.
We are making the Authoring MFE default-on in all Open edX sites
starting in Teak, with the legacy authoring frontend slated for removal
by Ulmo. Therefore, we need to remove flag which is gating the REST API.
We are _not_ introducing a temporary opt-out toggle, as we do need feel
it is necessary.
Part of: https://github.com/openedx/edx-platform/issues/36275
I'm not sure how this worked before but I corrected to use the
`graphviz` directive and then full graphviz graph syntax which seemed to
fix whatever issues it was having.
DEPR: https://github.com/openedx/edx-platform/issues/36429
This change removes the course_sock and related API data. The UI it
removes is on the Legacy Courseware pages which have also been replaced
and have their own [deprecation ticket](https://github.com/openedx/edx-platform/issues/35803)
Before this can be merged, we will need to update the
frontend-app-learning MFE to no longer consume the
`can_show_upgrade_sock` attribute.
BREAKING CHANGE: CourseHomeMetadata, ProgressTab, OutlineTab and
VerifiedMode APIs will no longer have a `can_show_upgrade_sock`
attribute.
fix: assign_learners unpack args dictionary before using in query filter
Commit generated by workflow `openedx/edx-platform/.github/workflows/upgrade-one-python-dependency.yml@refs/heads/master`
The courseware URL is going away but it's just used here to test the
middleware. That can be test with other urls that are relevant to this
middleware.
Note, I was unable to re-produce the failures so I've put back using the
standard `reverse` logic for fetching the URL in the test.
We want to remove this page and URL endpoint so we're removing all the
references in the code that might point to this page. It was replaced
by the sequences page in the Learning MFE years ago but the old pages
were never cleaned up. We are replacing the calls with the URL for the
courseware in the learning MFE.
See https://github.com/openedx/edx-platform/issues/35803 for more
details.
fix: assign_learners use case insensitive lookup with received email addresses
Commit generated by workflow `openedx/edx-platform/.github/workflows/upgrade-one-python-dependency.yml@refs/heads/master`
* fix: make the issued date displayed on previewed certificates match real certificates
This PR fixes an inconsistency in the dates displayed on certificates previewed via Studio with "real" certificates rendered to users.
It is possible for self-paced courses to be configured with a display behavior of "END" even though this configuration option should be invalid. The fix to this problem is beyond the scope of this PR. However, we can ensure we are selecting the correct display date for the certificate with a little bit of defensive coding.
I've added a check to ensure that we only use the end date of the course when the course is instructor-paced and configured with a display behavior of "END".
* feat: Added get_containers_contains_component in containers api with tests
* feat: Add publish_status to containers search document
* feat: Add LIBRARY_CONTAINER_UPDATED whend deleted a component inside a container
* feat: Send LIBRARY_CONTAINER_UPDATED signal when updating component of container
* fix: Bugs sending LIBRARY_CONTAINER_UPDATED signal
* feat: Add publish_status of container as PublishStatus.Never by default
* refactor: ContentLibraryContainersTest to use update_container_children to add components
* style: Clean code after fix conflicts
* fix: Broken lint
* fix: lint
This feature introduces functionalities to improve XBlock interactions within iframes:
* Add styles that adopt default styles for Split Test which renders chromless template via iframe in MFE Authoring.
* When the isIframeEmbed option is enabled, the XBlock sends a postMessage to the parent window. When sending such a message, the standard link transition is cancelled and the transition is carried out in MFE Authoring.
* feat: add components to container api
* feat: remove and replace components in container api
* refactor: container childern api
* chore: fix lint issues
* temp: install openedx-learning dev branch
* feat: update publish_status and children count in index
* chore: fix mypy issues
* test: fix reindex test
* refactor: rebase and fix conflicts
* test: update test to check signals
* docs: document can_stand_alone flag
* chore: bump openedx-learning version