HGustavs / LenaSYS

Code Viewer and Course Organization System used in some courses at University of Skövde
57 stars 31 forks source link

Get acquainted with LTI #10391

Closed a18osken closed 3 years ago

a18osken commented 3 years ago

One of the ways that we are to communicate between LenaSys and Canvas is the Learning Tools Interopabilty API. It would be good to come to understand its services. and implementation. https://www.imsglobal.org/activity/learning-tools-interoperability

a16erilj commented 3 years ago

It’s possible to connect to Canvas through LTI 1,1 & 1,3 and also URL API.

Canvas have implemented LTI through the tool curl. Where each post (curl) should be returned with a json file which contains the data.

How to create an LTI development key for Canvas can be found in these links: https://community.canvaslms.com/t5/Admin-Guide/How-do-I-configure-an-LTI-key-for-an-account/ta-p/140 https://community.canvaslms.com/t5/Admin-Guide/How-do-I-configure-an-external-app-for-an-account-using-a-client/ta-p/202

Most of the commands for Canvas LTI should be located at the bottom of the canvas wiki created by instructure whom host Canvas for institutions.
https://canvas.instructure.com/doc/api/file.lti_dev_key_config.html

Curl example: “curl 'https:///api/v1/users/self/files' \ -F 'url=http://example.com/my_pic.jpg' \ -F 'name=profile_pic.jpg' \ -F 'size=302185' \ -F 'content_type=image/jpeg' \ -F 'parent_folder_path=my_files/section1' \ -H "Authorization: Bearer " ” Return data (JSON): { "upload_url": "https://file-service.url/opaque", "upload_params": { / unspecified parameters; contents should be treated as opaque / }, "progress": { / amongst other tags, see the Progress API... / "url": "https://canvas.example.edu/api/v1/progress/1" "workflow_state": "running" } }

How to make LTI GET commands could most likely be found at these sites: https://canvas.instructure.com/doc/api/file.assignment_tools.html http://www.imsglobal.org/spec/lti-ags/v2p0/

B18mohah commented 3 years ago

Another possible path to create a connection is through URL API which have some PHP (UDOIT) and Python (canvasapi) libraries currently available from University of Central Florida. The URL API request needs also to have a development key to work. And can be found at roughly the same place as the LTI development key. https://github.com/ucfopen/

a16erilj commented 3 years ago

A site that have some examples of URL API implementation videos: https://community.canvaslms.com/t5/Developers-Group/Canvas-APIs-Getting-started-the-practical-ins-and-outs-gotchas/ba-p/263685