Update plagiarism docs for new subscription model
flag=none Test plan - N/A Change-Id: Ia4b91ec3fa6d64033c985b107a6948b8868fc17b Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/252315 Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com> Reviewed-by: Wagner Goncalves <wagner.goncalves@instructure.com> Reviewed-by: Weston Dransfield <wdransfield@instructure.com> QA-Review: Mysti Lilla <mysti@instructure.com> Product-Review: Mysti Lilla <mysti@instructure.com>
This commit is contained in:
parent
5344111714
commit
4a59772e65
|
@ -4,11 +4,11 @@ The plagiarism detection platform provides a standard way for LTI2 tool provider
|
|||
|
||||
This document provides details to guide TPs toward leveraging the plagiarism detection platform. The document is divided into three sections that cover the plagiarism detection platform:
|
||||
|
||||
#### Section 1 - Tool Registration
|
||||
TPs leveraging the new plagiarism detection platform must go through the standard LTI2 registration flow, with some additional steps along the way.
|
||||
#### Section 1 - Tool Registration & Webhooks
|
||||
TPs leveraging the new plagiarism detection platform must go through the standard LTI2 registration flow, with some additional steps along the way. Canvas will automatically create a subscription on behalf of the tool for a submissions webhook, allowing the TP to be notified when a submission has been made.
|
||||
|
||||
#### Section 2 - Tool Launch & Webhooks
|
||||
Once registered, tools will be provided with an LTI tool placement in the Canvas assignment create/edit UI to launch a configuration page. Canvas will automatically create a subscription on behalf of the tool for a submissions webhook, allowing the TP to be notified when a submission has been made.
|
||||
#### Section 2 - Tool Launch
|
||||
Once registered, tools will be provided with an LTI tool placement in the Canvas assignment create/edit UI to launch a configuration page.
|
||||
|
||||
#### Section 3 - Originality Reports
|
||||
The webhook sent to the TP contains the data needed for the tool to retrieve the submission from Canvas. The TP can then process the submission, determine its "originality score", and create an Originality Report. This data is then sent back to Canvas and associated with the submission via the Canvas Originality Report API.
|
||||
|
@ -120,15 +120,17 @@ The `Security.splitSecret` capability must be used by the TP when using the simi
|
|||
The following excerpt regarding the split secret capability is from the LTI 2.1 Implementation Guide (in draft) and may change in the future:
|
||||
> The shared secret is used to digitally sign launch requests in accordance with the OAuth [sic]. If the Tool Consumer offers a capability of `Security.splitSecret` and this is enabled in the Tool Proxy, then the security contract should include an element named `tp_half_shared_secret` with a value of 128 hexadecimal characters (all in lowercase). This represents the second half of the string to use as the shared secret; the first half will be generated by the Tool Consumer and passed to the Tool Provider in its acceptance response (see section 10.1) as a parameter named `tc_half_shared_secret` (along with the Tool Proxy GUID value); this should also be a 128 string of lowercase hexadecimal characters. Each 128-character hexadecimal string should be generated from 64 bytes of random data. If the split secret capability was not offered or enabled, then the security contract should include the full shared secret in an element named `shared_secret`. The Tool Proxy should never contain both the `tp_half_shared_secret` and `shared_secret` elements; just one or the other.
|
||||
|
||||
#### 1.5 The Tool Proxy Create Request
|
||||
#### 1.5 The Tool Proxy Create Request & Webhooks
|
||||
The next-to-last step in the standard LTI2 registration flow is creating a Tool Proxy in the Tool Consumer (see [LTI2 implementation guide](https://www.imsglobal.org/specs/ltiv2p0/implementation-guide#toc-101)).
|
||||
|
||||
To register a Tool Proxy that uses restricted capabilities/services (like the originality report service) from a custom TCP the Tool Proxy creation `POST` request should include a JWT access token in the `Authorization` header. For information on retrieving a JWT access token for this purpose see <a href="jwt_access_tokens.html">JWT access tokens</a> section 1.0. This may be the same token used to retrieve the tool consumer profile.
|
||||
|
||||
Standard LTI2 registration requires requests to be signed with a temporary `reg_key` and `reg_password` (see [LTI@ implementation guide](https://www.imsglobal.org/specs/ltiv2p0/implementation-guide#toc-60)). When using a JWT access token in the authorization header this is not necessary (see <a href="jwt_access_tokens.html">JWT access tokens</a> section 1.0).
|
||||
|
||||
### 2. Tool Launch & Webhooks
|
||||
Tools configured as described in section 1 of this document will be launchable from the assignment create/edit page in Canvas (see section 2.1). Once an assignment is created and associated with a plagiarism tool Canvas will automatically create a subscription to notify the tool when submissions are created by students(see section 2.2).
|
||||
Once a Tool Proxy is created Canvas will automatically create a subscription to notify the tool when submissions are created by students(see section 2.2).
|
||||
|
||||
### 2. Tool Launch
|
||||
Tools configured as described in section 1 of this document will be launchable from the assignment create/edit page in Canvas (see section 2.1).
|
||||
|
||||
#### 2.1 The Similarity Detection Placement
|
||||
Tools configured as described in section 1 of this document will be made available to assignments using “File Upload” submission types. Other submission types are not supported at this time. Once “File Upload” submission type is selected, a “Plagiarism Review” dropdown box becomes available so that the user can associate the assignment to the plagiarism tool. Note that the plagiarism platform feature flag must be enabled in Canvas.
|
||||
|
@ -156,7 +158,7 @@ While we strive to maintain very low latency, this is not guaranteed at all time
|
|||
Additional JSON keys may be added in the future. Consumers should be permissive in what they accept in this regard.
|
||||
|
||||
#### 2.3 Subscribing to Webhooks
|
||||
Once an assignment is created that uses a plagiarism detection tool a webhook subscription is automatically created and configured as specified by the `SubmissionEvent` service in the Tool Profile’s `service_offered` section. Below is an example of how to configure this service in the Tool Profile:
|
||||
Once a Tool Proxy is created that enables a plagiarism detection tool, a webhook subscription is automatically created and configured as specified by the `SubmissionEvent` service in the Tool Profile’s `service_offered` section. Below is an example of how to configure this service in the Tool Profile:
|
||||
```json
|
||||
{
|
||||
…
|
||||
|
@ -195,7 +197,6 @@ The following are optional features the tool provider may wish to implement.
|
|||
#### Course Copy
|
||||
The plagiarism platform automatically handles most of the work required for course copy to work with TPs. When a Course that contains assignments associated with a plagiarism detection TP is copied in Canvas the following occurs:
|
||||
* The copies of assignments in the new course are automatically associated with the correct tool.
|
||||
* A webhook subscription is automatically created on behalf of the tool for the newly copied assignments.
|
||||
* Tool Settings associated with the course are copied to the new course (See _Using the LTI Tool Settings Service_ below).
|
||||
|
||||
These two actions will only occur if the same TP has been installed in the context the course is being copied to.
|
||||
|
|
Loading…
Reference in New Issue