© Blackboard, Inc. All rights reserved. My First Java Building Block for the Blackboard Content...
-
Upload
karen-kelly -
Category
Documents
-
view
217 -
download
0
Transcript of © Blackboard, Inc. All rights reserved. My First Java Building Block for the Blackboard Content...
© Blackboard, Inc. All rights reserved.
My First Java Building Block for the
Blackboard Content SystemStephanie CuppSenior Product AnalystBlackboard Inc.
July 19th 9am
2
Overview
» Brief intro to the Bb Content System» Understanding its place in the Academic Suite» Getting started with Building Blocks» Sample Building Block: Content System Report» Sample Building Block: “Hello Content System”» Q&A
© Blackboard, Inc. All rights reserved.
COLLECTION
Content and File Mgmt
Versioning
Disk Space and Bandwidth Mgmt
DISCOVERYSHARING
Collaborative File Storage
e-Portfolios
Workflows
Learning Objects Catalog
e-Reserves
4
Content & File Management» Single point of
editing» Create many
links to one file» Edit files one
time to change everywhere
» Share files and folders with other users or members of groups
» Share “passes” to files with people outside of system
» Use versioning to manage content
5
Disk Space & Bandwidth Mgmt
» Grant space and quota by Institution Role or User
» Monitor system usage
» Guard against system abuses
© Blackboard, Inc. All rights reserved.
COLLECTION
Content and File Mgmt
Versioning
Disk Space and Bandwidth Mgmt
DISCOVERYSHARING
Collaborative File Storage
e-Portfolios
Workflows
Learning Objects Catalog
e-Reserves
7
Collaborative Web-enabled File Storage
» Shared workspaces for content development:
» Course content» Learning objects» Departmental
resources» General
Documents» WebDAV support» Share files and folders
with other » Users » Groups» Members of
courses» Institution roles
© Blackboard, Inc. All rights reserved.
COLLECTION
Content and File Mgmt
Versioning
Disk Space and Bandwidth Mgmt
DISCOVERYSHARING
Collaborative File Storage
e-Portfolios
Workflows
Learning Objects Catalog
e-Reserves
9
Learning Objects Catalog» Search high-
qualitycontent
» Browse by category
» Keyword searches» Find targeted
content with metadata tags
» Full-text search
10
Within the Bb Learning System
» Course content» Visual Text Box Editor» Question Pools
(Release 6.3)» Test and Surveys
(Release 7.1)» Etc.
11
Within the Bb Community System
» Modules:» personal content» institution content» course content» bookmarks» e-Portfolios» workflows» search» etc.
12
What are Building Blocks?
» Applications that developers build to extend the Blackboard platform and to integrate Blackboard with external applications, content, or services.
13
Getting Started
» What are your resources?» What are you project goals?» What are the application requirements?» How are you going to build your application?» Where are you going to “hook” your application?» Which APIs are you going to use?» Where do you intend to deploy your application?
14
What are your resources?
» Blackboard Learning System Javadoc» Blackboard Content System Javadoc» Blackboard Building Blocks Developers Guide» Blackboard Building Blocks: Introduction to the
Building Blocks APIs and Runtime» Blackboard Web Site» Bb Open-Source Listserv» Sample Building Blocks» Each other!
15
What are your project goals?
» Sample:To provide a report to Administrators that displays user information including quota, so that they can better track usage.
16
What are the application requirements?
» Sample:» Being able to determine which users the report
should display (including all)» Counting the users reported» Displaying the quota allowed» Displaying the quota amount and percentage
free
17
How can this be built?
» Sample:» Need the report to be available to Administrators
» Link
» Need the Administrator to select the users and info to include in the report
» Data Collection Page
» Need to display the report to the Administrator» List Page
18
How: UI taglibs
» XML style tags that can be placed on a jsp page.
» Blackboard supplies two sets of taglibs» bbUI for making pages look like Blackboard
(style)» bbData for giving pages context and virtual
installation information (current session, current user, etc.)
» Specify your own in web.xml
19
What Content System “hooks” are available?
» Action dropdown» Content System Tools» My Portfolios» Modify file» Modify folder» Manage Portfolio» Administrator Panel
25
Which APIs to use?
» When the Content System is installed, the APIs are available to use from the entire Academic Suite, NOT just those installed which use CS specific UI hooks.
26
Plan for deployment and support
» Consider your audience again» Your campus only?» Other installations?» Bb Building Blocks catalog?
» How will this functionality be supported?
27
Packaging
» Use WinZip, PkZip, Java’s Jar utility, Ant, etc.» /classes, /jars, other data should be under
WEB-INF
Shared via web
Hidden from web
28
Install & Publish
» Only Administrators can manage Building Blocks.
» Install by browsing for your package.
» Publish by making it Available.
29
Tips on publishing while developing
» Start with a shell» .jsp files will compile at runtime, so just refresh
your browser.» .java files will require restarting tomcat
30
Sample Building Block: Content System Reports
» Sample provided on behind.blackboard.com» Let’s take a look!
31
Sample Building Block: “Hello Content System”
» Possible types of links:» cs_action» cs_tool» cs_modify_folder» cs_modify_file» cs_manage_portfolio» cs_my_portfolios» system_tool
32
Hello Content System: Bb-manifest.xml<?xml version="1.0" encoding="ISO-8859-1"?><manifest> <plugin> <name value= "Hello Content System"/> <handle value= "cs-hello"/> <description value= "This is my first Content System plugin."/> <version value= "1.0"/> <requires> <bbversion value="6.3.0"/>
<csversion value="2.3.0" ifMissing="warn"/> </requires> <vendor> <id value="bb"/> <name value="Stephanie Cupp"/> <url value="http://www.blackboard.com/" /> <description value="Blackboard Product Development" /> </vendor> <http-actions> <config value="admin/config.jsp"/> <remove value="admin/remove.jsp"/> </http-actions>
33
Hello Content System: Bb-manifest.xml<application-defs> <application handle="cshello"
type="system" use-ssl="false" name="Hello Content System" can-allow-guest="false" small-icon="" large-icon="">
<description lang="en_US">Creates a new tool link in the Content System.
</description> <links> <link> <type value="cs_tool"/> <name value="Hello Content System"/> <url value="hello/hello.jsp" /> <description value="hello" /> <icons> <listitem value="images/ci/icons/control_panel.gif"/> </icons> </link> </links> </application> </application-defs>
34
Hello Content System: Bb-manifest.xml<permissions>
<permission type="java.lang.RuntimePermission" name="db.connection.*" />
<permission type="attribute" name="user.authinfo" actions="get,set" /> <permission type="attribute" name="user.personalinfo"
actions="get,set" /> <permission type="persist" name="user"
actions="create,modify,delete" /> <permission type="persist" name="userrole"
actions="create,modify,delete" /> <permission type=“persist” name=“course”
actions=“create,modify,delete” /> </permissions> </plugin></manifest>
35
Hello Content System: hello.jsp
<%@ taglib uri="/bbUI" prefix="bbUI"%><%@ taglib uri="/bbData" prefix="bbData"%>
<bbData:context id="ctx">
<bbUI:docTemplate title="Hello Content System">
<bbUI:titleBar iconUrl="/images/ci/icons/tools_u.gif">My First Bb Content System Building Block
</bbUI:titleBar>
This could be a tool for your Bb Content System users to better manage their content.
</bbUI:docTemplate> </bbData:context>