feat: add Proctoring Info Panel plugin slot - #1759
Conversation
|
Thanks for the pull request, @Anas12091101! This repository is currently maintained by Once you've gone through the following steps feel free to tag them in a comment and let them know that your changes are ready for engineering review. 🔘 Get product approvalIf you haven't already, check this list to see if your contribution needs to go through the product review process.
🔘 Provide contextTo help your reviewers and other members of the community understand the purpose and larger context of your changes, feel free to add as much of the following information to the PR description as you can:
🔘 Get a green buildIf one or more checks are failing, continue working on your changes until this is no longer the case and your build turns green. DetailsWhere can I find more information?If you'd like to get more details on all aspects of the review process for open source pull requests (OSPRs), check out the following resources: When can I expect my changes to be merged?Our goal is to get community contributions seen and reviewed as efficiently as possible. However, the amount of time that it takes to review and merge a PR can vary significantly based on factors such as:
💡 As a result it may take up to several weeks or months to complete a review and merge your PR. |
| * `proctoring_info_panel_slot` | ||
|
|
||
| ### Props: | ||
| * `proctoringReviewRequirementsButtonLink` |
There was a problem hiding this comment.
This is a great start, thanks! But it would be ideal if you could add:
- An example of how to use this slot, including sample env.config.jsx code.
- A screenshot of the slot using the above example.
There was a problem hiding this comment.
Thanks, @arbrandes!
The reason I initially left out the screenshots and env.config.jsx example was because I noticed that some of the recently added plugin slots, like ContentIFrameLoaderSlot were missing them in their README as well.
That said, I’ve now added the example screenshots and config code in 36e6ceb
There was a problem hiding this comment.
Any slot that is missing documentation is a bug. All slots should have documentation. However some don't and if you have context on the ones that don't we'd love PRs. Some of the ones that don't have docs are because we found them, but we don't know how to use them.
|
Hi @arbrandes @sarina @brian-smith-tcril, do PRs that introduce plugin slots generally require product review? |
|
@itsjeyd I don't think slots generally require product review, but it's not a bad idea to get some product input on new slots. For example I wonder with respect to this slot - can it only be used for proctoring information? I doubt it. I think the name should be more generic and the example could illustrate how to use it with proctoring info. |
|
Hi @Anas12091101 - I've approved your test run. I've also invited you to the Open edX organization so your tests will run with each commit. Please visit https://github.com/openedx to accept the invitation. |
|
@Anas12091101 I'm still waiting on an answer to this question:
|
|
@sarina there's nothing about this slot that would make it only able to be used for proctoring information. That being said, I don't think simply renaming this slot to be more generic is a good solution either. In the <Title />
<Alerts />
<StartOrResumeCourseCard />
<WelcomeMessage />
<CourseHomeSectionOutlineSlot />
<ProctoringInfoPanel />
<WeeklyLearningGoalCard />
<CourseTools />
<CourseOutlineTabNotificationsSlot />
<CourseDates />
<CourseHandouts />so renaming this would mean we'd have <Title />
<Alerts />
<StartOrResumeCourseCard />
<WelcomeMessage />
<CourseHomeSectionOutlineSlot />
- <ProctoringInfoPanel />
+ <SomeGenericSlotInTheMiddleOfItAll />
<WeeklyLearningGoalCard />
<CourseTools />
<CourseOutlineTabNotificationsSlot />
<CourseDates />
<CourseHandouts />We also already have the I'm not sure what the best path forward for this is. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #1759 +/- ##
==========================================
+ Coverage 90.46% 90.47% +0.01%
==========================================
Files 344 345 +1
Lines 5812 5819 +7
Branches 1360 1402 +42
==========================================
+ Hits 5258 5265 +7
+ Misses 537 535 -2
- Partials 17 19 +2 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
I don't like naming this slot something so prescriptive when it could be used for different things, but yeah, I see it's just in the middle. Is this slot even necessary? If it's in the middle of the |
They could, but that wouldn't remove the default |
|
So it seems like there's a macro issue here and a micro issue here. The macro issue is that site operators don't have enough flexibility to customize the The micro issue is that the "Review instructions and system requirements" button in the This PR solves the micro issue by wrapping the If the main use case for this slot is changing that URL, then keeping it as |
|
We do have a way I thought now of overriding URLs: https://github.com/openedx/frontend-platform?tab=readme-ov-file#overriding-default-external-links |
I remembered discussing that but I wasn't aware that it had actually landed! I'd definitely be in favor of setting up that URL to be replaceable using |
|
Thanks @sarina and @brian-smith-tcril! The core issue we encountered was the hardcoded link for the "Review instructions and system requirements" button. I initially opened this PR to address it using a slot. However, since externalLinkUrlOverrides provides a more convenient solution, we'd prefer to use that instead. I noticed that the version of frontend-platform in this MFE is still v8.3.1, whereas |
|
@Anas12091101 it's frontend-app-learning/package-lock.json Lines 2540 to 2541 in e9121f9 so you should be able to use that functionality right now. It'd be good to update the pin in |
|
Great, I’ll open a separate PR for this. Should I go ahead and close this one for now? |
|
Closing in favor of #1775 I'm glad we were able to work through the requirements and figure out a good path forward! Thank you! |
Description
This PR introduces a plugin slot to enable overriding the
ProctoringInfoPanelcomponent. It also adds a newproctoringReviewRequirementsButtonLinkprop in theProctoringInfoPanel, allowing customization of the "Review instructions and system requirements" link without requiring a full replacement of theProctoringInfoPanel.Screenshots
Default

Custom

Testing Instructions
env.config.jsxfile