CLI documentation
Commands
You can find below the available commands offered by the development kit.
LTI 1.3 messages launch generation command
Can be used if you need to programmatically generate a typed LTI 1.3 message launch via command line.
Command details:
- command:
php bin/console devkit:create:message:launch
- command help:
php bin/console devkit:create:message:launch --help
- command options:
Name | Short name | Required | Description |
---|---|---|---|
--type | -t | yes | type of LTI 1.3 message launch to generate |
--parameters | -p | yes | parameters (JSON encoded) for the message launch generation |
--verbose | -v | no | to output message launch details (disabled by default) |
Common command execution example:
php bin/console devkit:create:message:launch -v -t LtiResourceLinkRequest -p '{
"registration": "devkit",
"user": {
"id": "userIdentifier"
},
"claims": {
"a": "b",
"https://purl.imsglobal.org/spec/lti/claim/roles": [
"http://purl.imsglobal.org/vocab/lis/v2/membership#Learner"
]
}
}'
Notes:
- setting up the option
-v
will not only return back the generated launch, but also the message launch details - for the
user
parameter, you can provide this structure:"user": { "id": "userIdentifier", [optional, will generate uuidv4 if not provided] "name": "user name", [optional] "email": "user@mail.com", [optional] "locale": "en" [optional] }
- for the
claims
parameter, you can provide any claim form the IMS specifications, for example:"claims": { "a": "b", "https://purl.imsglobal.org/spec/lti/claim/roles": [ "http://purl.imsglobal.org/vocab/lis/v2/membership#Learner" ] }
Common command execution output example:
LTI 1.3 message launch link
-----------------------
http://devkit-lti1p3.localhost/lti1p3/oidc/initiation?iss=http%3A%2F%2Fdevkit-lti1p3.localhost%2Fplatform&login_hint=%7B%22type%22%3A%22custom%22%2C%22user_id%22%3A%22userIdentifier%22%2C%22user_name%22%3Anull%2C%22user_email%22%3Anull%2C%22user_locale%22%3Anull%7D&target_link_uri=http%3A%2F%2Fdevkit-lti1p3.localhost%2Ftool%2Flaunch<i_message_hint=eyJ0e...<i_deployment_id=deploymentId1&client_id=client_id
LTI 1.3 message launch details
--------------------------
Url
---
http://devkit-lti1p3.localhost/lti1p3/oidc/initiation
Parameters
----------
iss
http://devkit-lti1p3.localhost/platform
login_hint
{"type":"custom","user_id":"userIdentifier","user_name":null,"user_email":null,"user_locale":null}
target_link_uri
http://devkit-lti1p3.localhost/tool/launch
lti_message_hint
eyJ0e...
lti_deployment_id
deploymentId1
client_id
client_id
Notes:
LTI 1.3 message launch link
: message launch link to use to perform later on the launchLTI 1.3 message launch details
: message launch details, returned if-v
is provided
LtiResourceLinkRequest message
Launch parameters (--parameters
, JSON encoded) details:
Name | Required | Description |
---|---|---|
registration | yes | registration identifier to use for the launch |
user | no | user details to use for the launch |
target_link_uri | no | target_link_uri to use for the launch, if not provided, will use default tool launch url |
deployment_id | no | deployment_id to use for the launch, if not provided, will use default registration deployment id |
claims | no | claims to use for the launch |
Command execution example:
php bin/console devkit:create:message:launch -v -t LtiResourceLinkRequest -p '{
"registration": "devkit",
"user": {
"id": "userIdentifier",
"name": "User Name",
"email": "user@email.com",
"locale": "en"
},
"target_link_uri": "http://devkit-lti1p3.localhost/tool/launch",
"deployment_id": "deploymentId1",
"claims": {
"a": "b",
"https://purl.imsglobal.org/spec/lti/claim/roles": [
"http://purl.imsglobal.org/vocab/lis/v2/membership#Learner"
]
}
}'
LtiDeepLinkingRequest message
Launch parameters (--parameters
, JSON encoded) details:
Name | Required | Description |
---|---|---|
registration | yes | registration identifier to use for the launch |
deep_linking_settings | no | deep linking settings to use for the launch |
user | no | user details to use for the launch |
target_link_uri | no | target_link_uri to use for the launch, if not provided, will use default tool launch url |
deployment_id | no | deployment_id to use for the launch, if not provided, will use default registration deployment id |
claims | no | claims to use for the launch |
Command execution example:
php bin/console devkit:create:message:launch -v -t LtiDeepLinkingRequest -p '{
"registration": "devkit",
"deep_linking_settings": {
"accept_types": ["link", "file", "html", "ltiResourceLink", "image"],
"accept_media_types": "image/*,text/html",
"accept_presentation_document_targets": ["iframe", "window", "embed"],
"accept_multiple": true,
"auto_create": false,
"title": "This is the default title",
"text": "This is the default text"
},
"user": {
"id": "userIdentifier",
"name": "User Name",
"email": "user@email.com",
"locale": "en"
},
"target_link_uri": "http://devkit-lti1p3.localhost/tool/launch",
"deployment_id": "deploymentId1",
"claims": {
"a": "b",
"https://purl.imsglobal.org/spec/lti/claim/roles": [
"http://purl.imsglobal.org/vocab/lis/v2/membership#Learner"
]
}
}'
LtiStartProctoring message
Launch parameters (--parameters
, JSON encoded) details:
Name | Required | Description |
---|---|---|
registration | yes | registration identifier to use for the launch |
proctoring_start_assessment_url | yes | platform start assessment url |
proctoring_attempt_number | no | attempt number, default 1 |
user | no | user details to use for the launch |
target_link_uri | no | target_link_uri to use for the launch, if not provided, will use default tool launch url |
deployment_id | no | deployment_id to use for the launch, if not provided, will use default registration deployment id |
claims | no | claims to use for the launch |
Command execution example:
php bin/console devkit:create:message:launch -v -t LtiStartProctoring -p '{
"registration": "devkit",
"proctoring_start_assessment_url": "http://devkit-lti1p3.localhost/platform/message/return/proctoring",
"proctoring_attempt_number": 1,
"user": {
"id": "userIdentifier",
"name": "User Name",
"email": "user@email.com",
"locale": "en"
},
"target_link_uri": "http://devkit-lti1p3.localhost/tool/launch",
"deployment_id": "deploymentId1",
"claims": {
"a": "b",
"https://purl.imsglobal.org/spec/lti/claim/roles": [
"http://purl.imsglobal.org/vocab/lis/v2/membership#Learner"
]
}
}'
LtiSubmissionReviewRequest message
Launch parameters (--parameters
, JSON encoded) details:
Name | Required | Description |
---|---|---|
registration | yes | registration identifier to use for the launch |
ags_line_item_url | yes | AGS line item url |
ags_scopes | yes | AGS scopes |
submission_owner | no | user who made the submission that is to be reviewed, if not provided, will use launch user information |
user | no | user details to use for the launch |
target_link_uri | no | target_link_uri to use for the launch, if not provided, will use default tool launch url |
deployment_id | no | deployment_id to use for the launch, if not provided, will use default registration deployment id |
claims | no | claims to use for the launch |
Command execution example:
php bin/console devkit:create:message:launch -v -t LtiSubmissionReviewRequest -p '{
"registration": "devkit",
"ags_line_item_url": "http://devkit-lti1p3.localhost/platform/service/ags/default/lineitems/default",
"ags_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/score",
"https://purl.imsglobal.org/spec/lti-ags/scope/result.readonly"
],
"submission_owner": {
"id": "submissionOwnerIdentifier",
"name": "Submission Owner",
"email": "submission@owner.com",
"roles": [
"http://purl.imsglobal.org/vocab/lis/v2/membership#Learner"
]
},
"user": {
"id": "userIdentifier",
"name": "User Name",
"email": "user@email.com",
"locale": "en"
},
"target_link_uri": "http://devkit-lti1p3.localhost/tool/launch",
"deployment_id": "deploymentId1",
"claims": {
"a": "b",
"https://purl.imsglobal.org/spec/lti/claim/roles": [
"http://purl.imsglobal.org/vocab/lis/v2/membership#Learner"
]
}
}'