
Security News
Vite Releases Technical Preview of Rolldown-Vite, a Rust-Based Bundler
Vite releases Rolldown-Vite, a Rust-based bundler preview offering faster builds and lower memory usage as a drop-in replacement for Vite.
caccl-grade-passback
Advanced tools
Sends LTI 1.1 grade passback to Canvas. Support text and url submissions and overall score.
Sends LTI 1.1 grade passback to Canvas. Support text and url submissions and overall score.
Canvas
App
Complete
Connection
Library
To send pass grades back to Canvas, import this module and call it with three objects: request
, info
, and credentials
(see below for descriptions of each).
import sendPassback from 'caccl-grade-passback';
await sendPassback({
request,
info,
credentials,
});
The request object contains all of the grade information to send to Canvas.
Including a Grade:
Either add the total score by including
request.score
:
// Give the student 15 out of 20 points (that's 75%) const request = { score: 15, ... };
...or add the percentage of the possible points by including
request.percent
:
// Give the student 15 out of 20 points (that's 75%) const request = { percent: 75, ... };
Including a Submission:
Only two types of submissions are supported: text submissions and url submissions.
To add a text submission, include
request.text
:
const request = { ... text: 'Body of the student submission', ... };
To add a url submission, include
request.url
:
const request = { ... url: 'https://url.of/student/submission', ... };
Including a "Submitted At" Timestamp:
To add a submission timestamp, include
request.submittedAt
:
const request = { ... submittedAt: /* ISO 8601 String OR Date object */, ... };
The info object contains all of the relevant LTI parameters that were passed through in the original LTI launch request:
const info = {
sourcedId: /* The LTI sourcedid, usually "lis_result_sourcedid" in the original LTI launch request */,
url: /* The LTI outcome url, usually "lis_outcome_service_url" in the original LTI launch request */,
};
The credentials object contains the app's consumer credentials:
const credentials = {
consumerKey: /* The app's consumer key */,
consumerSecret: /* The app's shared secret */,
};
Sending a passback of 78 points with a "Hello World" text submission. In this example, we have invented a launchBody
object that contains the body of the original LTI launch request and we created a secureFile
object that has getKey
and getSecret
functions that return the app's consumer key and consumer secret, respectively.
import sendPassback from 'caccl-grade-passback';
const request = {
score: 78,
text: 'Hello World',
};
const info = {
sourcedId: launchBody.lis_result_sourcedid,
url: launchBody.lis_outcome_service_url,
};
const credentials = {
consumerKey: secureFile.getKey(),
consumerSecret: secureFile.getSecret(),
};
await sendPassback(request, info, credentials);
FAQs
Sends LTI 1.1 grade passback to Canvas. Support text and url submissions and overall score.
The npm package caccl-grade-passback receives a total of 192 weekly downloads. As such, caccl-grade-passback popularity was classified as not popular.
We found that caccl-grade-passback demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Vite releases Rolldown-Vite, a Rust-based bundler preview offering faster builds and lower memory usage as a drop-in replacement for Vite.
Research
Security News
A malicious npm typosquat uses remote commands to silently delete entire project directories after a single mistyped install.
Research
Security News
Malicious PyPI package semantic-types steals Solana private keys via transitive dependency installs using monkey patching and blockchain exfiltration.