Page Properties | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
This Project will gather requirements and specifications and propose an architectural solution to address the motivations and discovery questions proposed in the Open edX Proposal OEP-XXXX: Modular Micro-frontend Domains. These are summarized below:
Abstract:
Open edX implements a modular front end strategy in order to compartmentalize development of the platform’s front end user interface. Each Micro Front End (MFE) is responsible for all aspects of its composition and display including routing, user navigation, implementation of common platform UI and UX, authorization, runtime dependency management etc…
...
In addition, in order to simplify deployment of the open edX platform, this project will propose an solution that can facilitate the migration of the front end into distinct top level domains, initially focused on LMS and CMS activities. Each domain container would have the ability to host its own distinct set of MFE’s and impose it’s own business rules, subject to constraints imposed by the container framework iteself.
Solution Requirements:
The following requirement categories broadly describe the features that a solutions should address. A more detailed list is available at this page and includes links to the source of the requirement where appropriate:
UX:
provide routing and navigation across MFEs
Provide a common user experience, including common headers, footers, and components (Paragon)
Provide common runtime configurations for internationalization, device responsiveness, accessibility etc…
Provide global error handling
Other:
Container services specification and lifecycle (events/MT/Callbacks, shared state, shared dependencies, MFE loading and unloading - npm, lazy load, webpack)
MFE runtime specification and lifecycle (initialization, unloading, runtime SDK)
Ease of Migration of existing MFEs
Page load and network optimizations
Compile and Build time optimizations
Devstack integration, development tooling and ease of development
Deployment configuration and branding (eg: Open edX v edX)
Proposed Solutions:
The following solutions will be examined and compared, as well as additional ones that may be uncovered during this project:
Deliverable:
Deliverables for this project will include a clearly articulated proposed solution based on one of the frameworks above, or a comparable framework, and how well they address the requirements as documented during this project.
...