Introduction to Resource Control Display Configurations

Applies To: Forefront Identity Manager 2010

Microsoft® Forefront Identity Manager 2010 uses Resource Control Display Configuration (RCDC) resources to customize how the FIM Portal displays other resources and their properties. An RCDC can include customization of titles, descriptions, screen layouts, and which attributes are displayed. FIM 2010 includes several pre-configured RCDC’s which you can customize using an xml configuration file, or you can create a new RCDC for custom resources. Please note that removing controls in existing RCDC configuration data is not supported if the control calls for code behinds. In order to not show these controls, one should set it to invisible instead.

Note

In this release of FIM 2010, there are two RCDCs named Configuration for Synchronization Rule. This is a known issue. While it appears that the two RCDCs are the same, there is one difference. Look for the following string

<SymbolResourcePair Symbol="CaptionTabCaption" ResourceString="Edit Synchronization Rule" />

in String Resources in the Localization tab. This means that RCDC is applied to Edit and View mode of Synchronization Rule resources. Otherwise, the RCDC is applied to Creation mode only.

What This Document Covers

This document discusses how to modify the xml configuration of a default RCDC, and how to create a new RCDC for a custom resource.

Prerequisite Knowledge

This document assumes that you have

  1. A basic understanding of the FIM Portal. See Introduction to Configuring the FIM Portal for more information. It is important to read Appendix 3 in that document to understand the limitation of supported Resource Control Display Configuration extensibility.

  2. A good understanding of FIM Schema Structure. See Introduction to Schema Management for more information. It is important that you read that document before proceeding with tasks outlined in this document.

Audience

This document is intended for IT planners, systems administrators, architects, technology decision-makers, consultants, infrastructure planners, and IT personnel.

Time Requirement

The procedures in this document require at least 1 hour to complete.

Scenario Description

Fabrikam, a fictitious corporation, wants to customize the FIM Portal page that administrators will use when creating a new user, including creating and displaying a new attribute. This scenario will only touch on a few of the customization possibilities. For complete information on configuring an RCDC, see the Resource Control Display Configuration XML Reference in this document.

Requirements

To perform the procedures in this document, you should have the following:

  • A server computer that is a member of the Fabrikam forest and hosts the FIM 2010 server components.

  • Access to an XML editor.

  • A custom resource type in the FIM 2010 Schema name computer with the following attributes:

    • OperatingSystem

      • System Name: OperatingSystem

      • Display Name: Operating System

      • Data type: String

    • Memory

      • System Name: Memory

      • Display Name: Memory

      • Data type: String

    • Processor

      • System Name: Processor

      • Display Name: Processor

      • Data type: String

Important

When creating a new resource type or attribute, it is recommended that you create a new Management Policy Rule (MPR) in the FIM Portal for viewing the added resource type or attribute. The recommended permission is to allow end users to view the resource type or attribute. Failure to create permissions for customer resource types or attributes will cause the end users to be unable to view the newly added resource type or attribute value. For more information about creating a MPR, see Introduction to Management Policy Rules in the FIM 2010 documentation set.

Note

For complete steps to create the computer resource and its attributes, see Introduction to Schema Management in the FIM 2010 documentation set.

Implementing the Procedure in This Document

In this section, you will modify three pre-configured Resource Control Display configurations.

Create and bind a custom attribute

Before modifying the RCDC, you will need to create and bind a new attribute to the User resource using Schema Management.

To create a custom attribute

  1. On the home page, under Administration, click Schema Management.

  2. Click All Attributes, then click New.

  3. In System name, type PhotoCaption.

    Note

    The attribute system name is case sensitive.

  4. In Display name, type Photo Caption.

  5. In Data type, select Indexed String.

  6. In Description, type A caption for the user photo. This description will appear beneath the label when this attribute field is added to the RCDC.

  7. Click Finish, then click Submit.

To bind the attribute to the User resource

  1. In Schema Management, click All Bindings, then click New.

  2. In Resource Type, type User, and click the Validate and resolve icon.

  3. In Attribute Type, type PhotoCaption, and click the Validate and resolve icon.

  4. Click Next.

  5. On the Attribute Override page, in Display Name, enter Photo Caption.

  6. Click Finish, then click Submit.

  7. Click Start, click Run, type iisreset, and click OK.

    Note

    Running iisreset will immediately refresh the schema cache on the client side.

  8. On the Schema Management – All Bindings page, verify that the binding is successful by typing Photo Caption in Search for:, and clicking the Search icon.

Modify RCDC Configuration Data

For this scenario you will first modify the default Configuration for User Creation. Then, to ensure that the new PhotoCaption attribute can also be edited and viewed, you will modify the Configuration for User Editing, and the Configuration for User Viewing.

To Modify the Configuration for User Creation

  1. Log on to the FIM Portal as Administrator.

  2. On the FIM home page, under Administration, click Resource Control Display Configurations.

  3. On the Resource Control Display Configuration page, click Configuration for User Creation.

  4. On the Configuration for User Creation page, click Export configuration, and save the file as Create_User_backup.xml. Minimize the FIM Portal.

  5. Copy the Create_User_backup.xml configuration file and save it as Create_User_New.xml.

  6. Open the Create_User_New.xml configuration file and make the following changes:

    • To add a new Control named Photo Caption, after this xml segment:

      <my:Control my:Name="Photo" my:TypeName="UocFileUpload" my:Caption="{Binding Source=schema, Path=Photo.DisplayName}" my:Description="Displays a photo of the user">
           <my:Properties>
                <my:Property my:Name="MaxHeight" my:Value="100"/>
                <my:Property my:Name="MaxWidth" my:Value="100"/>
                <my:Property my:Name="Required" my:Value="{Binding Source=schema, Path=Photo.Required}"/>
                <my:Property my:Name="ContentType" my:Value="Binary"/>
                <my:Property my:Name="Value" my:Value="{Binding Source=object, Path=Photo, Mode=TwoWay}"/>
                <my:Property my:Name="AllowedFileTypes" my:Value="*.gif; *.jpg; *.jpeg; *.png; *.bmp; *.tif; *.tiff"/>
                <my:Property my:Name="ImageUrl" my:Value="~/_layouts/images/MSILM2/defaultuserphoto.gif"/>
                <my:Property my:Name="PromptForNoValue" my:Value="No photo specified."/>
                <my:Property my:Name="AlternateText" my:Value="{Binding Source=schema, Path=Photo.DisplayName}"/>
           </my:Properties>
      </my:Control>
      

      insert this xml segment:

            <my:Control my:Name="PhotoCaption" my:TypeName="UocTextBox" my:Caption="{Binding Source=schema, Path=PhotoCaption.DisplayName}" my:Description="{Binding Source=schema, Path=PhotoCaption.Description}">
              <my:Properties>
                <my:Property my:Name="Required" my:Value="{Binding Source=schema, Path=PhotoCaption.Required}"/>
                <my:Property my:Name="Columns" my:Value="34"/>
                <my:Property my:Name="MaxLength" my:Value="128"/>
                <my:Property my:Name="Text" my:Value="{Binding Source=object, Path=PhotoCaption, Mode=TwoWay}"/>
              </my:Properties>
            </my:Control>
      

      Save the configuration file. You have just added a Textbox control for the user to input a Photo Caption.

  7. Restore the FIM Portal, and in Configuration Data, click Browse.

  8. Select the Create_User_New.xml configuration file that you just modified, click Open.

  9. Click OK, and then click Submit.

To Modify the Configuration for User Editing

  1. On the Resource Control Display Configurations page, click Configuration for User Editing.

  2. On the Configuration for User Editing page, click Export configuration, and save the file as Edit_User_backup.xml. Minimize the FIM Portal.

  3. Copy the Edit_User_backup.xml configuration file and save it as Edit_User_New.xml.

  4. Open the Edit_User_New.xml configuration file and make the following changes:

    • To add the new Control named Photo Caption, after this xml segment:

      <my:Control my:Name="PhotoUpload" my:TypeName="UocFileUpload" my:Caption="{Binding Source=schema, Path=Photo.DisplayName}" my:Description="%SYMBOL_UsersPhotoDescription_END%"  my:RightsLevel="{Binding Source=rights, Path=Photo}">
           <my:Properties>
                <my:Property my:Name="MaxHeight" my:Value="100"/>
                <my:Property my:Name="MaxWidth" my:Value="100"/>
                <my:Property my:Name="Required" my:Value="{Binding Source=schema, Path=Photo.Required}"/>
                <my:Property my:Name="ContentType" my:Value="Binary"/>
                <my:Property my:Name="AllowedFileTypes" my:Value="*.gif; *.jpg; *.jpeg; *.png; *.bmp; *.tif; *.tiff"/>
                <my:Property my:Name="ImageUrl" my:Value="~/_layouts/images/MSILM2/defaultuserphoto.gif"/>
                <my:Property my:Name="Value" my:Value="{Binding Source=object, Path=Photo, Mode=TwoWay}"/>
                <my:Property my:Name="PromptForNoValue" my:Value="No photo specified."/>
                <my:Property my:Name="AlternateText" my:Value="{Binding Source=schema, Path=Photo.DisplayName}"/>
           </my:Properties>
      </my:Control>
      

      insert this xml segment:

      <my:Control my:Name="PhotoCaption" my:TypeName="UocTextBox" my:Caption="{Binding Source=schema, Path=PhotoCaption.DisplayName}" my:Description="{Binding Source=schema, Path=PhotoCaption.Description}" my:RightsLevel="{Binding Source=rights, Path=PhotoCaption}">
           <my:Properties>
                <my:Property my:Name="Required" my:Value="{Binding Source=schema, Path=PhotoCaption.Required}"/>
                <my:Property my:Name="Columns" my:Value="34"/>
                <my:Property my:Name="MaxLength" my:Value="128"/>
                <my:Property my:Name="Text" my:Value="{Binding Source=object, Path=PhotoCaption, Mode=TwoWay}"/>
           </my:Properties>
      </my:Control>
      

      Save the configuration file. You have just added a Textbox for the user to input a Photo Caption when editing a User resource.

  5. Restore the FIM Portal, and in Configuration Data, click Browse.

  6. Select the Edit_User_New.xml configuration file that you just modified and click Open.

  7. Click OK, and then click Submit.

To Modify the Configuration for User Viewing

  1. On the Resource Control Display Configurations page, click Configuration for User Viewing.

  2. On the Configuration for User Viewing page, click Export configuration, and save the file as View_User_backup.xml. Minimize the FIM Portal.

  3. Copy the View_User_backup.xml configuration file and save it as View_User_New.xml.

  4. Open the View_User_New.xml configuration file and make the following changes:

    • To add the Photo Caption text under the Photo field, find the following xml segment:

      <my:Control my:Name="Photo" my:TypeName="UocPictureBox" my:Caption="" my:Description="" my:RightsLevel="{Binding Source=rights, Path=Photo}">
      - <my:Properties>
        <my:Property my:Name="MaxHeight" my:Value="100" /> 
        <my:Property my:Name="MaxWidth" my:Value="100" /> 
        <my:Property my:Name="ImageData" my:Value="{Binding Source=object, Path=Photo}" /> 
        <my:Property my:Name="ImageUrl" my:Value="~/_layouts/images/MSILM2/defaultuserphoto.gif" /> 
        <my:Property my:Name="AlternateText" my:Value="{Binding Source=schema, Path=Photo.DisplayName}" /> 
        </my:Properties>
        </my:Control>
      

      And add this after above segment:

      <my:Control my:Name="PhotoCaption" my:TypeName="UocLabel" my:ExpandArea="true">
           <my:Properties>
                <my:Property my:Name="Text" my:Value="{Binding Source=object, Path=PhotoCaption}"/>
           </my:Properties>
      </my:Control>
      
  5. Save the configuration file. You have just added a read-only label that displays the Photo Caption.

  6. Restore the FIM Portal, and in Configuration Data, click Browse.

  7. Select the View_User_New.xml configuration file that you just modified and click Open.

  8. Click OK, and then click Submit.

Verifying the Configuration Changes

Note

FIM 2010 will refresh the configuration changes by default every 4 hours. To force an immediate refresh, click Start, click Run, type iisreset, and click OK.

To Verify the Configuration Changes

  1. From the FIM 2010 home page, click Users.

  2. Click New, and verify that the following modifications are displayed:

    • A new textbox control Photo Caption has been added.
  3. Fill in the Photo Caption and Display Name fields, click Finish, then click Submit.

  4. To edit the user that you just created, on the Users page click the user’s name.

  5. You will see a Textbox control where you can edit Photo Caption. Change the Photo Caption, click Finish and then click Submit.

  6. To view the change you just made, select the checkbox next to the user’s name, and click Details. You will see a label underneath the Photo that contains the Photo Caption.

Note

To restore the original configurations, simply re-import the backup xml configuration files to their respective RCDCs. If there are errors in the configuration file, error messages will be displayed at the bottom of the FIM Portal page. The error is usually caused by misplace of brackets, mismatch of casing for the attribute name and unsupported control name format. When an additional property is not supported but is added to a control, it usually has no effect and no error will be reported.

Creating a New RCDC

FIM 2010 provides RCDCs for the default resources in the database. When you create a custom resource, FIM 2010 creates a default RCDC for the new resource. However, if you create a custom resource type for your organization, you will want to create a new RCDC to customize how the resource is displayed.

Note

To perform the steps in this procedure, you must have created a custom resource named “Computer”. For more information, see the Requirements section in this document. For more information on how to create this resource type see Introduction to Schema Management.

To create a new RCDC

  1. Log on to the FIM Portal as Administrator.

  2. On the FIM 2010 home page, under Administration, click Resource Control Display Configurations.

  3. On the Resource Control Display Configuration page, click New.

  4. In Display name, type Configuration for Computer.

  5. In Target Resource Type, select Computer.

  6. In Configuration Data, click Download default create mode template.

  7. Click Save, and save the file as Create_Computer.xml, then click Close.

  8. In Configuration Data, click Browse, and select the Create_Computer.xml file from the previous step. You can also duplicate this file and make your own changes in the file then save and upload it.

    Note

    In this release, if you create attributes that contain non-English letters and non-digit characters, please remove all these characters in the control name. The auto generated Configuration Data uses attribute name as the RCDC control name. The control name, however, only supports English letters and digits. Importing these default files will cause a display error in Resource Control.

  9. Select Applies to Create, Applies to Edit, and Applies to View. This applies the configuration to create, edit and view modes in one step. You can create an RCDC for each mode. However, you should avoid creating an RCDC that applies to the same mode.

  10. Click Finish, then click Submit.

Modifying the new RCDC Configuration Data

When you create a new RCDC using the default configuration template, FIM 2010 retrieves all the attributes for that resource from the schema and creates controls for them in the xml file. In this procedure you will remove some of these controls from the configuration file so that they do not display to the end user.

Note

For more information about default attributes for a resource, see Introduction to Schema Management the FIM 2010 documentation set.

To modify the new RCDC

  1. Using an XML editor, open the Create_Computer.xml file from the previous procedure.

  2. To remove the Creator field from being displayed in the Create Computer page, highlight and delete the following code segment:

    <my:Control my:Name="Creator" my:TypeName="UocIdentityPicker" my:Caption="{Binding Source=schema, Path=Creator.DisplayName}" my:Description="{Binding Source=schema, Path=Creator.Description}" my:RightsLevel="{Binding Source=rights, Path=Creator}">
         <my:Properties>
              <my:Property my:Name="Required" my:Value="{Binding Source=schema, Path=Creator.Required}" />
              <my:Property my:Name="ColumnsToDisplay" my:Value="DisplayName, ObjectType" />
              <my:Property my:Name="AttributesToSearch" my:Value="DisplayName" />
              <my:Property my:Name="Value" my:Value="{Binding Source=object, Path=Creator, Mode=TwoWay}" />
              <my:Property my:Name="UsageKeywords" my:Value="Global,customized" />
              <my:Property my:Name="ListViewTitle" my:Value="Select an Object" />
              <my:Property my:Name="Hint" my:Value="{Binding Source=schema, Path=Creator.Hint}" />
         </my:Properties>
    </my:Control>
    

    Note

    Be careful to only delete the content between the <my:Control> and </my:Control> tags, inclusive.

  3. Repeat the above step to remove the following controls:

    • Detected Rules List

    • Expected Rules List

    • Expiration Time

    • Locale

    • MV Resource ID

    • Resource Time

    • Resource Type

  4. Save Create_Computer.xml.

  5. On the FIM 2010 home page, under Administration, click Resource Control Display Configuration.

  6. On the Resource Control Display Configurations page, click Configuration for Computer.

  7. In Configuration Data, click Browse, and select the Create_Computer.xml file from the previous step, then click Open.

  8. Click OK, then click Submit.

  9. To view the configuration, from the FIM 2010 home page, under Administration click All Resources, click Computers, then click New.

    Note

    FIM 2010 will refresh the configuration changes by default every 4 hours. To force an immediate refresh, click Start, click Run, type iisreset, and click OK.

Adding new RCDC String Resources

String Resources are dynamic text that can be displayed in Resource Control based on user’s locale preference. Following is the recommendation to treat the text and labels in RCDC’s controls:

  1. It is always recommended to bind them to appropriated schema elements. An example of this would be the control’s display name that is bound with the attribute’s Display Name value. See Controls in Resource Control Display Configuration XML Reference section of this document for more details. This is the preferred alternative because when the schema administrator changes the Display Name and Description in the schema attribute and binding, all the text and labels associated with these elements are being updated. Since the schema management supports localization of Display Name and Description of a schema element, the text and labels will also appear localized appropriately.

  2. In the case where using schema elements does not apply, it is recommended to use String Resources to display text and labels. An example of this is the hint text appears underneath a text box control. This solution will allow the text and label to be localized when it displays in end user preferred locale.

  3. If all of the above do not apply, you can use a static string.

In following section, you will see how to define a dynamic symbol pair variable that can be replaced by dynamic string resource to be displayed to the end user. Then you will see how to assign different values to this variable in a different locale.

To define a symbol variable in RCDC Configuration Data

  1. Log on to the FIM Portal as Administrator.

  2. On the home page, under Administration, click Resource Control Display Configurations.

  3. On the Resource Control Display Configuration page, click Configuration for User Editing.

  4. On the Configuration for User Editing page, click Export configuration, and save the file as Edit_User_backup2.xml. Minimize the FIM Portal.

  5. Copy the Edit_User_backup2.xml configuration file and save it as Edit_User_New2.xml.

  6. Open the Edit_User_New.xml configuration file and make the following changes:

    1. Find following xml segment: (you have added this in the section above)

      <my:Control my:Name="PhotoCaption" my:TypeName="UocTextBox" my:Caption="{Binding Source=schema, Path=PhotoCaption.DisplayName}" my:Description="{Binding Source=schema, Path=PhotoCaption.Description}" my:RightsLevel="{Binding Source=rights, Path=PhotoCaption}">
           <my:Properties>
                <my:Property my:Name="Required" my:Value="{Binding Source=schema, Path=PhotoCaption.Required}"/>
                <my:Property my:Name="Columns" my:Value="34"/>
                <my:Property my:Name="MaxLength" my:Value="128"/>
                <my:Property my:Name="Text" my:Value="{Binding Source=object, Path=PhotoCaption, Mode=TwoWay}"/>
           </my:Properties>
      </my:Control>
      
    2. Replace the following section:

      <my:Control my:Name="PhotoCaption" my:TypeName="UocTextBox" my:Caption="{Binding Source=schema, Path=PhotoCaption.DisplayName}" my:Description="{Binding Source=schema, Path=PhotoCaption.Description}" my:RightsLevel="{Binding Source=rights, Path=PhotoCaption}">
      
    3. With this:

      <my:Control my:Name="PhotoCaption" my:TypeName="UocTextBox" my:Caption="{Binding Source=schema, Path=PhotoCaption.DisplayName}" my:Description="{Binding Source=schema, Path=PhotoCaption.Description}" my:RightsLevel="{Binding Source=rights, Path=PhotoCaption}" my:Hint="%SYMBOL_PhotoCaptionHint_END%">
      

    Save the configuration file. You have just added a hint to the bottom of this text box control with a symbol pair variable. During rendering of the control, the variable will be replaced by dynamic string resources that are supplied in that locale. In following steps you will see how to define these string resources.

  7. Restore the FIM Portal, and in Configuration Data, click Browse.

  8. Select the Edit_User_New.xml configuration file that you just modified and click Open.

  9. Click OK, and then click Submit.

To define String Resources

  1. On the Resource Control Display Configuration page, click Configuration for User Editing.

  2. Click the Localization tab.

  3. On this tab, in the Language drop down control select the locale in which you want modify the label. For this example, select English.

    Note

    During creation of a new RCDC or when you upload the first String Resource file for the first locale, you need to make sure Neutral String Resource file is defined. You can do this by choosing Neutral in the Language drop down box and upload a String Resource file that you would like to be your default file if the end user locale is not supported. If you do not supply a Neutral String Resource file, the String Resource files will appear to be not accessible in subsequence editing. If this happens, you can upload a file for Neutral locale. This will restore the ability for you to retrieve all String Resource files in different non-Neutral locales.

  4. Click Click here to view the value of this attribute.

  5. Click Save to save the file, making sure the file name extension is xml. Save it as StringResource_backup.xml.

    Note

    After clicking the hyperlink, you may see an Internet Explore window pop up with the xml content. In that case, you need to copy and paste it in Notepad (or other XML Editor). Remove the starting “-“ (hyphen) at the beginning of the file and save it as your_file_name.xml.

  6. Copy StringResource_backup.xml as StringResource_New.xml.

  7. Open StringResource_New.xml and insert following line:

    <SymbolResourcePair Symbol="PhotoCaptionHint" ResourceString="Hint for Photo Caption" />
    

    anywhere between the <SymbolResourcePairs> and </SymbolResourcePairs> tags. Save the file.

  8. Restore the Portal. Click Browse beside the Upload control for String Resource attribute. Choose StringResource_New.xml to upload.

  9. Click OK and then Submit on the Summary page.

To verify the above configuration change, run iisreset. Then click My profile on the Navigation Bar. You will see text “Hint for Photo Caption” underneath the Photo Caption text box control.

Summary

In this scenario you made several basic modifications to customize the user’s FIM Portal experience. While these were simple modifications, FIM 2010 has a rich set of controls that can used to create more complex resource configurations. For more information, see the Resource Control Display Configuration XML Reference in this document. For more information about configuring other parts of the FIM Portal, see Introduction to Configuring the FIM Portal in the FIM 2010 documentation set.