-
Notifications
You must be signed in to change notification settings - Fork 224
Labels
code healthProactive technical investment via refactorings, removals, etc.Proactive technical investment via refactorings, removals, etc.documentationRelates to documentation improvementsRelates to documentation improvementsenhancementRelates to new features or improvements to existing featuresRelates to new features or improvements to existing features
Description
Background
Pros of having this as a separate package
- Code separation: XBlock's core cannot depend on these utilities
- However: importlinter could be used instead.
- XBlock doesn't depend on Django
- However: I can't find the ADR, but somewhere we decided that Django should be assumed for XBlocks, since enforcing Django-agnosticness wasn't yielding any value.
Cons of having this as a separate package
- More maintenance overhead. We can't assume XBlock authors use xblock-utils, so we must maintain XBlock as a proper interface on its own. For example, moving off
pkg_resourceswould be simpler if every block just used theResourcesLoaderinterface that xblock-utils provides. - Harder to document: Two sets of documentation & common patterns need to be maintained -- docs for using XBlock without xblockutils, and docs for xblockutils itself.
- More choices for XBlock developers. "Should I use xblockutils or not??"
- More setup steps for XBlock developers.
- Indirection: the system is harder for developers to understand when there's extra layers.
- Maintenance difficulty:
Acceptance Criteria
- [x] understand why the two libraries were separate in the first place (done: see Braden's comment below)
- [x] make a choice about whether they should be merged (decision: **yes**)
- [x] Merge this repo's functionality into XBlock, including doc updates. Consider including an ADR. Cut a major XBlock release.
- [x] Update this repo to just be thin compatibility layer which imports from XBlock. Cut a final release of it.
- [x] Mark this repo as deprecated (no DEPR ticket necessary) and archive it
- [x] Announce the change
bradenmacdonald and farhan
Metadata
Metadata
Assignees
Labels
code healthProactive technical investment via refactorings, removals, etc.Proactive technical investment via refactorings, removals, etc.documentationRelates to documentation improvementsRelates to documentation improvementsenhancementRelates to new features or improvements to existing featuresRelates to new features or improvements to existing features
Type
Projects
Status
Done
Status
✅ Done