Multiple Sites with MFE and Tutor

Sorry, I didn’t see this before.

I didn’t try using sites from the platform to do this. But in edunext, we use a Django plugin called eox-tenant; with that plugin, we create routes and tenants, so the plugin adds a middleware to know if the request comes from tenant-a.myplatform.com or comes from tenant-b.myplatform.com; so with that, we manage to have different configuration for multiple sites (different platform names, themes, mfe configs). We change the MFEs behavior thanks to the settings @kmccormick mentions (MFE_CONFIG and MFE_CONFIG_OVERRIDES).

With that in mind, we use another tool that is a tutor plugin, tutor-contrib-mfe-extensions; that plugin adds additional routes to caddy to enable routing each mfe through a path of the LMS (e.g., https://{LMS_HOST}/learning), so we can have tenant-a.myplatform.com/learning and tenant-b.myplatform.com/learning, taking different settings thanks to eox-tenant.

Here is an interesting post about it: How to use microfrontend in a multitenant instance.

If you have doubts, don’t hesitate to reach out to the team, open issues in GitHub, or write to me.

cc @john_curricume

References:
eox-tenant: GitHub - eduNEXT/eox-tenant: Plugin for managing multiple tenants (organizations) within a single Open edX instance.
tutor-contrib-mfe-extensions: GitHub - eduNEXT/tutor-contrib-mfe-extensions: Experimental Tutor Plugin for CDN support and extras
MFEs by path: GitHub - eduNEXT/tutor-contrib-mfe-extensions: Experimental Tutor Plugin for CDN support and extras