Course materials for www.wa4e.com
PHP JavaScript HTML CSS ApacheConf Shell
Latest commit cad706f Jan 20, 2017 @csev Lecture slides
Permalink
Failed to load latest commit information.
artwork New Artwork Jan 9, 2017
assn Update for XAMPP Jan 10, 2017
badges Tweak the badges Nov 22, 2016
code Add anchors, colors, and fonts Jan 20, 2017
images Point to the new Windows installer Jan 17, 2017
lectures-old Move to old Sep 9, 2016
lectures Lecture slides Jan 21, 2017
mod Add tools Aug 17, 2016
tools Add use statement Jan 10, 2017
.gitignore Tweak Jan 10, 2017
LICENSE Initial commit Sep 22, 2014
README.md Update README.md Jan 9, 2017
about.php Merge in the whole web site. Nov 8, 2014
book.htm Merge in the whole web site. Nov 8, 2014
book.php Why search engines keep hitting this I don't know Jan 20, 2017
check.php Improve the documentation and support for embedded Tsugi Jan 9, 2017
csev.jpg Merge in the whole web site. Nov 8, 2014
favicon.ico Add the files that miss cache. Jan 28, 2016
foot.php Fix bug Jan 16, 2017
gits.sh Add the git status checker Aug 18, 2016
glike.css Merge in the whole web site. Nov 8, 2014
header.php Switch to a tsugi-based web site Aug 14, 2016
iftest.php Improvements Aug 14, 2016
index.php Improve some slides Jan 16, 2017
install.php Improve some slides Jan 16, 2017
lessons.json Add index.htm Jan 20, 2017
nav.php Change navigation. Jan 17, 2017
ngrok.php Catch stray php-intro and fix inherit Jan 10, 2017
robots.txt Add the files that miss cache. Jan 28, 2016
software-mac.php More stuff Jan 16, 2017
software-win.php Point to the new Windows installer Jan 17, 2017
software.php Tweak Jan 16, 2017
top.php Improve the documentation and support for embedded Tsugi Jan 9, 2017

README.md

Web Applications for Everybody (WA4E)

Course materials for www.wa4e.com

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/csev/wa4e.git

Go into the newly checked out folder and get a copy of Tsugi:

cd wa4e
git clone https://github.com/csev/tsugi.git

Create a database in your SQL server:

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/wa4e/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/wa4e';
$CFG->context_title = "Web Applications for Everybody";
$CFG->lessons = $CFG->dirroot.'/../lessons.json';

... 

$CFG->tool_folders = array("admin", "../tools", "../mod");
$CFG->install_folder = $CFG->dirroot.'./../mod'; // Tsugi as a store

...

$CFG->servicename = 'WA4E';

Then go to https://console.developers.google.com/apis/credentials and create an "OAuth Client ID". Make it a "Web Application", give it a name, put the following into "Authorized JavaScript Origins":

    http://localhost

And this into Authorized redirect URIs:

http://localhost/wa4e/tsugi/login.php

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 config.php as follows:

$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 key into 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:

http://localhost:8888/wa4e/

It should complain that you have not created tables and suggest you use the Admin console to do that:

http://localhost:8888/wa4e/tsugi/admin

It will demand the $CFG->adminpw from 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 key_key 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.

Next use the administrator interface to install the peer-grading tool from the github repository:

http://localhost:8888/wa4e/tsugi/admin/install

Click on "Available Modules" and install https://github.com/tsugitools/peer-grade

The other two LTI tools are already part of the wa4e repo and in wa4e/tools folder.

Using the Application

Navigate to:

http://localhost:8888/wa4e/

You should click around without logging in and see if things work.

Then log in with your Google account and the UI should change. In particular you should see 'Assignments' and in Lessons you should start seeing LTI autograders.