Leverage Blackboard Web Services Before we get started…Quick Poll: How many Blackboard institutions do we have in the audience today? …how many utilize Blackboard Web Services (or our at least familiar)? I was first introduced to it during the 2011 Bb World conference (Vegas) and I immediately saw the potential to automate some of our day-to-day tasks and provide support tools to our IT Helpdesk staff. So, I thought I would share some of the experience I’ve had with it and how we’re using it at WKU. But before all that, let me tell you a little about myself. Brandon Peters
Brandon Peters IT Consultant, Academic Technology Day-to-day: Blackboard System Administrator Web Tool Development Instructional Technology Support Contact: brandon.peters@wku.edu Blackboard System Administrator – building block updates, cumulative updates, patches, etc. 9.1 Service Pack 14 4 application servers RedHat Linux / Oracle Database
Overview Brief introduction to Blackboard Web Services, some “getting started” resources, and tools Cover how we leverage it at WKU: Online Training Course Automation Blackboard Guest Accounts Support Tool for IT Helpdesk Open up for questions So, I thought I would start off by giving a brief overview of what Blackboard Web Services are (for those of you who may not be familiar). I'm not going to go into detail on code examples or setting up proxy tools, but I will give you some resources I used to get started. Unfortunately there is not a whole lot of GOOD documentation out there. And then I will show you guys how we've been able to leverage it here at WKU. And then at the end of the presentation, I'll open it up for questions. That sound good?
What are Blackboard Web Services? SOAP-based API Uses WSDL (Web Service Definition Language) Allows you to get certain data out of Blackboard Allows you to add, remove, or modify certain data within Blackboard What are Blackboard Web Services? --------------------------------- - SOAP: Simple Object Access Protocol SOAP provides a way to communicate between applications running on different operating systems, with different technologies and programming languages – INTEROPERBILITY Building Blocks similar to Web Services | Develop applications to extend functionality - XML based language used to communicate between client and server. - You can use it with multiple languages: PHP, .NET, C++, Java, etc. - So rather than touching the Blackboard database, you can call one or more of these web services to get the data you need
What can you do with it? Access Bb user information: Username, Student ID Contact Info: email, phone, address Institutional roles
What can you do with it? Access course/org information: List of students enrolled List of user roles within course/org Course/org availability Course ID
What can you do with it? User management Create users Modify user information Add institutional roles Change password Change name, username, student id, etc. Delete users
What can you do with it? Course/Org management Create Course/Orgs Enroll users Modify Course/Orgs Delete Course/Orgs
Available Services Announcements Calendar Content Course CourseMembership Gradebook User Available Services ------------------ Announcements - Create Course/Org announcements | update | delete Calendar - Create Course item | update | delete Content - Grab Course Menu TOC | Add new TOC | Add/Remove Content files Course - Create Course/Orgs | Delete Course/Orgs | Grab Course/Org info CourseMembership - Enroll users | Un-enroll users | Get Course Roles Gradebook - Grab grades for a student | Save manual grades User - Create/Update/Delete Users Context - Register proxy tool | Login to proxy tool | Grab enrollments for a particular user
Resources and Tools
Resources and Tools
Resources and Tools Blackboard API Documentation Edugarage Admin Panel -> Building Blocks -> Web Services Edugarage http://www.edugarage.com Bruce Phillips Blog http://bit.ly/1dy7UuH SoapUI http://www.soapui.org/ Edugarage – Blackboard Developers Network Bruce Phillips – University of Kansas
Resources and Tools PHP Interface to Bb Web Services https://bitbucket.org/Bpete/ Similar to GitHub GIT - revision control system Allows you track changes made to your code, share it with others, and collaborate on coding projects.
Online Training Course Automation How we use it: Online Training Course Automation
Online Training Course Automation The Breakdown: Faculty, staff, and students self-enroll in one of our online training courses Adaptive Release is used to progress them through the course by unlocking training modules A magical “Final Task” button is presented after completing the course and is used to grant various institutional roles IT Training tab - We have 14 online IT training courses - Majority are availabile to faculty, staff, and students - Our Blackboard New Course Instructor Training course is required for ALL instructors Problem: - Tedious to track who enrolled into these courses and then who completed them - Tedious to process New Course Instructor Training completions
Magic Button
What’s behind the button? The button launches an external PHP script that checks the user’s grade within the course using Bb Web Services. Blackboard template variables are used to pass course and user information to the PHP script If the user has a passing grade, they receive a special institutional role, again using Bb Web Services Institutional roles can be used to hide/show certain modules within Blackboard
Blackboard Template Variables Allows you to pass context data to external systems via URL Uses special syntax variables that render within the body of content items @X@course.id@X@ = CHEM101SP15 @X@user.id@X@ = nuttyprofessor https://bb.school.edu/webapps/blackboard/launch_external.jsp?target=https://webapp.school.edu/index.php?uid=@X@course.id@X@.@X@user.id@X@ For more information: http://www.edugarage.com/display/BBDN/Template+variables
Scenario: Blackboard New Instructor Training Instructors are not allowed to create course sites or enroll student sections until they complete Blackboard New Instructor Training. A “course trained” institutional role is required in order to view access the Faculty Tools module.
Scenario: Blackboard New Instructor Training
Scenario: Blackboard New Instructor Training
Scenario: Blackboard New Instructor Training
Scenario: Blackboard New Instructor Training The “course trained” institutional role required to unlock Faculty Tools is now granted! The instructor will also receive an email confirmation.
Scenario: Blackboard New Instructor Training
Scenario: Blackboard New Instructor Training The instructor may create their course site(s) and enroll student sections.
Blackboard Guest Accounts How we use it: Blackboard Guest Accounts
Blackboard Guest Accounts The Breakdown: Instructors may add non-WKU users (as guests) to their course site via our Guest Account website. Instructors fill out an online form containing the guest user’s information as well as the desired course. Once submitted, the guest account(s) is instantly created within Blackboard and enrolled in the desired course(s).
Blackboard Guest Accounts
Blackboard Guest Accounts
Blackboard Guest Accounts
Blackboard Guest Accounts
Blackboard Guest Accounts
Support Tool for IT Helpdesk How we use it: Support Tool for IT Helpdesk
Support Tool for IT Helpdesk The Breakdown: Using Bb Web Services, we were able to create a custom web interface that displays useful troubleshooting information to our IT support staff. When faculty and students call in, support staff can easily pull up their Blackboard user information and course enrollments. DEMOS - Bb Support -------------------- IT Helpdesk staff: - If a student calls in and wonders why their course isn't showing up in Blackboard - If an instructor calls in and asks why their course isn't showing up in Blackboard - Was a student dropped from a course - Is their Blackboard account active - Did the instructor enroll the wrong section of students - You need to the coursePK1 or userPK1
Support Tool for IT Helpdesk
Contact: brandon.peters@wku.edu Questions? Contact: brandon.peters@wku.edu