docs: add ADR 0022 assessment criteria model#474
docs: add ADR 0022 assessment criteria model#474mgwozdz-unicon wants to merge 1 commit intoopenedx:mainfrom
Conversation
|
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. |
bradenmacdonald
left a comment
There was a problem hiding this comment.
Would you mind providing an end-to-end example of the data in each of these models?
I'm trying to understand the need for both ObjectTag and oel_assessment_criteria.
e.g. If the competency is "Writing Poetry" and "Unit 7: Submit a Poem" has the ObjectTag [Unit7->Writing Poetry], then we need oel_assessment_criteria to attach additional data to that specific object in that specific course?
e.g. The criteria group would be "To achieve the 'Writing Poetry' Competency in course X, you have to: (Criteria 1: achieve a grade of 75% or better on [Unit7->Writing Poetry]) AND (Criteria 2: achieve a grade of 85% or better on [Unit9->Remixing Poetry])"
Do authors really want to specify the rules at such a granular level (separately and independently for each activity of each competency of each course)? I would have assumed that they just want a few high-level rules like "Earning a grade of 75% or better for all content in the course tagged with both a competency and the 'CountsForCompetency' tag will earn that competency".
| Decision | ||
| -------- | ||
|
|
||
| 1. Update `oel_tagging_taxonomy` to have a new column for `taxonomy_type` where the value could be “Competency” or “Tag”. |
There was a problem hiding this comment.
What would the purpose of this taxonomy_type field be, and what would it affect?
We actually have two taxonomy types already, free-text and static, controlled via the allow_free_text field. So it may make sense to remove that field have three taxonomy_types: "Regular", "Free text", and "Competency"
- Free text taxonomy -> no hierarchy allowed, no predefined tags, authors can "tag as you go"
- Regular taxonomy -> hierarchical tags, tags must be predefined by editing/importing the taxonomy before content can be tagged
- Competency -> ????
| 2. `assessment_criteria_group_id`: foreign key to Assessment Criteria Group id | ||
| 3. `oel_tagging_objecttag_id`: Tag/Object Association id | ||
| 4. `oel_tagging_tag_id`: The `oel_tagging_tag.id` of the tag that represents the competency that is mastered when this assessment criteria is demonstrated. | ||
| 5. `object_id`: The `object_id` found with `oel_tagging_objecttag_id` which is included here to maximize query efficiency. It points to the course, subsection, unit, or other content that is used to assess mastery of the competency. |
There was a problem hiding this comment.
Nit: ObjectTag is a pretty small model, and this is a very straightforward JOIN, so I'm not sure it's worth it to copy the object_id into this column. It's also a long string, so probably better for data size if we avoid duplicating it ? Same for course_id below actually - probably don't need it if it's already on the _group ?
| 3. `oel_tagging_objecttag_id`: Tag/Object Association id | ||
| 4. `oel_tagging_tag_id`: The `oel_tagging_tag.id` of the tag that represents the competency that is mastered when this assessment criteria is demonstrated. |
There was a problem hiding this comment.
Is this tag_id always the same as the tag_id stored on the ObjectTag associated via oel_tagging_objecttag_id ? (the line above)
If so, I don't think we need tag_id here. And especially not if it's already on the _group model as well.
No description provided.