my first building block as a portal module

27
My First Building Block as a Portal Module Heather Natour Senior Lead Engineer Blackboard Inc. September 29, 2005

Upload: ila-riley

Post on 31-Dec-2015

37 views

Category:

Documents


3 download

DESCRIPTION

My First Building Block as a Portal Module. Heather Natour Senior Lead Engineer Blackboard Inc. September 29, 2005. Road Map. What are Portals? Module Types Creating Modules API. Audience. Building Blocks Developers that want to create Blackboard Community System Modules - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: My First Building Block as a Portal Module

My First Building Block as a Portal Module

Heather NatourSenior Lead Engineer

Blackboard Inc.

September 29, 2005

Page 2: My First Building Block as a Portal Module

Road Map

• What are Portals?• Module Types• Creating Modules• API

Page 3: My First Building Block as a Portal Module

Audience

• Building Blocks Developers that want to create Blackboard Community System Modules

• Java/JSP Programmers• Some knowledge of Building Blocks

Programming• …Or Just Interested to see what’s

possible with Community System Modules

Page 4: My First Building Block as a Portal Module

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: My First Building Block as a Portal Module

Example of a “sticky” Portal

Page 6: My First Building Block as a Portal Module

Blackboard Community System Components

Tab

Module

Module Edit

MinimizeDelete

Contents Layout

Page 7: My First Building Block as a Portal Module

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: My First Building Block as a Portal Module

Pre Built Module Types

• Include HTML

• Include URL

• RSS Channel

Page 9: My First Building Block as a Portal Module

Module Type JSP Pages

• View– What gets displayed when the module is

rendered

• Admin– Edit Global properties

• Edit– User customizable properties

Page 10: My First Building Block as a Portal Module

View

• Rendered Inline• No HTML Header or Body Tags

Page 11: My First Building Block as a Portal Module

Edit

Calls the edit page

Page 12: My First Building Block as a Portal Module

Edit

Page 13: My First Building Block as a Portal Module

Admin

Admin Page for Global

Configuration

Manage Modules Page

Page 14: My First Building Block as a Portal Module

Admin

Page 15: My First Building Block as a Portal Module

Creating Module Types

• JSP is easiest

• Tags Provided for Edit and Admin Pages (more info in Dev Guide)– modulePersonalizationPage– modulePersonalizationReceipt– moduleAdminPage– moduleAdminReceipt

Page 16: My First Building Block as a Portal Module

Portal API

• Java

• Class: CustomData

• In package blackboard.portal.external

• Javadoc available in SDK

Page 17: My First Building Block as a Portal Module

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: My First Building Block as a Portal Module

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: My First Building Block as a Portal Module

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: My First Building Block as a Portal Module

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: My First Building Block as a Portal Module

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: My First Building Block as a Portal Module

Creating a Module

• Module is packaged as a standard Building Blocks Package

• bb-manifest.xml– module– channel

Page 23: My First Building Block as a Portal Module

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: My First Building Block as a Portal Module

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: My First Building Block as a Portal Module

Specifying a Module

• Can also optionally specify Institution Roles (Primary and Secondary)

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

Page 26: My First Building Block as a Portal Module

Demonstration!

Page 27: My First Building Block as a Portal Module

Thank you!