openedx / frontend-app-learning

Front-end for the Open edX course experience, implemented using React and Paragon.
GNU Affero General Public License v3.0
46 stars 205 forks source link

MFE Plugins: Create slots for the right and left sidebar spaces in the LMS #1526

Open jmakowski1123 opened 2 hours ago

jmakowski1123 commented 2 hours ago

"As a course administrator, I want to customize my learners' experience as they progress through course content, by customizing the space on either side of the course content."

In the Course Content pages of the LMS, there should be a plugin slot on the left side of the course content and the right side of the course content.

This is a barebones implementation to start, and both slots should be developed as default empty.

The slots should be configurable such that one or multiple plugins can be developed and implemented via the slots. For example, if users want to use the right sidebar space for three plugins - a notifications plugin, an upsell message, and an AI chat bot (just hypothetical examples) - they can implement all three on the sidebar and configure the order in which the plugins appear.

We will decide later on the core platform use of the slots. It is likely that the left sidebar slot will be used for sidebar navigation, and the right sidebar slot will be used for notifications, but TBD.

Image

jmakowski1123 commented 2 hours ago

@brian-smith-tcril - Lmk if this makes sense and if it's in the correct rep.

brian-smith-tcril commented 2 hours ago

Overall this looks great! One small concern I have is with

both slots should be developed as default empty

I would think for an MVP we would want to have the slots wrap the existing sidebar components (including the existing ability for the sidebar components to show/hide themselves).

It is also quite likely @arbrandes has thoughts, and I am more than happy to add more technical context to this issue after discussing with him.