Skip to main content

Customizing publication skins in IBM Rational Method Composer Version 7.2

A step-by-step tutorial

Tushara Gangavaram (tgang@us.ibm.com), Tech Services Engineer, IBM
Tushara Gangavaram
Tushara Gangavaram provides tech services to the Rational Unified Process content team and Rational Method Composer development team. She is also responsible for G11N, publishing and QA for Rational Unified Process content and libraries.
Peter Haumer, Solution Architect, IBM
Peter Haumer's photo
Peter Haumer is a solution architect for the IBM Rational Method Composer product platform. He is responsible for defining next-generation process engineering tools, and he represents IBM at the OMG in the SPEM 2.0 initiative. Before joining the Rational Unified Process team, he worked as a senior professional services consultant for the IBM Rational brand. He performed on-site consulting and training, and he assisted and coached customers to be successful with the Rational Unified Process and other Rational tools. His areas of interest include requirements management, object-oriented analysis and design for enterprise application architectures, and software process implementation. Before joining Rational, he worked in basic research in the areas of requirements engineering and flexible process-integrated CASE tool architectures. Peter received his doctorate in computer science from the Technical University Aachen, Germany.

Summary:  Learn how to create your own custom "skins" in IBM® Rational® Method Composer. By using this option, you can then quickly and easily change the look and feel of a Web site.

Date:  08 Jul 2008
Level:  Intermediate PDF:  A4 and Letter (45KB | 10 pages)Get Adobe® Reader®
Activity:  857 views

Note: Modifications to the skins that ship with IBM® Rational® Method Composer are not supported. IBM cannot guarantee that modifications made by users will work in future versions of IBM Rational Method Composer. Please see the support policy.

IBM Rational Method Composer is a platform for process engineers, project leads, and project and program managers who are responsible for maintaining and implementing processes for development organizations or individual projects. They can use Rational Method Composer to model and document their development methods and processes, as well as for reuse from the IBM Rational process library. These processes can be exported in various formats, such as project plans and business models, and published on a Web site. This site then presents a selection of method and process elements in one common look and feel.

Skins change the appearance of a Web site, such as the color scheme, graphics theme, and various elements. By using skins, you can modify the look and feel to fit your requirements.

The option to use skins was added to the Version 7.2 release in response to Rational Method Composer users' requests to be able to make specific changes to the visual presentation. For example, some users wanted to change the order in which information is presented on the various pages; others wanted to omit some model information altogether; some wanted to change the styles, such as fonts and colors, to match their company's guidelines; while others even wanted to use different terminology in places (for example, to call an activity a procedure, instead). You can now make all of these changes to the published site quickly and easily by using skins.

This tutorial teaches you how to create your own custom skins that reflect your company's Web style guide or your own personal taste.

Locations and purposes of essential files

You can create your own skin by copying the Rational Method Composer default skin and then making changes to style sheets (CSS and XSL files) and resource files. Thus, the first thing that you need to know is where to find which files to copy and modify and what they are for, so here's a summary:

  • On a Microsoft® Windows® system, after you publish or browse a site for the first time, the default skin for Rational Method Composer is located at
    C:\Documents and Settings\<user name>\RMC\Skins\RMC.
  • On Microsoft® Windows Vista®, the default skin location is C:\Users\<username>\RMC\Skins\RMC
  • Linux users will find the directory in
    /home/<username>/RMC/Skins/RMC.
  • The directory named RMC contains these subdirectories:
    • app_skin, app_widget
    • content_css
    • content_xsl
  • The content_css directory contains the default.css file that defines layout and colors settings in the published Web site.
  • The content_xsl directory contains .xsl files that are used for defining the layout of the published pages.
  • The resources.properties file in the content_xsl directory defines all text strings.

Create a skin

To create your own skin:

  1. Make a copy of the existing Rational Method Composer skin directory.
  2. Rename it, and start modifying it. For example, name the new skin directory MyCompany_Skin.

After you have made your modifications, you can use your MyCompany_Skin skin for publishing and browsing in Rational Method Composer:

  1. Select Windows > Preferences and then drill into the Look and Feel section as shown in the screen capture in Figure 1.
  2. In the dialog on the right side, use the drop-down menu for the list of skins available in the skins directory mentioned previously. In your case, select MyCompany_Skin.

Figure 1. List of available skins
Preferences view with Look and Feel skin selected

Every time that you make more changes to your skin (for example, by following the steps in the next sections), reopen the library by selecting File > Open and preview the results in the Rational Method Composer Browsing perspective. You can also publish your sites using your skin by selecting MyCompany_Skin in the Publishing dialog shown in Figure 2.


Figure 2. Options to publish glossary, index, and banner
Browse the menu under Look and Feel to choose skin

The following sections walk you through examples of how to modify your skin in any of these ways:

  • Customize colors
  • Change the layout of content
  • Modify the string resources for text displayed on the pages

Customize colors

In this example, you will change the default.css file by systematically adding a color attribute to several style definitions.

First, change the page title color by adding the color attribute and a HEX color value to the pageTitle class:

  1. Open the default.css file from the Content_css directory in a text editor. You can use Notepad or a CSS style editor, if one is available, such as Pager Designer in IBM Rational Application Developer.
  2. Search for .pageTitle.
  3. Then modify the class as code Listing 1 shows.

Listing 1. Code to modify the page title color
                
.pageTitle {
             color: #8B2500;
             font-family: arial, helvetica, sans-serif;
	font-size: 14pt;
	font-weight: normal;
	font-color: #8B0000;
}

See Figure 3 for how the resulting skin would be published, using a task title as an example.


Figure 3. Published page title
Shows Task: Capsule Design

To change the section heading color, add the color attribute to the sectionHeading class as shown in Listing 2.


Listing 2. Code change the color of the section heading
                
.sectionHeading {
             color: #8B2500;
	font-color: #00688B;
	font-family: arial, helvetica, sans-serif, kanji2;
	font-size: 10pt;
	font-weight: bold;
}

Figure 4 shows the results.


Figure 4. Heading color changed
Shows "Purpose" with definition under that

To change the color of the table heading section, add another color attribute to the sectionTableHeading class, as Listing 3 shows.


Listing 3. Code to change the color of the section table heading
                
.sectionTableHeading {
            color: #8B2500;
	background: #f8f8f8;
	border-bottom: #e8e8e8 solid 1px;	
	border-left: #e8e8e8 solid 0px;
	border-right: #e8e8e8 solid 0px;
	border-top: #e8e8e8 solid 0px;	
	height: 20;
	text-align: left;
	width: 20%;	
}

Figure 5 shows the result.


Figure 5. Heading is now also a rust brown color
Headings: Roles, Inputs, Outputs, Process Usage

To change the color of table cell headings section, add the color attribute shown in Listing for in the sectionTableCelHheading class.


Listing 4. Code to change the color of the table cell
                
.sectionTableCellHeading {
             color: #8B2500;
	font-family: arial, helvetica, sans-serif, kanji2;
	font-size: 8pt;
	font-weight: normal;
	font-color: #666666;
}
      


Figure 6. Color of cell headings in the table changed
4 brown headings above blue bulleted list items

Finally, change the color of the step headings by changing the code in the color attribute of the stepHeading class, as Listing 5 shows.


Listing 5. Code the change the color of the step headings
                
.stepHeading {
background-color: #ffffff;
color: #8B2500; 
font-family: arial, helvetica, sans-serif, kanji2;
font-size: 10pt;
font-weight: bold;
padding-bottom: 2px;
padding-left: 2px;
padding-top: 2px;
text-decoration: none;
}

Figure 7 shows the result.


Figure 7. New color for step headings
List of step headings in new color

With all of these changes together, the resulting page will look like Figure 8.


Figure 8. Published page with all changes
All titles and headings now same rust brown color

Control the layout of your pages

By modifying the .xsl files in the content_xsl directory, you can control the layout of the content pages in the Rational Method Composer published Web sites. The XSL files in this directory are named so that you can identify which files you need to modify for which element type. However, there also are some files that define shared layout elements, such as common headers and title bars that are actually "included" by other files to optimize reuse of a standard layout across page types. Table 1 shows some of the files that are included in most of the .xsl files in the content_xsl folder.


Table 1. Contents of the contents.xsl folder
File nameContent
Activity_desc.xslContains information about the sections in Capability Patterns and Delivery Process description page.
Activity_helper.xslContains information about activity diagrams. This includes files such as common.xsl, overview.xsl, and mapping.xsl. This file either acts as a helper to activity.xsl, or activity.xsl includes this file.
Common.xslContains meta information of method elements. It is included in most of the other .xsl files.
Maindescription.xslContains information about the main description of the method elements. It is included in most of the other .xsl files
Mapping.xslContains information about mapping elements to the element type. For example, Deliverable is mapped to an artifact, Outcome is mapped to an artifact
Overview.xslContains information about the element type, element presentation name, and page title separators. It is included in most of the other .xsl files.
Purpose.xslContains information about the purpose of method elements. It is included in most of the other .xsl files

Next, we'll cover examples for modifying the page layout for three different types of elements:

  • Activities
  • Tasks
  • Company logos (adding an image link to a company's logo in a common area of all element pages

Modify the page layout for activities

In the Description tab of an Activity page, you normally find sections such as Relationships, Description, Properties, Usage, More Information, and so on. In the next example, you are going to remove the properties section from the page by editing the activity_desc.xsl file in the content_xsl directory.

Figure 9 shows how the Activity pages Description tab is published with the standard activity_desc.xsl file.


Figure 9. Standard view
Description, Properties, and Staffing sections

  1. To remove the Properties section, open the activity_desc.xsl file in a text or XML editor, and search for the propertiesSection string (see Listing 6).

Listing 6. Code to remove the Properties section
                
<xsl:call-template name="relationshipsSection"/>
<xsl:call-template name="generalTextFieldSection">
<xsl:with-param name="fieldLabel" select="$descriptionText"/>
<xsl:with-param name="fieldText" select=
"$contentDescription/attribute[@name='mainDescription']"/>
</xsl:call-template>
<xsl:call-template name="propertiesSection">
<xsl:with-param name="contentDescription" select=
"$contentDescription"/>
</xsl:call-template>
<xsl:call-template name="IllustrationsSection"/>
<xsl:call-template name="generalTextFieldSection">
<xsl:with-param name="fieldLabel" select="$staffingText"/>
<xsl:with-param name="fieldText" select=
"$contentDescription/attribute[@name='howtoStaff']"/>
</xsl:call-template>
<xsl:call-template name="usageSection">
<xsl:with-param name="contentDescription" select="$contentDescription"/>
</xsl:call-template>
<xsl:call-template name="generalTextFieldSection">
<xsl:with-param name="fieldLabel" select="$keyConsiderationsText"/>
<xsl:with-param name="fieldText" select=
"$contentDescription/attribute[@name='keyConsiderations']"/>
</xsl:call-template>

You can find the XSL code in Listing 6 (previously) between these tags:

<xsl:template match="/Element">
and
<xsl:template>
which is before
<xsl:template name="activityTabs">

  1. Delete the call-template element from the code to remove the Properties section from the layout, as Listing 7 shows.

Listing 7. Delete the call-template element
                
<xsl:call-template name="propertiesSection">
<xsl:with-param name="contentDescription" select="$contentDescription"/>
</xsl:call-template>

The resulting Activity page will be published as Figure 10 shows.


Figure 10. Revised activity page
Revised view with subcategories

If you wanted to move the Properties section to another location, such as behind the Usage section, you could simply cut and paste this call-template element to the right position, just behind the call-template element with the name usageSection.

Modify the page layout for tasks

In the task page, you normally find sections presented in the order shown in Figure 11:

  • Purpose
  • Relationships
  • Main Description
  • Steps
  • More Information

Figure 11. Usual order of sections
Shows sections as listed

To change the order of these sections (for example, to move Relationships below Main Description), modify the task.xsl file:

  1. Open this file in a text or XML editor and search for relationships. You will find it in the code shown in Listing 8.

Listing 8. Code for Relationships
                
<xsl:call-template name="purposeSection">
	<xsl:with-param name="description" select="$taskDescription"/>
</xsl:call-template>
<xsl:call-template name="relationshipsSection"/>
<xsl:call-template name="mainDescriptionSection">
	<xsl:with-param name="description" select="$taskDescription"/>
</xsl:call-template>
<xsl:call-template name="stepsSection">
	<xsl:with-param name="description" select="$taskDescription"/>
</xsl:call-template>
      

  1. Move <xsl:call-template name=&quot;relationshipsSection&quot;/> from this code:
<xsl:call-template name="relationshipsSection"/>
	<xsl:call-template name="mainDescriptionSection">
	<xsl:with-param name="description" select="$taskDescription"/>
</xsl:call-template>
      

Now it will be as Listing 9 shows.


Listing 9. Sample code listing at maximum width
                
<xsl:call-template name="purposeSection">
	<xsl:with-param name="description" select="$taskDescription"/>
</xsl:call-template>
<xsl:call-template name="mainDescriptionSection">
	<xsl:with-param name="description" select="$taskDescription"/>
</xsl:call-template>
<xsl:call-template name="relationshipsSection"/>
<xsl:call-template name="stepsSection">
	<xsl:with-param name="description" select="$taskDescription"/>
</xsl:call-template>

The resulting task page will be published as Figure 12 shows.


Figure 12. Revised task pane as published
Task: Architectural Analysis screen capture

Modify the page layout for delivery processes

A delivery process description page contains following sections (see Figure 13):

  • Relationships
    • Context
    • Included Patterns
  • Description
  • Properties
  • Usage

Figure 13. Delivery Process screen example
4 tabs, Description tab and view selected

The Included Patterns section contains a list of all of the capability patterns that have been used to construct this particular Delivery Process. Sometimes, you might want to hide this modeling information from the Web site users. To delete this subsection in the Relationships section, edit the activity_desc.xsl file.

Find the element that is shown in Listing 10.


Listing 10. Find this element
                
<xsl:call-template name="addReferences">
	<xsl:with-param name="refName" select="$includedPatternsText"/>
	<xsl:with-param name="refElement" select=
"referenceList[@name='includesPatterns']/Element"/>
</xsl:call-template>
      

It can be found in between the tags <xsl:template name="relationshipsSection"> and </xsl:template>.

To remove Included Patterns from the description, delete the following call-template element from the code in Listing 11.


Listing 11. Delete the call-template element
                
<xsl:call-template name="addReferences">
	<xsl:with-param name="refName" select="$includedPatternsText"/>
	<xsl:with-param name="refElement" select="referenceList[@name=
'includesPatterns']/Element"/>
</xsl:call-template>

The resulting page will be published as Figure 14 shows.


Figure 14. Updated page
Included Patterns section no longer appears

Modify the header of all pages by adding a logo

All method element pages in a published Rational Method Composer site present a common header that comprises the element's type, name, icon, and a brief description, as well as a list of tool buttons in the top-right corner (see Figure 15).


Figure 15. Method element page
Screen capture shows tool buttons in top R corner

In this example, you will learn how to add content, such as an image URL for your company's logo, to the right corner of every page. To do this, you must modify the overview.xsl file, which contains the definition of these common header elements that are included in all other pages.

  1. Open the overview.xsl file in a text editor, and search for contentPageToolbar. You should see something like what Listing 12 shows.

Listing 12. Sample code listing at maximum width
                
<div align="right" id="contentPageToolbar"/>
</td>
<xsl:if test="$showTreeBrowser">
	<td width="100%" class="expandCollapseLink" align="right">
	      <a name="mainIndex" href="{$backPath}index.htm"/>
	      <script language="JavaScript" type="text/javascript"                 
src="{$backPath}scripts/treebrowser.js"/>
	</td>
</xsl:if>
Now add the following code above <div align="right" id="contentPageToolbar"/>. 
<td width="100%">
      <div align="right">
	<a href="http://www.ibm.com/">
	 <img src="http://www.ibm.com/i/v16/t/ibm-logo.gif" style="background:  black"/>
	</a>
     </div>
     <div align="right" id="contentPageToolbar"/>
</td>

This will add the image on the top-right corner of the page. The href link used here will take you to IBM.com Web site, but you can substitute your company's URL for this URL The final source code will look like Listing 13.


Listing 13. Code to add your company's logo
                
<td width="100%">
	<div align="right">
		<a href="http://www.ibm.com">
		<img src="http://www.ibm.com/i/v16/t/ibm-logo.gif"/>
		</a>
	</div>
<div align="right" id="contentPageToolbar"/>
</td>
<xsl:if test="$showTreeBrowser">
	<td width="100%" class="expandCollapseLink" align="right">
	      <a name="mainIndex" href="{$backPath}index.htm"/>
	      <script language="JavaScript" type="text/javascript"                 
src="{$backPath}scripts/treebrowser.js"/>
	</td>
</xsl:if>

The resultant published pages will look like Figure 16.


Figure 16. Logo added to the page
IBM logo in top-right corner

  1. Click the logo to visit the Web site.

Change the terminology of the user interface

In the next example, you will replace text strings in the published pages to change the terminology that Rational Method Composer uses to present information. In the example, you are going to change the Team Allocation text (Figure 17) to Roles to label the respective tab in the Activity page.


Figure 17. Team Allocation tab
Tab label circled in red

  1. To change the string, open the resources.properties file in the content_xsl directory in a text editor, and search for the words Team Allocation.

You will find the following declaration:
tbsText=Team Allocation

  1. Change it to tbsText=Roles.

When you publish or browse an Activity page after this change, the result will look like Figure 18.


Figure 18. Tab label changed to Roles
Roles tab circled in red

Summary

This tutorial showed you how you can customize the look and feel of the Web site that you publish with IBM Rational Method Composer. All it takes is some knowledge of Web style sheets (CSS and XSL), where and which files to edit, and what sections to edit.

Many companies have corporate standards for Web site style and the look and feel. Give it a try and get your published Web pages to conform to those standards or, if you have more latitude, make your Web pages look unique.


Resources

Learn

Get products and technologies

Discuss

About the authors

Tushara Gangavaram

Tushara Gangavaram provides tech services to the Rational Unified Process content team and Rational Method Composer development team. She is also responsible for G11N, publishing and QA for Rational Unified Process content and libraries.

Peter Haumer's photo

Peter Haumer is a solution architect for the IBM Rational Method Composer product platform. He is responsible for defining next-generation process engineering tools, and he represents IBM at the OMG in the SPEM 2.0 initiative. Before joining the Rational Unified Process team, he worked as a senior professional services consultant for the IBM Rational brand. He performed on-site consulting and training, and he assisted and coached customers to be successful with the Rational Unified Process and other Rational tools. His areas of interest include requirements management, object-oriented analysis and design for enterprise application architectures, and software process implementation. Before joining Rational, he worked in basic research in the areas of requirements engineering and flexible process-integrated CASE tool architectures. Peter received his doctorate in computer science from the Technical University Aachen, Germany.

Comments (Undergoing maintenance)



Trademarks  |  My developerWorks terms and conditions

Help: Update or add to My dW interests

What's this?

This little timesaver lets you update your My developerWorks profile with just one click! The general subject of this content (AIX and UNIX, Information Management, Lotus, Rational, Tivoli, WebSphere, Java, Linux, Open source, SOA and Web services, Web development, or XML) will be added to the interests section of your profile, if it's not there already. You only need to be logged in to My developerWorks.

And what's the point of adding your interests to your profile? That's how you find other users with the same interests as yours, and see what they're reading and contributing to the community. Your interests also help us recommend relevant developerWorks content to you.

View your My developerWorks profile

Return from help

Help: Remove from My dW interests

What's this?

Removing this interest does not alter your profile, but rather removes this piece of content from a list of all content for which you've indicated interest. In a future enhancement to My developerWorks, you'll be able to see a record of that content.

View your My developerWorks profile

Return from help

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=Rational
ArticleID=318216
ArticleTitle=Customizing publication skins in IBM Rational Method Composer Version 7.2
publish-date=07082008
author1-email=tgang@us.ibm.com
author1-email-cc=rhalden@us.ibm.com
author2-email=phaumer@us.ibm.com
author2-email-cc=

My developerWorks community

Tags

Help
Use the search field to find all types of content in My developerWorks with that tag.

Use the slider bar to see more or fewer tags.

Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere).

My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).

Use the search field to find all types of content in My developerWorks with that tag. Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere). My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).

Rate a product. Write a review.

Special offers