Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Specifying Identifier Formats

Identifier formats are based on the concept of parameter substitution. A parameter is specified within parentheses, anything outside the parentheses are used unmodified (except for sequenced segments, described below).

Identifier formats can be a bit tricky, so let's start with the easier ones. The parameter (#) means "replace with a collision number". A collision number is the next number that will generate a unique identifier. For Sequential identifiers, it is the next unassigned integer beginning with the minimum value you configured. For Random identifiers, the collision number is selected randomly.

Random and Sequential identifiers are assigned the same way. If no format is specified, they will simply be assigned as an integer, eg 109 or 523788.

To embed the assigned number in a string, set the format to be the string you would like, using ${#} to denote where the assigned number should go, or using ${#:8} to denote a fixed width (in this case, 8 characters).

Some examples:

Format

Example Assigned Identifier

N${#}

N45

N${#:6}

N000045

No Format

${#:5}
${GIVEN}.${FAMILY}(1:.${#})@myvo.org

Assigning Identifiers on Demand

If a format is specified like C(#), then the character C will be prefixed to the collision number, eg C109 or C523788.

The collision number can be made fixed width by specifying the number of characters n in the parameter as (#:n). For example, the format C(#:8) will generate C00000109 or C00523788.

That's all there is to Random and Sequential identifier assignment. Name-based identifier assignment is more complicated. First, several new parameters can be used to select the component of a name (as defined in cm_names) to be used:

  • (G): Given Name
  • (M): Middle Name
  • (F): Family Name

So (G).(F)@myvo.org might generate albert.einstein@myvo.org. To use initials instead of a full name, simply limit the length of the name to 1 character. (G:1).(F)@myvo.org would generate a.einstein@myvo.org instead.

These formats can't guarantee a unique identifier if your organization is non-trivial in size, so a collision number can be added. (G).(F)(#)@myvo.org would generate albert.einstein1@myvo.org.

The problem here is you might not want to append a number for the first albert.einstein, only for the second. Or you might want to try a middle name first. The solution is to add a sequenced segment. A sequenced segment is denoted in brackets as a number followed by a colon, and includes the text (including parameters) to be used when that sequenced segment is in effect. When assigning identifiers, all sequenced segments will initially be ignored. Then, starting with 1 and incrementing by 1 each time, sequenced segments will be added in until a unique identifier is generated.

Wiki Markup
For example, consider the format {{(G)\[1:.(M:1)\].(F)\[2:.(#)\]@myvo.org}}. This somewhat confusing string will first generate {{werner.heisenberg@myvo.org}}. If that isn't unique, it will then generate {{werner.k.heisenberg@myvo.org}}. Finally, it will generate {{werner.k.heisenberg.2@myvo.org}}. (Name based collision numbers always start at 2 when used with sequenced segments.)

The good news is you may not need to know any of this. Various common default formats are available via a drop down menu when defining Name based identifier assignments. You may be able to just use one of those.

Assigning Identifiers on Demand

Identifiers can be assigned on demand by viewing the identifiers associated with a CO Person. An Assign Identifiers button will be available.xxx click the button

Assigning Identifiers via Enrollment Flows

...