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