Introduction to Building Blocks - PowerPoint PPT Presentation

About This Presentation
Title:

Introduction to Building Blocks

Description:

Module Edit. Minimize. Delete. Contents. Layout. Module ... Tags Provided for Edit and Admin Pages. modulePersonalizationPage. modulePersonalizationReceipt ... – PowerPoint PPT presentation

Number of Views:16
Avg rating:3.0/5.0
Slides: 28
Provided by: libraryBl
Category:

less

Transcript and Presenter's Notes

Title: Introduction to Building Blocks


1
Blackboard Building Blocks
Portal Modules and Module Types
Tom Joyce, Product Manager, Product Development
Wednesday, January 20, 2016
2
Road Map
  • What are Portals?
  • Module Types
  • Creating Modules
  • API

3
What are Portals?
  • Portal Entry point
  • Customizable for the user
  • Can unite several sources of information and
    present them in one central place
  • Sites can customize the Portal for a specific
    type of user or market
  • Good portals are sticky

4
Example of a sticky Portal
5
Blackboard Portal Components
Tab
Layout
Contents
Module
Module Edit
Minimize
Delete
6
Module Types
  • Code for the Module
  • Every Module has an associated Type
  • One or more JSP pages

7
Pre Built Module Types
  • Include HTML
  • Include URL
  • RSS Channel

8
Module Type JSP Pages
  • View
  • What gets displayed when the module is rendered
  • Admin
  • Edit Global properties
  • Edit
  • User customizable properties

9
View
  • Rendered Inline
  • No HTML Header or Body Tags

10
Edit
Calls the edit page
11
Edit
12
Admin
Admin Page for Global Configuration
13
Admin
14
Creating Module Types
  • JSP is easiest
  • Tags Provided for Edit and Admin Pages
  • modulePersonalizationPage
  • modulePersonalizationReceipt
  • moduleAdminPage
  • ModuleAdminReceipt

15
Portal API
  • Java
  • Class CustomData
  • In package blackboard.portal.external
  • Javadoc available in SDK

16
Portal API
  • To get the CustomData for a module, use
    getModuleData(context)
  • CustomData data CustomData.getModuleData(pageCon
    text)
  • String text data.getValue(body.lunchMenu)
  • String text data.getValue(body.type)

17
Portal API
  • Can also save module global properties

CustomData data CustomData.getModuleData(pageCon
text) String text data.setValue(body.lunchMenu
, Roast Turkey) String text
data.setValue(body.type,Entrée) data.save()
18
Portal API
  • Similar Methods exist to set user specific data

CustomData data CustomData.getModulePersonalizat
ionData(pageContext) String text
data.setValue(userpref.display,
ALL) data.save()
19
Packaging the Module Type
  • Put it in a System Extension Package
  • JSPs in /module directory
  • ltmodule-type ext-ref"smpl-module" title"Sample
    Plug-in Module Type" uicreatable"true"gt
  • ltjsp-dirgtmodulelt/jsp-dirgt
  • ltjspgt
  • ltviewgtview.jsplt/viewgt
  • lteditgtedit.jsplt/editgt
  • ltadmingtadmin.jsplt/admingt
  • lt/jspgt
  • lt/module-typegt

20
Creating a Module
  • Can specify a module type already in the system
    or in the same installation package
  • Many modules can be created using the Bb supplied
    types
  • Could leverage types that become available in the
    community
  • Entries in bb-manifest.xml file
  • module
  • channel

21
Creating a Module
  • Module is packaged a standard Integration Agent
    Package
  • bb-manifest.xml
  • module
  • channel

22
Specifying a Module
  • Module Manifest Entry

ltmodule type"portal/channel" isadmin"true"
useraddable"true" isdeletable"true"
title"Sample Channel Module"gt
ltdescriptiongtSample channel module. This module
accesses the RSS channel installed with this
plug-in.lt/descriptiongt ltExtraInfogt
ltproperty key"channel.id" type"String"gtsmpl-g
amenewslt/propertygt lt/ExtraInfogt lt/modulegt
23
Specifying a Module
  • Channel Manifest Entry (Module Def)

ltmodule type"portal/channel" isadmin"true"
useraddable"true" isdeletable"true"
title"Sample Channel Module"gt
ltdescriptiongtSample channel module. This module
accesses the RSS channel installed with this
plug-in.lt/descriptiongt ltExtraInfogt
ltproperty key"channel.id" type"String"gtsmpl-g
amenewslt/propertygt lt/ExtraInfogt lt/modulegt
24
Specifying a Module
  • Channel Manifest Entry (Channel Def)

ltrss-channel ext-ref"gamenews" title"Game
News"gt ltdata-urlgt lthttp//www.palminfocent
er.com/feed.xml lt/data-urlgt lt/rss-channelgt
25
Specifying a Module
  • Can also optionally specify Portal Roles

ltmodule-groupsgt ltmodule-group
id"Student"/gt lt/module-groupsgt
26
Demonstration!
27
Thank You

Demos to Follow gt
Write a Comment
User Comments (0)
About PowerShow.com