Top Banner
Blackboard Building Blocks Portal Modules and Module Types Friday, June 17, 202 2 Tom Joyce, Product Manager, Product Development
27

Blackboard Building Blocks Portal Modules and Module Types Monday, November 16, 2015 Tom Joyce, Product Manager, Product Development.

Jan 05, 2016

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Blackboard Building Blocks Portal Modules and Module Types Monday, November 16, 2015 Tom Joyce, Product Manager, Product Development.

Blackboard Building Blocks

Portal Modules and Module Types

Thursday, April 20, 2023

Tom Joyce, Product Manager, Product Development

Page 2: Blackboard Building Blocks Portal Modules and Module Types Monday, November 16, 2015 Tom Joyce, Product Manager, Product Development.

Road Map

What are Portals?Module TypesCreating ModulesAPI

Page 3: Blackboard Building Blocks Portal Modules and Module Types Monday, November 16, 2015 Tom Joyce, Product Manager, Product Development.

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”

Page 4: Blackboard Building Blocks Portal Modules and Module Types Monday, November 16, 2015 Tom Joyce, Product Manager, Product Development.

Example of a “sticky” Portal

Page 5: Blackboard Building Blocks Portal Modules and Module Types Monday, November 16, 2015 Tom Joyce, Product Manager, Product Development.

Blackboard Portal ComponentsTab

Module

Module Edit

Minimize

Delete

Contents

Layout

Page 6: Blackboard Building Blocks Portal Modules and Module Types Monday, November 16, 2015 Tom Joyce, Product Manager, Product Development.

Module Types

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

Page 7: Blackboard Building Blocks Portal Modules and Module Types Monday, November 16, 2015 Tom Joyce, Product Manager, Product Development.

Pre Built Module Types

Include HTMLInclude URLRSS Channel

Page 8: Blackboard Building Blocks Portal Modules and Module Types Monday, November 16, 2015 Tom Joyce, Product Manager, Product Development.

Module Type JSP Pages

View– What gets displayed when the module is

rendered

Admin– Edit Global properties

Edit– User customizable properties

Page 9: Blackboard Building Blocks Portal Modules and Module Types Monday, November 16, 2015 Tom Joyce, Product Manager, Product Development.

View

Rendered InlineNo HTML Header or Body Tags

Page 10: Blackboard Building Blocks Portal Modules and Module Types Monday, November 16, 2015 Tom Joyce, Product Manager, Product Development.

Edit

Calls the edit page

Page 11: Blackboard Building Blocks Portal Modules and Module Types Monday, November 16, 2015 Tom Joyce, Product Manager, Product Development.

Edit

Page 12: Blackboard Building Blocks Portal Modules and Module Types Monday, November 16, 2015 Tom Joyce, Product Manager, Product Development.

Admin

Admin Page for Global

Configuration

Page 13: Blackboard Building Blocks Portal Modules and Module Types Monday, November 16, 2015 Tom Joyce, Product Manager, Product Development.

Admin

Page 14: Blackboard Building Blocks Portal Modules and Module Types Monday, November 16, 2015 Tom Joyce, Product Manager, Product Development.

Creating Module Types

JSP is easiestTags Provided for Edit and Admin Pages

– modulePersonalizationPage– modulePersonalizationReceipt– moduleAdminPage– ModuleAdminReceipt

Page 15: Blackboard Building Blocks Portal Modules and Module Types Monday, November 16, 2015 Tom Joyce, Product Manager, Product Development.

Portal API

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

Page 16: Blackboard Building Blocks Portal Modules and Module Types Monday, November 16, 2015 Tom Joyce, Product Manager, Product Development.

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”);

Page 17: Blackboard Building Blocks Portal Modules and Module Types Monday, November 16, 2015 Tom Joyce, Product Manager, Product Development.

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();

Page 18: Blackboard Building Blocks Portal Modules and Module Types Monday, November 16, 2015 Tom Joyce, Product Manager, Product Development.

Portal API

Similar Methods exist to set user specific data

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

Page 19: Blackboard Building Blocks Portal Modules and Module Types Monday, November 16, 2015 Tom Joyce, Product Manager, Product Development.

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>

Page 20: Blackboard Building Blocks Portal Modules and Module Types Monday, November 16, 2015 Tom Joyce, Product Manager, Product Development.

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

Page 21: Blackboard Building Blocks Portal Modules and Module Types Monday, November 16, 2015 Tom Joyce, Product Manager, Product Development.

Creating a Module

Module is packaged a standard Integration Agent Package

bb-manifest.xml– module– channel

Page 22: Blackboard Building Blocks Portal Modules and Module Types Monday, November 16, 2015 Tom Joyce, Product Manager, Product Development.

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>

Page 23: Blackboard Building Blocks Portal Modules and Module Types Monday, November 16, 2015 Tom Joyce, Product Manager, Product Development.

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>

Page 24: Blackboard Building Blocks Portal Modules and Module Types Monday, November 16, 2015 Tom Joyce, Product Manager, Product Development.

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>

Page 25: Blackboard Building Blocks Portal Modules and Module Types Monday, November 16, 2015 Tom Joyce, Product Manager, Product Development.

Specifying a Module

Can also optionally specify Portal Roles

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

Page 26: Blackboard Building Blocks Portal Modules and Module Types Monday, November 16, 2015 Tom Joyce, Product Manager, Product Development.

Demonstration!

Page 27: Blackboard Building Blocks Portal Modules and Module Types Monday, November 16, 2015 Tom Joyce, Product Manager, Product Development.

Thank You

Demos to Follow >