Portal Modules & Module Types - PowerPoint PPT Presentation

alamea
portal modules module types n.
Skip this Video
Loading SlideShow in 5 Seconds..
Portal Modules & Module Types PowerPoint Presentation
Download Presentation
Portal Modules & Module Types

play fullscreen
1 / 26
Download Presentation
Portal Modules & Module Types
138 Views
Download Presentation

Portal Modules & Module Types

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

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

  2. Road Map • What are Portals? • Module Types • Creating Modules • API

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

  4. 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”

  5. Example of a “sticky” Portal

  6. Blackboard Portal Components Tab Contents Layout Module Module Edit Minimize Delete

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

  8. Pre Built Module Types • Include HTML • Include URL • RSS Channel

  9. Module Type JSP Pages • View • What gets displayed when the module is rendered • Admin • Edit Global properties • Edit • User customizable properties

  10. View • Rendered Inline • No HTML Header or Body Tags

  11. Edit Calls the edit page

  12. Edit

  13. Admin Manage Modules Page Admin Page for Global Configuration

  14. Admin

  15. Creating Module Types • JSP is easiest • Tags Provided for Edit and Admin Pages (more info in Dev Guide) • modulePersonalizationPage • modulePersonalizationReceipt • moduleAdminPage • moduleAdminReceipt

  16. Portal API • Java • Class: CustomData • In package blackboard.portal.external • Javadoc available in SDK

  17. 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)

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

  19. Portal API • Similar Methods exist to set user specific data CustomData data = CustomData.getModulePersonalizationData(pageContext); String text = data.setValue(“userpref.display”, “ALL”); data.save();

  20. Packaging the Module Type • Put it in a System Extension Package • JSPs 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>

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

  22. Creating a Module • Module is packaged as a standard Building Blocks Package • bb-manifest.xml • module • channel

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

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

  25. Specifying a Module • Can also optionally specify Portal Roles (Primary and Secondary) <module-groups> <module-group id=“student"/> <module-group id=“faculty"/> </module-groups>

  26. Demonstration!