meSee See also: this initiative and its child tickets.
...
Page | Old (Backend Service & Path) | New (MFE & Path) | Toggle (Waffle Flag) | Status, DEPR Link, Repo Links, Product Review Links, Other Notes | ||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Studio: Logged-out Landing Page | CMS
|
| TBD |
| ||||||||||||||||||||||||||||||||||||
Studio: Preview | LMS-Preview
| frontend-app-learning OR frontend-app-authoring
| TBD |
https://github.com/openedx/frontend-app-learning/issues/1455 This is the only thing blocking the removal of legacy Courseware Sequence view.
| ||||||||||||||||||||||||||||||||||||
Studio: Course Custom Pages | CMS
|
|
|
Should be part of 2Us DEPR around Studio Frontend MFE
| ||||||||||||||||||||||||||||||||||||
Studio: Course advanced settings | CMS
|
|
|
Should be part of 2Us DEPR around Studio Frontend MFE | ||||||||||||||||||||||||||||||||||||
Studio: Course Schedule & Details | CMS
|
|
|
Should be part of 2Us DEPR around Studio Frontend MFE | ||||||||||||||||||||||||||||||||||||
Studio: Course grading | CMS
|
|
|
Should be part of 2Us DEPR around Studio Frontend MFE | ||||||||||||||||||||||||||||||||||||
Studio: Course updates | CMS
|
|
|
Should be part of 2Us DEPR around Studio Frontend MFE | ||||||||||||||||||||||||||||||||||||
Studio: Course Import | CMS
|
|
|
Should be part of 2Us DEPR around Studio Frontend MFE | ||||||||||||||||||||||||||||||||||||
Studio: Course Export | CMS
|
|
|
Should be part of 2Us DEPR around Studio Frontend MFE | ||||||||||||||||||||||||||||||||||||
Studio: Course Video Uploads | CMS
|
|
EXTRA CONFIG IN .env
|
Should be part of 2Us DEPR around Studio Frontend MFE | ||||||||||||||||||||||||||||||||||||
Studio: Course Files & Uploads | CMS
|
|
|
https://github.com/openedx/studio-frontend/issues/381 Should also be part of 2Us DEPR around Studio Frontend MFE | ||||||||||||||||||||||||||||||||||||
Studio: Logged-in Home Page | CMS
|
|
|
Should be part of 2Us DEPR around Studio Frontend MFE | ||||||||||||||||||||||||||||||||||||
Studio: Course content outline editor | CMS
|
|
As of May-2024:
| |||||||||||||||||||||||||||||||||||||
Studio: Unit editor | CMS
|
|
|
| ||||||||||||||||||||||||||||||||||||
Studio: Course Team | CMS
|
|
|
Should be part of 2Us DEPR around Studio Frontend MFE | ||||||||||||||||||||||||||||||||||||
Studio: Course Textbooks | CMS
|
|
|
Should be part of 2Us DEPR around Studio Frontend MFE | ||||||||||||||||||||||||||||||||||||
Studio: Course Group Configurations | CMS
|
|
|
Should be part of 2Us DEPR around Studio Frontend MFE | ||||||||||||||||||||||||||||||||||||
Studio: Page & Resources | CMS
|
|
|
| ||||||||||||||||||||||||||||||||||||
Studio: Text (HTML) Editor | CMS
|
|
|
| ||||||||||||||||||||||||||||||||||||
Studio: Problem (CAPA) Editor |
|
|
|
| ||||||||||||||||||||||||||||||||||||
Studio: Video Editor |
|
|
|
| ||||||||||||||||||||||||||||||||||||
Studio: Library Authoring (all pages) | CMS
|
| In Django settings:
|
In development: Schema, OpenCraft, and Axim. (Slack: #content-libraries-relaunch-dev) | Course Dashboard aka Learner Dashboard aka Learner Home | |||||||||||||||||||||||||||||||||||
LMS
| CMS
| frontend-app-learner-dashboardauthoring /??? |
|
Status | ||||
---|---|---|---|---|
|
Status | ||||
---|---|---|---|---|
|
[BD-08] B2C Learner Dashboard MFE Conversion
https://github.com/openedx/edx-platform/issues/35326
Note: This is only the learner course dashboard. The learner programs dashboard does not have an MFE replacement yet.
Login/Registration
LMS
/login
/register
/password_assistance
/login
/register
/reset
FEATURES['ENABLE_AUTHN_MICROFRONTEND']
Status | ||||
---|---|---|---|---|
|
Status | ||||
---|---|---|---|---|
|
Status | ||||
---|---|---|---|---|
|
https://github.com/openedx/public-engineering/issues/81
MISSING FEATURE IN MFE: Custom registration fields.
Also works with .underscore files
Profile
LMS
/u/{username}
/u/{username}
???
Status | ||
---|---|---|
colour | Blue | title |
Status | ||
|
Studio: Maintenance: Announcements
CMS
/maintenance/anouncements
frontend-app-authoring
???
Status | ||
---|---|---|
|
Studio: Maintenance: Force Publish Course
CMS
/maintenance/announcements/force_publish_course
frontend-app-authoring
???
Status | ||
---|---|---|
|
Studio: Update Preview Language
CMS
/update_lang
frontend-app-authoring
???
Status | ||
---|---|---|
|
Note: This doesn’t seem to be accessed on studio.edx.org ?
Course Dashboard
aka Learner Dashboard
aka Learner Home
LMS
/dashboard
frontend-app-learner-dashboard
/???
learner_home_mfe.enabled
Status | ||||
---|---|---|---|---|
|
Status | ||||
---|---|---|---|---|
|
[BD-08] B2C Learner Dashboard MFE Conversion
https://github.com/openedx/edx-platform/issues/35326
Note: This is only the learner course dashboard. The learner programs dashboard does not have an MFE replacement yet.
Login/Registration
LMS
/login
/register
/password_assistance
/login
/register
/reset
FEATURES['ENABLE_AUTHN_MICROFRONTEND']
Status | ||||
---|---|---|---|---|
|
Status | ||||
---|---|---|---|---|
|
Status | ||||
---|---|---|---|---|
|
Status | ||||
---|---|---|---|---|
|
Status | ||||
---|---|---|---|---|
|
Account Settings
LMS
/???
/
???
https://github.com/openedx/publicedx-engineeringplatform/blob/issues/71
38320f8433427111c6cfb2bfaaa70aec5b989053/lms/templates/student_account/login_and_register.html
MISSING FEATURE IN MFE: Custom registration fields.
Also works with .underscore files
Profile
LMS/???
/u/{username}
/???u/{username}
???
Status | ||||
---|---|---|---|---|
|
Status | ||||
---|---|---|---|---|
|
Unclear whether live in named release.
Needs DEPR.
|
Account Settings
LMS
/???
frontend-app-learning
/course/{course_id}/dates
/
???
Status | ||||
---|---|---|---|---|
|
Status | ||||
---|---|---|---|---|
|
Status | ||||
---|---|---|---|---|
|
Status | ||||
---|---|---|---|---|
|
Course Home: Outline
`LMS71
ID Verification
LMS
/???
frontend-app-learning
/course/{course_id}/home
N/A
Status | ||
---|---|---|
|
/???
???
Status | ||||
---|---|---|---|---|
|
Status | ||||
---|---|---|---|---|
|
Status | ||||
---|---|---|---|---|
|
https://github.com/openedx/public-engineering/issues/50Unclear whether live in named release.
Needs DEPR.
Course Home: ProgressDates
LMS
/courses/{course_id}/progress???
frontend-app-learning
/course/{course_id}/progress
course_home_mfe.course_home_mfe_progress_tab
Status
dates
N/A
Status | ||
---|---|---|
|
Status | ||||
---|---|---|---|---|
|
Status | ||||
---|---|---|---|---|
|
Status | ||||
---|---|---|---|---|
|
Needs a DEPR
The MFE displays grades under some circumstances where the old progress page did not. MIT is using the course waffle flag to disable the MFE for some courses on edx.org. https://github.com/openedx/public-engineering/issues/50
Course Home: Outline
Custom Pages
LMS
/courses/{course_id}/{customtab_block_id}
`LMS
/???
frontend-app-learning
/course/{course_id}/{tabs}/{customtab_block_id}
home
N/A
Status | ||
---|---|---|
|
Status | ||||
---|---|---|---|---|
|
This is low hanging fruit! We just need to make a course home tab view that iframes in the CustomTabBlock, which is just an HtmlBlock subclass!
This could be done at parity quickly. I don’t think it warrants a DEPR. We should ticket this up with the help wanted
label.
Courseware: Sequence
LMS
/???
frontend-app-learning
/???
|
Status | ||||
---|---|---|---|---|
|
Status | ||||
---|---|---|---|---|
|
Course Home: Progress
LMS
/courses/{course_id}/progress
frontend-app-learning
/course/{course_id}/progress
course_home_mfe.course_home_mfe_progress_tab
Status | ||||
---|---|---|---|---|
|
Status | ||||
---|---|---|---|---|
|
Status | ||||
---|---|---|---|---|
|
Legacy is partially removed. Full removal is blocked by studio course preview, which doesn’t yet work in learning mfe.
Courseware: render_xblock
LMS
/xblock/{usage_key}
LMS
/xblock/{usage_key}
Needs a DEPR
The MFE displays grades under some circumstances where the old progress page did not. MIT is using the course waffle flag to disable the MFE for some courses on edx.org.
Course Home:
Custom Pages
LMS
/courses/{course_id}/{customtab_block_id}
frontend-app-learning
/course/{course_id}/{tabs}/{customtab_block_id}
TBD
Status | ||
---|---|---|
|
This is the endpoint that renders a “chromeless” (nav-free) xblock.
This will never be removed entirely but, eventually, we can seriously simplify it to the point where it’s just a thin wrapper around the next item (built-in XBlock views).
Courseware: Built-in XBlock Views
edx-platform
(called by Python, not accessed directly by URLs)
xblocks-contrib
(called by Python, not accessed directly by URLs)
xmodule.use_extracted_block.{block_tag}
Status | ||||
---|---|---|---|---|
|
https:low hanging fruit! We just need to make a course home tab view that iframes in the CustomTabBlock, which is just an HtmlBlock subclass!
This could be done at parity quickly. I don’t think it warrants a DEPR. We should ticket this up with the help wanted
label.
Courseware: Sequence
LMS
/???
frontend-app-learning
/???
N/A
Status | ||||
---|---|---|---|---|
|
Status | ||||
---|---|---|---|---|
|
Status | ||||
---|---|---|---|---|
|
Legacy is partially removed. Full removal is blocked by studio course preview, which doesn’t yet work in learning mfe.
https://github.com/openedx/edxpublic-platformengineering/issues/34827
These views will not be turned into MFE pages, but they will be extracted out of edx-platform and into: https://github.com/openedx/xblocks-contrib/
Courseware: Proctored Exam
LMS
/???
frontend-app-learning
(via frontend-lib-special-exams)
/???
Status | ||||
---|---|---|---|---|
|
Courseware: render_xblock
LMS
/xblock/{usage_key}
LMS
/xblock/{usage_key}
N/A
Status | ||
---|---|---|
|
This is the endpoint that renders a “chromeless” (nav-free) xblock.
This will never be removed entirely but, eventually, we can seriously simplify it to the point where it’s just a thin wrapper around the next item (built-in XBlock views).
Courseware: Built-in XBlock Views
edx-platform
(called by Python, not accessed directly by URLs)
xblocks-contrib
(called by Python, not accessed directly by URLs)
xmodule.use_extracted_block.{block_tag}
Status | ||||
---|---|---|---|---|
|
https://github.com/openedx/edx-proctoringplatform/issues/1226
Replacement repo:
Courseware: Search
LMS
Dave: I don’t think this is actually reachable any longer, since we force you into the MFE experience for that courseware page view.34827
These views will not be turned into MFE pages, but they will be extracted out of edx-platform and into: https://github.com/openedx/xblocks-contrib/
Courseware: Proctored Exam
LMS
/???
frontend-app-learning
/course/{course-key}/home?q=search-term
courseware.mfe_courseware_search
NEED DISCOVERY: is this at parity? is it live for edx.org, open edx?
Program Dashboard
LMS
/dashboard/programs
TBD
/TBD
Status | ||
---|---|---|
|
Course Certificates
LMS
/certificates/{cert_id}
TBD
/TBD
Status | ||
---|---|---|
|
Program Certificates
Credentials
/credentials/{cert_id}
TBD
/TBD
Status | ||
---|---|---|
|
Track Selection
LMS
/???
TBD
/TBD
course_modes.use_new_track_selection
?
NEEDS DISCOVERY: What is the status? Do we rewrite or DEPR?
Course Messaging
LMS
/???
TBD
/TBD
NEEDS DISCOVERY: What is the status?
Basket / Payment
Ecommerce
/???
frontend-app-order-history
/???
Status | ||||
---|---|---|---|---|
|
NEEDS DISCOVERY: Is replacement enabled in open edx? Is it at parity?
Order History
Ecommerce
/???
frontend-app-ecommerce
/???
Status | ||||
---|---|---|---|---|
|
NEEDS DISCOVERY: Is replacement enabled in open edx? Is it at parity?
Discussions
LMS
(via frontend-lib-special-exams)
/???
Status | ||||
---|---|---|---|---|
|
Status | ||||
---|---|---|---|---|
|
https://github.com/openedx/edx-proctoring/issues/1226
Replacement repo:
Courseware: Search
LMS
Dave: I don’t think this is actually reachable any longer, since we force you into the MFE experience for that courseware page view.
frontend-app-learning
/course/{course-key}/home?q=search-term
courseware.mfe_courseware_search
NEED DISCOVERY: is this at parity? is it live for edx.org, open edx?
Program Dashboard
LMS
/dashboard/programs
TBD
/TBD
Status | ||
---|---|---|
|
Course Certificates
LMS
/certificates/{cert_id}
TBD
/TBD
Status | ||
---|---|---|
|
Program Certificates
Credentials
/credentials/{cert_id}
TBD
/TBD
Status | ||
---|---|---|
|
Track Selection
LMS
/???
TBD
/TBD
course_modes.use_new_track_selection
?
NEEDS DISCOVERY: What is the status? Do we rewrite or DEPR?
Course Messaging
LMS
/???
TBD
/TBD
NEEDS DISCOVERY: What is the status?
Basket / Payment
Ecommerce
/???
frontend-app-discussionsorder-history
/???
Status | ||||
---|---|---|---|---|
| ||||
|
NEEDS DEPR
NEEDS DISCOVERY: Is this sufficiently replacement enabled in open edx? Is it at parity?
Learner Record
Credentialshttps://github.com/openedx/public-engineering/issues/68
Order History
Ecommerce
/???
frontend-app-learner-recordecommerce
/TBD???
Status | ||||
---|---|---|---|---|
|
Status | ||||
---|---|---|---|---|
|
Replacement:
NEEDS DISCOVERY: Is replacement enabled in open edx? Is it at parity?
Discussions
LMS
/???
LMS
frontend-app-gradebook (should be renamed to frontend-app-instruction, or something)
Status | ||
---|---|---|
|
Should subsume
Discover New Courses
/???
frontend-app-catalog?
/TBD
Status | ||
---|---|---|
|
Course About
LMS
Status | ||||
---|---|---|---|---|
|
Status | ||||
---|---|---|---|---|
|
NEEDS DEPR
NEEDS DISCOVERY: Is this sufficiently at parity?
Learner Record
Credentials
/???
frontend-app-learner-catalog?record
/TBD
Status | ||||
---|---|---|---|---|
|
Reference: What MFEs are there?
The full list of Open edX MFEs, including ones that are experimental or under development, can be found by searching “frontend-app-” in the openedx GitHub org: https://github.com/orgs/openedx/repositories?q=frontend-app-
The list of Open edX MFEs that run out-of-the-box in Tutor can be found by looking at the CORE_MFE_APPS
variable in the tutor-mfe plugin’s plugin.py file:
[upcoming release / tutor nightly] https://github.com/overhangio/tutor-mfe/blob/nightly/tutormfe/plugin.py#L33
[latest release / tutor master] https://github.com/overhangio/tutor-mfe/blob/master/tutormfe/plugin.py#L33
Reference: MFE Base URLs
MFEs follow a simple naming pattern. Given some lowercase hyphen based name{APPNAME}
(for example, learning
)….
The repo is
https://github.com/openedx/frontend-app-{APPNAME}
Example:
https://github.com/openedx/frontend-app-learning
The base URL in Tutor is
https://apps.{LMS}/{APPNAME}
Example:
https://apps.myopenedx.site/learning
The base URL on edX is
https://{APPNAME}.edx.org
Example:
https://learning.edx.org
EXCEPTION: For
learner-dashboard
, the URL is nothttps://learner-dashboard.edx.org
. Instead, it’shttps://home.edx.org
.
More References
...
Frontend Pages in edx-platform
...
Replacement: | ||||||||
Instructor Dashboard (all pages) | LMS
| frontend-app-gradebook (should be renamed to frontend-app-instruction, or something) |
Should subsume | |||||
Discover New Courses | LMS
| frontend-app-catalog?
|
| |||||
Course About | LMS
| frontend-app-catalog?
|
|
Reference: What MFEs are there?
The full list of Open edX MFEs, including ones that are experimental or under development, can be found by searching “frontend-app-” in the openedx GitHub org: https://github.com/orgs/openedx/repositories?q=frontend-app-
The list of Open edX MFEs that run out-of-the-box in Tutor can be found by looking at the CORE_MFE_APPS
variable in the tutor-mfe plugin’s plugin.py file:
[upcoming release / tutor nightly] https://github.com/overhangio/tutor-mfe/blob/nightly/tutormfe/plugin.py#L33
[latest release / tutor master] https://github.com/overhangio/tutor-mfe/blob/master/tutormfe/plugin.py#L33
Reference: MFE Base URLs
MFEs follow a simple naming pattern. Given some lowercase hyphen based name{APPNAME}
(for example, learning
)….
The repo is
https://github.com/openedx/frontend-app-{APPNAME}
Example:
https://github.com/openedx/frontend-app-learning
The base URL in Tutor is
https://apps.{LMS}/{APPNAME}
Example:
https://apps.myopenedx.site/learning
The base URL on edX is
https://{APPNAME}.edx.org
Example:
https://learning.edx.org
EXCEPTION: For
learner-dashboard
, the URL is nothttps://learner-dashboard.edx.org
. Instead, it’shttps://home.edx.org
.
Robert’s DataDog Query for CMS Frontends
2U is contributing some monitoring findings to help us determine the legacy frontends that are still in the platform…
Code Block |
---|
-@view.url_path:(/course/course-v1\:* OR /c4x/* OR /container/block-v1\:* OR /library/library-v1\:* OR /preview/xblock/block-v1\:* OR /asset-v1\:* OR /course_team/course-v1\:* OR /certificates/course-v1\:* OR /settings/grading/* OR /settings/details/* OR /settings/advanced/* OR /group_configurations/course-v1\:* OR /import/library-v1\:* OR /import/course-v1\:* OR /textbooks/course-v1\:* OR /tabs/course-v1\:* OR /export/course-v1\:* OR /admin/split_modulestore_django/* OR /admin/*) |
edX.org CMS Result:
Code Block |
---|
/
/home_library
/admin
/maintenance
/maintenance/announcements |
More References
Old archived Version of this: [Archive] MFE Rewrite Status
https://docs.google.com/spreadsheets/d/1X81NJB20hcBHcfsswenP5FhECe1w1LzXWrBlga4RmX4/edit?gid=0#gid=0 - these are edx-platform views seen/accessed on edx.org