All Projects → ucfopen → lti-template-flask

ucfopen / lti-template-flask

Licence: MIT license
LTI template written in Python using the Flask framework. Quickly create a new application that can be launched through your Learning Management System using the LTI protocol. Uses standard configurable Key & Secret to launch.

Programming Languages

python
139335 projects - #7 most used programming language
HTML
75241 projects

Projects that are alternatives of or similar to lti-template-flask

quiz-extensions
A self-service LTI for faculty to easily extend time for multiple users for all quizzes at once.
Stars: ✭ 15 (-53.12%)
Mutual labels:  lti, canvas-lms
Edlib
Edlib is an application for creating, sharing, storing and using rich interactive learning resources.
Stars: ✭ 20 (-37.5%)
Mutual labels:  lti, lti-tool
lib-lti1p3-core
PHP library for LTI 1.3 Core implementations as platforms and / or as tools.
Stars: ✭ 20 (-37.5%)
Mutual labels:  lti, lti-tool
pylti1.3
LTI 1.3 Advantage Tool
Stars: ✭ 65 (+103.13%)
Mutual labels:  lti, lti-tool
fixed-wing-sim
Matlab implementation to simulate the non-linear dynamics of a fixed-wing unmanned areal glider. Includes tools to calculate aerodynamic coefficients using a vortex lattice method implementation, and to extract longitudinal and lateral linear systems around the trimmed gliding state.
Stars: ✭ 72 (+125%)
Mutual labels:  lti
canvas-api
Java library for interacting with the Canvas LMS API
Stars: ✭ 60 (+87.5%)
Mutual labels:  canvas-lms
loowid
Webconference solution based on webrtc
Stars: ✭ 92 (+187.5%)
Mutual labels:  lti
django-auth-lti
No description or website provided.
Stars: ✭ 19 (-40.62%)
Mutual labels:  lti
Canvas Lms
The open LMS by Instructure, Inc.
Stars: ✭ 4,193 (+13003.13%)
Mutual labels:  canvas-lms
tinymce-a11y-checker
An accessibility checker plugin for TinyMCE.
Stars: ✭ 20 (-37.5%)
Mutual labels:  canvas-lms
Learn-LTI
Access the Microsoft Learn http://docs.microsoft.com/learn Catalog of Learning Paths and Modules directly from your Learning Management Systems using the Microsoft Learn LTI application
Stars: ✭ 97 (+203.13%)
Mutual labels:  lti-tool

Join UCF Open Slack Discussions

LTI Template for Python and Flask

Setup

Virtual Environment

Create a virtual environment that uses Python 2:

virtualenv venv -p /usr/bin/python2.7
source venv/bin/activate

Install the dependencies from the requirements file.

pip install -r requirements.txt

Create your local settings file

Create settings.py from settings.py.template

cp settings.py.template settings.py

Note: settings.py is alreay referenced in the .gitignore and multiple python files, if you want a different settings file name be sure to update the references.

Add your values to the settings file.

At a minimum, CONSUMER_KEY, SHARED_SECRET, and secret_key need to be input by the developer. The secret_key is used by Flask, but the CONSUMER_KEY and SHARED_SECRET will be used in setting up the LTI. For security purposes, it's best to have randomized keys. You can generate random keys in the command line by using os.urandom(24) and inputing the resulting values into the settings.py file:

import os
os.urandom(24)

Run a Development Server

Here's how you run the flask app from the terminal:

export FLASK_APP=views.py
flask run

Open in a Browser

Your running server will be visible at http://127.0.0.1:5000

Install LTI in Canvas

  • Have the XML, consumer key, and secret ready.
  • Navigate to the course that you would like the LTI to be added to. Click Settings in the course navigation bar. Then, select the Apps tab. Near the tabs on the right side, click 'View App Configurations'. It should lead to a page that lists what LTIs are inside the course. Click the button near the tabs that reads '+ App'.
  • A modal should come up that allows you to customize how the app gets added. Change the configuration in the Configuration Type dropdown menu to 'By URL' or 'Paste XML' depending on how you have your LTI configured. If your LTI is publicly accessible, 'By URL' is recommended. From there, fill out the Name and Consumer Keys, and the Config URL or XML Configuration. Click Submit.
  • Your LTI will appear depending on specifications in the XML. Currently, they get specified in the options tag within the extensions tag. Extensions can include these options:
    • Editor Button (visible from within any wiki page editor in Canvas)
    • Homework Submission (when a student is submitting content for an assignment)
    • Course Navigation (link on the lefthand nav)
    • Account Navigation (account-level navigation)
    • User Navigation (user profile)

Note: If you're using Canvas, your version might be finicky about SSL certificates. Keep HTTP/HTTPS in mind when creating your XML and while developing your project. Some browsers will disable non-SSL LTI content until you enable it through clicking a shield in the browser bar or something similar.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].