Giter Club home page Giter Club logo

coursebuilder-lti-module's Introduction

coursebuilder-lti-module

This module adds support for Learning Tools Interoperability (LTI) versions 1.0 through 1.2 to Course Builder. This is not an official Google product.

LTI is a standard that allows different online learning tools to talk to each other. It is provided by IMS Global, a nonprofit member organization.

Course Builder is an open source platform for authoring and delivering online educational content for hundreds of thousands of users.

Currently, IMS Global certifies this module's LTI provider for LTI 1.0.

Requirements

You will need a Bash environment to run the installation scripts. The scripts use standard developments tools, including python version 2.7, git, and zip/unzip.

Configuration

Course Builder modules are managed by Course Builder. To get started with this module, first clone the Course Builder repository:

git clone https://code.google.com/p/course-builder

Next, change directory to the Course Builder root:

cd course-builder/coursebuilder

Finally, use scripts/modules.sh to install this module:

sh scripts/modules.sh \
  --targets=lti@https://github.com/google/coursebuilder-lti-module

You can then start a local server and the module will be ready for configuration:

sh scripts/start_in_shell.sh

Using the LTI module

Once you've got a Course Builder deployment running the LTI module, you must configure it for use. See the LTI implementation module docs for details.

Development and testing

To do development on this module, keep in mind that Course Builder owns the local setup of the module on your machine rather than the other way around. In particular, Course Builder owns where this module's source lives, which is in $HOME/coursebuilder_resources/modules/lti. That directory is a git repository with a remote at the git address you passed to modules.sh, which in this case is https://github.com/google/coursebuilder-lti-module.

You can modify module code and execute git commands here as you would normally. Additionally, the tests and source of this module are available under your Course Builder root directory via the following two symlinks:

modules/lti -> $HOME/coursebuilder_resources/modules/lti/src
tests/ext/lti -> $HOME/coursebuilder_resources/modules/lti/tests

but keep in mind that the Course Builder directory has a git repository for Course Builder, not for your module.

With this setup, you can start your server as you would with vanilla Course Builder, and the LTI module will be installed and ready for configuration:

sh scripts/start_in_shell.sh

You can run the LTI module's tests with

sh scripts/test.sh tests.ext.lti.functional_tests

and they are run when you execute the full Course Builder test suite:

python scripts/run_all_tests.py

coursebuilder-lti-module's People

Contributors

johncox-google avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.