The Tsugi Learning Applications Framework
Course materials for www.tsugi.org
Setup On Localhost
Here are the steps to set this up on localhost on a Macintosh using MAMP.
Install MAMP (or similar) using https://www.py4e.com/install.php
Check out this repo into a top level folder in htdocs
cd /Applications/MAMP/htdocs git clone https://github.com/tsugiproject/tsugi-org.git
Go into the newly checked out folder and get a copy of Tsugi as well as the exercises:
cd tsugi-org git clone https://github.com/tsugiproject/tsugi.git git clone https://github.com/tsugiproject/tsugi-php-exercises exercises git clone https://github.com/tsugiproject/tsugi-php-solutions solutions
The solutions repo is private and if you not a member of the project, you don't really need it.
Create a database in your SQL server if you don't already have one:
CREATE DATABASE tsugi DEFAULT CHARACTER SET utf8; GRANT ALL ON tsugi.* TO 'ltiuser'@'localhost' IDENTIFIED BY 'ltipassword'; GRANT ALL ON tsugi.* TO 'ltiuser'@'127.0.0.1' IDENTIFIED BY 'ltipassword';
Still in the tsugi folder set up config.php:
cp config-dist.php config.php
Edit the config.php file, scroll through and set up all the variables. As you scroll through the file some of the following values are the values I use on my MAMP:
$wwwroot = 'http://localhost:8888/tsugi-org/tsugi'; // Embedded Tsugi localhost ... $CFG->pdo = 'mysql:host=127.0.0.1;port=8889;dbname=tsugi'; // MAMP $CFG->dbuser = 'ltiuser'; $CFG->dbpass = 'ltipassword'; ... $CFG->adminpw = 'short'; ... $CFG->apphome = 'http://localhost:8888/tsugi-org'; $CFG->context_title = "Building Learning Applications with Tsugi"; // $CFG->lessons = $CFG->dirroot.'/../lessons.json'; ... $CFG->tool_folders = array("admin", "../tools", "../mod", "../exercises", "../solutions"); $CFG->install_folder = $CFG->dirroot.'./../mod'; // Tsugi as a store ... $CFG->servicename = 'WA4E';
And this into authorized redirect URIs:
Note: You do not need port numbers for either of these values in your Google configuration.
Google will give you a 'client ID' and 'client secret', add them to
$CFG->google_client_id = '96..snip..oogleusercontent.com'; $CFG->google_client_secret = 'R6..snip..29a';
While you are there, you could "Create credentials", select "API
key", and name the key "My Google MAP API Key" and put the API
config.php like the following:
$CFG->google_map_api_key = 'AIza..snip..9e8';
Starting the Application
After the above configuration is done, navigate to your application:
It should complain that you have not created tables and suggest you use the Admin console to do that:
It will demand the
config.php (above) before
unlocking the admin console. Run the "Upgrade Database" option and
it should create lots of tables in the database and the red warning
message about bad database, should go away.
Got into the database and the
lti_key table, find the row with the
of google.com and put a value in the
secret column - anything will do -
just don't leave it empty or the internal LTI tools will not launch.
Using the Application
You should click around and see if things work.