36
IMS Caliper Anthony Whyte [email protected] University of Michigan Team Caliper co-chair 15 August 2016

arwhyte-caliper-ims q mtg orem-xapi-20160815...using SSL wire encryption & standard LTI credentials; call can be performed outside depicted sequence and the API key cached. Caliper

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 12: arwhyte-caliper-ims q mtg orem-xapi-20160815...using SSL wire encryption & standard LTI credentials; call can be performed outside depicted sequence and the API key cached. Caliper

Caliper 1.1 initiatives

sensor updates

doc rewrites

cert suite upgrade

specimpl guideontology

Sensor

caliper-javacaliper-jscaliper-pythoncaliper-phpcaliper-rubycaliper-net

event model revisions

LTI integration

payload thinning

{ "sensor": "https://example.edu/sensor/001", "sendTime": "2015-09-15T11:05:01.000Z", "data": [ { "@context": "http://purl.imsglobal.org/ctx/caliper/v1/Context", "@type": "http://purl.imsglobal.org/caliper/v1/Event", "actor": { "@id": "https://example.edu/user/554433", "@type": "http://purl.imsglobal.org/caliper/v1/lis/Person" }, "action": "http://purl.imsglobal.org/vocab/caliper/v1/action#Viewed", "eventTime": "2015-09-15T10:15:00.000Z", "object": { "@id": "https://example.com/viewer/book/34843#epubcfi(/4/3)", "@type": "http://www.idpf.org/epub/vocab/structure/#volume" } } ] }

createddeletedupdatedremoved

markedAsReadmarkedAsUnreadpostedsubscribedunsubscribed

Discussion Forum Profile

Page 16: arwhyte-caliper-ims q mtg orem-xapi-20160815...using SSL wire encryption & standard LTI credentials; call can be performed outside depicted sequence and the API key cached. Caliper

Information model: profiles

Assessment Media Reading

BasicOutcomeAssignable

Social

CredentialsAuthoring

Forum

Simulation

Annotation

Session

ProblemSet

current set

future additions?

Gaming

Progress

. . . Rating

Feedback

Badge

new entities?

Problem

Comment

ContentMgmt

Page 17: arwhyte-caliper-ims q mtg orem-xapi-20160815...using SSL wire encryption & standard LTI credentials; call can be performed outside depicted sequence and the API key cached. Caliper

Profile example: Discussion Forum

markedAsReadmarkedAsUnread

ForumEvent

MessageEvent

ThreadEvent

postedmarkedAsReadmarkedAsUnread

navigatedTo

viewed

NavigationEvent

ViewEvent

subscribedunsubscribed

Forum

Thread

Message

Collection

Page 19: arwhyte-caliper-ims q mtg orem-xapi-20160815...using SSL wire encryption & standard LTI credentials; call can be performed outside depicted sequence and the API key cached. Caliper

{

}

Caliper Event JSON-LD (1.1)

caliper.json

{ "@context": {}}

"@context": “http://purl.imsglobal.org/ctx/caliper/v1/caliper.json","@type": "http://purl.imsglobal.org/caliper/v1/Event", "id": "local string identifier","actor": {<Agent>}, "action": "http://purl.imsglobal.org/vocab/caliper/v1/action#[Action]","object": {<Entity>},"eventTime": "ISO 8601 formatted dateTime w/ millisecond precision","target": {<Entity>},"generated": {<Entity>},"referrer": {<Entity>},"edApp": {<SoftwareApplication>},"group": {<Organization>},"membership": {<Membership>},"session": {<Session>},"federatedSession": {<LtiSession>},"extensions": {}

mapping ofterms

Page 20: arwhyte-caliper-ims q mtg orem-xapi-20160815...using SSL wire encryption & standard LTI credentials; call can be performed outside depicted sequence and the API key cached. Caliper

Caliper event / xAPI statement

actor action object eventTime

optional

xAPI statement

Caliper event

actor verb object

id stored

Caliper sourcedId and xAPI id and stored property must be set by the LRS if not set by the event/statement emitter.

id

timestamp context result authority attachments

target generated referreredApp group membershipsession federatedSessionextensions

version

Page 24: arwhyte-caliper-ims q mtg orem-xapi-20160815...using SSL wire encryption & standard LTI credentials; call can be performed outside depicted sequence and the API key cached. Caliper

Caliper event: with context (tag doc)

person

tagged

document

tagannotation

datetime

course

reader

membership

federatedsession

statement

edAppeventTime

group

actor

object

action

membership

studentrole

generated

tags

ePub

frame

session

extensions

Page 26: arwhyte-caliper-ims q mtg orem-xapi-20160815...using SSL wire encryption & standard LTI credentials; call can be performed outside depicted sequence and the API key cached. Caliper

eventevent

Sensor API

event

.send()

.describe()

eventevententity

reading annotation assignable + . . .session outcome

Caliper information model

.send(events)

.describe(entities)

.getStatistics()

event store

Page 29: arwhyte-caliper-ims q mtg orem-xapi-20160815...using SSL wire encryption & standard LTI credentials; call can be performed outside depicted sequence and the API key cached. Caliper

CPS calls API Key service using SSL wire encryption & standard LTI credentials; callcan be performed outsidedepicted sequence and the API key cached.

Caliper profile service (CPS)

Caliper/ LTI 1.x workflow

CPS responseapiKey, eventStore.url, expiryTime

launch request+ custom_caliper_profile_url, + custom_caliper_session_id

toolconsumer

CPS declared in Tool Consumer Profile

POST

GET

toolprovider

Sensor

sensor config

data stream secured using SSL wire encryption and tuple:apiKey (header), sensor_id &session_id

apiKey scoped to Caliper profile URL; CPS should specify an expiry in order to avoid repeated lookups of apiKey prior to expiration.

Caliper API key service

eventstore

GET

Page 30: arwhyte-caliper-ims q mtg orem-xapi-20160815...using SSL wire encryption & standard LTI credentials; call can be performed outside depicted sequence and the API key cached. Caliper

conformance service

Conformance test framework

app

endpoint

eventstore

Sensor

Java JS

Ruby

PHP

Python

.Net

csev ?

conformance test service

Caliper JSON-LD reference library

assert

deploy

unit testassert

validate

http://caliper.imsglobal.org/

Page 31: arwhyte-caliper-ims q mtg orem-xapi-20160815...using SSL wire encryption & standard LTI credentials; call can be performed outside depicted sequence and the API key cached. Caliper

Caliper code repos (Github)

sensorscaliper-javacaliper-jscaliper-rubycaliper-pythoncaliper-phpcaliper-net

supportcaliper-centralcaliper-contextscaliper-common-fixtures

sample codecaliper-java-examplecaliper-js-examplecaliper-net-example

publiccaliper-java-publiccaliper-js-publiccaliper-ruby-publiccaliper-python-publiccaliper-php-publiccaliper-net

docscaliper-speccaliper-ontologycaliper-impl-guide

cert suitecaliper-conformance-tests

Page 34: arwhyte-caliper-ims q mtg orem-xapi-20160815...using SSL wire encryption & standard LTI credentials; call can be performed outside depicted sequence and the API key cached. Caliper

Completed quiz item (AssessmentItem profile)

person

completed

item 01

response

time

course

quiz engine

membership

session

statement

edAppeventTime

group

actor

object

action

membership

studentrole

generated

quiz

actor

quiz

attempt

session

Page 36: arwhyte-caliper-ims q mtg orem-xapi-20160815...using SSL wire encryption & standard LTI credentials; call can be performed outside depicted sequence and the API key cached. Caliper

Caliper event.action (future?)"action": { "@context": "http://purl.imsglobal.org/ctx/caliper/v1/Context", "@id": "http://purl.imsglobal.org/vocab/caliper/v1/action#Liked", "@type": “http://purl.imsglobal.org/caliper/v1/Action", "expression": { "@value": " " "@language": "ja" }}

override default language using aJSON-LD expanded value object

{ "@context": { . . . "@language": "en", }}

default language

Context.json