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

Slides:



Advertisements
Similar presentations
Cognos Web Services Business Intelligence. SOA SOA (Service Oriented Architecture) The SOA approach involves seven key principles: -- Coarse -grained.
Advertisements

Introduction to: Bb Course Control Panel Enter name VLE training.
Walkthrough of Java APIs Presented By Tracy Engwirda 28 September, 2005.
A Toolbox for Blackboard Tim Roberts
A Blackboard Building Block™ Crash Course for Web Developers
Linking External Tools with Sakai David Ross Educational Technology, Albany Medical College.
An Open Source Google Apps Integration (Bboogle) Patricia Goldweic, Sr. Software Engineer, Northwestern University.
Todd Klindt Solanite Consulting.  WSS MVP since 2006  Speaker, writer, consultant, Aquarius  Personal Blog
System Center Configuration Manager Push Software By, Teresa Behm.
Objectives Moodle is an online learning environment where instructors & their students interact. In this workshop you will learn: 1.Configure system requirements.
Object-Oriented Enterprise Application Development Tomcat 3.2 Configuration Last Updated: 03/30/2001.
Starting with Gridsphere Albert Einstein Institute Gridsphere Installation.
WEB1P servintro1 Introduction to servlets and JSP Dr Jim Briggs.
1 Build a Web Application on J2EE. 2 J2EE Scenario Client – Web Server – EIS Resources Client – Web Server – EIS Resources Client – Application Server.
Presented by IBM developer Works ibm.com/developerworks/ 2006 January – April © 2006 IBM Corporation. Making the most of Creating Eclipse plug-ins.
Blackboard Building Blocks Authentication Overview Tuesday, June 30, 2015 Tom Joyce, Product Manager, Platform Architecture & Database.
Objectives:1. Investigate the Web application deployment descriptor 2. Install and deploy Tomcat and struts 3. Design and deploy a struts application Struts.
Creating a.war file W(eb) AR(chive). Creating a.war file The following article may contain actual software programs in source code form. This source code.
Android Programming Beomjoo Seo Sep., 12 CS5248 Fall 2012.
Web Applications Basics. Introduction to Web Web features Clent/Server HTTP HyperText Markup Language URL addresses Web server - a computer program that.
ANDROID PROGRAMMING MODULE 1 – GETTING STARTED
Understanding and Managing WebSphere V5
Blackboard Building Blocks Introduction to Building Blocks Saturday, August 15, 2015 Daniel Cane, Senior Vice President R&D.
INTERNATIONAL SUMMER ACADEMIC COURSE UNIVESITY OF NIS ISAC – Android programming.
Emerging Platform#4: Android Bina Ramamurthy.  Android is an Operating system.  Android is an emerging platform for mobile devices.  Initially developed.
Blackboard Look and Feel through Tag Libraries Presented By Tracy Engwirda 29 September, 2005.
UNIT-V The MVC architecture and Struts Framework.
© Blackboard, Inc. All rights reserved. Developing Blackboard Building Blocks: Getting Started John Knight Senior Engineer Blackboard Inc. July 18 th.
Portal and AQAS-Philadelphia University 21-22/6/2011 AVCI Platform in PU Dr. Abdel-Rahman Al-Qawasmi Philadelphia University Director of Computer Center.
JavaServer Faces: The Fundamentals Compiled from Sun TechDays workshops (JSF Basics, Web-Tier Codecamp: JavaServer Faces, Java Studio Creator; IBM RAD)
© Blackboard, Inc. All rights reserved. My First Building Block as a Content Type Heather Natour Senior Lead Engineer Blackboard Inc. July 18 th 1:30pm.
.NET: Blackboard Collaborations with Microsoft Presented By Jan Poston Day Director, Standards and Interoperability Ramsey Chambers Manager, Business Development.
Crystal Hoyer Program Manager IIS Team Preview of features that will be announced at MIX09 Please do not blog, take pictures or video of session.
Java Beans.
© 2005 by IBM; made available under the EPL v1.0 | March 1, 2005 Tim deBoer Gorkem Ercan Extend WTP Server Tools for your.
Uniting Cultures, Technology & Applications A Case Study University of New Hampshire.
© Blackboard, Inc. All rights reserved. My First Java Building Block for the Blackboard Content System Stephanie Cupp Senior Product Analyst Blackboard.
Extending Vista The PowerLinks WebServices SDK John Hallett Senior Product Manager WebCT, Inc
© 2006 IBM Corporation IBM WebSphere Portlet Factory Architecture.
|Tecnologie Web L-A Anno Accademico Laboratorio di Tecnologie Web Introduzione ad Eclipse e Tomcat
Blackboard Building Blocks Introduction to Building Blocks Saturday, October 10, 2015 Bob Alcorn, Director, Platform Architecture.
Microsoft SharePoint Server 2010 for the Microsoft ASP.NET Developer Yaroslav Pentsarskyy
© Blackboard, Inc. All rights reserved. Deploying a complex building block Andre Koehorst Learning Lab Universiteit Maastricht, the Netherlands July 18.
Ch 2 – Application Assembly and Deployment COSC 617 Jeff Schmitt September 14, 2006.
What’s new in Kentico CMS 5.0 Michal Neuwirth Product Manager Kentico Software.
Chapter 7 Using Custom Tag Libraries and the JSP Standard Tag Library.
Blackboard Building Blocks Portal Modules and Module Types Monday, November 16, 2015 Tom Joyce, Product Manager, Product Development.
Blackboard and Content Types John Knight Blackboard Inc.
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 1.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
Plug-in Architectures Presented by Truc Nguyen. What’s a plug-in? “a type of program that tightly integrates with a larger application to add a special.
Preface IIntroduction Objectives I-2 Course Overview I-3 1Oracle Application Development Framework Objectives 1-2 J2EE Platform 1-3 Benefits of the J2EE.
Blackboard Building Blocks™: Data Integration and Administration Raymond Peterson, Blackboard, Inc.
Modern Programming Language. Web Container & Web Applications Web applications are server side applications The most essential requirement.
Chapter 9 Web Application Design. Objectives Describe the MVC design pattern as used with Web applications Explain the role and responsibilities of each.
Portal Modules & Module Types Heather Natour Senior Software Engineer, Blackboard Community System.
Presented By:. What is JavaHelp: Most software developers do not look forward to spending time documenting and explaining their product. JavaSoft has.
Interstage BPM v11.2 1Copyright © 2010 FUJITSU LIMITED INTERSTAGE BPM ARCHITECTURE BPMS.
Developing Custom ASP.NET Providers For Membership And Role Manager Stefan Schackow PRS404 Program Manager – Web Platform and Tools Microsoft Corporation.
BlueDragon Editions and Advantages Lori Pacheco New Atlanta.
Introduction to Android Programming
DotNetNuke® Web Application Framework
What is SharePoint and why you should care
Sakai WebApp Structure
Utilize Group Policy Terminal Server Settings
ESIS Consulting LLC (C) ESIS Consulting LLC. All rights reserved
BlackBoard 5 A Definitive e-Learning Software Platform Ozgur Balsoy,
JavaServer Faces: The Fundamentals
Emerging Platform#3 Android & Programming an App
Presentation transcript:

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

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

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

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

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?

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

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

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

Course Tool Course ID is passed to page

Course Communication Tool Course ID is passed to page

Course Control Panel Course ID is passed to page

System Admin Panel Nothing passed to page

Content Type Course ID and Container ID are passed to page

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

User Tool Nothing passed to page

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

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

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

Planning Which APIs are you going to use?

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!

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.

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

Planning Installation

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

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

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

Structure of Building Blocks

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

Directory Layout Shared via web Hidden from web

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)

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

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

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

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…

bb-manifest.xml File

bb-manifest.xml File

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

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

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

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

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

More information Building Blocks Website –Building Blocks Catalog –Software Development Kit (SDK) Blackboard Developer Network (BbDN) –Learning System Developer License –Communities, Knowledge Base, Code Snippets, White Papers, Beta Software Other Community Resources –Open Source User Group and BBUG forums

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

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

Questions?