Skip to content

SuiteC is a set of LTI-compliant tools optimized to work with the Canvas Learning Management System (LMS).

License

Notifications You must be signed in to change notification settings

ets-berkeley-edu/suitec

Repository files navigation

SuiteC

SuiteC is a collection of Instructure Canvas Basic LTI tools, allowing for innovative functionality to be added to any course site. A technical overview can be found in SuiteC architectural diagram (PDF).

Asset Library

The Asset Library is a place where students and instructors can collect relevant materials for the course. The materials can be seen by the other students in the class and can be discussed, liked, disliked, etc.

Whiteboarding Tool

The Whiteboarding Tool allows for students to collaboratively work on whiteboards. Whiteboards can be used to remix assets from the Asset Library, create mindmaps, provide feedback, etc.

Engagement Index

The Engagement Index provides a leaderboard based on the student's activity in the course. The Engagement Index will record activities such as discussion posts, likes, comments, etc.

Set Up Your Dev Environment

Note:

  • These instructions are specific to Mac OS X.
  • Typically, the steps in this section are done only once. The sections that follow (e.g., Install) will be repeated often.

Get the SuiteC source

git clone git://github.com/ets-berkeley-edu/suitec.git

Dependencies

Canvas

On the Canvas LMS github README page, go to Installation > Quick Start. Follow those instructions to get Canvas LMS running on http://localhost:3000.

Apache

Apache setup is described in the SuiteC configuration doc.

PostgresSQL

SuiteC uses PostgreSQL. Set up the required database and users:

# Update Homebrew
brew update

# Install postgres
brew install postgresql

# Start postgres
postgres -D /usr/local/var/postgres

# Create a database and user
createuser suitec --no-createdb --no-superuser --no-createrole --pwprompt

# Enter (and re-enter) the password: suitec

createdb suitec --owner=suitec
createdb suitec_test --owner=suitec

# Give SuiteC schema ownership on the test database so that it can reset the schema during tests
psql suitec_test -c 'alter schema public owner to suitec;'

Node

Ensure you have the following packages installed and available in your ${PATH}:

  • Node.js
  • NPM v3.10.10 (the most recent versions of NPM will not work)
  • Cairo and all its dependencies. On RHEL systems the following packages have to be installed:
    • cairo
    • cairo-devel
    • cairomm-devel
    • libjpeg-turbo-devel
    • pango
    • pango-devel
    • pangomm
    • pangomm-devel
    • giflib-devel

Check out the node-canvas installation wiki for more information.

Optional: Set explicit PKG_CONFIG_PATH in your BASH .profile per, for example, X11 installation:

export PKG_CONFIG_PATH=/opt/X11/lib/pkgconfig

Configure SuiteC

Instructions on configuring SuiteC

Install and run SuiteC

In your development environment

npm install
node app

Newer OSX may require some added compiler flags during the installation phase.

CXXFLAGS="-mmacosx-version-min=10.9" LDFLAGS="-mmacosx-version-min=10.9" npm install

On the network

Read instructions on deploying SuiteC on a network server.

Notes

Run tests, lint the code

# Run all tests and linters
npm test

# Run all tests
gulp mocha

# Run specific test(s)
gulp mocha --grep 'Caliper LTI launch events'

# Lint the js
gulp eslint

# Lint the CSS
gulp csslint

Canvas synchronization

By default, SuiteC will poll the Canvas API for any new activities that are included in the engagement index. Whether polling should be enabled and how often it should run can be configured in the canvasPoller section of the configuration file.

Configure a Canvas API key for a user, preferably a global Canvas administrator, that is able to list the:

  • users
  • assignments and all their submissions
  • discussion

Production build

The production build will:

  • Concatenate and revision all vendor files (AngularJS, Bootstrap, etc.)
  • Concatenate and revision all application JavaScript files
  • Concatenate and revision all CSS files
  • Concatenate and revision all HTML fragments
  • Optimize and revision images
  • Replace all references to any changed assets in the index.html file.

A build can be generated by running gulp build.

About

SuiteC is a set of LTI-compliant tools optimized to work with the Canvas Learning Management System (LMS).

Resources

License

Stars

Watchers

Forks

Packages

No packages published