my first building block as a portal module
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 PresentationTRANSCRIPT
![Page 1: My First Building Block as a Portal Module](https://reader035.vdocument.in/reader035/viewer/2022062517/56813064550346895d963a02/html5/thumbnails/1.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062517/56813064550346895d963a02/html5/thumbnails/2.jpg)
Road Map
• What are Portals?• Module Types• Creating Modules• API
![Page 3: My First Building Block as a Portal Module](https://reader035.vdocument.in/reader035/viewer/2022062517/56813064550346895d963a02/html5/thumbnails/3.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062517/56813064550346895d963a02/html5/thumbnails/4.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062517/56813064550346895d963a02/html5/thumbnails/5.jpg)
Example of a “sticky” Portal
![Page 6: My First Building Block as a Portal Module](https://reader035.vdocument.in/reader035/viewer/2022062517/56813064550346895d963a02/html5/thumbnails/6.jpg)
Blackboard Community System Components
Tab
Module
Module Edit
MinimizeDelete
Contents Layout
![Page 7: My First Building Block as a Portal Module](https://reader035.vdocument.in/reader035/viewer/2022062517/56813064550346895d963a02/html5/thumbnails/7.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062517/56813064550346895d963a02/html5/thumbnails/8.jpg)
Pre Built Module Types
• Include HTML
• Include URL
• RSS Channel
![Page 9: My First Building Block as a Portal Module](https://reader035.vdocument.in/reader035/viewer/2022062517/56813064550346895d963a02/html5/thumbnails/9.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062517/56813064550346895d963a02/html5/thumbnails/10.jpg)
View
• Rendered Inline• No HTML Header or Body Tags
![Page 11: My First Building Block as a Portal Module](https://reader035.vdocument.in/reader035/viewer/2022062517/56813064550346895d963a02/html5/thumbnails/11.jpg)
Edit
Calls the edit page
![Page 12: My First Building Block as a Portal Module](https://reader035.vdocument.in/reader035/viewer/2022062517/56813064550346895d963a02/html5/thumbnails/12.jpg)
Edit
![Page 13: My First Building Block as a Portal Module](https://reader035.vdocument.in/reader035/viewer/2022062517/56813064550346895d963a02/html5/thumbnails/13.jpg)
Admin
Admin Page for Global
Configuration
Manage Modules Page
![Page 14: My First Building Block as a Portal Module](https://reader035.vdocument.in/reader035/viewer/2022062517/56813064550346895d963a02/html5/thumbnails/14.jpg)
Admin
![Page 15: My First Building Block as a Portal Module](https://reader035.vdocument.in/reader035/viewer/2022062517/56813064550346895d963a02/html5/thumbnails/15.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062517/56813064550346895d963a02/html5/thumbnails/16.jpg)
Portal API
• Java
• Class: CustomData
• In package blackboard.portal.external
• Javadoc available in SDK
![Page 17: My First Building Block as a Portal Module](https://reader035.vdocument.in/reader035/viewer/2022062517/56813064550346895d963a02/html5/thumbnails/17.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062517/56813064550346895d963a02/html5/thumbnails/18.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062517/56813064550346895d963a02/html5/thumbnails/19.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062517/56813064550346895d963a02/html5/thumbnails/20.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062517/56813064550346895d963a02/html5/thumbnails/21.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062517/56813064550346895d963a02/html5/thumbnails/22.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062517/56813064550346895d963a02/html5/thumbnails/23.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062517/56813064550346895d963a02/html5/thumbnails/24.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062517/56813064550346895d963a02/html5/thumbnails/25.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062517/56813064550346895d963a02/html5/thumbnails/26.jpg)
Demonstration!
![Page 27: My First Building Block as a Portal Module](https://reader035.vdocument.in/reader035/viewer/2022062517/56813064550346895d963a02/html5/thumbnails/27.jpg)
Thank you!