1EdTech / caliper-spec

Other
19 stars 17 forks source link

Add AssignableItem (1.2 Proposal) #254

Open mashbourne opened 6 years ago

mashbourne commented 6 years ago

So we just ran into reporting use case for interactive widgets within an ePub

they look like an assessment to the user, but are not within an assessment engine and can not and should not use Assessment Profile

The javascript interactive widgets within an epub can be authored to have multiple items, and there isn’t a AssignableItem Event

I believe this is a use case for creating AssignableItem entity and events.

Open question: are epub widgets or other interactive elements common enough that they should have their own entity? DigitalResource with mediaType application/javascript is a bit vague and doesn’t give much context to what the interaction was

arwhyte commented 6 years ago

With the current model (widget relationship to epub):

DigitalResource.isPartOf\<AssignableDigitalResource>

mashbourne commented 6 years ago

I think the strongest arguments for adding AssignableItem are 1) Symmetry with Assessment Profile 2) AssignableItem Event implies via semantics that parent child relationship is expected. And makes it obvious how to represent student actions where Assignable contains interactive digital resources.

As someone who has been dealing with caliper for a while, it wasn't immediately obvious to just use AssignableEvent for everything and model the relationship via isPartOf. My brain was looking for something that explicitly mapped to the use case. I think very flexible semantics will lead to implementations where same interaction is captured differently.

mashbourne commented 6 years ago

@arwhyte @ViktorHaag here is the proposed flow. Interested in how could be modeled differently

Action Event
1a Student launches epub that contains interactive widgets NavigationEvent#NavigatedTo (the epub)
1b AssignableEvent#Started (the epub)
2a Student clicks on interactive widget NavigationEvent#NavigatedTo (the widget)
2b ToolUseEvent#Used (the widget)
3 Student interacts with widget ToolUseEvent#Used (the widget)
4 Student clicks "check my work" AssignableItemEvent#Completed (the widget, part of Assignable epub, attempt N)
4b GradeEvent#Graded (the widget, part of Assignable epub, attempt N)
5 repeat 3-4b for several attempts
6 repeat 2a-4b for several widgets included in the assigned epub
7 Student finishes the assigned epub with "Submit" button AssignableEvent#Submitted (the epub)
mashbourne commented 6 years ago

Given that AssignableEvent can be used to model this flow, the question is more around whether symmetry with Assessment Profile is desired. I think it makes it more clear when event type encodes that value isPartOf is expected

padraig-ohiceadha commented 5 years ago

I agree that an AssignableEvent would be useful (and seems to have been added to the spec). We would have use cases for it, e.g. we'd often assign curriculum content. I think it would be useful to have a CREATED event for the assignment, though that might be modelled with a generic Event which creates an AssignableDigitalObject. The above events for interaction with the assignment are fine, though it might be an idea to align them with the activityProgress statuses in the LTI Assignment & Grade service ([https://github.com/IMSGlobal/caliper-spec]). What I don't see and I think would be useful is an Assigned action, and the event supporting an array of Actors that were assigned the assignment.