docs: add ADR for institution-defined tag code field#637
docs: add ADR for institution-defined tag code field#637mgwozdz-unicon wants to merge 3 commits into
Conversation
Proposes a generic Tag.code field in openedx_tagging to hold an institution's own competency identifier, plus a completeness rule that requires it for Competency Taxonomy tags without teaching openedx_tagging what a Competency Taxonomy is. Answers issue openedx#625.
|
Thanks for the pull request, @mgwozdz-unicon! 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. |
… mirror the system-level taxonomy
Claude assisted...
Summary
Tag.code, a generic, optional field onopenedx_tagging'sTagmodel, to hold an institution's own competency identifier — distinct from CASE/CTDL and from the existingexternal_idfield.codefor every tag in a Competency Taxonomy, enforced through a generic property onTaxonomythat only a Competency Taxonomy subclass turns on, soopenedx_taggingnever has to know what a Competency Taxonomy is.openedx/openedx-core#625("Determine what and how many ID fields should be added to the Taxonomy data model").Why
Competency Management UX designs show a "Competency ID" that institutions click to build competency-criteria associations. Institutions need their own internal identifier for this, separate from any future CASE/CTDL identifiers. The existing
external_idfield can't be reused: it's de facto immutable and is the load-bearing lookup key for import/export matching, so giving it a second, editable meaning would break that contract.Status
Proposed. This is a recommendation for engineering and Open edX community review, not an implementation — no code changes are included in this PR.
Dependencies and follow-ups (tracked separately, not in this PR)
#613(implements theCompetencyTaxonomymodel) needs to override thetag_code_requiredproperty this ADR defines. This ADR's property should land before or alongside [BE] Implement CBE core data models (CompetencyTaxonomy, criteria, learner status) #613, not after it — [BE] Implement CBE core data models (CompetencyTaxonomy, criteria, learner status) #613 depends on this ADR, not the reverse.#634("Taxonomy subclasses: embrace or deprecate?") is an open architecture discussion that could affect the subclass-override mechanism this ADR relies on.These are called out in a comment on #625 rather than in the ADR itself.