RCDC for Approval object and 2nd level lookup
Hi, trying to customize a RCDC form for Approval object to display ApprovalResponse's creator instead of displayname. but FIM always displays just displayname of ApprovalResponse object.... no matter what's in ColumnsToDisplay any solutions how to overcome this? <my:Control my:Name="ApprovalResponse" my:TypeName="UocIdentityPicker" my:Caption="{Binding Source=schema, Path=ApprovalResponse.DisplayName}" my:Description="{Binding Source=schema, Path=ApprovalResponse.Description}" my:RightsLevel="{Binding Source=rights, Path=ApprovalResponse}"> <my:Properties> <my:Property my:Name="ReadOnly" my:Value="true" /> <my:Property my:Name="Required" my:Value="{Binding Source=schema, Path=ApprovalResponse.Required}" /> <my:Property my:Name="ColumnsToDisplay" my:Value="DisplayName,Creator" /> <my:Property my:Name="AttributesToSearch" my:Value="DisplayName" /> <my:Property my:Name="Value" my:Value="{Binding Source=object, Path=ApprovalResponse, Mode=TwoWay}" /> <my:Property my:Name="Mode" my:Value="MultipleResult" /> <my:Property my:Name="UsageKeywords" my:Value="Global,customized" /> <my:Property my:Name="ListViewTitle" my:Value="Select Resources" /> <my:Property my:Name="ObjectTypes" my:Value="*" /> <my:Property my:Name="Hint" my:Value="{Binding Source=schema, Path=ApprovalResponse.Hint}" /> </my:Properties> </my:Control>
December 10th, 2010 7:13am

it will render as an empty box
Free Windows Admin Tool Kit Click here and download it now
December 28th, 2010 10:52am

it will render as an empty box
December 28th, 2010 10:52am

OK - so try using a Filter attribute instead of UsageKeywords, e.g. something like <my:Property my:Name="Filter" my:Value="/Person[ObjectID = /ApprovalResponse[ApprovalID = '%ObjectID%']/Creator]" /> Bob Bradley, www.unifysolutions.net (FIMBob?)
Free Windows Admin Tool Kit Click here and download it now
December 28th, 2010 11:08am

OK - so try using a Filter attribute instead of UsageKeywords, e.g. something like <my:Property my:Name="Filter" my:Value="/Person[ObjectID = /ApprovalResponse[ApprovalID = '%ObjectID%']/Creator]" /> Bob Bradley, www.unifysolutions.net (FIMBob?)
December 28th, 2010 11:08am

Evgeniy ... the ColumnsToDisplay only applies to the columns displayed in the search results dialog, not the selected item(s) - however in your case these will (I think) be ignored as this should be determined by the search scope you've specified via the UsageKeywords property ... although I don't think you can specify dual search scopes!). The only way I know how to change this would be to alter the way the displayname was constructed ... and that wouldn't be advisable I guess. Hence I don't think what you want is going to be practicable ...Bob Bradley, www.unifysolutions.net (FIMBob?)
Free Windows Admin Tool Kit Click here and download it now
December 28th, 2010 11:12am

Evgeniy ... the ColumnsToDisplay only applies to the columns displayed in the search results dialog, not the selected item(s) - however in your case these will (I think) be ignored as this should be determined by the search scope you've specified via the UsageKeywords property ... although I don't think you can specify dual search scopes!). The only way I know how to change this would be to alter the way the displayname was constructed ... and that wouldn't be advisable I guess. Hence I don't think what you want is going to be practicable ...Bob Bradley, www.unifysolutions.net (FIMBob?)
December 28th, 2010 11:12am

yo! this works with UocListView. looks really cool. <my:Control my:Name="ApprovalResponses" my:TypeName="UocListView" my:Caption="Received responses from:" my:RightsLevel="{Binding Source=rights, Path=ApprovalResponse}" my:ExpandArea="true"> <my:Properties> <my:Property my:Name="ColumnsToDisplay" my:Value="DisplayName" /> <my:Property my:Name="ResultObjectType" my:Value="Person"/> <my:Property my:Name="EmptyResultText" my:Value=" no responses " /> <my:Property my:Name="PageSize" my:Value="5" /> <my:Property my:Name="SearchOnLoad" my:Value="true" /> <my:Property my:Name="ShowTitleBar" my:Value="true" /> <my:Property my:Name="ShowActionBar" my:Value="false" /> <my:Property my:Name="ShowPreview" my:Value="false" /> <my:Property my:Name="ShowSearchControl" my:Value="false" /> <my:Property my:Name="EnableSelection" my:Value="false" /> <my:Property my:Name="SingleSelection" my:Value="false" /> <my:Property my:Name="ListFilter" my:Value="/Person[ObjectID = /ApprovalResponse[Approval='%ObjectID%']/Creator]" /> <my:Property my:Name="ReadOnly" my:Value="true" /> </my:Properties> </my:Control>
Free Windows Admin Tool Kit Click here and download it now
December 28th, 2010 11:27am

yo! this works with UocListView. looks really cool. <my:Control my:Name="ApprovalResponses" my:TypeName="UocListView" my:Caption="Received responses from:" my:RightsLevel="{Binding Source=rights, Path=ApprovalResponse}" my:ExpandArea="true"> <my:Properties> <my:Property my:Name="ColumnsToDisplay" my:Value="DisplayName" /> <my:Property my:Name="ResultObjectType" my:Value="Person"/> <my:Property my:Name="EmptyResultText" my:Value=" no responses " /> <my:Property my:Name="PageSize" my:Value="5" /> <my:Property my:Name="SearchOnLoad" my:Value="true" /> <my:Property my:Name="ShowTitleBar" my:Value="true" /> <my:Property my:Name="ShowActionBar" my:Value="false" /> <my:Property my:Name="ShowPreview" my:Value="false" /> <my:Property my:Name="ShowSearchControl" my:Value="false" /> <my:Property my:Name="EnableSelection" my:Value="false" /> <my:Property my:Name="SingleSelection" my:Value="false" /> <my:Property my:Name="ListFilter" my:Value="/Person[ObjectID = /ApprovalResponse[Approval='%ObjectID%']/Creator]" /> <my:Property my:Name="ReadOnly" my:Value="true" /> </my:Properties> </my:Control>
December 28th, 2010 11:27am

Bob, all I need is to display a creator of an approval response instead of approval response displayName. See.. User makes a request and its pending approvals from 6 persons Then you want to know who from these 6 persons has not approved it yet. You click on pending approval workflow activity and see this: You can see the set of approvers with their names but you don't see who has not responded yet. You have to click on each approval response with a display name meaning nothing for you to check whom this response is from. Write down a list of responded people and compare it to the set of approvers. THIS IS TERRIBLE for a regular user. and that's why I wanted to replace that 'Create Application: xxx Request' with something like 'John Doe responded to...' got my idea?
Free Windows Admin Tool Kit Click here and download it now
December 28th, 2010 12:25pm

Bob, all I need is to display a creator of an approval response instead of approval response displayName. See.. User makes a request and its pending approvals from 6 persons Then you want to know who from these 6 persons has not approved it yet. You click on pending approval workflow activity and see this: You can see the set of approvers with their names but you don't see who has not responded yet. You have to click on each approval response with a display name meaning nothing for you to check whom this response is from. Write down a list of responded people and compare it to the set of approvers. THIS IS TERRIBLE for a regular user. and that's why I wanted to replace that 'Create Application: xxx Request' with something like 'John Doe responded to...' got my idea?
December 28th, 2010 12:25pm

Excellent ... I see what you are saying ... how about this for an idea? Write an MPR which fires when an approval is created or updated to call an action workflow to change the display name to the format you desire (you could even use the Function Evaluator activity to do this in your workflow). You may want to do it only for a small subset of approval requests first ... I think this should work.Bob Bradley, www.unifysolutions.net (FIMBob?)
Free Windows Admin Tool Kit Click here and download it now
December 28th, 2010 12:35pm

Excellent ... I see what you are saying ... how about this for an idea? Write an MPR which fires when an approval is created or updated to call an action workflow to change the display name to the format you desire (you could even use the Function Evaluator activity to do this in your workflow). You may want to do it only for a small subset of approval requests first ... I think this should work.Bob Bradley, www.unifysolutions.net (FIMBob?)
December 28th, 2010 12:35pm

yep, I think it will. But I would prefer RCDC to fetch the creator's name if possible. it would fetch anything except this attribute, the date, the type and so on. But to get a name you have to do a lookup for a GUID first and then for person's name. anyway, its not critical now. thank's for suggestion.
Free Windows Admin Tool Kit Click here and download it now
December 28th, 2010 12:41pm

yep, I think it will. But I would prefer RCDC to fetch the creator's name if possible. it would fetch anything except this attribute, the date, the type and so on. But to get a name you have to do a lookup for a GUID first and then for person's name. anyway, its not critical now. thank's for suggestion.
December 28th, 2010 12:41pm

Not sure if it would work (since the value isn't usually dereferenced), but did you try this: <my:Property my:Name="Value" my:Value="{Binding Source=object, Path=ApprovalResponse.Creator, Mode=TwoWay}" />Bob Bradley, www.unifysolutions.net (FIMBob?)
Free Windows Admin Tool Kit Click here and download it now
December 28th, 2010 12:46pm

Not sure if it would work (since the value isn't usually dereferenced), but did you try this: <my:Property my:Name="Value" my:Value="{Binding Source=object, Path=ApprovalResponse.Creator, Mode=TwoWay}" />Bob Bradley, www.unifysolutions.net (FIMBob?)
December 28th, 2010 12:46pm

Finally I made a separate tab for responses: and I wish it would be in the standard FIM configuration or maybe Markus would say it will be useful for Wiki/FAQ/whatever <my:Grouping my:Name="Approvals" my:Caption="Approvals"> <my:Control my:Name="ApprovalStatus" my:TypeName="UocLabel" my:Caption="{Binding Source=schema, Path=ApprovalStatus.DisplayName}" my:Description="{Binding Source=schema, Path=ApprovalStatus.Description}" my:RightsLevel="{Binding Source=rights, Path=ApprovalStatus}"> <my:Properties> <my:Property my:Name="Text" my:Value="{Binding Source=object, Path=ApprovalStatus, Mode=TwoWay}" /> <my:Property my:Name="Hint" my:Value="{Binding Source=schema, Path=ApprovalStatus.Hint}" /> </my:Properties> </my:Control> <my:Control my:Name="ApprovalThreshold" my:TypeName="UocLabel" my:Caption="{Binding Source=schema, Path=ApprovalThreshold.DisplayName}" my:Description="{Binding Source=schema, Path=ApprovalThreshold.Description}" my:RightsLevel="{Binding Source=rights, Path=ApprovalThreshold}"> <my:Properties> <my:Property my:Name="Text" my:Value="{Binding Source=object, Path=ApprovalThreshold, Mode=TwoWay}" /> <my:Property my:Name="Hint" my:Value="{Binding Source=schema, Path=ApprovalThreshold.Hint}" /> </my:Properties> </my:Control> <my:Control my:Name="Responses" my:TypeName="UocListView" my:Caption="Responses:" my:ExpandArea="false"> <my:Properties> <my:Property my:Name="ColumnsToDisplay" my:Value="DisplayName,Decision,Creator" /> <my:Property my:Name="ResultObjectType" my:Value="ApprovalResponse"/> <my:Property my:Name="EmptyResultText" my:Value=" no responses " /> <my:Property my:Name="PageSize" my:Value="6" /> <my:Property my:Name="SearchOnLoad" my:Value="true" /> <my:Property my:Name="ShowTitleBar" my:Value="false" /> <my:Property my:Name="ShowActionBar" my:Value="false" /> <my:Property my:Name="ShowPreview" my:Value="false" /> <my:Property my:Name="ShowSearchControl" my:Value="false" /> <my:Property my:Name="EnableSelection" my:Value="false" /> <my:Property my:Name="SingleSelection" my:Value="false" /> <my:Property my:Name="ListFilter" my:Value="/ApprovalResponse[Approval='%ObjectID%']" /> <my:Property my:Name="ReadOnly" my:Value="true" /> </my:Properties> </my:Control> <my:Control my:Name="Approvers" my:TypeName="UocListView" my:Caption="Approvers:" my:ExpandArea="false"> <my:Properties> <my:Property my:Name="ColumnsToDisplay" my:Value="DisplayName" /> <my:Property my:Name="ResultObjectType" my:Value="Person"/> <my:Property my:Name="PageSize" my:Value="6" /> <my:Property my:Name="SearchOnLoad" my:Value="true" /> <my:Property my:Name="ShowTitleBar" my:Value="false" /> <my:Property my:Name="ShowActionBar" my:Value="false" /> <my:Property my:Name="ShowPreview" my:Value="false" /> <my:Property my:Name="ShowSearchControl" my:Value="false" /> <my:Property my:Name="EnableSelection" my:Value="false" /> <my:Property my:Name="SingleSelection" my:Value="false" /> <my:Property my:Name="ListFilter" my:Value="/Person[ObjectID = /Approval[ObjectID='%ObjectID%']/Approver]" /> <my:Property my:Name="ReadOnly" my:Value="true" /> </my:Properties> </my:Control> </my:Grouping> which will render as this: Thanks, Bob - I totally forgot about ListFilter
Free Windows Admin Tool Kit Click here and download it now
December 29th, 2010 6:20am

I would leave you with replacing the list of Approvers with 'Waiting responses from:' (users who didn't replied) as a home task :)
December 29th, 2010 6:42am

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics