Sun Java logo     Previous      Contents      Index      Next     

Sun logo
Sun[TM] Identity Manager 8.0 Deployment Overview 

Chapter 7
Private Labeling of Identity Manager

This chapter identifies the basic components you will need to rebrand the Identity Manager interface to match your company’s intranet or corporate style guidelines. Private labeling is the customization of the interface to meet these corporate guidelines.


Private Labeling Tasks

There are three general categories of private labeling tasks:


Architectural Features

Private labeling includes editing the components listed in the following table.

Table 7-1  Customizable Components  

Component

Interface

$WSHOME/styles/customStyle.css

Administrator and User

$WSHOME/WEB-INF/lib/idmcommon.jar

Administrator and User

$WSHOME/user/userFooter_beforeFirstTableRowTag.jsp

User Interface

$WSHOME/user/userFooter_beforeEndBodyTag.jsp

User Interface

$WSHOME/user/userFooter_beforeLastEndTableRowTag.jsp

User Interface

$WSHOME/includes/bodyEnd_beforeFirstTableRowTag.jsp

Administrator Interface

$WSHOME/includes/bodyEnd_beforeEndBodyTag.jsp

Administrator Interface

$WSHOME/includes/bodyEnd_beforeLastEndTableRowTag.jsp

Administrator Interface

$WSHOME/index_quickLinks.jsp

Administrator and User

Style Sheets

Four style sheets affect the display characteristics of text in the product interface:

Default Text

Default text occurs throughout the product interface in the following:

Text Attributes

Display attributes include

Default Style Settings

The $WSHOME/styles/style.css and lockhart.css files contains default style settings. Do not edit these files.

Customized File

The customStyle.css file contains customizations and is not overwritten during product upgrades. Settings defined there will override the default settings in style.css and lockhart.css. Include all your customizations in customStyle.css.

JSP Files

Several JSP files contain the default settings for headers: userHeader.jsp, bodyEnd.jsp, and bodyStart.jsp. Do not edit these files. Instead, to preserve your customizations during product upgrade, edit only the JSPs listed in Architectural Features.

WPMessages_en.properties File

The $WSHOME/WEB-INF/lib/idmcommon.jar file contains the message catalog entries that you can extract into a WPMessages_en.properties file for editing.


Customizing Headers

Customization tasks are identical for both interfaces, although you must edit different files.


Note

Avoid editing any .jsp file other than the specified files. If you must edit one, first back up the .jsp to a safe location before copying, editing, and renaming it.


Changing Header Appearance

The most typical labeling tasks involve


Customizing Identity Manager Pages

Typical customizations include:

Customizing the Home Page

Adding a List of Quick Links

A typical customization to the home page involves adding a custom list of links to tasks or resources that users frequently access in your environment. These quick links offer a shortcut through the product interface to frequent destinations.

To add a list of quick links

  1. Add links to the list in index_quickLinks.jsp.
  2. Uncomment the list section by removing the surrounding <%-- and --%> tags.
  3. Save the file. You do not need to restart your application server.

Changing the Default “Logged in as ..” Text

  1. Imported the following XML file:
  2. <?xml version='1.0' encoding='UTF-8'?>

    <!DOCTYPE Configuration PUBLIC 'waveset.dtd' 'waveset.dtd'>

    <Configuration name='AltMsgCatalog'>

    <Extension>

    <CustomCatalog id='AltMsgCatalog' enabled='true'>

    <MessageSet language='en' country='US'>

    <Msg id='UI_BROWSER_TITLE_PROD_NAME_OVERRIDE'>Override Name</Msg>

    </MessageSet>

    </CustomCatalog>

    </Extension>

    </Configuration>

  3. Add the following line to the System Configuration object within the <Configuration><Extension><Object> element:
  4. <Attribute name='customMessageCatalog' value='AltMsgCatalog'/>

  5. Add the following line:
  6. <msg id=’UI_NAV_FOOT_LOG’>mytext{0}</msg>

  7. Save change and restart your application server.

Changing Page Title and Subtitle

To change the default Login page title and subtitle and welcome message, change the following entries in the custom message catalog:

To change this text, follow the procedure for extracting and editing the WPMessages_en.properties file detailed in Changing the Default “Logged in as ..” Text.

Code Example 7-1  Default Message Catalog Settings

UI_LOGIN_IN_PROGRESS_TITLE=Log In (In Progress)

UI_LOGIN_CHALLENGE=Enter Your {0} Password

UI_LOGIN_CHALLENGE_INFO=You are required to enter the password you logged into

[PRODUCT_NAME] with before the requested action can be completed.

UI_LOGIN_TITLE_LONG=[PRODUCT_NAME] LogIn

UI_LOGIN_WELCOME=Welcome to the Sun Java&#8482; System [PRODUCT_NAME] system.

Enter the requested information, and then click <b>Login</b>.

UI_LOGIN_WELCOME2=Welcome to the Sun Java&#8482; System [PRODUCT_NAME] system.

Enter your user ID and password, and then click <b>Login</b>. If you can't remember your password, click <b>Forgot Your Password?</b>

UI_LOGIN_TITLE=Log In

UI_LOGIN_TITLE_TO_RESOURCE=Log In to <b>{0}</b>

Changing Background Image on the Login Page

You can change the background image by editing customStyle.css as follows:

div#loginFormDiv {

   background:

url(.../images/other/login-backimage2.jpg)

no-repeat;

     margin-left: -10px;

     padding: 0px 0px 280px;

    height: 435px;

Customizing the Browser Title Bar

You can now replace the product name string in the browser title bar with a localizable string of your choice.

  1. Import the following XML file:
  2. Code Example 7-2  XML to Import

    <?xml version='1.0' encoding='UTF-8'?>

    <!DOCTYPE Configuration PUBLIC 'waveset.dtd' 'waveset.dtd'>

    <Configuration name='AltMsgCatalog'>

    <Extension>

    <CustomCatalog id='AltMsgCatalog' enabled='true'>

    <MessageSet language='en' country='US'>

    <Msg id='UI_BROWSER_TITLE_PROD_NAME_OVERRIDE'>Override Name</Msg>

    </MessageSet>

    </CustomCatalog>

    </Extension>

    </Configuration>

  3. Using the Identity Manager IDE, load the System Configuration object for editing. Add the following line inside the <Configuration><Extension><Object> element:
  4. <Attribute name='customMessageCatalog' value='AltMsgCatalog'/>

  5. Also in the System Configuration object, you must change ui.web.browserTitleProdNameOverride to true.
  6. Save this change to the System Configuration object, and restart your application server.

Changing Default Information Displayed in the Identity Manager User Interface Home Page

The Identity Manager User Interface home page provides a “dashboard” area that summarizes basic information about the logged-in account, including the default strings listed in the following table.

All attributes belong to the ui.web.user.dashboard object.

Table 7-2  Default Settings of ui.web.user.dashboard Object

Default Configuration Object Setting

Description

displayLoginFailures

Displays the number of unsuccessful password or authentication question login attempts if a maximum login attempts value has been configured in an account’s account policy.

displayPasswordExpirationWarning

Displays messages related to password expiration if password policy is applied to an account.

displayApprovals

displayAttestationReviews

displayOtherWorkItems

displayRemediations

Enable the display of the following work item types for all users: Approvals, Attestations, Remediations, and Other.

Note: Even if the configuration object is true for a particular type, the interface string may not appear based on the permissions granted to a user for his account.

displayRequests

Specifies the number of outstanding requests for role, group, or resource updates for an account

displayDelegations

Displays a string that indicates that the user has defined an approval delegation. Options include enabled or disabled.

By default, the value of the preceding configuration objects is set to true, and these strings will appear in the Identity Manager User Interface. To suppress the display of any string, set it to false in the System Configuration object.

You can edit the System Configuration object through the Identity Manager IDE. For information on using the Identity Manager IDE, see Using the Identity Manager IDE in Identity Manager Deployment Tools. For general information about the System Configuration object, see Appendix A, "Editing Configuration Objects."

Changing the Appearance of the User Interface Navigation Menus

The navigation menus of the User Interface requires two settings in the system configuration object:

Changing Font Characteristics

Display attributes typically specify the following basic font display characteristics:

Table 7-3  Font-related Display Characteristics

Display Attribute

Description

family

For example, Helvetica or Arial

size

Specified in point size (for example, 14 point)

weight

Unspecified indicates normal weight. When specified, typically bold

color

Typically specified as black (title -- font-family, font-size, font-weight, color

Certain components can be further defined by additional characteristics. For example, buttons can be defined with a background color. The alignment of the text and button label is another characteristic.

Editing Font Characteristics

To edit, copy from styles.css and paste into customStyle.css. Then, modify the selected setting in customStyle.css.

Example

The following entry represents the default settings for each page title:

.title {

font-family: Arial, Helvetica, sans-serif;

font-size: 16pt;

font-weight: bold;

color: C;


Sample Labeling Exercises

The following example illustrates how to suppress the Identity Manager logo and reference a custom image in the masthead of the page. Consult the example files located in the sample/rebranding directory.

Replacing the Identity Manager Logo with a Custom Logo

To change the logo in the Administrator or User interfaces, copy the following snippets from styles/style.css into customStyle.css and replace the Identity Manager logo image with your .image file:

td.MstTdLogo {

  width: 31px;

  height: 55px;

  background: url(../images/other/logo.jpg) no-repeat 5px;

}

td.MstTdTtlProdNam {

  background: url(../images/other/xyz_masthead.jpg) no-repeat 10px 30px;

  padding:10px 10px 0px 10px;

  vertical-align:top;

  white-space:nowrap;

  height: 75px;

  width: 350px;

}


Note

For best results, create logo images between 50 and 60 pixels high.


Changing Masthead Appearance

To change the look-and-feel of Identity Manager,

  1. Edit the styles/customStyle.css file.
  2. Copy the following sections from styles.css into customStyle.css and modify as appropriate.
  3. Code Example 7-3  styles/customStyle.css File  

    MstDiv {background-image:url(../images/other/dot.gif);background-repeat:repeat-x;
    background-position:left top;background-color:#000033}

    .MstTblEnd {background: url(../images/other/dot.gif);background-color: #666;height: 1px;}

    td.MstTblEndImg {

      background-color: #666;

      height: 1px;

      background: url(../images/other/dot.gif);

      font-size:1px;

    }

    td.MstTdLogo {

      width: 31px;

      height: 55px;

      background: url(../images/other/logo.jpg) no-repeat 5px;

    }

    td.MstTdSep {

      width: 1px;

      height: 61px;

      background: url(../images/other/dot.gif) no-repeat center;

    }

    td.MstTdTtlProdNam {

      background: url(../images/other/xyz_masthead.jpg) no-repeat 10px 30px;

      padding:10px 10px 0px 10px;

      vertical-align:top;

      white-space:nowrap;

      height: 75px;

      width: 350px;

    }

Changing Navigation Tabs

Customizing the Identity Manager User Interface Navigation Bar

The Identity Manager User Interface implements a second XPRESS form that contains the navigation bar. This means that the rendered page has two <FORM> tags, each with a different name attribute:

<form name="endUserNavigation">

and

<form name="mainform">

When you insert JavaScript code into the Identity Manager User Interface  navigation bar, be sure that you are referring the correct form. To do so, use the name attribute to specify which <FORM> tag you want to reference: document.mainform or document.endUserNavigation.

Customizing Navigation Links

Copy and edit the following code to customize the navigation links across the top of the page. Change the background-color to an appropriate color.

Code Example 7-4  Customizing Navigation Links  

* LEVEL 1 TABS */

.TabLvl1Div {

  background-image:url(../images/other/dot.gif);

  background-repeat:repeat-x;

  background-position:left bottom;

  background-color:#333366;

  padding:6px 10px 0px;

}

a.TabLvl1Lnk:link, a.TabLvl1Lnk:visited {

  display:block;

  padding:4px 10px 3px;

  font: bold 0.95em sans-serif;

  color:#FFF;

  text-decoration:none;

  text-align:center;

}

table.TabLvl1Tbl td {

  background-image:url(../images/other/dot.gif);

  background-repeat:repeat-x;

  background-position:left top;

  background-color:#666699;

  border:solid 1px #aba1b5;

}

table.TabLvl1Tbl td.TabLvl1TblSelTd {

  background-color:#9999CC;

  background-image:url(../images/other/dot.gif);

  background-repeat:repeat-x;

  background-position:left bottom;

  border-bottom:none;

Changing Tab Panel Tabs

Code Example 7-5  Changing Tab Panel Tabs Identity Manager 

.TabLvl2Div {

  background-image:url(../images/other/dot.gif);

  background-repeat:repeat-x;

  background-position:left bottom;

  background-color:#9999CC;

  padding:6px 0px 0px 10px

}

a.TabLvl2Lnk:link, a.TabLvl2Lnk:visited{

  display:block;

  padding:3px 6px 2px;

  font: 0.8em sans-serif;

  color:#333;

  text-decoration:none;

  text-align:center;

}

table.TabLvl2Tbl div.TabLvl2SelTxt {

  display:block;

  padding:3px 6px 2px;

  font: 0.8em sans-serif;

  color:#333;

  font-weight:normal;

  text-align:center;

}

table.TabLvl2Tbl td {

  background-image:url(../images/other/dot.gif);

  background-repeat:repeat-x;

  background-position:left top;

  background-color:#CCCCFF;

  border:solid 1px #aba1b5;

}

table.TabLvl2Tbl td.TabLvl2TblSelTd {

  border-bottom:none;

  background-image:url(../images/other/dot.gif);

  background-repeat:repeat-x;

  background-position:left bottom;

  background-color:#FFF;

  border-left:solid 1px #aba1b5;

  border-right:solid 1px #aba1b5;

  border-top:solid 1px #aba1b5;

table.Tab2TblNew td {background-image:url(../images/other/dot.gif);background-repeat:repeat-x;background-positi on:left top;background-color:#CCCCFF;border:solid 1px #8f989f}

table.Tab2TblNew td.Tab2TblSelTd {border-bottom:none;background-image:url(../images/other/dot.gif);background-repeat:repeat- x;background-position:left bottom;background-color:#FFF;border-left:solid 1px #8f989f;border-right:solid 1px #8f989f;border-top:solid 1px #8f989f}

Changing Sorting Table Header

.tablehdr {

  background-image: url(../images/other/dot.gif);

  background-repeat: repeat-x;

  background-position: left bottom;

  background-color: #9999CC;

}

Changing User / Resource Table Component

Code Example 7-6  Changing User / Resource Table Component  

.tablesorthdr {

/*background-color: #BEC7CC;*/

  background-image:url(../images/other/dot.gif);

  background-repeat:repeat-x;

  background-position:left bottom;

  background-color:#CCCCFF;

  border:solid 1px #aba1b5;

}

.treeContentLayout {

background-color: #9999CC;

}

.treeBaseRow {

padding-top: 0px;

padding-left: 10px;

padding-right: 10px;

padding-bottom: 0px;

background-color: #fff;

border-left: solid 1px #8F989F;

border-right: solid 1px #8F989F;

border-bottom: solid 1px #8F989F;

}

.treeButtonCell {

background-image:url(../images/other/dot.gif);

background-color:#666699;

color: #fff;

}

}

.treeMastHeadRow {

background-color: #333366;

}

.treeMastHeadRow {

background-color: #333366;

}

.treeMastHeadText {

background-color: #333366;

background-image: url(../images/other/dot.gif);

}

You can customize many other options (including text style and size, alignment, and the colors and configurations of other objects) by following the same procedures.


Note

To see the changes without rebooting your server or browser, perform a Ctrl-Refresh on a page.


Changing Identity Manager Behavior on Commonly Used Pages

To customize Identity Manager behavior on commonly used pages, you can alter settings in the System Configuration object.

Customizing with the System Configuration Object

You can customize many commonly altered properties of the User or Administrator interfaces can by editing the System Configuration object. The attribute <Attribute name='ui'> and its subobjects control the product interface. Modifying the attributes under this attribute can change the behavior of Identity Manager.

Miscellaneous Modifications: Admin Section of File

The admin section of System Configuration object file contains several attributes that are related to the Administrator Interface.

Miscellaneous Changes: User Section of the File

The user section of the System Configuration object file includes options for the User Interface.

The workflowResults attribute contains attributes for customizing the display of workflows for non-administrative users, as indicated below:

Table 7-4  Attributes for Customizing Workflows for Non-Administrative Users

Attribute

Description

anonSuppressReports

Controls whether the workflow diagram is displayed in the anonymous user workflow status pages (anonProcessStatus.jsp).

suppressHostName

Controls whether the hostname is included in workflow status pages for end-users (processStatus.jsp).

suppressReports

Controls whether workflow diagrams is displayed to all non-anonymous users (processStatus.jsp).

Code Example 7-8  Customizing Workflows for Non-Administrative Users  

<Attribute name='user'>

   <Object>

     <Attribute name='disableForgotPassword'>

       <Boolean>false</Boolean>

     </Attribute>

     <Attribute name='workflowResults'>

       <Object>

          <Attribute name='anonSuppressReports'>

             <Boolean>false</Boolean>

          </Attribute>

          <Attribute name='suppressHostName'>

             <Boolean>false</Boolean>

          </Attribute>

          <Attribute name='suppressReports'>

             <Boolean>false</Boolean>

         </Attribute>

        </Object>

      </Attribute>

   </Object>

</Attribute>



Previous      Contents      Index      Next     


Part No: 820-2961-10.   Copyright 2008 Sun Microsystems, Inc. All rights reserved.