UDOIT enables faculty to identify accessibility issues in Canvas by Instructure. Scan a course, generate reports, and provide resources to address common accessibility issues.
Please see UDOIT_Release.pdf (distributed with the source code) for more information about licensing.
Copyright (C) 2014 University of Central Florida, created by Jacob Bates, Eric Colon, Fenel Joseph, and Emily Sachs.
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.
Primary Contact: Jacob Bates jacob.bates@ucf.edu
UDOIT uses the QUAIL PHP library, which has been heavily customized to suit the needs of UDOIT. This library requires distribution of tools developed with their library under the GNU General Public License version 3
UDOIT can be installed on your own existing servers, but we've also configured an easy install to a free Heroku server.
To start the Heroku deployment process, you can click the button below, please note, that although this button eliminates much of the installation complexity, there are still some configuration steps that need to be followed, those steps are outlined in the HEROKU.md Readme.
- Apache or Nginx webserver
- PHP 5.4, 5.5, or 5.6 (some users have modified the code to work on 5.3)
- Bower
- MySQL or PostgreSQL
If you're using PHP 5.3:
- Convert all empty array initializations from using the newer
[]syntax to use the olderarray()syntax. - If you have
short_open_tagdisabled, you'll need to change all<?=to<?php echo
Bower is used to install JavaScript dependencies. Composer automatically runs Bower during install in the next step, so install Bower before continuing.
Currently there is only one bower library installed. You can also install manually by cloning JSColor library into
assets/js/vendor/JSColor/.
UDOIT uses Composer to install PHP dependencies. So cd into your UDOIT directory and run this command before anything else:
$ php composer.phar install
The libraries (other then Quail) that we rely on can be found in bower.json and composer.json.
Please refer to the documentation for these three libraries for additional information.
Make sure the reports directory in the root of UDOIT is writable by your webserver. UDOIT saves generated reports here for easy retrieval. You may have to change the user, group, or permissions to get this working (sorry we can't be more specific, it varies greatly depending on your environment).
UDOIT works with MySQL, MariaDB, or PostgreSQL
- Create a database for UDOIT.
- Create a user with access to your database
If config/localConfig.php doesn't exist, create it using a copy of the template:
$ cp config/localConfig.template.php config/localConfig.php
Edit config/localConfig.php:
$db_type- use 'mysql' or 'pgsql'$db_host- the host or ip address of your database server, often 'localhost'$db_port- the database server's port, MySQL's default is '3306'$db_user- database user that has access to your tables$db_password- the database user's password$db_name- The database name that contains the tables$db_user_table- Default is 'users', no change needed unless you change the table names$db_reports_table: - Default is 'reports', no change needed unless you change the table names
There are only two tables required. To create them, run the creation script below. You'll need to complete the db steps above first.
$ php lib/db_create_tables.php
The table schema can be found in lib/db_create_tables.php
If you didn't already make config/localConfig.php when you set up the database, do it now.
Please refer to the Canvas API Policy before using this application, as it makes heavy use of the Canvas API.
UDOIT uses the security processes built into the LTI specification to ensure that users are only accessing UDOIT from within your instance of Canvas. There are two values that need to be set in order for this security process to work. These values should be different from each other. You will use them again when you are installing the LTI in Canvas.
Edit config/localConfig.php:
$consumer_key: A value you make up.$shared_secret: The value you make up.
UDOIT uses Oauth2 to take actions on behalf of the user, so you'll need to ask your Canvas administrator to generate a Developer Key for you. Here is the information you need to provide them:
- Key Name: Probably UDOIT or UDOIT Test for your test instance
- Owner Email: The email address of whoever is responsible for UDOIT at your institution
- Redirect URI: This is the URI of the
oauth2response.phpfile in the UDOIT directory. - If you did a normal install into the web root of your server, it would be
https://www.example.com/public/oauth2response.php. (Replace 'www.example.com' with the url of your UDOIT server.) - Icon URL: The URL of the UDOIT icon. This is
https://www.example.com/public/assets/img/udoit_icon.png. (Replace 'www.example.com' with the url of your UDOIT server.)
After you receive your Developer Key from your Canvas admin, edit the following variables in config/localConfig.php:
$oauth2_id: The Client_ID yoru Canvas admin gives you$oauth2_key: The Secret your Canvas admin gives you$oauth2_uri: The Redirect URI you provided to your Canvas admin
In order for UDOIT to scan YouTube videos for closed captioning, you will need to create a YouTube Data API key. Follow the instructions below:
- Go to the Google Developer Console.
- Create a project.
- Enable YouTube Data API V3
- Create an API key credential.
Log into Canvas to add UDOIT:
- You can install UDOIT at the sub-account level or the course level. Either way, start by going to the settings area.
- Click the Apps tab.
- Click the View App Configurations button.
- Click the Add App button.
- Under Configuration Type, choose By URL.
- In the Name field, enter
UDOIT. - In the Consumer Key field, copy the value from
$consumer_keyfromconfig/localConfig.php - In the Shared Secret field, copy the value from
$shared_secretfromconfig/localConfig.php - In the Config URL field, paste the FULL URL that points to
udoit.xml.php. See LTI Config URL Notes. - Finish by clicking Submit.
The URL of your UDOIT LTI config depends on your webserver install. The file is located the public directory. The examples below should give you are some possible values:
http://<DOMAIN>/udoit.xml.phphttp://<DOMAIN>/public/udoit.xml.phphttp://<DOMAIN>/udoit/udoit.xml.phphttp://<DOMAIN>/udoit/public/udoit.xml.php
For quick local development, set $UDOIT_ENV = ENV_DEV; in config/localConfig.php. This flag disables authentication and allows you to quickly see a sample test report for most template, js, and css development. Use this along with the quick dev server below.
From the public directory, run:
$ php -S localhost:8000
Then open http://localhost:8000 in a browser.
We use phpunit to run unit tests on UDOIT. To run the tests, type the following command:
$ ./vendor/phpunit/phpunit/phpunit
By default, phpunit will run all tests, including the functional tests that require access to outside APIs. If you would like to exclude those tests, run this command:
$ ./vendor/phpunit/phpunit/phpunit --exclude-group functional
- Cooper Fellows
- Emily Sachs
- Eric Colon
- Fenel Joseph
- Ian Turgeon
- Joe Fauvel
- John Raible
- Kevin Baugh
- Karen Tinsley-Kim
- Kathleen Bastedo
- Nancy Swenson