If you have ever wanted to customize your Open edX instance and worked with MFEs, frontend plugins and that sort of thing, I have something that might interest you.
This collects the information about all the plugin slots available in all of the MFEs under the openedx Github org and puts it in a single place. It automatically updates everyday with the latest info.
Why?
It was created mostly to satisfy my curiosity. Initially, I was just trying to get some metrics, like the ones that you see on the landing page. But as the flight I was waiting for got delayed for the second time, I just made it into a full site, which can host all the data in a neat browse-able way.
I am not sure how useful it would be for the community, but I am planning to include the backend parts - openedx-filters & openedx-events as well, and finally have a couple of guides on customizing Open edX, and links to existing documentation & best-practices.
Thank you for checking it out.
Update:
I ended up adding the openedx-filters and openedx-events details as well. Updated the screenshot to reflect that.
The header and footer component’s are listed an independent MFEs, as they live it independent repos and I didn’t want to separate them out into a new category. So, they might now show up in the actual MFEs.
Ah! apparently there is a 3rd scenario - the frontend-component-* repos don’t have release branches/tags. The right way to do it would be to include the header & components for each MFE with the specific pinned version for a particular release. Eg., authoring-mfe (release/ulmo) would have the slots defined in frontend-component-header version 8.1.0.
I also added the slots from the header and footer components to the MFEs. Now there are sections titled “Component: Header” and “Component: Footer” with their versions. They list the slots from these components.
But, I have run into an issue. The header and footer components seem to have MFE specific slots like StudioFooter, StudioFooterLogo..etc., which are probably not going to be used by something like the Learning MFE. But they are still part of the NPM package.
I need to come up with a way to keep only the relevant ones.
You are right. There seems to be some issue with the data. frontend-app-authn has a release/teak branch, which means, it should be listed for teak.. hmm. debugging time.
A feature suggestion. It would be very useful if we could easily see what is the default content of the slot (i.e. the raw code). It would help customize it.
That would be a good addition. However, I don’t see a way to do it from the catalog app. Some slots come with the screenshots of the “Default view”, for e.g., CourseOutlineSubsectionCardExtraActionsSlot.
Maybe we can do this (including the screenshot of default contents) as a convention in the Slot READMEs upstream?