[FE] Bundle the CBE Student Progress widgets with tutor-mfe
Maintainer thường phản hồi trong vòng 1 ngày
@mgwozdz-unicon đang làm issue này rồi.
Từ ngày 16/10/2026.
Đánh giá
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức phù hợp với người mới
- 65/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- docker, javascript, nodejs, python, react
- Lĩnh vực
- backend, cli, devops, documentation, frontend
Hướng nghiên cứu
Create a Tutor plugin in a new subdirectory tutor-contrib-<repository-name> with the files listed. The plugin.py file adds npm install and import patches, and registers the placeholder component into two Progress tab slots. Test by enabling the plugin in a Tutor environment, rebuilding the MFE image, and verifying the placeholder appears on the Progress tab. Update README.rst with installation steps and add a CI job.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
User Story
As a site operator, I want the CBE Student Progress widgets to come with tutor-mfe by default, so that learners see them on the Progress tab without me installing a separate plugin or patching the Learning MFE.
Description
The CBE Student Progress widgets live in the frontend package that #810 creates, and they only appear on a site's Progress tab when something installs that package into the Learning MFE image and registers its widgets into the Progress tab plugin slots. This ticket adds the package to tutor-mfe itself, so every Tutor site that runs the Learning MFE gets the widgets by default, with no separate Tutor plugin for the operator to find and install.
Acceptance Criteria
The deliverable is a change to tutor-mfe's image build and default slot configuration rather than new runtime behavior, so this ticket uses a checklist. Every item is verified on a Tutor environment that has no Tutor plugins enabled beyond tutor-mfe's own dependencies.
- Building the Learning MFE image with tutor-mfe's default configuration installs the frontend package from #810 and registers the slot configuration the package exports, which places the competency criteria panel at the top of the Progress tab's main column.
- tutor-mfe pins a specific version of the package rather than tracking a moving branch, so rebuilding the image without changing the tutor-mfe version produces the same package build.
- On a course that has competency criteria, the competency criteria panel appears at the top of the Progress tab's main column after a standard image build and launch.
- At least one other micro-frontend on the same site, for example the Authoring MFE, builds and behaves unchanged.
- tutor-mfe's changelog entry states that the Learning MFE now includes the CBE competency criteria panel on the Progress tab, and names the setting that controls where it goes.
- tutor-mfe has a site-wide setting that decides where the competency criteria panel goes. In both layouts, the panel appears only in courses that have competency criteria, and courses without criteria show the Progress tab unchanged.
- "Above": the panel appears above the Course completion and Grades cards.
- "Replacement", the default: the panel appears in place of both cards.
- tutor-mfe passes the setting's value to the slot configuration function the package exports (#829), so changing the setting and rebuilding the Learning MFE image changes the value that function receives.
- tutor-mfe's README lists the setting, its two values, and its default.
- What the package does with each value is #839's scope. Before #839's placement logic exists, both values place the panel above the cards.
Context
- #810 creates the repository and the npm package that this ticket adds to tutor-mfe.
overhangio/tutor-mfe: itsREADME.rstdocuments everymfe-*patch hook, andtutormfe/templates/mfe/build/mfe/env.config.jsxshows where a registered slot configuration is rendered in the generated file and what wraps it.- #829 replaces #810's generic placeholder component with the two starter CBE widgets and adds
example.env.config.jsxfor local development. This ticket installs the package after #829 and #734 have landed. - A way for operators to leave the widgets out of the Learning MFE build is a nice-to-have, not a requirement, since the goal is to build CBE into the core rather than bolt it on. Add it only if it takes little effort.
Open Questions
- (implementer) Will tutor-mfe call the slot configuration function the package exports (#829) and pass it the placement setting's value, and will it install and import the package only for the Learning MFE? The package's slot configuration imports
@openedx/frontend-plugin-framework, which the other MFEs don't necessarily have. If tutor-mfe can't do either, #829 and #839 need a different way to register the widgets. - (implementer) Who bumps tutor-mfe's pinned package version when later tickets (#839, #743, and others) ship a new package release, and on what cadence?
- Ngôn ngữ chính
- Python
- Star
- 10
- Fork
- 33
- Merge trung bình
- 2 ngày 11 giờ
- Pull request đã merge (30 ngày)
- 22
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Không có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của openedx/openedx-core
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
openedx/openedx-core#831 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 85/100
openedx/openedx-core#827 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 76/100
openedx/openedx-core#898 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 20/100
openedx/openedx-core#895 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
[Draft] Refactor: Consolidate taxonomy, tag and object-tag writes into one moduleCó thể đã có người làm @jesperhodge đã nhận 2 ngày trước. Đang mở
openedx/openedx-core#894 · 1 người được giao ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của openedx/openedx-core
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 67/100
MISP/misp-workbench#496 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 66/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 1/5 1-3 giờ Mức phù hợp với người mới 88/100
fossasia/visdom-dev#69 ·
Maintainer thường phản hồi trong vòng 3 ngày
-
[Bug] Parameters named like a property break to_xcal()Có thể đã có người làm @atharvasalunke1267 đã nhận hôm nay. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
collective/icalendar#2018 · 2 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
Maintainer thường phản hồi trong vòng 1 ngày