1 / 27

Blackboard Building Blocks

Blackboard Building Blocks. Portal Modules and Module Types. Tom Joyce, Product Manager, Product Development. Monday, October 20, 2014. Road Map. What are Portals? Module Types Creating Modules API. What are Portals?. Portal = Entry point Customizable for the user

magnar
Download Presentation

Blackboard Building Blocks

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. Blackboard Building Blocks Portal Modules and Module Types Tom Joyce, Product Manager, Product Development Monday, October 20, 2014

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

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

  4. Example of a “sticky” Portal

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

  6. Module Types • Code for the Module • Every Module has an associated Type • One or more JSP pages

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

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

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

  10. Edit Calls the edit page

  11. Edit

  12. Admin Admin Page for Global Configuration

  13. Admin

  14. Creating Module Types • JSP is easiest • Tags Provided for Edit and Admin Pages • modulePersonalizationPage • modulePersonalizationReceipt • moduleAdminPage • ModuleAdminReceipt

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

  16. 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”);

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

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

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

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

  21. Creating a Module • Module is packaged a standard Integration Agent Package • bb-manifest.xml • module • channel

  22. Specifying a Module • Module Manifest Entry: <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">smpl-gamenews</property> </ExtraInfo> </module>

  23. Specifying a Module • Channel 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">smpl-gamenews</property> </ExtraInfo> </module>

  24. Specifying a Module • Channel Manifest Entry (Channel Def): <rss-channel ext-ref="gamenews" title="Game News"> <data-url> <http://www.palminfocenter.com/feed.xml </data-url> </rss-channel>

  25. Specifying a Module • Can also optionally specify Portal Roles <module-groups> <module-group id="Student"/> </module-groups>

  26. Demonstration!

  27. Thank You Demos to Follow >

More Related