-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathdocumentation.txt
More file actions
94 lines (82 loc) · 4.91 KB
/
Copy pathdocumentation.txt
File metadata and controls
94 lines (82 loc) · 4.91 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
Canvas
Change the course to an LMS course in Adapt (students won’t be able to access it until you set up the assignment — I *think*)
For each assignment, put in the start page of the assignment in libretext
Go to Canvas
Settings->Apps->App Configurations Then Add App By Client ID: 17260000000000169
Create a new assignment, looking for Libretext Adapt
Load in a new tab
Make sure your points are the same as your Adapt assignment
Also, keep the assignment open: Adapt will handle that stuff
Load it in a new window
Then choose the assignment you want to link up
Student will log into Canvas from now on; if they aren’t a part of the course yet, they’ll be asked for an access code the first time around.
Students will need to go through Canvas for the passbook to occur — can be done retroactively
{
"title": "Adapt",
"scopes": [
"https://purl.imsglobal.org/spec/lti-ags/scope/lineitem",
"https://purl.imsglobal.org/spec/lti-ags/scope/lineitem.readonly",
"https://purl.imsglobal.org/spec/lti-ags/scope/result.readonly",
"https://purl.imsglobal.org/spec/lti-ags/scope/score",
"https://purl.imsglobal.org/spec/lti-nrps/scope/contextmembership.readonly"
],
"extensions": [
{
"platform": "canvas.instructure.com",
"settings": {
"platform": "canvas.instructure.com",
"placements": [
{
"placement": "link_selection",
"message_type": "LtiDeepLinkingRequest",
"target_link_uri": "https://dev.adapt.libretexts.org/api/lti/configure"
},
{
"placement": "assignment_selection",
"message_type": "LtiDeepLinkingRequest",
"target_link_uri": "https://dev.adapt.libretexts.org/api/lti/configure"
}
],
"link_selection": {
"placement": "link_selection",
"message_type": "LtiDeepLinkingRequest",
"target_link_uri": "https://dev.adapt.libretexts.org/api/lti/configure"
},
"assignment_selection": {
"placement": "assignment_selection",
"message_type": "LtiDeepLinkingRequest",
"target_link_uri": "https://dev.adapt.libretexts.org/api/lti/configure"
}
}
}
],
"public_jwk": {
"d": "tkdUVHX4yVKzkK1pPLKO11QXzteTcBF4QJIVGJ6ZjwBf7WeBIXzMrGli2XFSFum2yygrbkQlTF_Xr3yG5JC1NBK4aj4t0AE3Fy_89a_PmwFKa4aTQIPX73zP2bpFw0YHnejDzTAtdZ7HhKfB1FOKBzcF1ci-hb5rLax8mKBJ5IyIjJN-DtjBYwGr6CCYTNIJKF1Z8UT-TDYtZxj1YSvk32cka4ttMdUYdwrCKt-j1MsQiAlpA-437SxqlXUAX7ooutNCz-b-57h8_Sw7AnmO8USbtHi3Q5O__bpG_H7quv_t1WDGAoWFr6cOA2h_Kgx8WX1szMmiOPPZmpdu5YYHcQ",
"e": "AQAB",
"n": "8osiSa75nmqmakwNNocLA2N2huWM9At_tjSZOFX1r4-PDclSzxhMw-ZcgHH-E_05Ec6Vcfd75i8Z-Bxu4ctbYk2FNIvRMN5UgWqxZ5Pf70n8UFxjGqdwhUA7_n5KOFoUd9F6wLKa6Oh3OzE6v9-O3y6qL40XhZxNrJjCqxSEkLkOK3xJ0J2npuZ59kipDEDZkRTWz3al09wQ0nvAgCc96DGH-jCgy0msA0OZQ9SmDE9CCMbDT86ogLugPFCvo5g5zqBBX9Ak3czsuLS6Ni9Wco8ZSxoaCIsPXK0RJpt6Jvbjclqb4imsobifxy5LsAV0l_weNWmU2DpzJsLgeK6VVw",
"p": "-TEfpa5kz8Y6jCPJK6u5GMBXIniy1972X_HwyuqcUDZDyy2orr3rRj0sOtJoDHtC62_NnrhuvZYyW-cZ0nDzrzPj8ma-gCpbcgdRfOpEAeA6T_xjfN5KN3u3dHQ7e_qoBtCPJFhiB8Axmjs_NdbwUo0axqQB50QpbRv3gdid0qk",
"q": "-SuCu0BGnaed3VYa7GBAyNf74eNPSn3Ht9MwK1-9iFmC5T0CULHndUcV4Zzp-qwORSYEW_R2oyfDRM_MRCosSUEiHztMZLglJeZxtBx6MjH6vLaQwW7Ixkg-69kKct8H93tC7YNTqZ14gEwT_wBfmQGqfV6R12KgRJ1KQeSSJ_8",
"dp": "aPCeAjjZ7YHuP_wGCOUNUvYU-8hWkIAtwyPxIpMAdusTS6oTwlrqjK7QRIk9FhyGhv2TWwcSY7avyHIfNrcoeBzjHr7T9MdhsTiRwYgqUZvrEqoX_4rhOFJaZKlaL5DUV-JWlZi-18LBYNEYgoTcufcAUqzYvFrBE1jWt5DQjdk",
"dq": "E7OrDJ9SdhjQ1LWAP3yE4tyhIAVXOa6kYhai0mspk2RwgyvFyReoE4_hXQuJPLbqEfGlmpfD4ba9K-26WxFymwA5cHrB2Zzt4wdLqlAuIVXuW4mb_I-D9Jm1z_RDbT3RZXIropglv12iL5LUae9fn7uP_YXCxmMYBRTi0D8Ah4U",
"qi": "YwLEhy55SQucj2vQqSO1dqn2YiB2ARHBA83QKb1PHflkTNGn3mR_gLow-xU7BmTmA2-9CeDHiJrD181gb48XbI24Nn4QXAjS-mYYIpFASR739UI4W5wyyOCMyFtT6OupEgkqKw_swITU1GHKYI-lB_-y0Q-XSdLmuP6ZkkdAQao",
"alg": "RS256",
"kid": "58f36e10-c1c1-4df0-af8b-85c857d1634f",
"kty": "RSA",
"use": "sig"
},
"description": "Adapt-2",
"custom_fields":{
"foo":"$Canvas.user.id"
},
"target_link_uri": "https://dev.adapt.libretexts.org/api/lti/redirect-uri",
"oidc_initiation_url": "https://dev.adapt.libretexts.org/api/lti/oidc-initiation-url"
}
H5p:
H5P.externalDispatcher.on('xAPI', function (event) {
console.log(event.data.statement);
});
Docker:
When no space left: docker system prune --all --force —volumes
AWS:
AWS serverless database video: https://youtu.be/FzxqIdIZ9wc
Clickers possibly using AWS Lambda + Websockets + API Gateway: https://aws.amazon.com/blogs/compute/announcing-websocket-apis-in-amazon-api-gateway/