none
ECMA for exporting members (Reference type) is not capturing deletes. RRS feed

  • Question

  • Lets take an example of group say X keeping 4 members and 2 are deleted and 1 is added in FIM Portal and finally change is synchronized to ECMA Connector Space as shown below

    1) delete ---
    2) delete---
    3) none---
    4) none--
    5) add--

    when I perform export using ECMA , I do not receive the delete as (ValueModificationType.delete). Rather, I get 3 adds (ValueModificationType.add)   -- 2 for none (not changed in FIM Portal ) and 1 for the added one. I am expecting to see the deletes as well so that i can explicitly delete the members from AD.

    I have also tried the possibility of using Capabilities.ExportType = MAExportType.AttributeReplace instead of Capabilities.ExportType = MAExportType.AttributeUpdate;

    Any help would be appreciated. Thanks!! Vinay
    This is the code fragment I am using correctly.

           
    Capabilities.ExportType = MAExportType.AttributeUpdate;

     public PutExportEntriesResults PutExportEntries(IList<CSEntryChange> csentries)
            {

                PutExportEntriesResults Results = new PutExportEntriesResults();

                foreach (CSEntryChange change in csentries)
                {


        foreach (string AttributeName in change.ChangedAttributeNames)
                    {
                        if (AttributeName == "member")
                        {
                            
                            if (attributeChange.ModificationType == AttributeModificationType.Replace ||
                                attributeChange.ModificationType == AttributeModificationType.Add)
                            {
                               
                                foreach (ValueChange value in attributeChange.ValueChanges)
                                {
                                    string DN = value.Value.ToString();
                                    if (value.ModificationType == ValueModificationType.Add)
                                        lstaddMembers.Add(DN);
                                    if (value.ModificationType == ValueModificationType.Delete)
                                        lstdelMembers.Add(DN);
                                }

    }

    Friday, July 15, 2016 9:54 PM

All replies

  • Hi Vinay,

    I have the MACapabilities set like this myCapabilities.ExportType = MAExportType.AttributeUpdate;

    and the members comes fine as add and deletes in the putExportEntries.

    However, the attributeChange modification type is "Update" rather than Replace or Add and I don't see you have a condition for Update. so do you have any condition for AttributeModificationType.Update? because that's where the code should go and it's where I see the Adds and Deletes


    Did my post help? Please use "Vote As Helpful", "Mark as answer" or "Propose as answer". Thank you!

    Wednesday, July 20, 2016 4:22 PM