Quantcast
Channel: the Connector Space
Viewing all articles
Browse latest Browse all 88

Rules Extensions – Getting Started

$
0
0

When working with FIM / MIM you have the option to add custom rules extensions either to the Entire Metaverse or to a specific MA (Management Agent)

In this series of “Rules Extensions” Blog post we will focus on Management Agent Extension.

  • In the Synchronization Server click on the MA you wish to create the Extension for and right click on the Management Agent

  • Click on Create Extension Projects
  • Select Rules Extension

  • Select the Programming Language you wish to write the Extension in
    • I choose Visual Studio 2012
  • Type in your desired project name:
    • I typed Join Logic
  • For Project location:
    • You can keep the default location to save the project or you can change to a different location.
  • For Launch in VS.Net IDE
    • I keep this checked and after you click on OK Visual Studios will open up and load the base Extension that set up.

 

The following code is what would populate in Visual Studios as your project.

 

using System;
using Microsoft.MetadirectoryServices;

namespace Mms_ManagementAgent_JoinLogic
{
    /// <summary>
    /// Summary description for MAExtensionObject.
    /// </summary>
    public class MAExtensionObject : IMASynchronization
    {
        public MAExtensionObject()
        {
            //
            // TODO: Add constructor logic here
            //
        }
        void IMASynchronization.Initialize ()
        {
            //
            // TODO: write initialization code
            //
        }

        void IMASynchronization.Terminate ()
        {
            //
            // TODO: write termination code
            //
        }

        bool IMASynchronization.ShouldProjectToMV (CSEntry csentry, out string MVObjectType)
        {
            //
            // TODO: Remove this throw statement if you implement this method
            //
            throw new EntryPointNotImplementedException();
        }

        DeprovisionAction IMASynchronization.Deprovision (CSEntry csentry)
        {
            //
            // TODO: Remove this throw statement if you implement this method
            //
            throw new EntryPointNotImplementedException();
        }    

        bool IMASynchronization.FilterForDisconnection (CSEntry csentry)
        {
            //
            // TODO: write connector filter code
            //
            throw new EntryPointNotImplementedException();
        }

        void IMASynchronization.MapAttributesForJoin (string FlowRuleName, CSEntry csentry, ref ValueCollection values)
        {
            //
            // TODO: write join mapping code
            //
            throw new EntryPointNotImplementedException();
        }

        bool IMASynchronization.ResolveJoinSearch (string joinCriteriaName, CSEntry csentry, MVEntry[] rgmventry, out int imventry, ref string MVObjectType)
        {
            //
            // TODO: write join resolution code
            //
            throw new EntryPointNotImplementedException();
        }

        void IMASynchronization.MapAttributesForImport( string FlowRuleName, CSEntry csentry, MVEntry mventry)
        {
            //
            // TODO: write your import attribute flow code
            //
            throw new EntryPointNotImplementedException();
        }

        void IMASynchronization.MapAttributesForExport (string FlowRuleName, MVEntry mventry, CSEntry csentry)
        {
            //
            // TODO: write your export attribute flow code
            //
            throw new EntryPointNotImplementedException();
        }
    }
}

 

Additional Information can be located here


Viewing all articles
Browse latest Browse all 88

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>