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 Available Frontend Plugin Slots, and usage instructions are available at Use A Frontend Plugin Framework Slot.
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-discussions#
Added:
org.openedx.frontend.layout.header_discussions.v1: This slot is used to replace/modify/hide the discussions header.
frontend-app-learning#
Added:
org.openedx.frontend.learning.course_tab_links.v1: This slot is used to replace/modify/hide the course tabs.
org.openedx.frontend.learning.course_tabs_navigation.v1: This slot is used to replace/modify/hide the entire course tab navigation.
org.openedx.frontend.learning.learner_tools.v1: 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.bodyto ensure proper positioning and stacking context.
Updated:
See ADR-10 Extract Update Widget from Core MFE for more detail.
NotificationTraySlot is now org.openedx.frontend.learning.upgrade_panel.v1. Note The old
org.openedx.frontend.learning.notification_tray.v1still exists as an alias. SoNotificationTraySlotis deprecated but still exists for this release.NotificationsDiscussionsSidebarSlot is now org.openedx.frontend.learning.right_sidebar.v1. The alias still exists for this release but is deprecated.
NotificationsDiscussionsSidebarTriggerSlot is now org.openedx.frontend.learning.right_sidebar_trigger.v1
Removed:
frontend-app-instructor-dashboard#
This repository is new as of Verawood, and is enabled by default. It can be optionally disabled; see the Verawood operator notes.
Added:
org.openedx.frontend.slot.header.primaryLinks.v1: 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.
org.openedx.frontend.slot.instructorDashboard.enrollmentActions.v1: 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.
org.openedx.frontend.slot.instructorDashboard.tabs.v1: 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.
Note
This slot is the recommended replacement for the legacy
InstructorDashboardRenderStartedfilter (org.openedx.learning.instructor.dashboard.render.started.v1) that was previously used to inject extra sections — such as the “Reports” tab — into the Django-templated instructor dashboard. That filter no longer fires once the new frontend app is enabled. The Verawood version of Aspects (platform-plugin-aspects4.0.0+) already uses this slot, so only custom configurations that still rely on the legacy filter need to migrate. See Open edX Verawood Developer & Operator Release Notes for migration instructions.
frontend-app-[authn, learner-dashboard, notifications]#
Note that if you are testing out any of these repositories’ frontend-base implementations, slot IDs may have changed. Site operators should review Port a Frontend Plugin from frontend-plugin-framework to frontend-base for more detail.
See also
Maintenance chart
Review Date |
Working Group Reviewer |
Release |
Test situation |
2026-07-30 |
Frontend WG |
Verawood |
Pass |