integrating google tools with sakai duffy gillman sr. software engineer the rsmart group david...
TRANSCRIPT
Integrating Google Tools with Sakai
Duffy Gillman <[email protected]>Sr. Software EngineerThe rSmart Group
David Haines <[email protected]>CTools DeveloperDigital Media CommonsUniversity of Michigan
212th Sakai Conference – Los Angeles, California – June 14-16
CONTEXTAnd Now Here’s Some...
312th Sakai Conference – Los Angeles, California – June 14-16
Google Offerings...
are Vast... ...we are covering a small patch of ground today.
CLE Integration - OAE had its own efforts
Augmentation of - One could build a Google LMS CLE interesting... but not our focus
412th Sakai Conference – Los Angeles, California – June 14-16
Why Are We Thinking About This?
• Infrastructure - Google is likely to be a university email and calendar provider.
• Extension - Google provides tools we can’t afford to make.
• Innovation - Google allows simple creation of web tools through App Engine.
• Compatibility - Lots of work is done in Google by faculty and students. How can those artifacts be available in Sakai?
512th Sakai Conference – Los Angeles, California – June 14-16
What Does Google Have to Offer?
?
612th Sakai Conference – Los Angeles, California – June 14-16
What Does Google Have to Offer?
?search
documentediting
storage
video
socialnetworking
blogging
chat
forums
site hosting/editing
...to name a few things
SSO
groupingfederation
712th Sakai Conference – Los Angeles, California – June 14-16
Why Might We Want These Functions From Google?
• Offloading Maintenance/Support
• Cloud/Scalability
• Well-developed UI (mostly)
• Google Market Share/Cachet
• Student/Faculty Use
• Growth of Apps for Education
• “Bang for the Buck”
• Common integration across tools (?)
• Collaboration outside of institution
812th Sakai Conference – Los Angeles, California – June 14-16
HISTORYAnd Now Here’s Some...
912th Sakai Conference – Los Angeles, California – June 14-16
2008 Call to Community
https://confluence.sakaiproject.org/display/SAKDEV/Google+Integration
10
12th Sakai Conference – Los Angeles, California – June 14-16
Community Interest
Responses from 18 individuals (17 institutions)
Non-scientifically produced summary of interest:
• Link to Google Doc• Edit Google Doc• Embed Google Gadget• Integrate gTalk• Replace Calendar• Integrate Calendar feed
• YouTube Lecture Videos• Offline Sakai• Sakai Sites -> Google Groups• Sakai within Google Sites• Single Sign-On (SSO)
Source: https://confluence.sakaiproject.org/display/SAKDEV/Google+Integration
11
12th Sakai Conference – Los Angeles, California – June 14-16
What Has Sakai Community Done?
Sakai Maps (Edia)
Google Docs (rSmart)
reCAPTCHA (?)
Gradebook2 (GWT)
BLTI for Google App Engine (Dr. Chuck)
iGoogle Widget for CamTools (Cambridge)
12
12th Sakai Conference – Los Angeles, California – June 14-16
THOUGHTS ON INTEGRATION
And Now for Some...
13
12th Sakai Conference – Los Angeles, California – June 14-16
Why Does Google Matter (here)?
Offers free / cheap useful tools - Search, Email, Calendar, Docs, Chat
Offers new tools - spreadsheet, maps, video
Offers infrastructure - Domain customized Google Apps
Offers innovation - App Engine for your tools, new tools from Google
Already in use by students and faculty
14
12th Sakai Conference – Los Angeles, California – June 14-16
Different Reasons for Integration
• Replacement - Use Google calendar and email• Supplement - Make Google tools seem like Sakai tools
(spread sheet, maps....) Make Google documents appear to be Sakai documents
• Extension - Make it easy to write Google apps that appear to be Sakai tools.
• Expose - Sakai widgets in iGoogle
These are complementary.
15
12th Sakai Conference – Los Angeles, California – June 14-16
“Easy” Integration Targets
Publish Google document in Sakai (rSmart - demo later)
Import Google calendar feed
BLTI loose integration with Google App engine apps
Cambridge iGoogle gadgets
16
12th Sakai Conference – Los Angeles, California – June 14-16
“Plausible” Integration Targets
Based on rSmart approach should be able to make Google artifacts visible as if they were Sakai artifacts with Sakai viewing permissions.
E.g. spreadsheets, maps, youtube video
Limitations: - Integrating presentation not creation. Creation and editing permissions are all Google.- Versioning: How assure that document doesn't change before grading?
17
12th Sakai Conference – Los Angeles, California – June 14-16
“Uncertain” Integration Targets
Calendar, email archive, resources, chat
Replacing infrastructure brings up thorny issues:
Permission model -> Google != SakaiGroups -> Google != Sakai
18
12th Sakai Conference – Los Angeles, California – June 14-16
Considerations and Tradeoffs
Authz Issues - mapping Sakai / Google concepts and keeping information in synch
SSO - Coordinate local and Google login
Grading - control of Google artifacts
Control / Legal - Enforcement of Institutional policies
Flexibility - Dependent on Google implementation and policies
19
12th Sakai Conference – Los Angeles, California – June 14-16
DISCUSSION of the FUtureAnd Now Here’s A...
20
12th Sakai Conference – Los Angeles, California – June 14-16
What to Expect from Google
• Appears to be "concrete interest" but we can not (at this point) rely on Google to solve any of these issues
• Google Docs API 3• Revision History potential
requirement for gradable submissions
21
12th Sakai Conference – Los Angeles, California – June 14-16
Potential Projects (a few...)
Publish document artifacts for grading
Smooth offloading of creation / editing to Google tools
OAuth / OpenID compatibility (not just for Google)
Calendar integration / replacement
Email archive replacement
Chat replacement
Task list as Sakai tool (as an experiment)
22
12th Sakai Conference – Los Angeles, California – June 14-16
INTERMISSIONAnd Now for An...
23
12th Sakai Conference – Los Angeles, California – June 14-16
Google Documents Integration
And now here’s a…
24
12th Sakai Conference – Los Angeles, California – June 14-16
What Should it Do?
25
12th Sakai Conference – Los Angeles, California – June 14-16
“Low Hanging Fruit”
Provide Access to Google Documentsin Resources Tool
Not EVERYTHING... but a good start
26
12th Sakai Conference – Los Angeles, California – June 14-16
Benefits
Lets Google do its thingCrazy,
Wacky,
Web 2.0
^
Just share the documents
27
12th Sakai Conference – Los Angeles, California – June 14-16
Why not Google in an iframe?
28
12th Sakai Conference – Los Angeles, California – June 14-16
Problem: Wrapping Sakai
Navigation...
(kind of minor)
29
12th Sakai Conference – Los Angeles, California – June 14-16
Problem: Wrapping Google
Does Google Know Your Users?
In Sakai I may be:
Do I even exist in Google?
Who Am I There?
30
12th Sakai Conference – Los Angeles, California – June 14-16
Problem: Wrapping Google
If Google appears in a Sakai iframe,you still need to log in... (somehow)
31
12th Sakai Conference – Los Angeles, California – June 14-16
Problem: Wrapping Google
Solution is probably Google Apps for Education, and fancy synchronization work
I’ll get to that later...
32
12th Sakai Conference – Los Angeles, California – June 14-16
Without Further Ado...
What does it do?
33
12th Sakai Conference – Los Angeles, California – June 14-16
Functions
• Author Browses Google Docs Assets• Document Selected for Link
• Format Chosen• Metadata Set
• Users in Site May Download via Link• Author may Delete• Clicking Edit Forwards to Google
(where one must log in)
34
12th Sakai Conference – Los Angeles, California – June 14-16
WHAT’S IT MADE OFAnd Now..
35
12th Sakai Conference – Los Angeles, California – June 14-16
Google Docs Integration Code
• Contributed:https://source.sakaiproject.org/contrib/rsmart/google-content
•Components:• Google Doc ContentResource Entity
• GoogleDocsService• OAuthService• Google Docs Link Helper
36
12th Sakai Conference – Los Angeles, California – June 14-16
Dependencies
rsmart-common-tool-lib(utilities for UI)
oauth(tool for managing oauth providers and tokens)
37
12th Sakai Conference – Los Angeles, California – June 14-16
Google Java Client APIs
• Java library encapsulating calls to Google Web Services
• Provide API Calls for Numerous Google Tools
38
12th Sakai Conference – Los Angeles, California – June 14-16
Google Java Client APIs
39
12th Sakai Conference – Los Angeles, California – June 14-16
CONTEMPLATIONAnd Now A Bit Of...
40
12th Sakai Conference – Los Angeles, California – June 14-16
“But I Still Want Google in an Iframe!”
• Big issue: synchronizing access control
• Seems to place requirements on the institution - Google Apps for Education, at the very least
• Probably also requires Single Sign On (SSO) w/ Google
41
12th Sakai Conference – Los Angeles, California – June 14-16
Google Apps for Education
• Establishes a Google domain matching your institution’s domain name
• Provides Google accounts to all your users
Red Flag: What about guest accounts? Federated access?
42
12th Sakai Conference – Los Angeles, California – June 14-16
Single Sign-On
• May not be possible for institution (eg. LDAP authentication) - access rights shared, but multiple login
• Two methods:• Adopt Google as institutional SSO provider
• Deploy a SAML-based authentication mechanism (both Shibboleth and CAS apply)
43
12th Sakai Conference – Los Angeles, California – June 14-16
Synchronization
• To be researched; especially performance
• Sakai would probably push access rules
• Potentially a Security Advisor in Sakai could reference Google’s access rules
44
12th Sakai Conference – Los Angeles, California – June 14-16
What’s Next?And Now?
45
12th Sakai Conference – Los Angeles, California – June 14-16
Battle Testing
QA for Google Docs has Focused on Bug Elimination...
...What about Usability?
46
12th Sakai Conference – Los Angeles, California – June 14-16
That OAuth Thing May Be Useful
Potential to build out a general-purpose OAuth Token Manager
Movement of Management Tool Into Profile2 (?)
47
12th Sakai Conference – Los Angeles, California – June 14-16
Use Cases
Institutions with Google Apps for Education who Want Tighter Integration
48
12th Sakai Conference – Los Angeles, California – June 14-16
YOUR QUESTIONSAnd FINALLY, How About...