Towards Bboogle 3.0.0: a Technical Walkthrough Patricia Goldweic Sr. Software Engineer AR&T, Northwestern University Brian Nielsen Manager, Faculty Support.

Slides:



Advertisements
Similar presentations
SE Name SE Title Blackboard Training: Approaches and Opportunities.
Advertisements

Different Approaches to Single-Sign-On Jeff Kahn, Verbena Consulting.
Eric J. Oszakiewski MCTS: SharePoint Application Development SharePoint Configuration.
New Release Announcements and Product Roadmap Chris DiPierro, Director of Software Development April 9-11, 2014
LeadManager™- Internet Marketing Lead Management Solution May, 2009.
Bboogle: Bringing Blackboard and Google Apps Together For Collaborative Learning Brian Nielsen, Northwestern University With support from Jonathan Smith,
Bboogle Teams: Supporting Small Group Communications through Google Apps Integration with the Blackboard Learn Platform Jonathan Smith, Software Architect,
Unveiling ProjectWise V8 XM Edition. ProjectWise V8 XM Edition An integrated system of collaboration servers that enable your AEC project teams, your.
Linking External Tools with Sakai David Ross Educational Technology, Albany Medical College.
The Documentum Team Lance Callaway, Brooke Durbin, Perry Koob, Lorie McMillin, Jennifer Song Missouri University of Science and Technology Rolla, Missouri.
RE Adapter for Encompass (v1.0)‏ Encompass and The Raiser's Edge® Integrated Data Solution.
An Open Source Google Apps Integration (Bboogle) Patricia Goldweic, Sr. Software Engineer, Northwestern University.
Spring, Hibernate and Web Services 13 th September 2014.
© Blackboard, Inc. © Northwestern University All rights reserved. Delivering New Data Types With Plone: A Building Block for Versatile Content Management.
My First Building Block Presented By Tracy Engwirda 28 September, 2005.
Systematic Review Data Repository (SRDR™) The Systematic Review Data Repository (SRDR™) was developed by the Tufts Evidence-based Practice Center (EPC),
Your Logo Here An Administrative Framework for the Blackboard Academic Suite Presented By Chris J Jones University of Oklahoma HSC April 13, 2005.
New Faculty Orientation Blackboard Academic Suite 7.1 University of the Pacific June 28, 2015.
Data Sources & Using VIVO Data Visualizing Scholarship VIVO provides network analysis and visualization tools to maximize the benefits afforded by the.
Student Information system
The Java Persistence API Edel Sherratt. Contents Revisit applications programming Using Java Persistence API.
Data Persistence and Object-Relational Mapping Slides by James Brucker, used with his permission 1.
Welcome to Philly Code Camp Russ Basiura SharePoint Consultant RJB Technical Consulting
Hibernatification! Roadmap for Migrating from Plain Old SQL on JDBC to JPA on Hibernate Duke Banerjee Senior Developer, DrillingInfo.com.
CSE446 S OFTWARE Q UALITY M ANAGEMENT Spring 2014 Yazılım ve Uyguluma Geliştirme Yöneticisi Orhan Başar Evren.
Chapter 10 EJB Concepts of EJB Three Components in Creating an EJB Starting/Stopping J2EE Server and Deployment Tool Installation and Configuration of.
Configuration Management and Server Administration Mohan Bang Endeca Server.
Google Apps + Blackboard The Northwestern U. Open Source "Bboogle Project" James Altman, Manager, Faculty Support Services Brian Nielsen, Project Manager,
UST Google Apps Pilot. Introductions Agenda: Welcome! Introduce IRT Project Team Project Overview Expectations Instructions Help & Support Questions.
Bboogle: Updates and Experience Patricia Goldweic, Sr. Software Engineer, Northwestern University Brian Nielsen, Project Manager, Faculty Initiatives,
SharePoint and SharePoint Online: Today and what's next? Presented by Luke Abeling – IT Platforms.
IS-907 Java EE JPA: Simple Object-Relational Mapping.
System Center 2012 Certification and Training May 2012.
VENUE: AFE BABALOLA HALL, UNIVERSITY OF LAGOS PRESENTATION BY: MR AMOS EMMANUEL CHIEF SOFTWARE ARCHITECT, PROGRAMOS SOFTWARE CHAIRMAN,
Uniting Cultures, Technology & Applications A Case Study University of New Hampshire.
 To explain the importance of software configuration management (CM)  To describe key CM activities namely CM planning, change management, version management.
Penn Groups PennGroups Central Authorization System June 2009.
EQUELLA Product Strategy and Development
Get off on the right foot Included with SOTI JumpStart: Creation and deployment of a single package FileSync and Single lockdown configuration, enabling.
Dali JPA Tools. About Dali Dali JPA Tools is an Eclipse Web Tools Platform sub-Project Dali 1.0 is a part of WTP 2.0 Europa coordinated release Goal -
James Williams e: eTutor Project SUMMARY OF KEY FINDINGS for 2 Pilot studies of the.
CourseLife: An Archival Solution Kelly Roark, Northwestern University Patricia Goldweic, Northwestern University Brian Nielsen, Northwestern University.
Google Apps (Education Edition) A step guide to a successful deployment January 10 th, 2008 California Technology Assistance Project
1 1 EPCC 2 Curtin Business School & Edinburgh University Management School Michael J. Jackson 1 Ashley D. Lloyd 2 Terence M. Sloan 1 Enabling Access to.
1 Kuali Nervous System (KNS) Part 1 Presented by: Jerry Neal – KFS Development Manager Geoff McGregor – KC Lead Developer Brian McGough – KRice Project.
8th Sakai Conference4-7 December 2007 Newport Beach Integration: Users and Groups Mark J. Norton Nolaria Consulting.
Fall CIS 764 Database Systems Engineering L18.2 : Object Relational Mapping … ….Object persistence.
North Shore Community College The Evolution of a Digital Campus Gary Ham – Chief Information Officer Janice Forsstrom – VP of Finance/Administration.
JTC Consulting Group Knowledge Management System Jennifer Leigh Carlos Pena Terry Yong 1.
CentralCampus Group: May13-26 – William Van Walbeek & Paul Wilson Client: Google, Muthu Muthusrinivasan Advisor: Manimaran Govindarasu Abstract Introduction.
IS-907 Java EE Introduction to JPA. Java Persistence API A framework for using relational databases in Java programs mapping between tables and classes,
ORM Basics Repository Pattern, Models, Entity Manager Ivan Yonkov Technical Trainer Software University
Google Code Libraries Dima Ionut Daniel. Contents What is Google Code? LDAPBeans Object-ldap-mapping Ldap-ODM Bug4j jOOR Rapa jongo Conclusion Bibliography.
CS520 Web Programming Object-Relational Mapping with Hibernate and JPA (I) Chengyu Sun California State University, Los Angeles.
Building Preservation Environments with Data Grid Technology Reagan W. Moore Presenter: Praveen Namburi.
Hibernate Online Training. Introduction to Hibernate Hibernate is a high-performance Object-Relational persistence and query service which takes care.
Integrate SAM with Your LMS: Become an Integrated SAM Power User Marie Hartlein, Montgomery County CC Jon White, Cengage Learning.
Today’s Agenda 1. Sign in please 2. Brief Check in 3.Presentation of Learning Management Systems (LMS) - 4.Comparison of 2 LMSs 5.Sign in to
Bhakthi Liyanage SPS Toronto July GOLD BRONZE / PRIZES SILVER.
SharePoint 101 – An Overview of SharePoint 2010, 2013 and Office 365
Using Your Own Authentication System with ArcGIS Online
Chengyu Sun California State University, Los Angeles
The Improvement of PaaS Platform ZENG Shu-Qing, Xu Jie-Bin 2010 First International Conference on Networking and Distributed Computing SQUARE.
PHP / MySQL Introduction
Shankar Chandrasekaran
Database Applications (15-415) ORM - Part I Lecture 11, February 11, 2018 Mohammad Hammoud.
Module 01 ETICS Overview ETICS Online Tutorials
CS4961 Software Design Laboratory Understand Aquila Backend
Chengyu Sun California State University, Los Angeles
TN19-TCI: Integration and API management using TIBCO Cloud™ Integration
Presentation transcript:

Towards Bboogle 3.0.0: a Technical Walkthrough Patricia Goldweic Sr. Software Engineer AR&T, Northwestern University Brian Nielsen Manager, Faculty Support Services AR&T, Northwestern University

Overview Bboogle History and Demo What was missing? How we approached it: Bboogle Teams Teams Demo Putting it all together: Bboogle and Bboogle Teams Technical Walkthrough Architecture Development best practices used Future Roadmap 2

Bboogle History 3 Open source project started by Northwestern (2009) In production at NU by June 2009 Northwestern developed Bboogle Teams in Initially independent from the LMS Eventually integrated with Blackboard groups Blackboard contributed certified block in 2011 (2.0.0+) The Bb – NU partnership resulted in an easier to install package NU integrated Bboogle and Bboogle Teams in 2012

Bboogle History What is Bboogle? A Bb-Google Apps integration that provides: Instructor tools to embed Google Apps content in Bb courses Automatic adjustment of permissions in Google Integration with Google Single Sign On (optional) Automated Google Apps user provisioning 4

Demonstration 5 SSO available

What was missing? 6 A convenient way to collaborate in small teams using Google Apps resources Teams could be fluid, or time-constrained Shared spaces in Google Apps for each such team A way to expose these resources within the LMS

How we approached it: Bboogle Teams 7 Bboogle Teams Concepts Community: course or academic program, cohort, etc. Team: group of people within a given community Breakout: set of (time-constrained) disjoint teams, which partitions a community Communities and teams are built on GA groups A team has a corresponding GA site, GA calendar and GA collection

How we approached it: Bboogle Teams 8 Integrating Bboogle Teams with the LMS A Bb course is mapped to a Bboogle Teams community A Bb group set is mapped to a Bboogle Teams breakout A Bb group is mapped to a Bboogle Teams team To update team memberships, one (re) synchronizes a Bb group set with its mapped breakout Course tool: exposes team content to course Control panel tool: used for (re) synchronization

How we approached it: Bboogle Teams 9

Technical Walkthrough: Architecture 10

Technical Walkthrough: Best Practices 11 Services Oriented Architecture Gint and Teams services as independent of the LMS When fully enabled, services can be contacted via http Example Gint service requests: (provisioning) group Signup Request, verification (sharing) share content with GA group Example Teams service requests: Community, breakout and team creation Team membership verification, ownership requests Membership synchronization

Technical Walkthrough: Best Practices 12 Services Oriented Architecture Gint and Teams have Java client libraries local and remote clients are supported (2.1.0) Teams uses Gint to interact with Google services. If fully enabled, Teams is a set of restful web services Gint was expanded to support Teams functionality Scheduling of requests GA Content creation

Technical Walkthrough: Best Practices 13 Use of the Java Persistence Framework JPA is used as an ORM, Eclipselink as JPA provider Programming is done at a higher level of abstraction POJO methods used to access content JPQL is used for (few) database queries; no JDBC persistence.xml file used to configure JPA provider Blackboard contributed hook to Bb’s database in JPA BlackboardSessionCustomizer class for Eclipselink schema.xml

Technical Walkthrough: JPA code snippets (Gint service example) 14 import (name="nwu_gintlink") public class GintLink extends TransactionalObject { private String m_contentUrl; // content url for the link private String m_creatorId ; // Google id of the content’s creator private int m_id; // generated primary key // ************ Getters and Setters public String getContentUrl() { return m_contentUrl; @Column(name="id") public int getId() { return m_id; }

Technical Walkthrough: JPA code snippets (Teams service (name="nwu_btperson") public class Person implements JSonUtilSerializable private String id; // The Google id (complete address) of the community ( name="nwu_btperson_community", referencedColumnName="id"), referencedColumnName="id") ) private Collection private Date created;

Technical Walkthrough: JPA code snippets 16 Creating an object (e.g. GintLink) and saving it in the database: … import javax.persistence.*; EntityManager manager; GintLink link = new GintLink(contentURL, creatorId); manager.persist(gintLink); Finding all the Bboogle Teams communities associated with a Person record : … import javax.persistence.*; Person person; Collection<> communities = person.getCommunities(); NOTE: no sql queries were used in the above examples (they’re not needed!)

Technical Walkthrough: JPA code snippets 17 Example use of JPQL in Gint service: … Import javax.persistence.*; … Query linkQuery = manager.createQuery("SELECT l FROM GintLink l where l.contentUrl = ?1 and l.creatorId = ?2"); linkQuery.setParameter(1, contentURL); linkQuery.setParameter(2, userid); List links = linkQuery.getResultList(); NOTE: JPQL queries use the classes’ public property names JPA configuration examples : See persistence.xml, schema.xml and BlackboardSessionCustomizer included in Bboogle’s distribution

Bboogle Roadmap 18 Bb Certification of Bboogle (when?) Improving instructional use Admin tools to help manage Google resources Creation of Google content from within Bb Support primary/secondary Google domains Make Bboogle a group-level tool Keeping up with Google’s platform Provisioning auth upgrade Migrate over to newer Google apis

Bboogle Contacts 19 Blackboard Certified Building Block Distributed with Bb software updates Bboogle 3.0.1:(no Blackboard support) Subversion checkout : Open source project site: (contributors welcome) Join project’s mailing list and monthly adopters meetings Third Wednesday of each month, 2 pm CDT

20 We value your feedback! Please fill out a session evaluation.