none
workflow parameters RRS feed

  • Question

  • I am trying to set values to attributes(reference to a string) in a workflow and tie that to synchronization activity. I couldn't find any document. Can someone post any link/steps regarding that.

    Thanks!


    • Edited by fim_sc Monday, January 7, 2013 3:52 PM
    Monday, January 7, 2013 3:52 PM

Answers

  • Ok, I am sorry I dint have access to my test lab to test that before recommending Seems like you will have to use the function evaluator Create a workflow activity for function evaluator On the activity display name give any name, On the destination give the workflow attribute name [//WorkflowData/attribval] In the value select custom expression and type [//Target/referenceattribute/displayName] its case sensitive. Now as you already have the sync activity and workflow parameter defined in it. Use [//WorkflowData/attribval] in the attributeaddedworkflow (String) It should work
    • Marked as answer by fim_sc Wednesday, January 9, 2013 7:32 PM
    Wednesday, January 9, 2013 7:02 PM
  • Ok, there could be a few things missing here, have you enabled synchronization rule provisoning in the tools -> options of the sync manager console? Have you created an export run profile for the sql ma? An export profile is needed. In the outbound SR under the relationships tab have you ticked 'Create Resource in the External System' checkbox. In the FIM MA make sure you have created attribute flows for the attributes you are using (both import and Export flows) Hope this helps
    • Marked as answer by fim_sc Wednesday, January 9, 2013 8:21 PM
    Wednesday, January 9, 2013 8:10 PM

All replies

  • From your code put value you want into workflowdata dictionary, like this:

    SequentialWorkflow containingWorkflow = this.GetParentWorkflow();
    containingWorkflow.WorkflowDictionary.Add(TargetAttribute, "value");

    You have to do this in the same workflow which will assign user to synchronization rule. 


    Tomek Onyszko, memberOf Predica FIM Team (http://www.predica.pl), IdAM knowledge provider @ http://blog.predica.pl

    Monday, January 7, 2013 8:42 PM
  • I assume that you are not using Custom Activities and the regular OOB activities in FIM

    First edit your synchronization Rule and Add a workflow parameter name "SomeAttribute".

    Next edit the workflow and edit the sync rule activity you have in there, you will now see a new textbox with a caption "SomeAttribute",

    write the following into it

    [//WorkflowData/SomeValue]

    now add another activity in the same workflow and use the function evaluator this time, as in the below diagram

    Tuesday, January 8, 2013 8:51 AM
  • Also make sure your new function evaluator activity is before the Synchronization Activity you can use the small icon on the top right of the activities to shift it up or down :)

    hope this helps

    Tuesday, January 8, 2013 8:52 AM
  • Thanks All. Yes. I am not writing a custom workflow. The reason I am using workflow parameter is I want to convert a reference attribute to a string attribute before exporting the attribute to a external database through outbound sync rule. So, this is what I did.

    a)created the ma

    b)created the outbound sync rule (no scope filter)

    c) created workflow with 2 activities - 1) update activity : [//Target/referenceattributename] [//WorkflowData/attributeaddedinworkflow]

    2)sync activity :attributeaddedinworkflow(String) = [//WorkflowData/referenceattributename]

    d) created the mpr -transition in

    What's wrong in the workflow?


    • Edited by fim_sc Wednesday, January 9, 2013 6:14 PM
    Wednesday, January 9, 2013 6:14 PM
  • On point c 1) are you using the function evaluator? On the top use the workflow attribute and calculate the vale on the bottom. On outbout sync in the outbound attribute mapping use the workflow parameter (from the dropdown) to update the external attribute of the db. But you can do this without the workflow attribute, use the custom expression in the outbound attribute mapping to directly flow the reference attribute to the external db Hope this helps
    Wednesday, January 9, 2013 6:26 PM
  • No. I am not using function evaluator. Can you please tell me how can I use custom expression to convert reference to string?
    Wednesday, January 9, 2013 6:29 PM
  • See you cannot convert a reference attribute to a string, reference attributes refer to another resource, however what you can do is pass one of the string attributes of that reference in the custom expression. For example [//referenceattribute/DisplayName]
    Wednesday, January 9, 2013 6:35 PM
  • I tried "[//myreferenceattribute/DisplayName]" in the custom expression of outbound rule. It is throwing error.

    • Edited by fim_sc Wednesday, January 9, 2013 6:49 PM
    Wednesday, January 9, 2013 6:49 PM
  • Ok, I am sorry I dint have access to my test lab to test that before recommending Seems like you will have to use the function evaluator Create a workflow activity for function evaluator On the activity display name give any name, On the destination give the workflow attribute name [//WorkflowData/attribval] In the value select custom expression and type [//Target/referenceattribute/displayName] its case sensitive. Now as you already have the sync activity and workflow parameter defined in it. Use [//WorkflowData/attribval] in the attributeaddedworkflow (String) It should work
    • Marked as answer by fim_sc Wednesday, January 9, 2013 7:32 PM
    Wednesday, January 9, 2013 7:02 PM
  • And remember the function activity should come before the sync rule activity.
    Wednesday, January 9, 2013 7:04 PM
  • Furqan,

    Thank you so  much. I did FIMMA di and DS but the run is not detecting the new sql ma. I used mvobjectId as the initial flow as I don't have any primary key in the metaverse. Can I do that?

    Wednesday, January 9, 2013 7:34 PM
  • I don't think I fully understand what you mean by "run is not detetiong the new sql ma" After changing any sync rule you should do a full import and full sync on the FIM MA Ofcourse you can export the mvobject Id to external database as a primary key as it is absolute unique but keep in mind that when an object is deleted in mv and recreated the mv objectid will change and you might end up with duplicate records in your external db. For example in the future if you need to clear all the connector spaces and then full import all of them to rejoin, that won't be possible. But that's a rare occasion. So I would recommend it as a last resort, only if you have NO other primary key like the accountName. And is your sql database currently empty? If not, how are you planning to join the existing records that are already in the external db.
    Wednesday, January 9, 2013 7:52 PM
  • Thank you!! I meant the FI - FIMMA shows there is an update on sql outbound sync  but in the the FS-FIMMA , there is no outbound sync for the MA. There is no projection. What am I missing? What triggers the projection when using workflow parameter? My current sql table is empty.
    Wednesday, January 9, 2013 8:00 PM
  • Ok, there could be a few things missing here, have you enabled synchronization rule provisoning in the tools -> options of the sync manager console? Have you created an export run profile for the sql ma? An export profile is needed. In the outbound SR under the relationships tab have you ticked 'Create Resource in the External System' checkbox. In the FIM MA make sure you have created attribute flows for the attributes you are using (both import and Export flows) Hope this helps
    • Marked as answer by fim_sc Wednesday, January 9, 2013 8:21 PM
    Wednesday, January 9, 2013 8:10 PM
  • I had everything except export flows in the FIMMA. Is there anything I need to make sure  for MVObjectID?

    Wednesday, January 9, 2013 8:21 PM
  • Wednesday, January 9, 2013 8:24 PM
  • As per the image flows for the mvobject Id are there So is it working now? After full import and full sync from both fim ma and you external db ma?
    Wednesday, January 9, 2013 8:48 PM