plum tree enterprise web development guide

340
NOTE: This version of the Enterprise Web Development Guide is being deprecated. For the latest development documentation, go to www.plumtree.com/edoc/Enterprise_Web_Development_Documentation.htm available on http://devcenter.plumtree.com .

Upload: abhiverma123

Post on 05-Mar-2015

204 views

Category:

Documents


3 download

TRANSCRIPT

NOTE: This version of the Enterprise Web Development Guide is being deprecated. For the latest development documentation, go to www.plumtree.com/edoc/Enterprise_Web_Development_Documentation.htm available on http://devcenter.plumtree.com.

PLUMTREE ENTERPRISE WEB DEVELOPMENT GUIDE

Plumtree Services: Design and Development

If you have any comments or questions about this document, e-mail [email protected]

COPYRIGHT INFORMATION

COPYRIGHT INFORMATION

This version was released May 2003. Companies, names, and data used in examples herein are fictitious unless otherwise noted.

Plumtree Software may have patents or pending patent applications, trademarks, copyrights, or other intellectual property rights covering subject matter in this document. The furnishing of this document does not give you any license to these patents, trademarks, copyrights, or other intellectual property rights except as expressly provided in any written license agreement from Plumtree. Java, Sun and any other Sun Microsystems product or technology are trademarks or registered trademarks of Sun Microsystems, Inc. SAP software and other SAP products are trademarks or registered trademarks of SAP AG. Siebel and any Siebel products are trademarks of Siebel Systems, Inc., and may be registered in certain jurisdictions. Microsoft Exchange, Internet Information Server (IIS), Excel and other Microsoft products are trademarks or registered trademarks of Microsoft Corporation. Lotus Notes and other Lotus products are trademarks or registered trademarks of Lotus Development Corporation. ColdFusion, JRun and any other Macromedia products are trademarks or registered trademarks of Macromedia, Inc. BEA WebLogic and any other BEA products are trademarks or registered trademarks of BEA Systems, Inc. IBM WebSphere and any other IBM products are trademarks or registered trademarks of IBM Corporation. AvantGo and any other AvantGo products are trademarks or registered trademarks of AvantGo, Inc. Any other products or company names mentioned herein may be the trademarks of their respective owners. If you have any comments on this document, please send e-mail to: [email protected].

2000-2003 Plumtree Software. All rights reserved.

P L U M T R E E E N T E R P R I S E WE B D E V E L O P M E N T G U I D E

copyrights

TA B L E O F C O N T E N T S

TABLE OF CONTENTSCopyright Information ..................................................................................................... (Copyright)

SECTION I: INTRODUCTION TO PLUMTREE SERVICES CHAPTER 1: WHAT ARE PLUMTREE SERVICES?B U I L D I N G B L O C K S : P L U M T RE E S E R VI C E S . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. 1-2Terminology ..............................................................................................................................1-2 Portlets & Portal Pages ...............................................................................................................1-3 Portlet Standards .................................................................................................................1-4 Crawlers & Search .....................................................................................................................1-4 Crawlers .............................................................................................................................1-5 Federated Search .................................................................................................................1-5 User Synchronization Services .....................................................................................................1-5 Authentication Sources .........................................................................................................1-5 Profile Sources ....................................................................................................................1-5

P L U M T RE E PO R T A L A RC H I T E C T U RE . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. 1-6Portal Server - Remote Server Communication ................................................................................1-6 The Portal Gateway ....................................................................................................................1-7 Parallel Portal Engine .................................................................................................................1-7

W H A T C H A N GE D I N 5 . 0 ? . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. 1-8Portal Administration: Web Services ..............................................................................................1-8 Plumtree Enterprise Web Development Kit ......................................................................................1-9 Portlets ....................................................................................................................................1-9 Gateway Enhancements ....................................................................................................... 1-10 Crawlers ................................................................................................................................ 1-10 Federated Search .................................................................................................................... 1-11 Authentication Sources ............................................................................................................. 1-11 Profile Sources ........................................................................................................................ 1-11

CHAPTER 2: WHICH TYPES OF SERVICES SHOULD I WRITE?U S E C A S E S . . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. 2-2 C R AW L E R S V S . S E A RC H . . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. 2-2 A U T H E N T I C AT I O N V S . P RO FI L E . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. 2-3 C H E C K L I S T . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. 2-3 C H O O S E T H E A P P RO PR I A T E TE C H N O L OG Y .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. 2-4

P L U M T R E E E N T E R P R I S E WE B D E V E L O P M E N T G U I D E

TOC-1

TA B L E O F C O N T E N T S

CHAPTER 3: WHICH TYPES OF SETTINGS SHOULD I USE?P L U M T RE E S E T T I N G S M O D E L . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . 3-2 U S E C A S E S . . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . 3-2 A D M I N I S T R A T I VE S E T T I N G S . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . 3-3Typical Use ......................................................................................................................... 3-3 Warnings ........................................................................................................................... 3-3 Examples ........................................................................................................................... 3-3

U S E R S E T T I N G S . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . 3-3Typical Use ......................................................................................................................... 3-4 Warnings ........................................................................................................................... 3-4 Examples ........................................................................................................................... 3-4

PO R T L E T S .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . 3-4Portlet Settings ........................................................................................................................ 3-4 Typical Use ......................................................................................................................... 3-4 Warnings ........................................................................................................................... 3-5 Examples ........................................................................................................................... 3-5 CommunityPortlet Settings ......................................................................................................... 3-5 Typical Use ......................................................................................................................... 3-5 Warnings ........................................................................................................................... 3-5 Examples ........................................................................................................................... 3-5 Community Settings .................................................................................................................. 3-6 Typical Use ......................................................................................................................... 3-6 Warnings ........................................................................................................................... 3-6 Examples ........................................................................................................................... 3-6

U S E R I N FO R M A T I O N . . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . 3-7 PO R T A L S E T T I N G S . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . 3-8 M A N I P U L A T I N G S E T T I N G S : C O N FI G U R A T I O N PAGE S & P RE FE RE N C E PAGE S . . . . .. . 3-9 C H E C K L I S T . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. 3-10 C H O O S I N G S E T T I N G S : G U I D E L I N E S . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. 3-11System impact ....................................................................................................................... 3-11 Efficiency .............................................................................................................................. 3-11 Access .................................................................................................................................. 3-11

CHAPTER 4: WHAT TOOLS AND RESOURCES ARE AVAILABLE?P L U M T RE E E N T E R P R I S E WE B D EVE L O P M E N T K I T ( E D K ) . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . 4-2 P L U M T RE E WO R K S H O P .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . 4-2 S U P P O R TN E T . . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . 4-3 P L U M T RE E P RO D U C T S H OW RO O M . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . 4-3

TOC-2

P L U M T R E E E N T E R P R I S E WE B D E V E L O P M E N T G U I D E

TA B L E O F C O N T E N T S

SECTION II : PLUMTREE SERVICES: DESIGN & DEVELOPMENT CHAPTER 5: PLUMTREE ENTERPRISE WEB DEVELOPMENT KIT (EDK)PO R T A L - S E R V I C E C O M MU N I C A T I O N . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. 5-2HTTP Basics ..............................................................................................................................5-2 SOAP Basics .............................................................................................................................5-4 CSP ........................................................................................................................................5-5

I N S I D E T H E E D K . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. 5-6Company Store and Database Viewer Sample Applications .................................................................5-6 Portlet API ...............................................................................................................................5-6 Plumtree Remote Client ..............................................................................................................5-6 Portal Service APIs ....................................................................................................................5-7 Service Configuration Interface ....................................................................................................5-7

E D K VE R S I O N S . . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. 5-7Installation ...............................................................................................................................5-7 Backward Compatibility ..............................................................................................................5-8 Upgrade Information ..................................................................................................................5-8

E D K & S E R VI C E D E P L OY M E N T .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. 5-9Java ........................................................................................................................................5-9 .NET ..................................................................................................................................... 5-10 Set Up EDK in Development Environment (Visual Studio .NET) ................................................... 5-10 Deploy Services ................................................................................................................. 5-10 *Impl and *Assembly Names ..................................................................................................... 5-12 *Impl ............................................................................................................................... 5-12 *Assembly (.NET only) ........................................................................................................ 5-12

CHAPTER 6: COMPANY STORE & DATABASE VIEWER SAMPLE APPLICATIONSC O M P A NY S T O RE F I L E S . . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. 6-2CompanyStoreData ....................................................................................................................6-2 Storage Files .......................................................................................................................6-2 CompanyStore ..........................................................................................................................6-2 Source Files ........................................................................................................................6-3 CompanyStoreAWS ....................................................................................................................6-6 Source Files ........................................................................................................................6-6 CompanyStoreCWS ....................................................................................................................6-6 Source Files ........................................................................................................................6-6 CompanyStorePWS ....................................................................................................................6-7 Source Files ........................................................................................................................6-7 CompanyStoreSWS ....................................................................................................................6-7 Source Files ........................................................................................................................6-7

D A T A B A S E V I EWE R F I L E S . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. 6-8DRV ........................................................................................................................................6-8 SCI .........................................................................................................................................6-8 Crawler ....................................................................................................................................6-9 DocFetch ..................................................................................................................................6-9 Non-Java Files ...........................................................................................................................6-9

P L U M T R E E E N T E R P R I S E WE B D E V E L O P M E N T G U I D E

TOC-3

TA B L E O F C O N T E N T S

CHAPTER 7: PLUMTREE REMOTE CLIENT (PRC)P L U M T RE E 5 . 0 S OA P A P I . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . 7-2 P L U M T RE E R E M O T E C L I E N T . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . 7-2 A N A T O MY O F P R C : I N S I D E V I EW . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . 7-3REmoteSessionFactory ............................................................................................................... 7-3 RemoteSessionFactory.GetTokenContext .................................................................................. 7-3 RemoteSessionFactory.GetExplicitLoginContext ......................................................................... 7-3 IRemoteSession ........................................................................................................................ 7-4 IRemoteSession.GetAPIVersion .............................................................................................. 7-4 IRemoteSession.GetLoginToken .............................................................................................. 7-4 IRemoteSession.GetEndpointURI ............................................................................................ 7-4 IRemoteSession.Get*Manager ................................................................................................ 7-4 IDocumentManager ................................................................................................................... 7-4 IDocumentManager.CreateRemoteDocument ............................................................................. 7-4 IDocumentManager.CreateWebLinkDocument ............................................................................ 7-4 IObjectManager ........................................................................................................................ 7-4 IObjectManager.LookupObjectID ............................................................................................ 7-5 IObjectManager.LookupObjectUUID ......................................................................................... 7-5 IObjectManager.QueryExtendedData ....................................................................................... 7-5 IObjectManager.QueryObjects ................................................................................................ 7-5 IObjectManager.QuerySingleObject ......................................................................................... 7-5 IPortletManager & IPortletTemplateManager ................................................................................... 7-5 IPortletTemplateManager.CreatePortletTemplate / GetPortletTemplate ........................................... 7-5 IPortletManager.CreatePortletInstance / GetPortletInstance ........................................................ 7-5 IPortletManager.DeletePortlet / IPortletTemplateManager.DeletePortletTemplate ............................. 7-6 IUserManager ........................................................................................................................... 7-6 IUserManager.GetCurrentUserGroups ...................................................................................... 7-6 IServerAdministration ................................................................................................................ 7-6 IServerAdministration.RegisterServicePackage .......................................................................... 7-6

L OG I N TO KE N S . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . 7-6 U S I N G T H E P R C : E X A M P L E S . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . 7-7Knowledge Directory .................................................................................................................. 7-7 Queries ................................................................................................................................... 7-9 Portlet Operations ................................................................................................................... 7-10

CHAPTER 8: PORTLETS: BASICSA N A T O MY O F A PO R T L E T : O VE R V I EW . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . 8-2 PO R T L E T C O N FI G U R A T I O N : PO R T A L O B J E C T S .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . 8-3 A L I G N M E N T / S I ZE . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . 8-3Standard Layouts: Narrow and Wide ............................................................................................. 8-3 Community Layouts: Header, Footer and Content Canvas .................................................................. 8-3

PO R T L E T T I T L E B A R . . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . 8-4Localization ............................................................................................................................. 8-5

PO R T L E T H E L P B U T T O N . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . 8-5 TOC-4P L U M T R E E E N T E R P R I S E WE B D E V E L O P M E N T G U I D E

TA B L E O F C O N T E N T S

Designing Portlet Help Pages .......................................................................................................8-5

S E T T I N G S & P RE FE RE N C E PAGE S . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. 8-5Preference Pages vs. Configuration Pages .......................................................................................8-6 System Settings ........................................................................................................................8-7 User Information .......................................................................................................................8-7 Administrative Settings ...............................................................................................................8-9 Administrative Preferences Page .............................................................................................8-9 Portlet Template Preferences Page ........................................................................................ 8-11 Portlet & User Settings ............................................................................................................. 8-12 Portlet Settings .................................................................................................................. 8-13 User Settings .................................................................................................................... 8-13 Community Settings ................................................................................................................. 8-15 Backward Compatibility ............................................................................................................ 8-17 ............................................................................................................................................ 8-18 Best Practices ......................................................................................................................... 8-18 Set Preferences Page .......................................................................................................... 8-18 Redirect to My Page ............................................................................................................ 8-18

PO R T L E T TE M P L A T E S . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . . 8-20Portlet Frameworks .................................................................................................................. 8-20 Plumtree Portlet Framework for Siebel eBusiness Applications .................................................... 8-21 Plumtree Portlet Framework for Microsoft Excel ....................................................................... 8-22

PO R T L E T B U N D L E S . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . . 8-23

CHAPTER 9: PORTLET DEVELOPMENTPO R T L E T D E S I G N B E S T P R A C T I C E S . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. 9-2Simplify, Simplify, Simplify ..........................................................................................................9-2 Focus on Key Functionality ..........................................................................................................9-2 Design for Speed .......................................................................................................................9-3 Weigh Focus Against Generalization ..............................................................................................9-3 Use Plumtree Style and Recognizable Terminology ...........................................................................9-3 Use Plumtree Markup Tags ..........................................................................................................9-4

A N A T O MY O F A PO R T L E T : I N S I D E V I EW .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. 9-4PortletContextFactory .................................................................................................................9-5 PortletContextFactory.CreatePortletContext ..............................................................................9-5 IPortletContext .........................................................................................................................9-5 IPortletContext.GetRequest ....................................................................................................9-5 IPortletContext.GetUser ........................................................................................................9-5 IPortletContext.GetRemotePortalSession ..................................................................................9-5 IPortletContext.GetResponse ..................................................................................................9-5 IPortletRequest .........................................................................................................................9-6 IPortletRequest.GetAggregationMode .......................................................................................9-6 IPortletRequest.GetCSPVersion ...............................................................................................9-6 IPortletRequest.GetUserInterface ............................................................................................9-6 IPortletRequest.GetPortletMode ..............................................................................................9-6 IPortletRequest.IsGatewayed .................................................................................................9-7 IPortletRequest.IsInCommunity ..............................................................................................9-7 IPortletRequest.GetCommunityID ............................................................................................9-7 IPortletRequest.GetPortletID ..................................................................................................9-7 IPortletRequest.GetPageID .....................................................................................................9-7 IPortletRequest.GetPortalUUID ...............................................................................................9-7 IPortletRequest.GetHostPageURI .............................................................................................9-7

P L U M T R E E E N T E R P R I S E WE B D E V E L O P M E N T G U I D E

TOC-5

TA B L E O F C O N T E N T S

IPortletRequest.GetReturnURI ................................................................................................ 9-7 IPortletRequest.GetImageServerURI ....................................................................................... 9-7 IPortletRequest.GetStylesheetURI ........................................................................................... 9-7 IPortletRequest.GetBannerURI ............................................................................................... 9-8 IPortletRequest.GetLoginToken .............................................................................................. 9-8 IPortletRequest.GetRemoteAPIEndpoint ................................................................................... 9-8 IPortletRequest.GetSettingCollection ....................................................................................... 9-8 IPortletRequest.GetSettingValue ............................................................................................. 9-8 IPortletRequest.GetEncryptedSettingValue ............................................................................... 9-8 IPortletRequest.GetTimeZone ................................................................................................ 9-8 IPortletUser ............................................................................................................................. 9-8 IPortletUser.GetUserID ......................................................................................................... 9-8 IPortletUser.GetUserName ..................................................................................................... 9-9 IPortletUser.GetActivityRights ................................................................................................ 9-9 IPortletUser.HasActivityRight ................................................................................................. 9-9 IPortletUser.GetCurrentCommunityAccessLevel ......................................................................... 9-9 IPortletUser.GetSettingsRights ............................................................................................... 9-9 IPortletUser.HasSettingsRight ................................................................................................ 9-9 IPortletUser.GetUserCharacterSet ........................................................................................... 9-9 IRemoteSession ...................................................................................................................... 9-10 IPortletResponse ..................................................................................................................... 9-10 IPortletResponse.SetSettingValue ......................................................................................... 9-10 IPortletResponse.SetEncryptedSettingValue ............................................................................ 9-10 IPortletResponse.RemoveSettingValue ................................................................................... 9-10 IPortletResponse.SetTitle .................................................................................................... 9-10 IPortletResponse.SetHostedDisplayMode ................................................................................ 9-10 IPortletResponse.ReturnToPortal .......................................................................................... 9-11

D Y N A M I C C O N T E N T . . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. 9-11Refreshing the My Page ............................................................................................................ Pagination ....................................................................................................................... In-Place Refresh ..................................................................................................................... Tag .................................................................................................................. Java Applets ..................................................................................................................... PopUp Windows ...................................................................................................................... 9-11 9-13 9-13 9-13 9-15 9-15

S T O R I N G D A T A O N T H E R E M O T E S E R VE R ( A P P L I C A T I O N V S . S E S S I O N ) . . .. . . . .. . . . .. 9-16Application State .................................................................................................................... Session State ......................................................................................................................... Maintaining a Session ......................................................................................................... Transferring a Session ........................................................................................................ Sessions and Memory ......................................................................................................... Storing Cookies on the Portal Server ..................................................................................... Sticky Sessions - Development Implications ........................................................................... 9-17 9-18 9-19 9-19 9-21 9-21 9-21

CHAPTER 10: PORTLET COMMUNICATIONPO R T L E T C O M MU N I C A T I O N C O M P O N E N T (P C C ) . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. 10-2PCC Basics ............................................................................................................................. A Note on Namespaces ....................................................................................................... Notification Services ................................................................................................................ RegisterForWindowEvent ..................................................................................................... RaiseEvent ....................................................................................................................... RegisterForEvent .............................................................................................................. WindowEventURN .............................................................................................................. State Management Services ...................................................................................................... 10-2 10-3 10-4 10-4 10-5 10-5 10-6 10-7

TOC-6

P L U M T R E E E N T E R P R I S E WE B D E V E L O P M E N T G U I D E

TA B L E O F C O N T E N T S

PutSessionState ................................................................................................................. 10-7 GetSessionState ................................................................................................................ 10-7 ClearSessionState .............................................................................................................. 10-7

U S E R S E T T I N G S . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . . 10-8 R E M O T E T I E R C O M MU N I C A T I O N . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . 10-10

CHAPTER 11: CRAWLERS & SEARCH SERVICES: BASICSC R AW L V S . S E A RC H .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . . 11-2 C R AW L E R S . . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . . 11-2Anatomy of a Crawl: Overview ................................................................................................... 11-3 Crawler Configuration: Portal Objects .......................................................................................... 11-3

S E A RC H S E R V I C E S . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . . 11-4Anatomy of a Search: Overview ................................................................................................. 11-4 Search Service Configuration: Portal Objects ................................................................................ 11-4

CHAPTER 12: SEARCH SERVICE DEVELOPMENTA N A T O MY O F A S E A RC H : I N S I D E V I EW . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . . 12-2IRemoteSearch ....................................................................................................................... 12-2 IRemoteSearch.BasicSearch ................................................................................................. 12-2 ISearchQuery ......................................................................................................................... 12-2 ISearchQuery.GetMaxReturn ................................................................................................ 12-3 ISearchQuery.GetNumberToSkip ........................................................................................... 12-3 ISearchQuery.GetSearchInfo ................................................................................................ 12-3 ISearchQuery.GetSearchResult ............................................................................................. 12-3 ISearchQuery.GetSearchString ............................................................................................. 12-3 ISearchQuery.GetUserInfo ................................................................................................... 12-3 ISearchQuery.GetUserPrefs .................................................................................................. 12-3 ISearchUser ........................................................................................................................... 12-3 ISearchContext ....................................................................................................................... 12-3 ISearchResult ......................................................................................................................... 12-3 ISearchResult.GetNumberSkipped / SetNumberSkipped ............................................................. 12-4 ISearchResult.GetSearchResultList / SetSearchResultList .......................................................... 12-4 ISearchResult.GetTotalNumberofHits / SetTotalNumberofHits ..................................................... 12-4 ISearchResult.IsDescriptionEncoded / SetDescriptionEncoded ..................................................... 12-4 ISearchRecord ........................................................................................................................ 12-4 ISearchRecord.GetTitle / SetTitle .......................................................................................... 12-4 ISearchRecord.GetDescription / SetDescription ........................................................................ 12-4 ISearchRecord.GetOpenDocumentURL / SetOpenDocumentURL ................................................... 12-4 ISearchRecord.GetImageURL / SetImageURL ........................................................................... 12-4

I M P L E M E N T A T I O N & D E P L OYM E N T . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . . 12-5 B E S T P R A C T I C E S .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . . 12-5

P L U M T R E E E N T E R P R I S E WE B D E V E L O P M E N T G U I D E

TOC-7

TA B L E O F C O N T E N T S

CHAPTER 13: CRAWLER DEVELOPMENTA N A T O MY O F A C R AW L E R : I N S I D E V I EW . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. 13-2IContainerProvider .................................................................................................................. IContainerProvider.Initialize ................................................................................................ IContainerProvider.AttachToContainer ................................................................................... IContainerProvider.Shutdown ............................................................................................... IContainer ............................................................................................................................. IContainer.GetGroups ......................................................................................................... IContainer.GetUsers ........................................................................................................... IContainer.GetChildContainers ............................................................................................. IContainer.GetChildDocuments ............................................................................................. IContainer.GetMetaData ..................................................................................................... IDocumentProvider .................................................................................................................. IDocumentProvider.Initialize ................................................................................................ IDocumentProvider.AttachToDocument .................................................................................. IDocumentProvider.Shutdown .............................................................................................. IDocument ............................................................................................................................. IDocument.GetDocumentSignature ....................................................................................... IDocument.GetMetaData ..................................................................................................... IDocument.GetDocument .................................................................................................... IDocument.GetGroups ........................................................................................................ IDocument.GetUsers .......................................................................................................... 13-3 13-3 13-3 13-4 13-4 13-4 13-4 13-4 13-4 13-4 13-5 13-5 13-5 13-5 13-6 13-6 13-6 13-7 13-7 13-7

PO R T A L I N D EX I N G . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. 13-8Unsupported File Formats ................................................................................................... 13-8

I M P L E M E N T A T I O N & D E P L OYM E N T . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. 13-9 B E S T P R A C T I C E S .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . 13-10

CHAPTER 14: CLICK-THROUGH & DOCFETCHP U BL I C U R L S .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. 14-2 D O C FE T C H . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. 14-2 A N A T O MY O F D O C FE T C H : I N S I D E V I EW . . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. 14-3IDocFetchProvider ................................................................................................................... IDocFetchProvider.Initialize ................................................................................................. IDocFetchProvider.AttachToDocument ................................................................................... IDocFetchProvider.Shutdown ............................................................................................... IDocFetch .............................................................................................................................. IDocFetch.GetMetaData ...................................................................................................... IDocFetch.GetDocument ..................................................................................................... 14-4 14-4 14-4 14-4 14-5 14-5 14-6

I M P L E M E N T A T I O N & D E P L OYM E N T . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. 14-6 C O N FI G U R A T I O N S E T T I N G S . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. 14-7User Preferences & User Information ..................................................................................... 14-7 Administrative Settings ....................................................................................................... 14-8

B E S T P R A C T I C E S .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. 14-8

TOC-8

P L U M T R E E E N T E R P R I S E WE B D E V E L O P M E N T G U I D E

TA B L E O F C O N T E N T S

CHAPTER 15: USER SYNCHRONIZATION SERVICES: BASICSU S E R S Y N C H RO N I Z A T I O N I N 5 . 0 . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . . 15-2 A N A T O MY O F A N A U T H E N T I C A T I O N S E R VI C E : O VE R V I EW . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . . 15-2Synchronization ...................................................................................................................... 15-2 Authentication ........................................................................................................................ 15-2

A U T H E N T I C AT I O N S E R V I C E C O N FI G U R A T I O N : PO R T A L O B J E C T S . .. . . . .. . . . .. . . . .. . . . . . 15-3 A N A T O MY O F A P RO FI L E S E R V I C E : O VE R V I EW .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . . 15-3Synchronization ...................................................................................................................... 15-3 Property Mapping: User Information ............................................................................................ 15-3

P RO FI L E S E R V I C E C O N FI G U R A T I O N : PO R T A L O B J E C T S . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . . 15-4

CHAPTER 16: AUTHENTICATION SERVICE DEVELOPMENTA N A T O MY O F A N A U T H E N T I C A T I O N S E R V I C E : I N S I D E V I EW . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . . 16-2Synchronization ...................................................................................................................... 16-2 AUthentication ........................................................................................................................ 16-2 ISyncProvider ......................................................................................................................... 16-3 ISyncProvider.Initialize ....................................................................................................... 16-3 ISyncProvider.GetUsers ....................................................................................................... 16-3 ISyncProvider.GetGroups ..................................................................................................... 16-3 ISyncProvider.AttachToGroup ............................................................................................... 16-3 IGroup .................................................................................................................................. 16-3 IGroup.GetChildGroups ....................................................................................................... 16-3 IGroup.GetChildUsers ......................................................................................................... 16-3 IAuthProvider ......................................................................................................................... 16-4 IAuthProvider.Authenticate .................................................................................................. 16-4

I M P L E M E N T A T I O N & D E P L OYM E N T . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . . 16-4 B E S T P R A C T I C E S .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . . 16-5

CHAPTER 17: PROFILE SERVICE DEVELOPMENTA N A T O MY O F A P RO FI L E S E R V I C E : I N S I D E V I EW . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . . 17-2IProfileProvider ....................................................................................................................... 17-2 IProfileProvider.Initialize ..................................................................................................... 17-2 IProfileProvider.GetGlobalSignature ....................................................................................... 17-3 IProfileProvider.AttachToUser ............................................................................................... 17-3 IProfileProvider.Shutdown .................................................................................................... 17-3 IUser ..................................................................................................................................... 17-3 IUser.GetUserSignature ....................................................................................................... 17-3 IUser.GetUserProperties ...................................................................................................... 17-3

I M P L E M E N T A T I O N & D E P L OYM E N T . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . . 17-4 B E S T P R A C T I C E S .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . . 17-4P L U M T R E E E N T E R P R I S E WE B D E V E L O P M E N T G U I D E

TOC-9

TA B L E O F C O N T E N T S

CHAPTER 18: SERVICE CONFIGURATIONC O N FI G U R A T I O N O P T I O N S . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. 18-2User Configuration .................................................................................................................. User Configuration page ..................................................................................................... Portlet Preference page ...................................................................................................... Profile Page (User Information) ............................................................................................ Administrative Configuration ..................................................................................................... Administrative Configuration page ........................................................................................ Administrative & Portlet Template Preferences pages ............................................................... Service Configuration page .................................................................................................. 18-2 18-2 18-4 18-4 18-5 18-5 18-6 18-6

S E R VI C E C O N FI G U R A T I O N I N T E R F A C E . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. 18-7IAdminEditor .......................................................................................................................... 18-8 IAdminEditor.Initialize ........................................................................................................ 18-8 IAdminEditor.GetPages ....................................................................................................... 18-8 IAdminEditor.Finalize ......................................................................................................... 18-8 IAdminPage ........................................................................................................................... 18-8 IAdminPage.GetTitle .......................................................................................................... 18-8 IAdminPage.GetInstructions ................................................................................................ 18-9 IAdminPage.GetHelpURI ..................................................................................................... 18-9 IAdminPage.GetImageURI ................................................................................................... 18-9 IAdminPage.GetContent ...................................................................................................... 18-9 IAdminPage.ValidatePage .................................................................................................... 18-9 Creating Pages With SCI ........................................................................................................... 18-9 SciPage.Add .................................................................................................................... 18-10 SciPage.ToString .............................................................................................................. 18-10 SciPage.SaveToFile ........................................................................................................... 18-10 SciPage.Transform ............................................................................................................ 18-10 Sci*Elements ................................................................................................................... 18-10 Implementation & Deployment ................................................................................................. 18-11 Service Configuration Pages: Portal Configuration ................................................................... 18-11 Using SCI: Examples .............................................................................................................. 18-12 Portal Editors ................................................................................................................... 18-12 Remote Document Import .................................................................................................. 18-19 Best Practices ....................................................................................................................... 18-22

SECTION III: ADVANCED TOPICS CHAPTER 19: TRANSFORMATION & MARKUPG A T EW AY TR A N S FO R M A T I O N .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. 19-2URLs ..................................................................................................................................... 19-3 Scripting Limitations .......................................................................................................... 19-3 URL Encoding .................................................................................................................... 19-4

P L U M T RE E M A R K U P TAG S . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. 19-5Current Date and Time ............................................................................................................. StyleSheet URL ....................................................................................................................... Reserved Tokens ..................................................................................................................... UserInfo Settings .............................................................................................................. User Settings .................................................................................................................... Context Names and Ids ....................................................................................................... 19-6 19-6 19-6 19-6 19-7 19-7

TOC-10

P L U M T R E E E N T E R P R I S E WE B D E V E L O P M E N T G U I D E

TA B L E O F C O N T E N T S

Unique Namespace Token .................................................................................................... 19-7 Gatewayed URLs ...................................................................................................................... 19-8 Links ..................................................................................................................................... 19-8 Portal Page Links ............................................................................................................... 19-8 Portlet Links .................................................................................................................... 19-11 Login Link ....................................................................................................................... 19-11 Unified Tree Control ............................................................................................................... 19-11

C L I E N T - S I D E S C R I P T I N G : WA R N I N G S A N D T I P S . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . 19-15Forms .................................................................................................................................. 19-15 Functions ............................................................................................................................. 19-16 JavaScript: Supported Syntax and Constructs ............................................................................. 19-17

I M AGE S . . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . 19-18Static Images: Use an Image Server ......................................................................................... 19-18 Dynamic Images .................................................................................................................... 19-19

C O N TE N T - TYP E H E A D E R . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . 19-20

CHAPTER 20: STYLEP L U M T RE E S T Y L E S . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . . 20-2Naming Structure .................................................................................................................... 20-2 Plumtree CSS Mill Tool .............................................................................................................. 20-2 Common Styles ....................................................................................................................... 20-3 ActionBar Styles ................................................................................................................ 20-3 Alert Styles ....................................................................................................................... 20-4 Calendar Styles ................................................................................................................. 20-4 Custom Application Styles .................................................................................................... 20-5 List Styles ........................................................................................................................ 20-6 Menu Styles ...................................................................................................................... 20-6 Pagination & Breadcrumb Styles ........................................................................................... 20-7 Tips Styles ........................................................................................................................ 20-7

U S I N G P L U M T RE E S T Y L E S . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . . 20-8Hosted Display Mode ................................................................................................................ 20-8 Accessing the Plumtree Style Sheet ............................................................................................ 20-9

AV A I L A BL E I M AGE S . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . . 20-9Action Images: .................................................................................................................. 20-9 Icon Images: ..................................................................................................................... 20-9

H E L P F U L S T A N D A RD S . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . 20-10Form Elements ...................................................................................................................... Text Fields (inputBox) ....................................................................................................... Drop-down Lists ............................................................................................................... Radio Buttons .................................................................................................................. CheckBoxes .................................................................................................................... Multi-Select Box ............................................................................................................... Required Fields ................................................................................................................ Navigation ............................................................................................................................ 20-10 20-10 20-10 20-11 20-11 20-12 20-12 20-12

P L U M T R E E E N T E R P R I S E WE B D E V E L O P M E N T G U I D E

TOC-11

TA B L E O F C O N T E N T S

CHAPTER 21: INTERNATIONALIZATION & LOCALIZATIONI N T E R N A T I O N A L I Z A T I O N & L O C A L I Z A T I O N : B A S I C S . . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. 21-2Design Guidelines ................................................................................................................... 21-2 Character Sets & Unicode ......................................................................................................... 21-3 Language & Locale .................................................................................................................. 21-3

O B J E C T N A M E S . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. 21-4 D A T E S A N D T I M E S . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. 21-5 I M AGE S . . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. 21-5 J AV A I N T E R N A T I O N A L I Z A T I O N . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. 21-6ResourceBundles ..................................................................................................................... ResourceBundle.getBundle .................................................................................................. ResourceBundle.getString ................................................................................................... ResourceBundle.GetObject .................................................................................................. ResourceBundle.getLocale ................................................................................................... Using Java i18n ...................................................................................................................... 21-6 21-6 21-6 21-6 21-6 21-7

. N E T I N T E R N A T I O N AL I Z A T I O N . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. 21-8CurrentCulture and CultureInfo .................................................................................................. 21-8 DateTimeFormat and NumberFormat ..................................................................................... 21-8 ResourceManager Class ............................................................................................................ 21-8 CreateFileBaseResourceManager ........................................................................................... 21-9 GetString ......................................................................................................................... 21-9 GetObject ........................................................................................................................ 21-9 String Formatting .................................................................................................................... 21-9 Using .NET I18n ..................................................................................................................... 21-10

CHAPTER 22: ALTERNATIVE BROWSING DEVICESP L U M T RE E & A L T E R N A T I VE B ROW S I N G D EV I C E S . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. 22-2Portlet Web Service Editor ........................................................................................................ 22-2 Choosing Portlets .................................................................................................................... 22-3 EDK Methods .......................................................................................................................... 22-3

M O B I L E D EV I C E D EVE L O PM E N T - B A S I C G U I D E L I N E S . . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. 22-3Cards and Decks ..................................................................................................................... 22-4 Wireless Markup Language (WML) ......................................................................................... 22-4 Handheld Device Markup Language (HDML) ............................................................................ 22-5

PO R T L E T S FO R M O B I L E D EV I C E S . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. 22-6Portlet Summary ..................................................................................................................... 22-6 Best Practices ........................................................................................................................ 22-6 Useful Tools and Resources ....................................................................................................... 22-9

PO R T L E T S FO R PE O P L E W I T H D I S A B I L I T I E S ( S E C T I O N 5 0 8 ) .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . 22-10Best Practices ....................................................................................................................... 22-10 Useful Tools and Resources ...................................................................................................... 22-12

TOC-12

P L U M T R E E E N T E R P R I S E WE B D E V E L O P M E N T G U I D E

TA B L E O F C O N T E N T S

CHAPTER 23: SECURITYS E C U RE S E R VE R C O M MU N I C A T I O N . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . . 23-2Remote Server to Portal Server .................................................................................................. 23-2 Images ............................................................................................................................ 23-2 Client Browser to Portal Server .................................................................................................. 23-3 Client Browser to Remote Server ................................................................................................ 23-3 IP Address Restrictions ............................................................................................................. 23-4 Virtual Private Network (VPN) .................................................................................................... 23-4

A C C E S S C O N T RO L L I S T S . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . . 23-4 A C T I V I T Y R I G H T S . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . . 23-5Configuring Activity Rights: Portal .............................................................................................. 23-5 Configuring Activity Rights: Objects ............................................................................................ 23-6

A U T H E N T I C AT I O N . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . . 23-7Single Sign-on (SSO) ............................................................................................................... 23-8 Plumtree and SSO .............................................................................................................. 23-9 Capturing Basic Authentication Information ............................................................................. 23-9 Windows NT/IIS and SSO .................................................................................................. 23-10 Remote Authentication Services ............................................................................................... 23-10

E N C R Y P T I O N . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . 23-10Java ENCRYPTION .................................................................................................................. 23-10 .NET Encryption .................................................................................................................... 23-10 Additional Resources ......................................................................................................... 23-12

CHAPTER 24: PLUMTREE CACHINGP L U M T RE E C A C H I N G . . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . . 24-2How Does Portlet Caching Work? ................................................................................................ 24-2 Portlet Cache Key .................................................................................................................... 24-3 Caching and Gatewayed Content ................................................................................................ 24-3

C A C H I N G S T R A T E G Y . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . . 24-4 C A C H E S E T T I N G S . . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . . 24-5HTTP Headers ......................................................................................................................... 24-5 Expires ............................................................................................................................ 24-5 Cache-Control ................................................................................................................... 24-6 Pragma ............................................................................................................................ 24-7 Last-Modified .................................................................................................................... 24-7 ETag ................................................................................................................................ 24-8 Portlet Editor .......................................................................................................................... 24-8 Caching and Development ......................................................................................................... 24-9

D E B U G G I N G TO O L S . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . 24-10

P L U M T R E E E N T E R P R I S E WE B D E V E L O P M E N T G U I D E

TOC-13

TA B L E O F C O N T E N T S

CHAPTER 25: TROUBLESHOOTINGB A S I C D E B U G G I N G T I P S . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. 25-2Use Try and Catch to Track Errors (Java) ..................................................................................... Log Errors ............................................................................................................................. Add HTML Comments to Portlet Code .......................................................................................... Turn Off Caching During Development ......................................................................................... 25-2 25-2 25-2 25-3

V I EW H T T P H E A D E R S W I T H A TUN N E L M O N I T O R .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. 25-3tcpTrace Tunnel Monitor ........................................................................................................... Test the Tunnel Monitor ...................................................................................................... View Headers .................................................................................................................... Command Line Options ....................................................................................................... Apache SOAP Tunnel Monitor ..................................................................................................... Installation ....................................................................................................................... Test the Tunnel Monitor ...................................................................................................... View Headers .................................................................................................................... 25-4 25-4 25-4 25-5 25-6 25-6 25-6 25-7

FAQ : P L U M T RE E WO R K S H O P D EVE L O P M E N T FO R U M S . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. 25-8Portlets ................................................................................................................................. 25-8 Q. Why wont my settings stick on the Portal Server? ............................................................ 25-8 Q. What is the best way to access other Portlets on a My Page for a given user? Is it possible without using the native API? ....................................................................................................................... 25-9 Q. Why isnt my Java Applet showing up? ............................................................................... 25-9 Q. Why isnt the caching I programmed in my Portlet being implemented? ................................... 25-9 Q. My Portlet only works correctly when it is at the top of the page. Why? .................................. 25-9 Q. Why arent my forms and functions working consistently (or at all)? ....................................... 25-9 Q. Why arent my JavaScript methods working? ..................................................................... 25-10 Q. Can Portlets encapsulate framesets? ................................................................................ 25-10 Q. What Servlet Engine (Java Application Server) does Plumtree recommend? ............................. 25-10 Q. I get the following error in place of my Portlet: "Gateway was not able to access requested content. If the error persists, contact your Portal Administrator." Whats wrong? ............................................. 25-10 Q. Why do I get a null pointer exception when my JSP Form passes an object to another JSP page it seems to submit a form invoked another session. Whats going wrong? .............................................. 25-11 Q. PT-Return-URI didnt return me to the correct portal page. Why? .......................................... 25-11 Q. Can different versions of the EDK (Java/.NET) run on the same Remote Server? ...................... 25-11

SECTION IV: DISTRIBUTION CHAPTER 26: PORTAL EDITORSP L U M T RE E A D M I N I S T R A T I O N U I . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. 26-2Creating Portal Objects ............................................................................................................ 26-2 Editing Portal Objects .............................................................................................................. 26-2

O B J E C T E D I T O R S : S T A N D A RD S E T T I N G S . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. 26-3Properties and Names .............................................................................................................. Localized Names and Descriptions ........................................................................................ Object Properties ............................................................................................................... Security ................................................................................................................................ Migration History and Status ..................................................................................................... 26-3 26-3 26-3 26-3 26-4

TOC-14

P L U M T R E E E N T E R P R I S E WE B D E V E L O P M E N T G U I D E

TA B L E O F C O N T E N T S

R E M O T E S E R VE R E D I T O R . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . . 26-5Main Settings .......................................................................................................................... 26-5 Associated Objects ................................................................................................................... 26-6

WE B S E R V I C E E D I T O R S .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . . 26-7Main Settings .......................................................................................................................... 26-7 Server Information ............................................................................................................. 26-7 HTTP Settings .................................................................................................................... 26-7 Status .............................................................................................................................. 26-7 HTTP Configuration .................................................................................................................. 26-8 Gateway URL Prefixes ......................................................................................................... 26-8 Gateway Caching (Portlets Only) ........................................................................................... 26-8 Advanced URLs ....................................................................................................................... 26-9 Service Configuration URL ................................................................................................... 26-9 Administration Configuration URL .......................................................................................... 26-9 User Configuration URL ....................................................................................................... 26-9 Help Page (Portlets Only) .................................................................................................... 26-9 Advanced Settings ................................................................................................................. 26-10 Basic Authentication Settings ............................................................................................. 26-10 Settings ......................................................................................................................... 26-10 SOAP Encoding Style ........................................................................................................ 26-11 Activity Rights (Portlets and Crawlers Only) .......................................................................... 26-11 Preferences .......................................................................................................................... 26-12 User Prefe