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
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
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
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)
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.
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).
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
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
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
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.
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.
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
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: firstname.lastname@example.org or email@example.com