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) High Level Architecture SSO UML diagram Linking UML Diagram (content tool) Linking UML Diagram (bookmarklet) 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: – [email protected] or – [email protected]
© Copyright 2025