Portal UI Customization: Advanced: PEIs

Step 1: Choosing a PEI

There is a wide range of PEIs available, each with a specific purpose. The table below summarizes the available PEIs and associated methods.

Note: This information applies to AquaLogic Interaction (formerly called the Plumtree Portal) version 6.0. For more details, including a list of changes between versions, see the API documentation.  

PEI Name and Description

Available Methods

ILoginActions and ILoginActions2 (.uiinfrastructure.pei) allow you to create functionality within the scope of the login process. The login process is the most commonly customized functionality in the portal. ILoginActions2 extends ILoginActions and supports returning redirects for failed logins using SSO. For details, see the API documentation.

OnBeforeLogin

OnAfterLogin

OnFailedLogin

OnBeforeLogout

IOpenerActions (.uiinfrastructure.pei) allows you to implement custom functionality when the Common Opener is used to open an object or redirect to an Activity Space.  

OnBeforeOpen

IPageActions (.uiinfrastructure.pei) allows you to add code to every page processed by the portal. This PEI should be used sparingly.

OnPageStart

OnPageFinish

IDisplayJavaScript (.uiinfrastructure.pei) allows you to add Javascript to every banner and editor page. This PEI should be used sparingly.

DisplayJavaScript

INewEditObjectActions (.portaluiinfrastructure.pei) allows you to implement custom functionality to be processed during the most common of all administrative actions: creating or editing a new object within the portal (the items that can be created from the Create Object menu in portal administration). For additional functionality, use IObjectActions (described below)

OnCreateObject

OnEditObject

OnBeforeStoreObject

OnAfterStoreObject

IDirectoryActions (.portalpages.pei) allows you to implement functionality in response to directory actions. For example, executing extra code when a user opens a folder or document within the portal Knowledge Directory.

OnOpenFolder

OnBeforeCreateDirectoryFolder

OnAfterCreateDirectoryFolder

OnBeforeDeleteDirectoryFolder

OnAfterDeleteDirectoryFolder

OnBeforeDeleteDocument

OnBeforeCreateABOJob

OnAfterCreateABOJob

OnClickThroughToDoc

IUserProfileActions (.portalpages.pei) allows you to execute functionality when a user attempts to modify User Profile information.

OnBeforeChangeUserProfile

OnBeforeStoreUserProfile

IPasswordActions (.portalpages.pei) allows you to enforce restrictions on the password or verify the text entered by the user.

OnBeforeChangePassword

ICreateAccountActions (.portalpages.pei) allows you to execute functionality when a new user attempts to create an account, either through the Create Account button on the login page or in response to an invitation.

OnBeforeCreateAccount

OnAfterAcceptInvite

IMyPortalPageActions (.portalpages.pei) allows you to perform validation before allowing users to add or remove portal pages.

OnBeforeAddMyPortalPage

OnAfterAddMyPortalPage

OnBeforeRemoveMyPortalPage

OnAfterRemoveMyPortalPage

OnBeforeEditMyPortalPage

OnAfterEditMyPortalPage

ICommunityActions (.portalpages.pei) allows you to add functionality dynamically when a user directly joins a Community or unsubscribes from a Community.

OnAfterUserJoinsCommunity

OnAfterUserQuitsCommunity

IAdvancedSearchActions and IBannerSearchActions (.portalpages.pei) allow you to make modifications to the query being processed.

CustomizeQueryOnBeforeSearch

GetCustomActionsOnBeforeSearch

INetworkSearchActions (.portalpages.pei) allows you to make changes to network searches after they have been submitted by the user.

OnBeforeNetworkSearchProcess

ISearchSettingActions (.portalpages.pei) allows you to track creation and deletion of saved searches (Snapshot Queries), and control naming and encoding for new saved searches.

OnBeforeSaveSearch

OnAfterSaveSearch

OnBeforeRemoveSavedSearch

OnAfterModifyOrRemoveSavedSearch

IObjectActions (.portalpages.pei) allows you to add functionality to almost any event that occurs during portal administration, including Delete, Move, Copy, and Object Migration. Each method on this PEI is executed when the corresponding event is processed within portal Administration and determines if the process should continue or if modifications are required.

Note: Use the *ObjectActions PEI sparingly; these functions are loaded and processed each time the corresponding event is called.

OnBeforeDeleteObject

OnBeforeMoveObject

OnBeforeMigrateObject

OnBeforeCopyObject

OnBeforeCreateABOJob

OnAfterCreateABOJob

OnBeforeCreateAdminFolder

OnBeforeCopyAdminFolder

OnBeforeDeleteAdminFolder

The events available via PEIs are fired only in response to a userís direct action on the portal. If an action occurs as a result of some automated process or a direct call to the Portal Server, PEI methods are not called.

Example: Hello World LoginActions PEI

For example, to customize the login process, you could implement a custom ILoginActions PEI that adds a message (e.g., "HELLO WORLD ") to be displayed in ALI Logging Spy after a user logs in.

To customize the portal using a PEI, you must create a class that implements the PEI, explained in the next step.

Next: Step 2: Implementing the PEI