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.
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