Installation and Upgrade > Installing and Configuring PTC FlexPLM > Role-Based Homepage Configuration > Creating Role-Based Home Pages
  
Creating Role-Based Home Pages
The only role available in the home page after installing PTC FlexPLM is the default role. To configure additional custom roles, the administrator overrides the out-of-the-box configuration file by creating a custom version of the file. You can configure as many unique layouts for the home page as needed. You can associate each layout to a specific profile representing the set of roles that make sense for the business users of the system.
Creating Custom Role-Based Home Pages
To create custom role-based home pages in PTC FlexPLM:
1. Create a PDMLink profile and add users or groups to it. Make note of the name you give the profile. You will use it in a later step to associate the profile to a home page layout.
2. To override the default configuration file, tell the system to load the custom configuration file you are about to create. Open the <Windchill>\codebase\FlexPLM.xconf file and locate the following entry:
<Property name="com.ptc.layout.configurableview.
configurableViewDefinitionXMLFile"
default="/codebase/ConfigurableView_Definitions.xml"
targetFile="codebase/wt.properties"/>
3. Copy the entry from step 2 into the clipboard.
4. Open the <Windchill>\site.xconf file and add the entry by pasting from the clipboard into a place near the end of the file.
5. Change the entry so that it reflects the custom filename.
Example to add to site.xconf:
<Property name="com.ptc.layout.configurableview.
configurableViewDefinitionXMLFile"
default="/codebase/custom.ConfigurableView_Definitions.xml"
targetFile="codebase/wt.properties"/>
6. To create the custom file, copy <Windchill>\codebase\ConfigurableView_Definitions.xml to <Windchill>\codebase\custom.ConfigurableView_Definitions.xml.
7. Alter custom.ConfigurableView_Definitions.xml to create the set of custom profiles and layouts for each custom profile to satisfy the roles that your business users assume. The following example calls out the configurable elements used to define a new layout and associate the layout to a role profile.
In your custom.ConfigurableView_Definitions.xml file, use the following elements to define the custom layouts you need and associate them to the roles your business users assume when using the PTC FlexPLM system:
Define a layoutProfileMapping element for each unique role profile defined in the system. Note that the same layout can be assigned to one or more profiles.
<layoutProfileMapping profile='default_oob_profile'
layout='standardLayout'/>

<layoutProfileMapping profile='vendor_oob_profile'
layout='standardVendorLayout'/>

<layoutProfileMapping profile='sourcingManager'
layout='sourcingLayout'/>
Define a layoutDefinition element to identify each unique layout available in the system. The name of the layout is used in the layoutProfileMapping entry when associating a layout to a role profile.
<layoutDefinition name='standardVendorLayout'>
Each layoutDefinition is made up of one or more column definitions. Use the column width to help control the overall page width.
<column width='500'>
Each column can contain components. A component is literally a page or report.
<component>
ID is the actual activity name to use.
<id>NOTICES</id>
* 
In activityControllerMappings.properties, the NOTICES activity links to an activity in a specific controller.
Use the params element to define any request parameters you want to pass to the report. This is useful for different layouts, where the same report can be used but you can trigger different views in the report based on the parameters passed to it. Also, different layouts can pass different parameters.
<params>
In this example, templateType is the actual request parameter being passed on the request to the page/report.
<templateType>COMPONENT</templateType>
Example of a custom.ConfigurableView_Definitions.xml file:
<layoutProfileMapping profile='default_oob_profile'
layout='standardLayout'/>
<layoutProfileMapping profile='vendor_oob_profile'
layout='standardVendorLayout'/>
<layoutProfileMapping profile='sourcingManager'
layout='sourcingLayout'/>
<layoutDefinition name='standardVendorLayout'>
<column width='500'>
<component>
<id>NOTICES</id>
<params>
<templateType>COMPONENT</templateType>
</params>
</component>
<component>
<id>ORDER_CONFIRMATION_SUMMARY</id>
<params>
<templateType>COMPONENT</templateType>
</params>
</component>
<component>
<id>PRODUCT_SAMPLE_SUMMARY</id>
<params>
<templateType>COMPONENT</templateType>
</params>
</component>
</column>
<column width='500'>
<component>
<id>SEASON_SUMMARY</id>
<params>
</params>
</component>
<component>
<id>RFQ_SUMMARY</id>
<params>
</params>
</component>
<component>
<id>MATERIAL_SAMPLE_SUMMARY</id>
<params>
<templateType>COMPONENT</templateType>
</params>
</component>
</column>
</layoutDefinition>