Presentation is loading. Please wait.

Presentation is loading. Please wait.

My First Building Block Presented By Tracy Engwirda 28 September, 2005.

Similar presentations


Presentation on theme: "My First Building Block Presented By Tracy Engwirda 28 September, 2005."— Presentation transcript:

1 My First Building Block Presented By Tracy Engwirda 28 September, 2005

2 Overview Background Planning –UI Integration –Which APIs Package Structure Manifest Structure Security Framework UI Taglibs Building Blocks Manager.. and more

3 Terminology Building Blocks Program –All development and integration with Blackboard products Building Blocks Framework –The set of patterns and objects that allow interaction with all of Blackboard’s products Building Blocks API –The Java and.NET interfaces Building Blocks Manager –The management interface for Building Blocks Building Block –An application that relies on the Building Blocks API Blackboard Enabled –A quality assurance and testing program for Building Blocks

4 Terminology Building Block Types –Plug-in Stand alone Communicate only with Learning System –Bridge Communicates with external server(s) and Learning System Will not function without external server

5 Planning What are you project goals? What are the application requirements? How are you going to build your application? –JSP? Servlet? Web Service? Where are you going to “hook” your application? Which APIs are you going to use?

6 Planning Where are you going to hook your application into Blackboard?

7 UI Entry Points New Course Tool New Course Communication Tool New Control Panel Tool New System Admin Tool New Portal Module New Content Type New User Tool

8 Entry Points Programmatic Entry Points –Specified in bb-manifest.xml Manual Entry Points –System Administrator created

9 Course Tool Course ID is passed to page

10 Course Communication Tool Course ID is passed to page

11 Course Control Panel Course ID is passed to page

12 System Admin Panel Nothing passed to page

13 Content Type Course ID and Container ID are passed to page

14 Portal Module module view.jsp admin.jsp Nothing is passed to page

15 User Tool Nothing passed to page

16 Custom Tab System admin can change the location of a tab to point to a Building Block

17 Custom Course Link System admin or course instructor change add a Building Block to the course navigation area

18 Hidden Link A page does not need to be in the manifest in order to be loaded.

19 Planning Which APIs are you going to use?

20 API Capabilities Building Blocks APIs –Announcement (read and write) –Calendar (read and write) –Content (read and write) –Gradebook (read and write) –Session (read and write) –File system (read and write) –*User (read) –*Course (read) –*Membership (read) –.. And Many, many more!

21 API Capabilities How to write to User/Course/Membership?  Event APIs Event APIs use a similar data model to the Building Block APIs but has a different security model. Data object naming conventions match IMS structure of snapshot data.

22 API Capabilities Event APIs –Person (User) –Group (Course / Organization) –Membership –Catalog Category –Catalog Link –Data Source Key

23 Planning Installation

24 Only system administrators can install No restart required with Bb 6 Must confirm Building Block permissions Often requires configuration Installation is through the Building Blocks Manager

25 Heart of the Blackboard Platform Controls security, permissions, and availability Manages the “hook points” within the UI Handles deployment Building Block Manager

26 Blackboard Platform (LS/TS/CP) DB File System Content Gradebook Announcements User Course Membership Calendar Persistence Plugin Security Session TagLib (UI) Building Blocks Manager API Wrappers & Convenience Methods Data Integrity Enforcement User Interface Hooks / Availability Context Passing Security & Manifest Controls Deployment & Tracking Building Block Manager

27

28 Structure of Building Blocks

29 Building Block = Webapp A Building Block is a Java Web Application (webapp) with one extra file The extra file is bb-manifest.xml

30 Directory Layout Shared via web Hidden from web

31 Package Format A webapp is a zip file with a specific directory structure WinZip, PkZip, Java’s Jar utility, or Ant will all create the correct package Even though it is a zip file, the extension does not matter (.zip,.war,.bb will all work)

32 WEB-INF Hidden from web Contents –web.xml –bb-manifest.xml –Config directory –Classes directory –Lib directory

33 Config Directory Hidden from web Only accessible by the Building Block Can contain anything –One option for storing your application data. No size limit

34 Custom Code and Libraries Classes –Stored in WEB-INF\classes Jars –Stored in WEB-INF\lib –Automatically on classpath via custom classloader

35 Manifest Structure bb-manifest.xml –Set of directives the developer provides Building Blocks Configuration Application Definitions –Content Handlers –UI Links –Portal Modules Security Declarations Let’s Take a Look…

36 bb-manifest.xml File

37 bb-manifest.xml File

38 bb-manifest.xml File Link Checker tool installed with the Link Checker Plugin

39 bb-manifest.xml File Link Checker tool installed with the Link Checker Plugin

40 bb-manifest.xml File Link Checker tool installed with the Link Checker Plugin

41 Security Framework Security must be explicitly declared in the bb-manifest.xml file. XML Format corresponds closely with the format for Standard Java policy files Security will be enforced by the JVM

42 UI Taglibs XML style tags that can be placed on a jsp page. Blackboard supplies two sets of taglibs –bbUI for making pages fit in with the product –bbData for giving pages context and virtual installation information Specify your own in web.xml

43 More information Building Blocks Website http://www.blackboard.com/developers/ –Building Blocks Catalog –Software Development Kit (SDK) Blackboard Developer Network (BbDN) http://behind.blackboard.com/ –Learning System Developer License –Communities, Knowledge Base, Code Snippets, White Papers, Beta Software Other Community Resources –Open Source User Group and BBUG forums http://www.bb-opensource.org/

44 Why Start from Scratch? Start with a sample Building Block Reuse existing code Customize to meet your needs

45 Let’s take a look at some real code… Enough of the theory!

46 Questions?


Download ppt "My First Building Block Presented By Tracy Engwirda 28 September, 2005."

Similar presentations


Ads by Google