2.2.20 SyncConfig-extension

This XML element is an identity attribute. This XML element identifies the optional name of the rules extension assembly to use and indicates whether to run the extension within the synchronization server process.

The XML schema of this identity attribute when transferred as an identity attribute value is defined as follows:

 <?xml version="1.0" encoding="utf-8"?>
 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
    xmlns:rm="http://schemas.microsoft.com/2006/11/ResourceManagement"
    targetNamespace="http://schemas.microsoft.com/2006/11/ResourceManagement">
   <xs:element name="SyncConfig-extension" type="xs:string" />
 </xs:schema>

The value of this XML element is defined as either empty or as a string encoding of a sequence of an assembly-name XML element and an application-protection XML element.

Running the extension within the synchronization server process is indicated by setting the application-protection XML element's value to "low". To configure the synchronization engine to run the management agent outside the synchronization server process, the client MUST supply a value of "high" for the application-protection XML element.

When empty, the SyncConfig-extension, XML element indicates no metaverse extension. When the assembly-name XML element is provided within the SyncConfig-extension XML element, the client also MUST provide the application-protection XML element.

The rules extension is a .NET assembly that is located on the server in the synchronization engine's "extensions" folder and implements the IMASynchronization interface. If the client intends to configure any "scripted" mappings, for example in a join-criterion as defined in section 2.2.15.1.1, then the client MUST provide an assembly-name XML element in this identity attribute in which the value of the assembly-name XML element is the filename and extension of the rules extension.

The assembly-name value MUST NOT include any path components. The assembly-name value MUST NOT exceed 128 characters in length. The assembly-name value MUST include only one or more of:

  • characters in the range [a-z]

  • characters in the range [A-Z]

  • characters in the range [0-9]

  • the literal character "-"

  • the literal character "_"

  • the literal character " "

  • the literal character "."

  • the literal character ","

The assembly-name value MUST NOT be any of the following disallowed names:

 "."
 ".."
 "CON"
 "PRN"
 "AUX"
 "CLOCK$"
 "NUL"
 "COM1"
 "COM2"
 "COM3"
 "COM4"
 "COM5"
 "COM6"
 "COM7"
 "COM8"
 "COM9"
 "LPT1"
 "LPT2"
 "LPT3"
 "LPT4"
 "LPT5"
 "LPT6"
 "LPT7"
 "LPT8"
 "LPT9"

The assembly-name value MUST NOT be a disallowed name from the preceding list followed by a file extension.

This is an example of a valid extension XML element:

   <extension>
     <assembly-name>MyExtension.dll</assembly-name>
     <application-protection>low</application-protection>
   </extension>