-
Notifications
You must be signed in to change notification settings - Fork 177
refactor: Use preview migration API & feat: Block import when the import would exceed the block limit [FC-0112] #2700
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
|
Thanks for the pull request, @ChrisChV! 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. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #2700 +/- ##
=======================================
Coverage 94.95% 94.95%
=======================================
Files 1245 1245
Lines 28637 28648 +11
Branches 6511 6520 +9
=======================================
+ Hits 27193 27204 +11
Misses 1373 1373
Partials 71 71 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
navinkarkera
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@ChrisChV The limit is applicable to the whole number of blocks in the library, so we need to consider: the current number of blocks in the library + total number of blocks in the imported course (Including the sections, subsections & units). And then exclude the number from Total Blocks section as we don't know if the components will be excluded or the containers. Maybe also include a line in the alert above saying something like the library being close to limit of total number of blocks and the import will be stopped when it is crossed.
@navinkarkera Yes, you are right. I was confused to see that
@edschema @sdaitzman Reaching the item limit in the library has become a special case, so before we continue, I'd like to ask you what it should look like. In summary, the following changes are proposed:
Another option that occurred to me while writing the above is to completely block the import if the limit is reached, because: (1) how complex this case can become, (2) after that import, it will not be possible to create or make other imports in the library. What do you think? |
|
Hi @edschema @sdaitzman, friendly reminder for this question #2700 (comment) |
|
Thanks for the ping @ChrisChV, I'll look this over and check in with the team..! |
|
Hi @ChrisChV, if the import will cause the library to reach the limit, we should block the import and message accordingly. We will have to add documentation at a later point that describes content support (which blocks are supported vs not) and limitations to content libraries.
|
| html: 1, | ||
| }, | ||
| (useGetBlockTypes as jest.Mock).mockImplementation((args) => { | ||
| // Block types query for children of unsupported blocks |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I updated this mock in this way because an issue that renders the component twice
src/library-authoring/import-course/stepper/ReviewImportDetails.tsx
Outdated
Show resolved
Hide resolved
src/library-authoring/import-course/stepper/ReviewImportDetails.tsx
Outdated
Show resolved
Hide resolved
a2126bb to
3b6249a
Compare
navinkarkera
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@ChrisChV Nice work! 👍
- I tested this: Verified limits locally.
- I read through the code
- I checked for accessibility issues
- Includes documentation

Description
Supporting information
Testing instructions
Refactor
Blocks limit
MAX_BLOCKS_PER_CONTENT_LIBRARYto a lower value, like 20Other information
N/A
Best Practices Checklist
We're trying to move away from some deprecated patterns in this codebase. Please
check if your PR meets these recommendations before asking for a review:
.ts,.tsx).propTypesanddefaultPropsin any new or modified code.src/testUtils.tsx(specificallyinitializeMocks)apiHooks.tsin this repo for examples.messages.tsfiles have adescriptionfor translators to use.../in import paths. To import from parent folders, use@src, e.g.import { initializeMocks } from '@src/testUtils';instead offrom '../../../../testUtils'