an open source google apps integration (bboogle)

18
An Open Source Google Apps Integration (Bboogle) Patricia Goldweic, Sr. Software Engineer, Northwestern University

Upload: marla

Post on 05-Jan-2016

39 views

Category:

Documents


1 download

DESCRIPTION

An Open Source Google Apps Integration (Bboogle). Patricia Goldweic, Sr. Software Engineer, Northwestern University. Overview. Introduction Main Features Demo High Level Architecture Project Components How to Use Bboogle in your Institution Future Directions Questions. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: An Open Source Google Apps Integration  (Bboogle)

An Open Source Google Apps Integration

(Bboogle)

Patricia Goldweic, Sr. Software Engineer, Northwestern University

Page 2: An Open Source Google Apps Integration  (Bboogle)

Overview

• Introduction • Main Features• Demo• High Level Architecture• Project Components• How to Use Bboogle in your Institution• Future Directions• Questions

Page 3: An Open Source Google Apps Integration  (Bboogle)

Northwestern University

• Northwestern University is a private R1 institution with two

campuses, one in Chicago, and the other in Evanston, IL, the first

suburb immediately north of Chicago.

– 15,500 students, 60% undergraduate

– Northwestern has been using Blackboard as its primary CMS since Spring 1999.

– Northwestern became a Google Apps for Education campus in Spring 2007, for students only, not faculty or staff.

– Although faculty can obtain accounts in this domain, currently Gmail is not provided to faculty

Page 4: An Open Source Google Apps Integration  (Bboogle)

Introduction

Why Integrate Blackboard with Google Apps?

• To leverage the collaboration features offered by Google Apps

– To provide data sharing capabilities in Google Docs not implemented in Blackboard.

– To allow students to see class activities integrated into their personal calendars.

– To offer wiki features via Google Sites as soon as a Google Sites API’s are available.

• To model an approach to sharing that is common in many scholarly communities

• To offer instructors an easy means of providing information that integrates seamlessly into the students’ information environment

Page 5: An Open Source Google Apps Integration  (Bboogle)

Main Features

• Links in Blackboard to Google Apps Documents and Calendar– A convenient browser ‘bookmarklet’ hooks a Google Doc/Calendar to a

Blackboard course site.

– Blackboard custom content types are also available for the same purpose.

– Links allow an instructor to provide automatic sharing of Google Docs and Calendars to enrollees in a Blackboard course.

• Single Sign On to Google Apps domain– Supports automated creation of Google accounts when needed

(configurable)

Page 6: An Open Source Google Apps Integration  (Bboogle)

High Level Architecture

Page 7: An Open Source Google Apps Integration  (Bboogle)

SSO UML diagram

Page 8: An Open Source Google Apps Integration  (Bboogle)

Linking UML Diagram (content tool)

Page 9: An Open Source Google Apps Integration  (Bboogle)

Linking UML Diagram (bookmarklet)

Page 10: An Open Source Google Apps Integration  (Bboogle)

The Bboogle Building Block

• Custom content tools for linking Google content: documents, calendars and sites.

• A ‘bookmarklet’ alternative to the traditional Blackboard custom content tools, which allows content linking while within the Google Apps user interface.

• Course tools that provide SSO to Google Apps Sites, Documents and Calendar services.

Page 11: An Open Source Google Apps Integration  (Bboogle)

The Bboogle Building Block

• The ‘SSO Bridge’ Servlet – Runs whenever a user clicks on any of the Bboogle bookmarks/links, including

the SSO course tools, and provides the front-end logic to the Google SSO process

– If automated provisioning is used, it ensures that the user clicking has a Google Apps account

– Transfers control to Google ONLY after verifying that that the user is allowed to access to the document

– Uses the Google Integration Service to handle user provisioning and authorization issues that are handled during user clicks.

• The ‘Linking Servlet’ – Runs whenever an instructor chooses to create a bookmark/link to Google Apps

content: calendars, documents and sites. – Creates a course document to hold the bookmark/link– Uses the Google Integration Service to handle authorization issues (e.g. requests

to share document/calendar with the Blackboard class).

Page 12: An Open Source Google Apps Integration  (Bboogle)

The Google Integration Server

• Mediates all communication between the building block and Google• Uses a small embedded database to store information to:

– Keep track of Google content publication and access in Blackboard courses

– Efficiently manage building block requests to avoid unneeded communication with Google

– Provide usage information that could later be used by reporting tools

Page 13: An Open Source Google Apps Integration  (Bboogle)

Google Integration Database Details

What gets Stored?• The existence and activation record for a given Google account• The pairing of a piece of Google content + its owner• The publication of one such pair to a certain BB course, with a

particular collaborator role• The successful execution of a sharing request concerning a

particular publication record + a particular Google collaborator account

Page 14: An Open Source Google Apps Integration  (Bboogle)

Google Integration Server Requests

What types of requests does it handle?• Checks for the existence/activation of a specified Google account• Creation of Google Apps accounts• Bookmark/link creation bookkeeping (using its database)• Requests to obtain a user’s document or calendar details from

Google Apps• Requests to share documents/calendars with a group of users

Page 15: An Open Source Google Apps Integration  (Bboogle)

Example Walkthrough: instructor navigates to Google calendar and uses bookmarklet

Within the building block:

• Requests are made to the Google Integration server to verify account ownership, and obtain Google Calendar details for the instructor.

• A new course document is created in the Blackboard course, containing a link to the Google document or calendar. A request is then made to the Google Integration server to share the content with the Blackboard course.

Within the Google Integration Server

• An account record is retrieved/created verifying that the user has a Google account (GintAccount)

• An ownership pair (GintLink) and a publication record (GintPublication) are created before the new course document is created by the building block.

• A sharing record (GintShareRecord) is created/retrieved for each user enrolled in the class, linked to the corresponding publication record.

Page 16: An Open Source Google Apps Integration  (Bboogle)

How to use Bboogle in your institution

• Possibly customize the mapping between Blackboard user ids and Google user ids (requires implementation of a Java interface)

• Decide on your SSO solution:– Customize your current Google SSO solution so that it can work well

with BBoogle. OR

– For testing purposes, you can use the provided SSO solution. You can also use it as a ‘reference’ implementation that helps you come up with your production-ready version. Be sure to properly register your Google SSO solution in the Google Apps administrator panel.

• Install the BBoogle building block and the Google Integration Server (a web application) and configure application parameters.

Page 17: An Open Source Google Apps Integration  (Bboogle)

Future Directions

• Support SSO to Gmail and other Google Apps services• Offer linking to other types of Google content as soon as services

expose permission apis (e.g. Google Sites)• Explore the possibility of hosting the Google Apps Integration server

in the Google Apps Engine• Possibly create additional tools to facilitate the ‘publishing’ of Google

content to Blackboard courses. • Explore the possibility of offering a sharing tool for students

Page 18: An Open Source Google Apps Integration  (Bboogle)

How to get Bboogle

• Bboogle is hosted at the Oscelot projects site http://projects.oscelot.org/gf/project/bboogle

• The Subversion repository can be found at https://source.at.northwestern.edu/svn/os/bb-gint

• You can contact us for more details at:– [email protected] or

[email protected]