Fields
The configuration options are stored in a hierarchically organized XML file, with settings in specific nodes and attribute values. Some nodes and settings interact with each other, and you link them by specifying the other node's Name
attribute as an attribute value.
The logical interconnections between these nodes are shown below:
Information
The Information section contains general configuration information about the customer.
Attribute | Description | Values | Cross reference |
CustomerName | The display name (or short name) of the customer. This field is not used in any other instances. | Type: String |
|
CustomerNumber | The customer ID that Retarus assigned to this customer. It will be used in the DirSync Service to allot the upload data to the customer’s data segment in the Retarus backend. | Type: String |
|
Options
The Options section contains configuration information on general, basic operation options of the service, i.e. logging, etc.
Attribute | Description | Values |
LogRotation | The number of days for which old synchronization logs should be stored. Any logs older than the value specified here will be deleted. | Type: Integer |
FileArchiving | The number of days that the copy of the sync data files created by the Windows service should be stored. Any files older than the value specified here will be deleted. The copies of these files may contain in some customer configurations information which might be subject to privacy regulations. Due to this fact, Retarus strongly recommends setting this value to 0 as soon as the implementation and test phase have been successfully completed to avoid any privacy violations | Type: Integer |
ApplicationLog | The granularity of the information stored in the application’s log file on the local hard disk. The application’s log file is stored in the folder For detailed information about the various log levels available, see Logging. | NONE |
EventLogLevel | The granularity of the information stored in the system’s EVENT LOG. For detailed information about the various log levels available, see Logging. | NONE |
AdvancedTrace | If set to | True |
ConfigFileType | Reserved for future purposes. Do not change. |
|
ConfigFileVersion | Reserved for future purposes. Do not change. |
|
UseApplication | If set to If set to The default value is | True |
CustomDataPath | Specifies a custom folder where all log information should be stored. If empty, the settings of | String |
EMailFeedback
The EMailFeedback section specifies if and how dedicated recipients should be informed about the operation of the service.
Attribute | Description | Values | Cross reference |
ToAddress | The email address to which any notifications should be sent. This field may contain several email addresses that must then be separated by a semicolon (;). | Type: String |
|
FromAddress | The email address that should be used as the sender for the notification emails. | Type: String |
|
Type | The type of notifications that should be sent.
| OFF |
|
CredentialName | If required, the mail server, username and password (Credential) of the mail server to which the mail should be relayed. | Type: String | Credential.Name |
Servers
The Servers section specifies information on any directory servers, such as Microsoft Active Directory, Lotus Domino, Open LDAP, etc., that the service might have to contact. Multiple child nodes of type Server are possible, offering the following attribute options.
Attribute | Description | Values | Cross reference |
Name | The name of the server for which information is specified here. This will be used in the config to identify the server that is to be contacted. | Type: String | SyncConfig.ServerName |
Description | A description that helps identify the server, its purpose, etc. | Type: String |
|
ServerAdress | The network address of the server. | Type: String |
|
Port | The TCP/IP port to be used for this server. | Type: String |
|
PageSize | If required, any paging that should be applied by the service (fetching a set number of results per query, repeating multiple queries). Applies only to the server responsible for Active Directory queries. If set to 0, the response of the AD server will contain only the number of records specified in the server’s AD settings as a default paging, but not more records even if they exist (MaxPageSize; Microsoft default is 1,000). Any value larger than 0 and smaller than or equal to the MaxPageSize of the server will result in a response consisting of various result pages (as many as required), containing all the records responding to the query. The recommended default value is 1,000. For IBM Domino, this value should be 0. If not specified, the default value is 0. | Type: Integer |
|
CredentialName | If required, the username and password (Credential) to connect to the server. | Type: String | Credential.Name |
AuthType | The means of authentication that this server requires.
For more information on the authentication types, see the Microsoft documentation at http://msdn.microsoft.com/en- us/library/system.directoryservices.authenticati ontypes(v=vs.110).aspx. | DEFAULT |
|
Credentials
The Credentials section contains information on authentication information that the service may be required to use. Multiple child nodes of type Credential are possible, offering the following attribute options.
You may store passwords in plaintext (unencrypted) in the config file, but it is recommended to use the “Password Tool” included in the setup and described in Password tool.
Attribute | Description | Values | Cross reference |
Name | The name of the credentials set for which information is specified here. This will be used in the config to identify the credentials which are to be applied. | Type: String | Credential.Proxy EMailFeedback. Server.Credential SyncConfig. |
Description | A description that helps identify the credentials, their purpose, etc. | Type: String |
|
UserId | The user name of the credentials set. | Type: String |
|
Password | The password of the credentials set. | Type: String |
|
ServerAddress | The server address associated with the credentials set. This is required for any servers that are not directory servers (e.g., proxy server, mail servers, Retarus Gateway, etc.). | Type: String |
|
Port | The TCP/IP port to be used for this server address (attribute ServerAddress). If set to “0”, the default port for the type of the service will be used (i.e. 389 for Active Directory, 25 for SMTP, 3268 for GC, etc.). This is commonly used if the credentials are required for a web proxy (i.e. 8080). | Type: Integer |
|
EnableSSL | Defines if the network connection established via this credentials’ set should use SSL for encryption. This is commonly used if the credentials are required for the https proxy or the SMTP relay server. | True |
|
UseDefault | Defines if the user credentials associated with the user in whose context the DirSync Client is executed should be used. Will not work if the windows service is running in system security contexts such as LOCAL SYSTEM, etc. | True |
|
Compression | Defines if the data sent via connections using this credentials set should be compressed or not. To allow for GZIP compression, this option needs also to be enabled within the Retarus infrastructure. Enabling it in this config only does not suffice. | OFF |
|
ProxyCredential | Defines which credentials configuration CredentialName should be used to upload the data via a web proxy to Retarus. | True | Credential.Name |
Retries | Specifies how many retries the service should attempt uploading the same data to Retarus. If unsuccessful, the next upload attempt with new data will follow at the specified interval. Default value is 0. | Integer |
|
HTTPVersion | Specifies which version of the HTTP protocol should be used for the upload. Default value is HTTP11. | HTTP10 |
|
AddtionalOption | Specifies the name of the AdditionalOptionSet that should be applied in addition to this credentials set. | String | AdditonalOption |
Password tool
In order to avoid storing passwords in plain text in your local configuration file, you may use the Retarus DirSync “Password Tool” included in the setup files.
The tool has to be started within the context of a user having read and write permissions to the DirSync xml configuration file.
To store your passwords encrypted, follow the steps below:
Execute RetarusDirSync_PasswordTool.exe.
To encrypt passwords of an already existing configuration file, click on Import passwords from configuration file. Existing passwords are displayed in plain text or with asterisks (*****) if they have been encrypted already. If you click on Store passwords, all passwords are encrypted and stored in the configuration file.
If you enter a password for the first time, choose the correct line (entity), insert the corresponding password in the column on the right side and click on Store passwords. All passwords are encrypted and stored in the configuration file.
DirectoryRequests
The DirectoryRequests section specifies information on how directory services or servers should be contacted/queried for user information. Multiple child nodes of type DirectoryRequest are possible, offering the following attribute options:
Attribute | Description | Values | Cross reference |
Name | The name of the directory request for which information is specified here. This will be used in the config to identify the directory requests which are be executed. | Type: String | SyncConfig. |
Description | A description that helps identifying the directory request, their purpose, etc. | Type: String |
|
Path | Defines the means by which the directory should be queried.
The default value is LDAP. | LDAP |
|
SearchFilter | Defines a filter that should be applied in this directory request. Standard LDAP filter syntax is to be applied here. Please note: The typical LDAP search character “&” must be escaped as an HTML entity “&”. This applies also to any characters in your filter string that might be interpreted as HTML or XML code characters (i.e. “<”, “>” etc.) | Type: String |
|
TrailingFilter | Specifies the name of the additional filter TrailingFilter that should be applied onto the result set after it has been received by the directory request. | Type: String | FilterTable. |
SendDigestTo | For Retarus Email Security services only and if the current object is a distribution group: Specifies if the Antispam Report notification email should be sent to all recpients of a distribution group, or to the manager of a distribution group only (AD field “managed by”). If set to True, only the group manager will receive antispam reports by mail, and all mails quarantined will be moved to the antispam quarantine of the manager. | True False |
|
AlternativeManaged | For Retarus Email Security services only and if SendDigestToGroupManager is set to True. If an AD data source field is specified here, the DirSync will not use the AD’s ManagedBy field. Instead, it will check if the field specified here contains the DN of a valid AD object and will then use this object’s mail address as the digest recipient address. Example | String |
|
GroupFilter | Specifies the name of the GroupTable that should be applied to the result set of the directory request. | String | GroupTable. |
UserAccount | Verifies if a user is disabled in the AD (AD attribute userAccountControl) or mail-enabled in Exchange (Exchange attribute msExchRecipientTypeDetails). The values used for these attributes are the original Microsoft values. For some of these values, the DirSync will return true if the respective flag is not set. Therefore, the flag name may e.g. include the text “disabled”, but in fact the opposite is checked, if the user is enabled. For more information on these attributes, please visit User-Account-Control attribute or Archived MSDN and TechNet Blogs. NOCHECKS is the default value, resulting in the Dirsync to always include users in the Dirsync regardless of them being disabled in the AD or in Exchange. The other values can be combined to achieve extended validation. When combining the available options, use the blank character to separate the values. If all the conditions specified apply, the user will be included in the Dirsync export. The following values can be used:
Example If you want to include only users whose AD account is enabled and who are mail-enabled in Exchange, add the following attribute to the DirectoryRequest tag:
| String |
|
SyncConfigs
The SyncConfigs section specifies information on what synchronization configurations should be executed. Multiple child nodes of type SyncConfig are possible, offering the following attribute options.
Attribute | Description | Values | Cross reference |
Name | The name of the dirsync config for which information is specified here. This will be used in the config to identify the dirsyncs which are be executed. | Type: String |
|
Description | A description that helps identify the dirsync, its purpose, etc. | Type: String |
|
Active | Defines if this synchronization configuration should be executed or should not be executed. | True False |
|
SyncType | Specifies the type of service for which the data should be synchronization. | UNDEFINED |
|
CredentialName | Specifies the name of the Credential set to be used for this synchronization set (upload to Retarus). | Type: String | Credential.Name |
ServerName | Specifies the name of the Server config to be used for this synchronization set (the directory server). | Type: String | Server.Name |
DirectoryRequestName | Specifies the name of the DirectoryRequest config to be used for this synchronization set. | Type: String | DirectoryRequest.Name |
MappingName | Specifies the name of the Mapping config to be used for this synchronization set. | Type: String | Mapping.Name |
WriteToFileName | Specifies the name of the map file that should be written to some accessible storage location. | Type: String |
|
IntervalName | Specifies the name of the Interval config to be used for this synchronization set. | Type: String | Interval.Name |
EOFMarker | Defines the text string to be used for indicating that the end of the file has been reached. Should be empty. If empty, the default value will be applied depending on the specified SyncType (i.e. for Managed Mail, it is ++++). | Type: String |
|
DisableDigestMapping | For Email Security only. Specifies if the alias addresses from the directory should not be mapped to the primary mail address so that every email address, even alias addresses, receive their individual quarantine and spam report notification by mail. | True False |
|
CustomerNumber | The customer number assigned by Retarus. This is important for accounting. It is possible to have several SyncConfig records with differing customer numbers. | String |
|
Separator | The character used to separate values for CSV export. Typically, possible chars are comma or semicolon. | Char |
|
IncludeFileName | Specifies a file that should be included into the synchronization data. Only one file can be specified, and its full path should be provided. The file’s information will be appended at the end of the data right before the End-of-file marker (EOFMarker). With Managed Email data, the information in the file must conform to the Retarus MAP File Format. With other services such as Fax or SMS, the data in the file must be in the correct CSV format corresponding to the service using the appropriate delimiter char, column sequence, data type for each column, and field content escaping (double- quotes, etc.). The file’s CSV data must not contain a header line, but start with the data right away in the first line. For more information about these formats, see Appendix. | Type: String |
|
FaxInboundOptions
FaxInboundOptions contains information specific to the Retarus Fax Inbound Services in a separate XML child node within the SyncConfig node. Within every SyncConfig node, there may only be one FaxInboundOptions tag.
Attribute | Description | Values | Cross reference |
MaximumEMail | Specifies the size of the field containing the recipients’ email addresses to which the faxes would be forwarded by mail. The size is specified in bytes, the default value is 900. This also is the maximum size supported by Retarus. This field is used if an inbound fax number is assigned to more than one email address. To avoid that too many people get the same fax, all email addresses exceeding the maximum size of the field are skipped. | Integer |
|
ErrorHandling | Specifies how the error should be handled if the maximum number of 900 bytes for the recipients of a fax inbound number is exceeded. Possible values are:
| DROPFILE |
|
Option | Specifies how to verify if an inbound fax number that is to be uploaded does already exist or has already been configured.
| NOMATCH |
|
Mappings
The Mappings section specifies information on various mapping configurations for mapping directory information to the fields required by the Retarus service. Multiple child nodes of type Mapping are possible, offering the following attribute options:
Attribute | Description | Values | Cross reference |
Name | The name of the mapping set for which information is specified here. This will be used in the configuration to identify the mapping which is to be applied. | Type: String |
|
Description | A description that helps identifying the credentials, their purpose, etc. | Type: String |
|
SyncType | Specifies the type of service for which the data should be synchronization.
| MANAGEDMAIL |
FieldMappings
The FieldMappings section are child nodes of a node Mapping and specify information on how data from the directory should be mapped to the information/fields required by the Retarus service. Multiple child nodes of type FieldMapping are possible, then specifying in detail each individual value mapping, offering the following attribute options.
Attribute | Description | Values | Cross reference |
Name | The name of the mapping that is configured here. This is for informational purposes only. | Type: String | SyncConfig.MappingName |
Active | Defines if this synchronization configuration should be executed or should not be executed. | True |
|
Type | Specifies the type of data mapped in this mapping.
The email address will only be added to the message if this does not result in a second SMS message due to length restrictions. So, this option will not result in additional SMS messages being sent involuntarily.
| PRIMARYADDRESS | |
ContentType | Specifies what type of information the field mapped contains.
| FIELDCONTENT | |
DataSourceField | Specifies the name of the data field in the source directory whose value should be used and mapped as defined here. | Type: String | |
Builder | Specifies the syntax according to which the field should be constructed. Requires the ContentType to be set to FieldBuilder. For more information on how to use the FIELDBUILDER functionality, see FIELDBUILDER. | Type: String | |
DefaultValue | Specifies the default value that should be used for this field in case the data source does not contain any value. | Type: String | |
FieldName | FieldName is for personalization purposes and therefore is used only if the Type is UCFG or P13N and specifies the name of the destination field to which the data should be mapped. | Type: String | |
ConversionName | Specifies the name of an additional conversion that should be applied to the value of the field. | Type: String | Conversion.Name |
Separator | Specifies what separator is used to separate multiple values within the field in case the data source field contains multiple, separated values. | Type: Char | |
Delimiter | Specifies the delimiter to be used for the value. Possible values are
| Type: String | |
EMailValidationLevel | Specifies how thoroughly the application verifies the validity of email addresses in case the Fieldmapping.Type is PRIMARYADDRESS or ALIASADDRESS. In case the DirSync has to process a large number of email addresses, this may have performance impacts.
| NONE |
ConversionTables
The ConversionTables section specifies information on how to convert field data of a response to a LDAP search to a required value or format. Multiple child nodes of type ConversionTable are possible, offering the following attribute options:
Attribute | Description | Values | Cross reference |
Name | The name of the conversion table set for which information is specified here. This will be used in the config to identify the converstion table which is to be applied. | Type: String | Mapping.Conversion |
Description | A description that helps identify the credentials, their purpose, etc. | Type: String |
|
Conversions
The Conversions section specifies information on how to convert the data of a specific field to a required value or format. Multiple child nodes of type Conversion are possible, offering the following attribute options:
Attribute | Description | Values | Cross reference |
Type | This specifes what sort of conversion should be applied by this config.
| OFF | Mapping.Conversion |
FilterTables
The FilterTables section specifies information on how to filter response data of a DirectoryRequest. This way it is possible to explicitly exclude information from the DirSync even though it was included in the response of the directory search. Multiple child nodes of type FilterTable are possible, offering the following attribute options:
Attribute | Description | Values | Cross reference |
Name | The name of the filter table set for which information is specified here. This will be used in the config to identify the filter table which is to be applied. | Type: String | Mapping.Trailing |
Description | A description that helps identify the credentials, their purpose, etc. | Type: String |
|
DefaultPermission | Specifies if the record should by default be permitted or omitted (filtered) if none of the individual Filter rules return True. | ALLOW |
|
Filters
The Filters section specifies an explicit filter for data of a DirectoryRequest. If a condition matches, the corresponding value will be filtered, i.e. not be included in the data synched to Retarus. Multiple child nodes of type Filter are possible, offering the attribute options described below. If several Filter rules are specified and if more than one of these rules returns True, the first rule in the sequence will be applied:
Attribute | Description | Values | Cross reference |
Permission | Specifies if the record should be permitted or omitted (filtered) if rule’s condition (Method) is met. | ALLOW |
|
Method | Specifies what sort of filtering method should be applied. If the filter matches the method and returns True, the filter will be applied (exclude the record from the result set). The comparisons if the condition is matched are case- sensitive.
| CONTAINS |
|
DirectoryAttribute | Specifies which field of the directory request should be used for the comparison/filtering. |
|
|
Pattern | Specifies the string (or REGEX expression) |
|
|
GroupTables
The GroupTables section specifies, based on LDAP syntax, if specific directory user groups (i.e. security groups), should be permitted in the result set or not. Multiple child nodes of type GroupTable are possible, offering the following attribute options:
Attribute | Description | Values | Cross reference |
Name | The name of the GroupTable set for which information is specified here. This will be used in the config to identify the filter table which is to be applied. | Type: String | DirectoryRequest. |
Description | A description that helps identify the credentials, their purpose, etc. | Type: String |
|
DefaultPermission | Specifies if the record should by default be permitted or omitted (filtered) if none of the individual Group rules apply. | ALLOW |
|
Groups
The Groups section specifies a filter for groups within a directory DirectoryRequest to explicitly include or exclude users that belong to such a group. Multiple child nodes of type Group are possible, offering the attribute options described below. If several Group rules are specified and if more than one of these rules returns True, the first rule in sequence will be applied:
Attribute | Description | Values | Cross reference |
Permission | Specifies if the record should be permitted or omitted (filtered) if the search condition is matched. | ALLOW |
|
GroupDN | Specifies the LDAP name or canonical name of the group in question. If the user is a member of this group, the specified Permission action will be applied. | Type: String |
|
RecursiveGroup | Specifies if users in nested groups should be searched recursively, i.e. if the user is a member of a group which in turn itself is a member of a group, and so on. | True |
|
FieldType | If set, the DirSync field specified here is actively overridden if the group condition is matched. | PROFILE |
|
FieldValue | Specifies the value that should be set for the FieldType. | Type: String |
Intervals
The Intervals section specifies how often and at what points in time the synchronization should be performed. Multiple child nodes of type Interval are possible, offering the attribute options described below:
Attribute | Description | Values | Cross reference |
Name | The name of the interval set for which information is specified here. This will be used in the config to identify the filter table which is to be applied. | ALLOW | SyncConfig. |
Description | A description that helps identify the interval set, its purpose, etc. | Type: String |
|
Type | Specifies the time unit at which the tasks associated with this interval should be executed.
| MINUTE |
|
Value | Specifies the repeat value for field Type. | Type: Int |
|
InitialTime | Specifies the start time at which the job should be executed the first time. So, if the Type would be HOUR, the Value would be 2 and the InitialTime would be 08:00, then starting at 08:00 h, the task would be started every two hours. | Type: String |
|
AdditionalOptions
The AdditionalOptions section specifies additional options, allowing for more granular control of the DirSync service and its behavior. Multiple child nodes of type AdditionalOptionSet are possible, offering the attribute options described below:
Attribute | Description | Values | Cross reference |
Name | The name of the AdditionalOptionSet for which information is specified here. This will be used in the config to identify the filter table which is to be applied. | Type: String | Credential.Additonal OptionName |
RedundancyCheck | Specifies if the system should only upload new or changed data to Retarus. If the data has not changed since the last successful upload, no new upload would be initiated.
| True |
|
ForceUpload | Specifies that the upload should be performed even if the RedundanyCheck would prevent the data from being uploaded. It can be specified after how many suppressed attempts the upload should be enforced. The interval for this is specified with a single char D (days), H (hours), M (minutes), or C (count). It is preceded by the digit # that indicates the counter trigger for this interval. For example, 3D 5C would result in the upload being enforced every three days or every 5th upload attempt. | #D |
|
DuplicateMail | Specifies that the DirSync should ignore if identical mail addresses for a service are received from different directory sources. If set to false, only the first record containing a duplicate email address would be processed. | True |
|