Share via


What's New in ECMA 2.2

The following is a list of new features based on build release for the Extensible Connectivity 2.2 Management Agent.

ECMA 2.2 Build 4.1.3441.0

The following is a list of new features that ECMA 2.2 build 4.1.3441.0 introduces.

Using LDAP without Anchor or Object Type

Currently, ECMA 2.0 requires a separate anchor attribute when using the LDAP DN-style. Some directories, for example OpenLDAP, do not provide a suitable anchor attribute which is present while reading delta changes. The only identifier is the DN itself. For this reason the ability to use the DN as anchor has been added. This can be specified under MA Capabilities by setting the IsDNAsAnchor Boolean equal to true.

public MACapabilities Capabilities
        {
            get
            {
                MACapabilities myCapabilities = new MACapabilities();
                myCapabilities.IsDNAsAnchor = true;
                myCapabilities.ConcurrentOperation = true;
                myCapabilities.ObjectRename = false;
                myCapabilities.DeleteAddAsReplace = true;
                myCapabilities.DeltaImport = false;
                myCapabilities.DistinguishedNameStyle = MADistinguishedNameStyle.None;
                myCapabilities.ExportType = MAExportType.AttributeUpdate;
                myCapabilities.NoReferenceValuesInFirstExport = false;
                myCapabilities.Normalizations = MANormalizations.None;
                return myCapabilities;
            }
        }

During delta import from a directory it is possible that the object type is only present for an “add” and not for “update” or “delete”. The directory assumes that the object type cannot change so it is not provided for these operations. For omission of the object type during delta import object updates and deletes simply omit the following line:

csentry1.ObjectType = "object type name";

Additional Page for MA Capabilities

Before the release of build 4.1.3441.0 all of the MA Capabilities were defined at development time in the MACapabilities method. Unfortunately, with certain connectors, this cannot always be determined at development time. With the introduction of a Capabilities page, the MACapabilities that are not known at development time, can be set after inspecting an external source. With build 4.1.3441.0, the GetCapabilities method is called after credentials have been collected, thus allowing for this change.

The new Capabilities page will only appear if creating a new connector. It will not appear when editing an existing ECMA 2.2 connector.

To use the Capabilities page in an ECMA 2.2, you can add code to the GetConfigParameters method similar the example below:

case ConfigParameterPage.Capabilities:
                    configParametersDefinitions.Add(ConfigParameterDefinition.CreateCheckBoxParameter("SupportHierarchy", false));
                break;

This will create the new page. It will appear like the screenshot below when the ECMA is being created.

Screenshot

Next, create the GetCapabilitiesEx method to process the logic that is obtained from the GetConfigParameters method. The following is an example of how to set the SupportHierarchy property based on the selection that was made in our Capabilities page above.

   public MACapabilities GetCapabilitiesEx(KeyedCollection<string, ConfigParameter> configParameters)
        {
            MACapabilities myCapabilities = new MACapabilities();
            myCapabilities.SupportHierarchy = Convert.ToBoolean(configParameters["SupportHierarchy"].Value);
            return myCapabilities;
        }