Portal Modules Module Types Heather Natour Senior Software Engineer, Blackboard Community System.

26
Portal Modules & Module Types Heather Natour Senior Software Engineer, Blackboard Community System

description

Audience B2 Developers that want to create Portal Modules Java/JSP Programmers Some knowledge of B2 Programming …Or Just Interested to see what’s possible with Portal Modules

Transcript of Portal Modules Module Types Heather Natour Senior Software Engineer, Blackboard Community System.

Page 1: Portal Modules  Module Types Heather Natour Senior Software Engineer, Blackboard Community System.

Portal Modules & Module Types

Heather NatourSenior Software Engineer, Blackboard Community System

Page 2: Portal Modules  Module Types Heather Natour Senior Software Engineer, Blackboard Community System.

Road Map

What are Portals? Module Types Creating Modules API

Page 3: Portal Modules  Module Types Heather Natour Senior Software Engineer, Blackboard Community System.

Audience

B2 Developers that want to create Portal Modules Java/JSP Programmers Some knowledge of B2 Programming …Or Just Interested to see what’s possible with Portal

Modules

Page 4: Portal Modules  Module Types Heather Natour Senior Software Engineer, Blackboard Community System.

What are Portals?

Provides an Entry Point Provides a Customized User Experience Unites several sources of information and present them in one

central place Sites can customize Portal for a specific type of user or market

– Student, Faculty, East, West “Sticky”

Page 5: Portal Modules  Module Types Heather Natour Senior Software Engineer, Blackboard Community System.

Example of a “sticky” Portal

Page 6: Portal Modules  Module Types Heather Natour Senior Software Engineer, Blackboard Community System.

Blackboard Portal ComponentsTab

ModuleModule Edit

MinimizeDelete

Contents Layout

Page 7: Portal Modules  Module Types Heather Natour Senior Software Engineer, Blackboard Community System.

Module Types

Code for the Module Every Module has an associated Type – A Type could

have more than one instance One or more JSP pages

Page 8: Portal Modules  Module Types Heather Natour Senior Software Engineer, Blackboard Community System.

Pre Built Module Types

Include HTML Include URL RSS Channel

Page 9: Portal Modules  Module Types Heather Natour Senior Software Engineer, Blackboard Community System.

Module Type JSP Pages

View– What gets displayed when the module is rendered

Admin– Edit Global properties

Edit– User customizable properties

Page 10: Portal Modules  Module Types Heather Natour Senior Software Engineer, Blackboard Community System.

View

Rendered Inline No HTML Header or Body Tags

Page 11: Portal Modules  Module Types Heather Natour Senior Software Engineer, Blackboard Community System.

Edit

Calls the edit page

Page 12: Portal Modules  Module Types Heather Natour Senior Software Engineer, Blackboard Community System.

Edit

Page 13: Portal Modules  Module Types Heather Natour Senior Software Engineer, Blackboard Community System.

Admin

Admin Page for Global

Configuration

Manage Modules Page

Page 14: Portal Modules  Module Types Heather Natour Senior Software Engineer, Blackboard Community System.

Admin

Page 15: Portal Modules  Module Types Heather Natour Senior Software Engineer, Blackboard Community System.

Creating Module Types

JSP is easiest Tags Provided for Edit and Admin Pages (more info in

Dev Guide)– modulePersonalizationPage– modulePersonalizationReceipt– moduleAdminPage– moduleAdminReceipt

Page 16: Portal Modules  Module Types Heather Natour Senior Software Engineer, Blackboard Community System.

Portal API

Java Class: CustomData In package blackboard.portal.external Javadoc available in SDK

Page 17: Portal Modules  Module Types Heather Natour Senior Software Engineer, Blackboard Community System.

Portal API

CustomData data = CustomData.getModuleData(pageContext);

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

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

Page 18: Portal Modules  Module Types Heather Natour Senior Software Engineer, Blackboard Community System.

Portal API

Can also save Global properties for a module using this same object

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

Page 19: Portal Modules  Module Types Heather Natour Senior Software Engineer, Blackboard Community System.

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 20: Portal Modules  Module Types Heather Natour Senior Software Engineer, Blackboard Community System.

Packaging the Module Type

<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>

Put it in a System Extension Package JSPs in /module directory

Page 21: Portal Modules  Module Types Heather Natour Senior Software Engineer, Blackboard Community System.

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

Page 22: Portal Modules  Module Types Heather Natour Senior Software Engineer, Blackboard Community System.

Creating a Module

Module is packaged as a standard Building Blocks Package

bb-manifest.xml– module– channel

Page 23: Portal Modules  Module Types Heather Natour Senior Software Engineer, Blackboard Community System.

Specifying a Module

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">macnews</property> </ExtraInfo></module>

Page 24: Portal Modules  Module Types Heather Natour Senior Software Engineer, Blackboard Community System.

Specifying a Module

Channel Manifest Entry (Channel Def):

<rss-channel ext-ref=“macnews" title=“Mac News"><data-url>http://www.macnn.xml/macnn.xml </data-url></rss-channel>

Page 25: Portal Modules  Module Types Heather Natour Senior Software Engineer, Blackboard Community System.

Specifying a Module

Can also optionally specify Portal Roles (Primary and Secondary)

<module-groups> <module-group id=“student"/> <module-group id=“faculty"/></module-groups>

Page 26: Portal Modules  Module Types Heather Natour Senior Software Engineer, Blackboard Community System.

Demonstration!