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).
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.
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.
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.
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.
git clone git://github.com/ets-berkeley-edu/suitec.git
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 setup is described in the SuiteC configuration doc.
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;'
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
Instructions on configuring SuiteC
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
Read instructions on deploying SuiteC on a network server.
# 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
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
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
.