# Customization Overview

# Customizing the User Interface

This chapter summarizes AquaLogic User Interaction user interface customization techniques, most of which do not require special programming skills.

The purpose of this chapter is to help you scope the effort of implementing the user interface for your deployment.

This chapter includes the following sections:

- About Experience Definitions
- Navigation
- Style Sheets and Portlets
- Branding
- Pluggable Event Interfaces (PEIs)
- Custom Activity Spaces

## About Experience Definitions

Experience Definitions determine many aspects of the user interface for broad groups of users. Experience Definitions control your start page when you log in, the features available to you, the appearance of your navigation, and what mandatory links are shown in your navigation.

You can create a number of Experience Definitions for different audiences, including unauthenticated or guest users.

For information on configuring Experience Definitions, refer to the Administrator Guide for AquaLogic Interaction.

## Navigation

Portal navigation is customizable; in fact, the portal ships with eight different navigation options out of the box. Navigation controls everything outside the center of the page, not including the header and footer. To change the navigation presented to a user, edit the Navigation Options in the Experience Definition editor.

Navigations are pluggable; that is, you can develop new navigations using programming languages like C++, Visual Basic .NET, Java, or by simply defining them in XML.

Although navigations are associated with Experience Definitions, each navigation can be very dynamic, displaying a completely different look for each page type, each user, or any other settings you like. For example, the support center navigation shows completely different HTML when you are on a support center community, even though it is all done within a single pluggable navigation view. The support center navigation is downloadable from http://dev2dev.bea.com/aluserinteraction/.

## Style Sheets and Portlets

If you are happy with the layout of your existing portal and simply want to change things such as fonts, colors, logos, and images, you can override all those settings by changing your style sheet. AquaLogic User Interaction supports localization of style sheets into many languages, the easiest way to modify a style sheet for a multi-language portal is to use the Style Sheet Mill, which takes values from template files and uses them to generate style sheets in multiple languages using localized text from our translation files.

For details about the Style Sheet Mill, see http://dev2dev.bea.com/aluserinteraction/.

## Branding

You can apply different headers and footers to different Experience Definitions and communities. The headers and footer set for the Experience Definition are applied to the entire interface, except for communities that have their own custom headers and footers.

AquaLogic Interaction Publisher provides three branding portlet templates that enable you to customize the look and feel of Experience Definitions and communities:

- Header Portlet: enables you to create customized headers. A header portlet appears at the top of the page, in the portal's banner area.
- Footer Portlet: enables you to create customized footers. A footer portlet appears at the bottom of the page.
- Content Canvas: enables you to create a branding portlet that spans the entire space just below the banner and above the page’s other portlets.

You can create and configure branding portlets from these portlet templates using the Portlet Editor and Publisher’s Configure Portlet Wizard. An AquaLogic User Interaction license enables you to download and install Publisher to create and customize these branding portlets for your communities and Experience Definitions.

You can also customize the way a header or footer appears in a particular community by using the Community Preferences page from the Community Editor.

For details, see the Administrator Guide for AquaLogic Interaction Publisher.

## Pluggable Event Interfaces (PEIs)

Sometimes you want to add new functionality rather than modify existing functionality. AquaLogic Interaction has a large number of event categories you can hook into, each with several different event types. For example, you might change the post login behavior: for users who had not yet filled in their user profiles, you could have them redirected to the user profile form. To accomplish this, you would need to implement not only a PEI, but a custom activity space, model, view, and controller for any special landing pages you wanted to write from scratch. You could also use Dynamic Discovery to override a view class for an existing page.

For details on PEIs, see http://dev2dev.bea.com/aluserinteraction/.

## Custom Activity Spaces

You might want to precisely control the exact look of the center of the page, as well. For example, you might want to control how portlets are rendered on the page. The file MyPortalContentView renders portlets into columns based on your page layout style. You might want to redesign that page center so that the portlets are arranged in rows instead of columns. For this, you would need to override the default view with your own, using dynamic discovery, also outlined in http://dev2dev.bea.com/aluserinteraction/.

A more forward-compatible approach involves extending ActivitySpaces, by creating new ActivitySpaces and views that extend existing ones and directing PEIs and other links to those new spaces. Then, as AquaLogic Interaction improves existing activity space components, your code will benefit.