First published on MSDN on Dec 01, 2014
What is the RCDC?
Think of the RCDC as the means for the FIM Portal to provide a User Friendly interface to the end user. Modifications to the RCDC can be made to Add or Remove information that is displayed to particular end users. Additionally with proper schema management and RCDC modifications you can restrict the type of excepted values to be entered for an attribute. For example if you create a new attribute called "Employee Status" you may only want to allow a specified range of values as acceptable values. In the scenarios of Employee Status management may wish to restrict the possible values to Active, Inactive, or Terminated. There are a few ways of controlling this behavior 1 being with in the RCDC or using a regex expression on the attribute within the FIM Portal Schema Management.
Resource Control Display Configuration (RCDC) Highlights
- Layouts for how each resource is displayed in the FIM Portal when Created, Edited or Viewed
- The page layout is determined in an XML document.
See the Resource Control Display Configuration XML reference in the IT Pro documents at: http://technet.microsoft.com/en-us/library/ee534918(WS.10).aspx
Need to setup first the XML configuration for Creation of the resource. The XML files for Editing and Viewing can be based off of that.
XML configuration is stored in the ObjectVisualizationConfiguration resource in the FIM Service DB.
Controls can either be mapped dynamically to attributes in the schema or they can be static and stand-alone.
There is no customizable event handling in the web forms so dynamic forms (aka “code behind”) cannot be implemented
User-Defined resources
Resource control display configuration (RCDC) resources are user-defined resources that you can use to control how other resources in the Microsoft® Forefront® Identity Manager (FIM) 2010 data store appear in the user interface (UI) to the end user. Each RCDC resource contains an XML configuration file that you can change to add, modify, or remove UI text and UI controls. While FIM 2010 provides several default RCDC resources, you can also create custom RCDC resources for custom resources. It can rely entirely on full imports, and these are sometimes required
ObjectControlConfiguration
ObjectDataSource:
This element specifies the TypeName of a data source class that the Resource Control (RC) uses. For a description and the schema definition, see the following Data sources section in this document. An ObjectControlConfiguration element can contain up to 32 nodes of the ObjectDataSource element .
XmlDataSource:
This is a simple data source that is most commonly used to specify the design of a summary page. For a description and the schema definition, see the following Data sources section in this document. An ObjectControlConfiguration: element can contain up to 32 nodes of the XmlDataSource element.
Panel:
In FIM 2010, the administrator can customize the layout of the RCDC page by modifying elements inside the Panel elements. For more information, see the Panel section later in this document. An ObjectControlConfiguration element must have only one Panel element.
Events:
In FIM 2010, because administrators cannot provide customized code behind, this feature is limited. This is the Event that a panel or a control can emit, based on a state change. For more information
Groupings - There are three types of Groupings:
- Header Grouping: A Header Grouping is optional. There can only be one Header Grouping in a Panel. A Header Grouping appears on top of a panel as caption. Only one UocCaptionControl is allowed to be used in this grouping. For an example of a Header Grouping, see the Sample section.
- Content Groupings: At least one Content Grouping is required. There can be multiple Content Groupings in a Panel. A Content Grouping appears as the main content of an RCDC page. Each Content Grouping appears as a tab in the same Panel and can hold from 1 to 256 controls. See the Sample section below for an example of a Content Grouping.
- Summary Groupings: A Summary Grouping is optional. There can only be one Summary Grouping in a Panel. A Summary Grouping appears as the last tab of a Panel. Only one UocHtmlSummary control can be used in a Summary Grouping to display the changes that the user has made before submitting a request. See the Sample section below for an example of a Summary Grouping.
Individual Controls
- UocButton - simple button control that you can use to trigger certain actions
- UocCheckBox - This is a simple check-box control. We recommend that the user bind this control with Boolean-type data. This control can be used as a read-only control or an updatable control, based on the data that it binds to.
- UocDateTimeControl - This is similar to a text-box control, but Description accepts only a certain format. In read-only mode, it appears like a label. For the format of the input string that is supported, see the DateTimeFormat property in this section.
- UocFileDownload - This control contains a hyperlink. When the hyperlink is clicked, a Windows Save File page appears. The user can save the file to their local drive. The Open option is also supported if Internet Explorer can render the file format. The recommended data types to use this control with are formatted string (XML) and binary types.
Sample RCDC Code Snipit
<my:Control my:Name="Partner" my:TypeName="UocIdentityPicker" my:Caption="Partner" my:Description="Busines Partner">
<my:Help my:HelpText="PlaceHolder for Help Text" my:Link="PlaceHolder for Help Link"/>
<my:Properties>
<my:Property my:Name="Required" my:Value="{Binding Source=schema, Path=Partner.Required}"/>
<my:Property my:Name="Mode" my:Value="SingleResult"/>
<my:Property my:Name="ObjectTypes" my:Value="Partner"/>
<my:Property my:Name="ColumnsToDisplay" my:Value="DisplayName"/>
<my:Property my:Name="AttributesToSearch" my:Value="DisplayName"/>
<my:Property my:Name="UsageKeywords" my:Value="Partner"/>
<my:Property my:Name="ResultObjectType" my:Value="Partner"/>
<my:Property my:Name="Value" my:Value="{Binding Source=object, Path=Partner, Mode=TwoWay}"/>
<my:Property my:Name="ListViewTitle" my:Value="Select Partner"/>
<my:Property my:Name="PreviewTitle" my:Value="Partner to be selected:"/>
</my:Properties>
</my:Control>
</my:Grouping>
Now lets Examine the RCDC Configuration File. (Configuration for User Creation)
- In the Text Editor of your choice open up the RCDC Configuration file that you downloaded or exported earlier. In the Example shown during the Manual RCDC Backup Procedures with in the Post " RCDC - Session 1 - Backing up your RCDC Files " we named the file "User Create 1262014_1800"
- Now lets examine RCDC Configuration File, One of the first things you may notice depending on the text editor you choose are the marks on the left of the page. For example take a look at the line " xmlns:xd=http://schemas.microsoft.com/office/infopath/2003"> "
- Dash to the Left of that line allow you to collapse this section which in this case would be everything below this line.
- Now you can expand this section again by clicking on the + to the left of that line
- Now locate the next line <my:XmlDataSource my:Name="regions"> and collapse this section to make it easier to read the Configuration File.
- Now the Next important line to notice is the <my:Panel my:Name="page" my:Caption="%SYMBOL_CreateUserPanelCaption_END%"> This line tells you information about the RCDC Configuration file that you are updating.
- Continue examining the XML file you will see the line <my:Grouping my:Name="BasicInfo" my:Caption="%SYMBOL_BasicInfoTabCaption_END%" my:Enabled="true" my:Visible="true"> This line is the beginning of a Tab with <my:Grouping, which is displayed in the User Interface when managing a resource object in the FIM Portal. Notice the section in this line BasicInfo" my:Caption="%SYMBOL_BasicInfoTabCaption_END% this is what displays the name of the Tab for this User Interface. In this example we are looking at the User RCDC and the User RCDC does not display a Tab called Basic Info but it displays General . The Title for that Tab "General" is pulled from the reference Localization file that can be downloaded from the RCDC Window (2nd Tab) The Section "%SYMBOL_BasicInfoTabCaption_END%" points to the section of the localization file that Controls the Title of this Tab in this case "General"
- The Next Line to examine is <my:Control my:Name="FirstName" my:TypeName="UocTextBox" my:Caption="{Binding Source=schema, Path=FirstName.DisplayName}" my:Description=""> Just like <my:Grouping represents the beginning of a Much larger section (A TAB). <my:Control Represents the beginning of the Attribute section much like Each Attribute that is to be included within the RCDC Configuration must begin with <my:Control and end with </my:Control>
- The Ending of a tab or the closing of the statement that contains all Tab Information is represented with </my:Grouping>
Additional Information about RCDCs can be found Understanding Configuring and Customizing
the FIM Portal
## http://blogs.msdn.com/connector_space ##