Portal Modules and Module Types

Download Report

Transcript Portal Modules and Module Types

Blackboard Building Blocks

Portal Modules and Module Types

Tom Joyce, Product Manager, Product Development Friday, April 24, 2020

Road Map  What are Portals?

 Module Types  Creating Modules  API

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”

Example of a “sticky” Portal

Blackboard Portal Components Tab Layout Contents Module Module Edit Minimize Delete

Module Types  Code for the Module  Every Module has an associated Type  One or more JSP pages

Pre Built Module Types  Include HTML  Include URL  RSS Channel

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

View  Rendered Inline  No HTML Header or Body Tags

Edit Calls the edit page

Edit

Admin Admin Page for Global Configuration

Admin

Creating Module Types  JSP is easiest  Tags Provided for Edit and Admin Pages – modulePersonalizationPage – modulePersonalizationReceipt – moduleAdminPage – ModuleAdminReceipt

Portal API  Java  Class: CustomData  In package blackboard.portal.external

 Javadoc 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 Package  JSPs in /module directory module view.jsp edit.jsp admin.jsp

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: Sample channel module. This module accesses the RSS channel installed with this plug-in. smpl-gamenews

Specifying a Module  Channel Manifest Entry (Module Def): Sample channel module. This module accesses the RSS channel installed with this plug-in. smpl-gamenews

Specifying a Module  Channel Manifest Entry (Channel Def):

Specifying a Module  Can also optionally specify Portal Roles

Demonstration!

Thank You

Demos to Follow >