blackboard building blocks

Post on 06-Jan-2016

25 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Blackboard Building Blocks. Portal Modules and Module Types. Tom Joyce, Product Manager, Product Development. Monday, October 20, 2014. Road Map. What are Portals? Module Types Creating Modules API. What are Portals?. Portal = Entry point Customizable for the user - PowerPoint PPT Presentation

TRANSCRIPT

Blackboard Building Blocks

Portal Modules and Module Types

Thursday, April 20, 2023

Tom Joyce, Product Manager, Product Development

Road Map

What are Portals?Module TypesCreating ModulesAPI

What are Portals?

Portal = Entry pointCustomizable for the userCan unite several sources of information

and present them in one central placeSites can customize the Portal for a

specific type of user or marketGood portals are “sticky”

Example of a “sticky” Portal

Blackboard Portal ComponentsTab

Module

Module Edit

Minimize

Delete

Contents

Layout

Module Types

Code for the ModuleEvery Module has an associated TypeOne or more JSP pages

Pre Built Module Types

Include HTMLInclude URLRSS Channel

Module Type JSP Pages

View– What gets displayed when the module is

rendered

Admin– Edit Global properties

Edit– User customizable properties

View

Rendered InlineNo HTML Header or Body Tags

Edit

Calls the edit page

Edit

Admin

Admin Page for Global

Configuration

Admin

Creating Module Types

JSP is easiestTags Provided for Edit and Admin Pages

– modulePersonalizationPage– modulePersonalizationReceipt– moduleAdminPage– ModuleAdminReceipt

Portal API

JavaClass: CustomDataIn package blackboard.portal.externalJavadoc available in SDK

Portal API

To get the CustomData for a module, use getModuleData(context)

CustomData data = CustomData.getModuleData(pageContext);

String text = data.getValue(“body.lunchMenu”);

String text = data.getValue(“body.type”);

Portal API

Can also save module global properties

CustomData data = CustomData.getModuleData(pageContext);String text = data.setValue(“body.lunchMenu”, “Roast Turkey”);String text = data.setValue(“body.type”,”Entrée”);data.save();

Portal API

Similar Methods exist to set user specific data

CustomData data = CustomData.getModulePersonalizationData(pageContext);String text = data.setValue(“userpref.display”, “ALL”);data.save();

Packaging the Module Type

Put it in a System Extension PackageJSPs in /module directory

<module-type ext-ref="smpl-module" title="Sample Plug-in Module Type" uicreatable="true">

<jsp-dir>module</jsp-dir> <jsp> <view>view.jsp</view> <edit>edit.jsp</edit> <admin>admin.jsp</admin> </jsp></module-type>

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

Creating a Module

Module is packaged a standard Integration Agent Package

bb-manifest.xml– module– channel

Specifying a Module

Module Manifest Entry:<module type="portal/channel" isadmin="true" useraddable="true" isdeletable="true" title="Sample Channel Module"> <description>Sample channel module. This module accesses the RSS channel installed with this plug-in.</description> <ExtraInfo> <property key="channel.id" type="String">smpl-gamenews</property> </ExtraInfo></module>

Specifying a Module

Channel Manifest Entry (Module Def):<module type="portal/channel" isadmin="true" useraddable="true" isdeletable="true" title="Sample Channel Module"> <description>Sample channel module. This module accesses the RSS channel installed with this plug-in.</description> <ExtraInfo> <property key="channel.id" type="String">smpl-gamenews</property> </ExtraInfo></module>

Specifying a Module

Channel Manifest Entry (Channel Def):<rss-channel ext-ref="gamenews" title="Game News"><data-url> <http://www.palminfocenter.com/feed.xml </data-url></rss-channel>

Specifying a Module

Can also optionally specify Portal Roles

<module-groups> <module-group id="Student"/></module-groups>

Demonstration!

Thank You

Demos to Follow >

top related