overhangio / tutor-mfe

This plugin makes it possible to easily add micro frontend (MFE) applications on top of an Open edX platform that runs with Tutor.
GNU Affero General Public License v3.0
22 stars 95 forks source link

Patch to customize the MFE at the end of the Dockerfile #167

Closed serhatgktp closed 11 months ago

serhatgktp commented 12 months ago

All existing patches for MFE seem to modify the corresponding Dockerfile before building the /openedx/app/dist file directory (e.g. in this line).

It would be helpful to have a patch that allows the users to add changes after this line (or even at the very end of the Dockerfile). There are features I would like to add to my openedx deployment via Tutor plugins but I currently can't because of the reason above.

regisb commented 12 months ago

Thanks for opening this issue @serhatgktp. Could you please describe your use case? For what purpose exactly do you need an extra patch?

serhatgktp commented 11 months ago

Thanks for opening this issue @serhatgktp. Could you please describe your use case? For what purpose exactly do you need an extra patch?

Hi @regisb - I'm deploying and managing multiple openedx applications, each with their own MFE. Each platform can have different theming. To add custom styling to the login pages of different deployments, I'm manually injecting custom CSS into the authn component of each deployment externally after each MFE image is built via the following command:

RUN sed -i 's/<\/head>/<link rel=\"stylesheet\" href=\"\/edx-css.css?mfe=authn\" type=\"text\/css\"><\/head>/\' /openedx/dist/authn/index.html

I realize that there are patches that allow customizing components like the header and footer, I'm also looking to modify different components of the authn page such as colors and fonts. I have a settings panel in each deployment where the user can easily customize their authn styling settings.

I can't do this injection with existing patches as none of them allow adding code after the /openedx/app/dist directory is built here.

If such a patch existed, I could perform this injection via a Tutor plugin instead of doing it externally.