Override the messages in MFEs?

While looking at the possibilities of overriding text/messages within an MFE without having to fork/extend the MFE itself I read through some documentation but I was unable to find anything specific to the use case.

Use Case:
The case itself is actually very simple. e.g. What we are looking to do is to just override a text in frontend-lib-special-exams with our own text, that says something different to a user when their Proctored exam has been moved to status Verified. In general, this could be a case to change/override any message(s) within the MFEs.

In the legacy system, while using the edx-proctoring library, this would have been possible to just override the HTML template within our own them and get this whole thing to look how we wanted along with the changed text.

In the new MFEs ecosystem, these templates have been. replaced/moved into a library frontend-lib-special-exams which is then used by the Learning MFE.

I read through some reference documentation about theming MFEs but I felt like all the options talk about customizing the logos, color schemes, or even fork/create a new package, make your changes and use it as an override to the original one. I’m linking to the documentation links below for the reference of the readers.

  1. Uniform theming of Open Edx
  2. Frontend-build
  3. Open edX Branding and Theming Improvements
  4. Guidelines for Translating the Open edX Platform


  1. Now that we are in the MFEs ecosystem, do we already have something specific to get this done? Any links/documentation on that?
  2. If not, What could our options be for something like this?
  3. Is there something already in progress regarding this?

First off: hi @arslanashraf, and welcome to the forum!

Now, let’s see… You’ve pretty much identified the biggest current gripe with MFEs: you can’t modify the rendered HTML in any meaningful way without forking. The closest we’ve gotten to an alternative, so far, is OEP-48 and its implementation via brand-openedx. But even when adopted by an MFE, that only handles styles and logos, and it’s not very straightforward to use.

This is to say that, at least right now, your best bet for changing messages is to fork the MFE (and/or library) and change it to meet your needs. We (as in “the community”) will be tackling MFE customizability in the near future, but at this point it’s unclear whether we’ll ever reach the same level of mutability that Django template overrides provide. (It’s the price we pay for all the other advantages, some of which @kmccormick once listed in human-readable form here.)