Presentation is loading. Please wait.

Presentation is loading. Please wait.

A Blackboard Building Block™ Crash Course for Web Developers

Similar presentations

Presentation on theme: "A Blackboard Building Block™ Crash Course for Web Developers"— Presentation transcript:

1 A Blackboard Building Block™ Crash Course for Web Developers
Murali Yellepeddy, Architect

2 Agenda Blackboard Building Block Introduction Hooks into the platform
B2 Manager Blackboard® API Tag libraries Security Q&A

3 Introduction If you've ever built a webapp for Tomcat®, WebLogic®, WebSphere®, etc Or a portlet for uPorta®l, Liferay®, etc - you've essentially already built a Blackboard Building Block Blackboard® itself is nothing more than a bunch of webapps running on Tomcat

4 Blackboard® Architecture
Client Bb App Server(s) Bb DB Server Apache / IIS Static files .html Oracle® / SQL* Server® Tomcat .jsp pages /webapp pages Locale images Collab Server chat & virtual classroom

5 Blackboard Building Block Contents
B2s are most-closely-related to a portlet in that it's a simple webapp with 1 extra XML file that tells Blackboard where your app will hook into it webapp Manifest (XML)

6 BB-Manifest.XML Describes the web application to the Blackboard plug-in manager Metadata Allows to extend functionality Custom Content Links Portal Modules Register to Notifications Gradable Items Security Entitlements Permissions

7 Basic Structure of a Blackboard-Manifest File
<?xml version="1.0" encoding="ISO "?> <manifest> <!-- core extension information --> <plugin> <!-- general information: name, handle, etc. --> <http-actions> ... </http-actions> <!– Register to Notifications --> <extension-defs> ... </extension-defs> <!-- Custom Portal Modules --> <module-defs> ... </module-defs> <!–- Score Providers --> <score-providers> ... </score-providers>

8 Basic Structure of a Blackboard-Manifest File
<!-- custom content handlers --> <content-handlers> <content-handler> ... </content-handler> </content-handlers> <!-- Tools defined by this extension --> <application-defs> <application> ... </application> </application-defs> <permissions> </permissions> </plugin> </manifest>

9 Example Code Hello World Mashup content handler Adds a course tool

10 Blackboard® B2 Manager

11 What to use to build it.. Just like a webapp, you can use whichever framework technology you want to use - Struts & Spring are the most common. You can also use straight JSPs for the most basic of projects, but using MVC is recommended as a better practice Similarly, you can easily add supporting libraries such as those from the Apache Commons projects to avoid reinventing the wheel for common tasks. Note, a lot of libraries already ship with Blackboard® Learn™(check /blackboard/apps/tomcat/lib)

12 Blackboard® Look & Feel
Easy to render the user interface using the Blackboard tag libraries - similar to the JSTL libraries (Java) or SharePoint web part Web UI Controls used to render HTML. The tag libraries inherit the look/feel, usability, and accessibility of the core product You can also roll your own UI using straight HTML if desired

13 Example Code

14 Javascript Blackboard uses Prototype.
You can layer additional AJAX technologies on top of it such as Scriptaculous for slick web 2.0-like behavior. Would not recommend using JQuery as sometimes Prototype and JQuery don't interact so well. Another one to look at is AjaxTags.

15 Blackboard® API to Access Blackboard Data
Base persistence objects are defined in the package, blackboard.persist, with sub-packages including announcement calendar content course gradebook user

16 Context vs Persistence
Context tag Current Session Current Page Who am I? Where am I? Persistence objects Permanent Data Store Retrieve or update data Single objects UserId given UserName Lists of objects All users in a course All courses for a user

17 Permissions Wrapper around Java security
Allows administrators to allow or deny a building block based on what it is trying to access

18 References Documentation and API reference Tag libraries:
Tag libraries: Current versions on your Blackboard Learn Server …/blackboard/content/WEB-INF/config/taglibs Generate documentation (html-format)

19 Questions ?

20 The subject of the email should be title of this session:
Please provide feedback for this session by ing The subject of the should be title of this session: A Building Block Crash Course for Web Developers

Download ppt "A Blackboard Building Block™ Crash Course for Web Developers"

Similar presentations

Ads by Google