-
Notifications
You must be signed in to change notification settings - Fork 91
Add new and removed fpf slots for the Verawood release #1504
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,140 @@ | ||
| .. _Verawood Frontend Plugin Slots: | ||
|
|
||
| New Frontend Plugin Slots for the Verawood Release | ||
| ################################################## | ||
|
|
||
| Utilizing *frontend plugin slots*, site operators now have the ability to | ||
| customize various portions of the site. | ||
|
|
||
| A “frontend plugin slot” refers to an area of a web page - comprising one or | ||
| more visual elements - that can be “swapped out” with other visual elements. For | ||
| example, one plugin slot allows you to remove the "Help" button in the header. | ||
|
|
||
| Overhead and hassle is minimized using the plugin slot system. Site operators | ||
| can leverage a plugin slot using a configuration file; the codebase does not | ||
| need to be copied (“forked”) nor are extensive changes needed. A snippet of code | ||
| is all that is needed to use a plugin slot. A site operator places that code | ||
| within a configuration file. Site operators should refer to the | ||
| ``src/plugin-slots`` directory within each MFE's codebase to view documentation | ||
| for that MFE's plugin slot(s). | ||
|
|
||
| In these release notes, we'll detail the new and updated plugin slots found in the Ulmo | ||
| release. The full list of existing plugin slots can be found in | ||
| :ref:`Available Frontend Plugin Slots`, and usage instructions are | ||
| available at :ref:`Use A Frontend Plugin Framework Slot`. | ||
|
|
||
| .. contents:: | ||
| :local: | ||
| :depth: 1 | ||
|
|
||
| Where possible, descriptions of the plugin slots are provided. Click the name of | ||
| the slot to be brought to the documentation page which contains example | ||
| screenshots. | ||
|
|
||
| Note: Instance operators using these slots will need to use their | ||
| fully-qualified slot id provided in the descriptions, such as | ||
| ``org.openedx.frontend.authoring.course_unit_sidebar.v1``. | ||
|
|
||
| frontend-app-authoring | ||
| ********************** | ||
|
|
||
| **Added:** | ||
|
|
||
| - `org.openedx.frontend.authoring.page_banner.v1 | ||
| <https://github.com/openedx/frontend-app-authoring/tree/release/verawood/src/plugin-slots/PageBannerSlot>`_: | ||
| This slot wraps the Paragon ```PageBanner`` component to allow plugins to replace, | ||
| modify, or hide the banner shown on pages like Schedule & Details. By default, | ||
| it renders the standard ``PageBanner`` with the provided props and children. | ||
|
|
||
| frontend-app-discussions | ||
| ************************ | ||
|
|
||
| **Added:** | ||
|
|
||
| - `org.openedx.frontend.layout.header_discussions.v1 | ||
| <https://github.com/openedx/frontend-app-discussions/tree/release/verawood/src/plugin-slots/HeaderSlot>`_: | ||
| This slot is used to replace/modify/hide the discussions header. | ||
|
|
||
| frontend-app-learning | ||
| ********************* | ||
|
|
||
| **Added:** | ||
|
|
||
| - `org.openedx.frontend.learning.course_tab_links.v1 | ||
| <https://github.com/openedx/frontend-app-learning/tree/release/verawood/src/plugin-slots/CourseTabLinksSlot>`_: | ||
| This slot is used to replace/modify/hide the course tabs. | ||
| - `org.openedx.frontend.learning.course_tabs_navigation.v1 | ||
| <https://github.com/openedx/frontend-app-learning/tree/release/verawood/src/plugin-slots/CourseTabsNavigationSlot>`_: | ||
| This slot is used to replace/modify/hide the entire course tab navigation. | ||
| - `org.openedx.frontend.learning.learner_tools.v1 | ||
| <https://github.com/openedx/frontend-app-learning/tree/release/verawood/src/plugin-slots/LearnerToolsSlot>`_: | ||
| This plugin slot provides a location for learner-facing tools and features to | ||
| be displayed during course content navigation. The slot is rendered via a | ||
| React portal to ``document.body`` to ensure proper positioning and stacking | ||
| context. | ||
|
|
||
| **Updated:** | ||
|
|
||
| See `ADR-10 Extract Update Widget from Core MFE | ||
| <https://github.com/openedx/frontend-app-learning/blob/release/verawood/docs/decisions/0010-upgrade-widget-extraction.md>`_ | ||
| for more detail. | ||
|
|
||
| - `NotificationTraySlot | ||
| <https://github.com/openedx/frontend-app-learning/tree/release/ulmo/src/plugin-slots/NotificationTraySlot>`_ | ||
| is now `org.openedx.frontend.learning.upgrade_panel.v1 | ||
| <https://github.com/openedx/frontend-app-learning/tree/release/verawood/src/widgets/upgrade>`_ | ||
|
Comment on lines
+82
to
+85
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The old |
||
| - `NotificationsDiscussionsSidebarSlot | ||
| <https://github.com/openedx/frontend-app-learning/tree/release/ulmo/src/plugin-slots/NotificationsDiscussionsSidebarSlot>`_ | ||
| is now `org.openedx.frontend.learning.right_sidebar.v1 | ||
| <https://github.com/openedx/frontend-app-learning/tree/release/verawood/src/plugin-slots/RightSidebarSlot>`_ | ||
|
Comment on lines
+86
to
+89
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The old ids still exist as aliases. Sidenote: not sure where |
||
| - `NotificationsDiscussionsSidebarTriggerSlot | ||
| <https://github.com/openedx/frontend-app-learning/tree/release/ulmo/src/plugin-slots/NotificationsDiscussionsSidebarTriggerSlot>`_ | ||
| is now `org.openedx.frontend.learning.right_sidebar_trigger.v1 | ||
| <https://github.com/openedx/frontend-app-learning/tree/release/verawood/src/plugin-slots/RightSidebarTriggerSlot>`_ | ||
|
Comment on lines
+90
to
+93
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Old ids still there as aliases Same sidenote as the previous one about an extra alias we probably shouldn't have ( |
||
|
|
||
| **Removed:** | ||
|
|
||
| - `NotificationWidgetSlot <https://github.com/openedx/frontend-app-learning/tree/release/ulmo/src/plugin-slots/NotificationWidgetSlot>`_ | ||
|
Comment on lines
+95
to
+97
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This does appear to be removed. It's not clear from https://github.com/openedx/frontend-app-learning/blob/release/verawood/docs/decisions/0010-upgrade-widget-extraction.md what a site operator that was using that slot before is supposed to do now. Not something that needs to be addressed on this page but worth adding to the ADR.
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yeah, I dug a bit and that was the conclusion I came to |
||
|
|
||
|
|
||
| frontend-app-instructor-dashboard | ||
| ********************************** | ||
|
|
||
| This repository is new as of Verawood, and is enabled by default. It can be optionally disabled; see the :ref:`Verawood operator notes <Verawood operators>`. | ||
|
|
||
| **Added:** | ||
|
sarina marked this conversation as resolved.
|
||
|
|
||
| - `CourseInfoSlot | ||
|
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @brian-smith-tcril in the Ulmo notes, we used the fully-qualified names in these release notes, but I wasn't sure what to do here since there are two names now in frontend-base land. Which should I use? https://github.com/openedx/frontend-app-instructor-dashboard/tree/main/src/slots/CourseInfoSlot
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I'd use the slot id (
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Actually this is kind of pointing to a bigger thing. There are slots that exist in
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Despite your second line, I should use the slot id here? Also what URL should I use, given that I incorrectly assumed we'd use a |
||
| <https://github.com/openedx/frontend-app-instructor-dashboard/tree/release/verawood/src/slots/CourseInfoSlot>`_: | ||
| The content of this slot renders the current course's organization, course | ||
| number, and title next to the site logo while a user is on any instructor | ||
| dashboard page, giving instructors an at-a-glance reminder of the course they | ||
| are working in. | ||
| - `EnrollmentActionsSlot | ||
| <https://github.com/openedx/frontend-app-instructor-dashboard/tree/release/verawood/src/slots/EnrollmentActionsSlot>`_: | ||
| This slot is used to replace/modify/hide the action buttons in the header of | ||
| the Enrollments tab. By default it renders Add Beta Testers and Enroll | ||
| Learners with no permission gating, so out of the box the behavior is | ||
| unchanged. | ||
| - `PlaceholderSlot | ||
| <https://github.com/openedx/frontend-app-instructor-dashboard/tree/release/verawood/src/slots/PlaceholderSlot>`_: | ||
| A placeholder for adding new tabs & routes to the instructor dashboard. Both | ||
| slots ship empty. The instructor dashboard already renders a built-in set of | ||
| tabs (Course Info, Enrollments, Course Team, Cohorts, Grading, etc.); these | ||
| slots exist so a site operator can add new tabs alongside them. | ||
|
|
||
| .. seealso:: | ||
|
|
||
| * :ref:`Use A Frontend Plugin Framework Slot` | ||
|
|
||
| * :ref:`Frontend Slots Learner Dash (Sumac)` | ||
|
|
||
| * :ref:`Frontend Slots Header (Sumac)` | ||
|
|
||
| **Maintenance chart** | ||
|
|
||
| +--------------+-------------------------------+----------------+------------------------------------+ | ||
| | Review Date | Working Group Reviewer | Release |Test situation | | ||
| +--------------+-------------------------------+----------------+------------------------------------+ | ||
| | 2026-07-30 | Frontend WG | Verawood | Pass | | ||
| +--------------+-------------------------------+----------------+------------------------------------+ | ||

There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think what I'd be looking for at a high level in this section would be:
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not sure I have the context to fix all that :\ would you be able to make suggestions, or a PR into this branch?