Symprex Email Signature Manager, v9.6.2

Dynamic Fields

Dynamic Fields is a very powerful feature in Email Signature Manager. Each component (HTML, Rich Text and Plain Text) of a template is essentially the final content that will be deployed but instead of actual user information, field markers (dynamic fields) are inserted where the real user information will be inserted (or merged). This is illustrated in the simple signature below:

 

Sample Signature Content

 

In this example, most of the content will be populated dynamically at the point of deployment. For example, the {fullname} field will be replaced by the user's full name from the data source for the template (the data source is normally Active Directory but custom data sources can be configured). The deployed signature would appear something like the following example:

 

Sample Signature Populated

 

This examples demonstrates basic use of simple fields in signatures; a full list of the available fields is listed in the appendix.

 

Formatting a Field Value in Upper, Lower or Title Case

 

Field values can be formatted to be in upper, lower or title case as follows:

 

Upper Case: Add the :U suffix to the field name, for example {fullname:U}

Lower Case: Add the :L suffix to the field name, for example {fullname:L}

Title Case: Add the :T suffix to the field name, for example {fullname:T}

 

Disabling Encoding of Field Values

 

When a field value is inserted into a signature, it is encoded to HTML to ensure it appears correctly. However, this may not be the desirable behaviour if the field contains HTML that should be used directly in the signature without being encoded. To disable encoding of field values, add the :N suffix; for example {description:N}.

 

Use any Active Directory Property Value

 

The pre-defined fields available in Email Signature Manager are the most commonly used fields for signatures. However, it is possible to obtain the value of any Active Directory property by using the following syntax:

 

{#propertyname}

 

where propertyname is the name of the property. If the property has multiple values, a specific value can be obtained using the following syntax:

 

{#propertyname(index)}

 

where (index) is the is 1-based index of the value to be used. A list of some Active Directory fields that can be useful in signatures can be found here.

 

Replacing Field Values

 

Field values has been replaced with alternative values from a specified list using a replacement function. There are four such functions, with two distinct modes. The replacement function is specified after the field name as follows:

 

{fieldname:function("","","")}

 

where:

 

fieldname is the name of the field whose value is to be replace.

function is the appropriate replacement function, as set out below.

the comma-separated list of match and replacement values; each value must be specified in quotes.

 

Match Value and Replacement Value Specified in Pairs

 

In this mode, the replacement function accepts a list of pairs of values; the first value is the value to be matched and the second value is the replacement value:

 

"<Match One>","<Replacement One>","<Match Two>","<Replace Two>",...,"<Match N>","<Replace N>"

 

When the function is applied, all instances of each match value found in the field is replaced with the associated value. There are two version of this function:

 

Function

Description

r

Perform replacement using a case insensitive comparison according to the paired list of match values and associated replacement values.

rc

Perform replacement using a case sensitive comparison according to the paired list of match values and associated replacement values.

 

Example One: Ensure that departments are given consistent names in your signatures:

 

{department:r("hr","Human Resources","finance","Finance Department")}

 

This would perform a case insensitive comparison, replacing "hr" with "Human Resources" and "finance" with "Finance Department".

 

Example Two: Ensure consistent formatting of phone numbers:

 

{phone:r(" ","-")}

 

This would replace all spaces in the telephone number with a hyphen, for example "901 555 1234" would become "901-555-1234".

 

Multiple Match Values with a Single Replacement Value

 

In this mode, the replacement function accepts a list of values where the last value is the replacement value and all preceding values are the match values:

 

"<Match One>","<Match Two>",...,"<Match N>","<Replace>"

 

When the function is applied, all instances of each match value found in the field is replaced with the last value in the list. There are two version of this function:

 

Function

Description

rl

Perform replacement using a case insensitive comparison according to the list of match values and using the last value for the replacement.

rlc

Perform replacement using a case sensitive comparison according to the list of match values and using the last value for the replacement.

 

Example One: Ensure that a consistent phone number is used for certain numbers (such as converting geographic numbers to non-geographic free-phone numbers):

 

{phone:rl("01234 123456","01234 654321","0800 123 4567")}

 

This would replace telephone numbers "01234 123456" and "01234 654321" with 0800 123 4567.

 

Example Two: Ensure consistent formatting of phone numbers:

 

{phone:rl("-","  "," ")}

 

This would replace all double spaces and hyphens in the telephone number would be replaced by a single space, for example "901-555  1234" would become "901 555 1234".

 

Wildcards

 

All of the replace functions support the use of wildcards in the match values. The following characters can be used:

 

* : zero for more alpha-numeric characters

? : any single character

# : any single digit

 

Important: When wildcards are used, the match is performed against whole field value and the associated replacement value replaces the whole field value.

 

Example One: Ensure that a consistent phone number is used for all numbers:

 

{phone:r("01234 *","0800 123 4567")}

 

This would replace any telephone numbers starting "01234 " with "0800 123 4567".

 

Limiting Replacement to the First Match

 

It is possible to replace just the first match found at the the start or end of a field value using the hat (^) character.

 

Example: Ensure that telephone numbers start with the country dialing code:

 

{phone:r("0^","+44 0")}

 

This would cause any telephone numbers starting "0" with to be updated to start "+44 ", for example "01234 123456" would become "+44 1234 123456".

 

Escaping Characters

 

In order to use special characters in the value list, they should be escaped as follows:

 

Quotation mark: \"

Left angle-bracket: \[

Right angle-bracket: \]

Backslash: \\

Hat: \^ (only applicable at the end of a match value)

 


Copyright © 2024 Symprex Limited. All Rights Reserved.