building scalable ims lti tools using the tsugi framework

28
Building Scalable IMS LTI Tools Using the TSUGI Framework Charles Severance University of Michigan School of Information Longsight, Inc.

Upload: charles-severance

Post on 18-Jan-2015

3.307 views

Category:

Technology


4 download

DESCRIPTION

This talk is about my next-generation tool hosting environment called "Tsugi" - www.tsugi.org 2014 06-03-miami-tsugi

TRANSCRIPT

Page 1: Building Scalable IMS LTI Tools Using the TSUGI Framework

Building Scalable IMS LTI Tools Using the TSUGI Framework

Charles SeveranceUniversity of Michigan School of Information

Longsight, Inc.

Page 2: Building Scalable IMS LTI Tools Using the TSUGI Framework

Disclaimer...

What I am about to talk about is not an official direction or position of the University of Michigan, Longsight, nor IMS Global.

Page 3: Building Scalable IMS LTI Tools Using the TSUGI Framework

3

Page 4: Building Scalable IMS LTI Tools Using the TSUGI Framework

Installation Instructions

www.tsugi.org

Page 5: Building Scalable IMS LTI Tools Using the TSUGI Framework

Project Tsugi

• Tool Hosting Container (i.e. Like a B2)– PHP now, Java planned

• Based on IMS Specifications– LTI 1.x / LTI 2.x / IMS Settings / Common

Cartridge / Caliper / CASA / Roster / Gradebook / ....

• Tools can run on a campus hosting platform or commercial provider or cloud

• Tools are "installed" into hosting containers

Page 6: Building Scalable IMS LTI Tools Using the TSUGI Framework

From the 2003 Sakai Proposal

http://www-personal.umich.edu/~csev/papers/2004/2004_03_01_mellon_sakai_proposal.pdf

Page 7: Building Scalable IMS LTI Tools Using the TSUGI Framework

...

WTD?

Page 8: Building Scalable IMS LTI Tools Using the TSUGI Framework

LTI

PHPJavaC#

...

But...

Page 9: Building Scalable IMS LTI Tools Using the TSUGI Framework

"Large Midwestern University"

Sakai

.......

Looks pretty cool.... But...

Page 10: Building Scalable IMS LTI Tools Using the TSUGI Framework

Sakai

• Where is the user data??• What happens when there are 50 apps?• What if the app is free and hosted by a

professor?• What happens if we stop paying the license?

Page 11: Building Scalable IMS LTI Tools Using the TSUGI Framework

Neo-ColonialismLTI-style

Page 12: Building Scalable IMS LTI Tools Using the TSUGI Framework

LTI 1.x versus LTI 2.x and Beyond

• LTI 1.x – Three pages of spec and some "hello world" code

• LTI 2.x – Several specs – multiple interactions– We will need to share common implementations

across instructions• And what about Caliper, Casa, xAPI, etc. ??

Page 13: Building Scalable IMS LTI Tools Using the TSUGI Framework

Multiple LMS Campus + App Store

AppStore Tool Tool Tool Tool...

Page 14: Building Scalable IMS LTI Tools Using the TSUGI Framework

Multiple LMS Campus + App Store

AppStore Tool Tool Tool Tool

TsugiHostingContainer Tool ToolTool

...

Install

Page 15: Building Scalable IMS LTI Tools Using the TSUGI Framework

TsugiExp

Multiple LMS Campus + App Store

AppStore Tool Tool Tool Tool

TsugiProd Tool ToolTool

...

Page 16: Building Scalable IMS LTI Tools Using the TSUGI Framework

www.tsugi.org

Page 17: Building Scalable IMS LTI Tools Using the TSUGI Framework
Page 18: Building Scalable IMS LTI Tools Using the TSUGI Framework
Page 19: Building Scalable IMS LTI Tools Using the TSUGI Framework
Page 20: Building Scalable IMS LTI Tools Using the TSUGI Framework
Page 21: Building Scalable IMS LTI Tools Using the TSUGI Framework

• Install / Configuration similar to Moodle• Emulate the Moodle APIs / Runtime• Multi-tenant • Cookie free (i.e. loves iframes)• Uses PDO with some rules about FK for easy

cleanup• Auto-ddl feature to upgrade schema

PHP Tsugi

Page 22: Building Scalable IMS LTI Tools Using the TSUGI Framework

PHP Tsugi Tool Code

<?phprequire_once "../../config.php";require_once $CFG->dirroot."/lib/lms_lib.php";

$LTI = lti_require_data(array('user_id', 'result_id', 'role','context_id'));

$displayname = $USER->displayname;

// Start of the output$OUTPUT->header();$OUTPUT->start_body();

...

$OUTPUT->footer();

Page 23: Building Scalable IMS LTI Tools Using the TSUGI Framework

Demos

• https://lti-tools.dr-chuck.com/tsugi/

• https://qa10.longsight.com/– Join site "TSUGI Test"

Page 24: Building Scalable IMS LTI Tools Using the TSUGI Framework

PHP Tsugi Next Steps

• Architecture Review / Critique• Internationalization – need help• Outreach to the Moodle community• IMS LTI 2.0 Support• xAPI support• IMS Caliper Support• IMS Casa Support

Tsugi is in 24x7 production and I can support a few experimenters on my servers.

Page 25: Building Scalable IMS LTI Tools Using the TSUGI Framework

Java Tsugi Dreams

Sakai

SakaiTool

Sakai

Blackboard

B2Tool

B2

I am not in a rush to do the Java port. I want to stay agile and use PHP as an architecture proof of concept.

The Java port will be simple and fast with PHP in hand.

Page 26: Building Scalable IMS LTI Tools Using the TSUGI Framework

Java Tsugi Dreams

Sakai

TsugiTool

Tsugi

SakaiTool

Sakai

Blackboard

TsugiTool

Tsugi

B2Tool

B2 AmazonEBS

TsugiTool

Tsugi

Tomcat

TsugiTool

Tsugi

Page 27: Building Scalable IMS LTI Tools Using the TSUGI Framework

Thinking Big...

• I hope to bring TSUGI to Apereo Incubation before next conference

• I would like to build a tool ecology to benefit all teachers regardless of LMS

• I want us to own our data and cloud choices• I want to see Blackboard, Moodle, Canvas, and

D2L schools joining Apereo

Page 28: Building Scalable IMS LTI Tools Using the TSUGI Framework

Questions...

www.tsugi.org