Intstructors preparing the course gradebook may opt to connect the MHC assignment to existing items in the course. Essentially, the grade sync should pair the mhc assignment with the existing gradebook items by name. The pairing (the update_grade web service) should update the grade item to identify it as an mhaairs item and store the mhc assignment id in the item.
There are two types of grade items to consider:
- Existing manual items - The use case here is that the instructor designs the course and prepares the gradebook structure prior to the first grade sync.
- Existing activity-based items - The user case here is that the instructor creates activity instances such as offline assignment or external link (lti) to serve as place holders for the mhc assignments. This allows the instructor to place activity markers in the course sections and so as to make the requirement visible in its context. Off course, simple links could be as visible markers, but the advantage of using activities is that activities come and go with their grade item. And so, especially in the course design stage, if the instructor decides to omit a certain intended mhc activity from the course, removing the activity instance from the course page also removes the corresponding grade item from the grade book. The offline assignment and external link (lti) are particularly suitable for such a use case b/c while they have a grade item, the grades do not come from the activity itself but rather from an external source (the instructor and an external tool, respectively).
Supporting both manual items and activity-based items has to take into account the following considerations:
- We cannot use the iteminstance field for the MHC assignment id b/c in the case of activity-based items it is reserved for the activity id.
- We cannot use the itemmodule field to identify the item as mhaairs b/c in the case of activity-based items it is reserved for the activity module name.
- We can use the itemnumber field to store the MHC assignment id to the extent that the supported activity types do not support multiple grade items (that is, the item number of grade items of such activities which are not paired with MHC is always 0).
- We can use the iteminfo field to store an mhaairs source identifier (e.g. 'mhaairs') to the extent that instructors do not use this field (the field does not have any particular functional purpose).
If we support only manual items such items could be set up as itemtype = manual, itemmodule = mhaairs and iteminstance = MHC assignment id.