ID | Related to... | Source | | Requirement/Feature/Problem |
R0001 | | OEP - Motivation | openedx-proposals/oeps/architectural-decisions/oep-XXXX-modular-micro-frontend-domains.rst at 426f6e09ffe615e77aa9205281d77012385a08d4 · openedx/openedx-proposals
| Inconsistency between MFEs and the legacy codebase |
R0002 | | OEP - Motivation | openedx-proposals/oeps/architectural-decisions/oep-XXXX-modular-micro-frontend-domains.rst at 426f6e09ffe615e77aa9205281d77012385a08d4 · openedx/openedx-proposals
| Inconsistency between the UIs of MFEs themselves (en vogue UI paradigms, no common headers/footers..) |
R0003 | | OEP - Motivation | openedx-proposals/oeps/architectural-decisions/oep-XXXX-modular-micro-frontend-domains.rst at 426f6e09ffe615e77aa9205281d77012385a08d4 · openedx/openedx-proposals
| Regression in customizability |
R0004 | | OEP - Motivation | openedx-proposals/oeps/architectural-decisions/oep-XXXX-modular-micro-frontend-domains.rst at 426f6e09ffe615e77aa9205281d77012385a08d4 · openedx/openedx-proposals
| Changes that affect multiple MFEs are costly (code duplication, webpack build time) |
R0005 | | OEP - Motivation | openedx-proposals/oeps/architectural-decisions/oep-XXXX-modular-micro-frontend-domains.rst at 426f6e09ffe615e77aa9205281d77012385a08d4 · openedx/openedx-proposals
| Inefficient use of network bandwidth (No routing between MFEs, repeated dependencies being downloaded in webpack) |
R0006 | | OEP - Motivation | openedx-proposals/oeps/architectural-decisions/oep-XXXX-modular-micro-frontend-domains.rst at 426f6e09ffe615e77aa9205281d77012385a08d4 · openedx/openedx-proposals
| Incosistent Documentation |
R0007 | | OEP - Motivation | openedx-proposals/oeps/architectural-decisions/oep-XXXX-modular-micro-frontend-domains.rst at 426f6e09ffe615e77aa9205281d77012385a08d4 · openedx/openedx-proposals
| Inconsistency in deprecation efforts (versioning?) |
R0008 | | OEP - Specification | openedx-proposals/oeps/architectural-decisions/oep-XXXX-modular-micro-frontend-domains.rst at 426f6e09ffe615e77aa9205281d77012385a08d4 · openedx/openedx-proposals
| Review top level architecture elements (Integration, SPAs, Shared Dependencies, MFE Component Architecture) |
R0009 | | OEP - Specification | openedx-proposals/oeps/architectural-decisions/oep-XXXX-modular-micro-frontend-domains.rst at 426f6e09ffe615e77aa9205281d77012385a08d4 · openedx/openedx-proposals
| Review OEP in context of other Community efforts |
R0010 | | OEP - Integration Strategy | openedx-proposals/oeps/architectural-decisions/oep-XXXX-modular-micro-frontend-domains.rst at 426f6e09ffe615e77aa9205281d77012385a08d4 · openedx/openedx-proposals
| Review 5 proposed solutions (javascript runtime, web comp runtime, Weback module Fed, single-spa, Piral) |
R0011 | | OEP - Integration Strategy | openedx-proposals/oeps/architectural-decisions/oep-XXXX-modular-micro-frontend-domains.rst at 426f6e09ffe615e77aa9205281d77012385a08d4 · openedx/openedx-proposals
| Cost of Conversion |
R0012 | | OEP - Integration Strategy | openedx-proposals/oeps/architectural-decisions/oep-XXXX-modular-micro-frontend-domains.rst at 426f6e09ffe615e77aa9205281d77012385a08d4 · openedx/openedx-proposals
| Cost of Integration (tradeoffs of proposed solution against independent MFEs) |
R0013 | | OEP - Integration Strategy | openedx-proposals/oeps/architectural-decisions/oep-XXXX-modular-micro-frontend-domains.rst at 426f6e09ffe615e77aa9205281d77012385a08d4 · openedx/openedx-proposals
| Hosting of build artifacts (object storage, CDN) |
R0014 | | OEP - Integration Strategy | openedx-proposals/oeps/architectural-decisions/oep-XXXX-modular-micro-frontend-domains.rst at 426f6e09ffe615e77aa9205281d77012385a08d4 · openedx/openedx-proposals
| Lazy Loading |
R0015 | | OEP - Integration Strategy | openedx-proposals/oeps/architectural-decisions/oep-XXXX-modular-micro-frontend-domains.rst at 426f6e09ffe615e77aa9205281d77012385a08d4 · openedx/openedx-proposals
| Efficiency of Development |
R0016 | | OEP - Integration Strategy | openedx-proposals/oeps/architectural-decisions/oep-XXXX-modular-micro-frontend-domains.rst at 426f6e09ffe615e77aa9205281d77012385a08d4 · openedx/openedx-proposals
| User impact |
R0017 | | OEP - Integration Strategy | openedx-proposals/oeps/architectural-decisions/oep-XXXX-modular-micro-frontend-domains.rst at 426f6e09ffe615e77aa9205281d77012385a08d4 · openedx/openedx-proposals
| Maturity |
R0018 | | OEP - Integration Strategy | openedx-proposals/oeps/architectural-decisions/oep-XXXX-modular-micro-frontend-domains.rst at 426f6e09ffe615e77aa9205281d77012385a08d4 · openedx/openedx-proposals
| Project Health |
R0019 | | OEP - SPA | openedx-proposals/oeps/architectural-decisions/oep-XXXX-modular-micro-frontend-domains.rst at 426f6e09ffe615e77aa9205281d77012385a08d4 · openedx/openedx-proposals
| Domain Containers (SPAs) for LMS and CMS |
R0020 | | OEP - Shared Dependencies | openedx-proposals/oeps/architectural-decisions/oep-XXXX-modular-micro-frontend-domains.rst at 426f6e09ffe615e77aa9205281d77012385a08d4 · openedx/openedx-proposals
| Shared Dependencies (React, Paragon, React-router etc...) |
R0021 | | OEP - MFE Component Arch | openedx-proposals/oeps/architectural-decisions/oep-XXXX-modular-micro-frontend-domains.rst at 426f6e09ffe615e77aa9205281d77012385a08d4 · openedx/openedx-proposals
| MFE Components architecture (lifecyle, plugin interface, messaging, shared state etc...) |
R0022 | | David | OEP-65 Composable Micro-frontends by arbrandes · Pull Request #410 · openedx/openedx-proposals
| Reduced Bundle size of runtime |
R0023 | | David | OEP-65 Composable Micro-frontends by arbrandes · Pull Request #410 · openedx/openedx-proposals
| Page load performance |
R0024 | | David | OEP-65 Composable Micro-frontends by arbrandes · Pull Request #410 · openedx/openedx-proposals
| page UX and cross MFE navigation |
R0025 | | David | OEP-65 Composable Micro-frontends by arbrandes · Pull Request #410 · openedx/openedx-proposals
| consistency over flexibility (eg REACT version, Paragon version etc...) |
R0026 | | David | OEP-65 Composable Micro-frontends by arbrandes · Pull Request #410 · openedx/openedx-proposals
| Code Reuse |
R0027 | | David | OEP-65 Composable Micro-frontends by arbrandes · Pull Request #410 · openedx/openedx-proposals
| Documentation |
R0028 | R0021 | Adam | OEP-65 Composable Micro-frontends by arbrandes · Pull Request #410 · openedx/openedx-proposals
| MFE modularity and swapability |
R0029 | R0007 | Adam | OEP-65 Composable Micro-frontends by arbrandes · Pull Request #410 · openedx/openedx-proposals
| Versioning of MFEs and error handling due to Versioning |
R0030 | R0021 | Adam | OEP-65 Composable Micro-frontends by arbrandes · Pull Request #410 · openedx/openedx-proposals
| Can an MFE be server side rendered and still be compatible with the container arch. |
R0031 | R0015 | Adam | OEP-65 Composable Micro-frontends by arbrandes · Pull Request #410 · openedx/openedx-proposals
| changes to devstack when developing on individual MFE's. How are other MFE's and containers loaded? Via npm or via source? |
R0032 | R0015 | Adam | OEP-65 Composable Micro-frontends by arbrandes · Pull Request #410 · openedx/openedx-proposals
| developer workflow: will this result in GIT repo overload? Do MFE's live in a poly-repo? mono-repo per domain? |
R0033 | R0002 | Adam | OEP-65 Composable Micro-frontends by arbrandes · Pull Request #410 · openedx/openedx-proposals
| Gathering of global requirements for common UX elements like headers and footers |
R0034 | R0021 | Adam | OEP-65 Composable Micro-frontends by arbrandes · Pull Request #410 · openedx/openedx-proposals
| Dynamically loaded MFEs vs NPMs for shared UX and for selective loading of MFE's at runtime |
R0035 | R0019, R0021 | Adam | OEP-65 Composable Micro-frontends by arbrandes · Pull Request #410 · openedx/openedx-proposals
| Gobal state data such as authentication, authorization claims etc... |
R0036 | R0019, R0021 | Adam | OEP-65 Composable Micro-frontends by arbrandes · Pull Request #410 · openedx/openedx-proposals
| Events, PubSub, Callbacks Cross-MFE-messaging |
R0037 | R0007, R0019, R0021 | Adam | OEP-65 Composable Micro-frontends by arbrandes · Pull Request #410 · openedx/openedx-proposals
| Container / MFE Interface versioning and breaking changes |
R0038 | R0002, R0019, R0020, R0021 | Adam | OEP-65 Composable Micro-frontends by arbrandes · Pull Request #410 · openedx/openedx-proposals
| Enforce a consistent version of Paragon |
R0039 | R0019, R0021 | Adam | OEP-65 Composable Micro-frontends by arbrandes · Pull Request #410 · openedx/openedx-proposals
| Orchestration/bootstrapping/initialization of MFE. AppProvider.Provider. |
R0040 | R0003, R0019, R0020, R0021 | Adam | OEP-65 Composable Micro-frontends by arbrandes · Pull Request #410 · openedx/openedx-proposals
| How to handle deployment specific MFE's such as openEdx vs Edx Brands (previously done by NPM alias) |
R0041 | R0005, R0013, R0014 | Adam | OEP-65 Composable Micro-frontends by arbrandes · Pull Request #410 · openedx/openedx-proposals
| Lazy loading and codesplitting tradeoffs |
R0042 | R0021 | Adam | OEP-65 Composable Micro-frontends by arbrandes · Pull Request #410 · openedx/openedx-proposals
| What is an MFE |
R0043 | R0005 | Brian | OEP-65 Composable Micro-frontends by arbrandes · Pull Request #410 · openedx/openedx-proposals
| Container routing to MFE entry points and MFE internal routing |
R0044 | R0010, R0019, R0020, R0021 | Adolfo | Google Meet | MFE should be able to run independently from the stack, for development purposes |
R0045 | | Adolfo | Google Meet | Infrastructure Creep (Piral Registry) |