lduarte1991 | harvard-atg |
---|
LTI tool developed by HarvardX in collaboration with HUIT Academic Technology to provide annotations to Text, Images, and Videos on the edX and Canvas platforms.
Download and install virtualbox and vagrant. Run the following commands to provision your virtual box:
$ vagrant up # start and provision virtual box (see Vagrantfile)
$ vagrant ssh # ssh into virtual box
$ cd /vagrant # change to shared directory with code
$ ./manage.py migrate # initialize database by running django migrations
$ ./manage.py createsuperuser # (Optional) so you can login to the admin interface
$ ./manage.py runserver 0.0.0.0:8000 # run server on port 8000 (forwarded by virtual box)
Note: see vagrant/provision.sh
script for details on provisioning the server.
- Go to lti/config and copy the XML output.
- In your Canvas course, click
Settings -> Apps -> View App Configurations -> Add App
and then:- Select 'Paste XML'
- Paste XML
- Name your App
- Enter your key and secret
- Save
- If the installation worked, the tool should appear in your left navigation.
TODO
This tool is LTI-compatible with Edx and Canvas.
There are some differences in how the tool is used on these platforms. The tool may be configured for each platform as needed in annotationsx/settings/aws.py
.
Note that older versions of the tool used a global ORG
variable to encode these differences, but this has been deprecated in favor of more fine-grained settings. Some vestiges of the ORG
variable are still around.
As much as possible, the tool tries to avoid storing student information, and in cases where it must identify students (i.e. annotations), it uses the anonymous user_id
that is provided by the LTI consumer. Instructor information is, however, stored in the tool database.
Although the user_id
uniquely identifies students, it should be noted that the scope of uniqueness differs between edX and Canvas:
- In edX, the opaque
user_id
is only unique within the scope of a course. For example, given an email registered with edX that uniquely and globally identifies a user on the edX platform, a different user ID is passed to each course. - In Canvas, the opaque
user_id
is unique within the scope of the university-wide hosted instance. For example, given an SIS ID for a student, the same opaque user ID will be transmitted to the tool for each course on the hosted instance.
When the tool launches, there are two possible ways to launch:
- Launch to a TARGET annotation assignment. This is exactly what it sounds like: the tool is passed parameters so it knows exactly which target object and annotation assignment should be rendered. This is most often used to embed an annotation assignment in edX or in a Canvas module.
- Launch to an INDEX or HUB that lists all the annotation assignments in the course. This is most often used to make all assignments available to students and teaching staff alike in Canvas when it is added to the left-navigation of the course.
The instructor dashboard is a tool designed specifically for Canvas instructors to get a listing of all student annotations. Due to issues with scaling/load, it is not currently used for edX courses.
This section may include technical notes.
TODO
All secure settings and configuration options are stored in annotations/settings/secure.py
. This file is not included in source control since it will likely contain sensitive/secure values.
See the example to get started: annotationsx/settings/secure.py.example
.
TODO