1 / 26

Portal Modules & Module Types

Portal Modules & Module Types. Heather Natour Senior Software Engineer, Blackboard Community System. Road Map. What are Portals? Module Types Creating Modules API. Audience. B2 Developers that want to create Portal Modules Java/JSP Programmers Some knowledge of B2 Programming

alamea
Download Presentation

Portal Modules & Module Types

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

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!

More Related