Placement of the person
The Identity Manager Server determines where to place in the organization chart. The server uses a placement rule defined in the DSML Identity Feed service.
orgDn ::= orgRdn | orgRdn "," orgDn
orgRdn ::= prefix '=' name
prefix ::= 'l' | 'o' | 'ou'
name ::= string
where string
is the textural
value, l
is location, o
is organization,
and ou
is the organizational unit, business partner
organization, or Admin Domain.Example
IBM (organization)
Marketing (organizational unit)
Facilities (organizational unit)
Irvine (location)
The path for the Marketing department
is ou=Marketing, o=IBM
. The path for the Irvine Facilities
department is l=Irvine, ou=Facilities, o=IBM
.The JavaScript function
returns a string in this format, but omits the organization. The attributes
of the identity record from the identity source can be retrieved from
the JavaScript code
to construct the path. Because of the programming flexibility provided
by JavaScript code,
the information used from the identity source can be manipulated in
several ways. Programming constructs such as switch statements can
be used to map specific organization names to different paths in the
server. String manipulation can be used to tokenize or concatenate
names to derive paths. For example, a string of IBM/Facilities/Irvine can
be tokenized and reconstructed in DN format as l=Irvine, ou=Facilities,
o=IBM
.
div
for division, bu
for
business unit, and dept
for department. The logical
layout of the organization is as follows: organization
division
business-unit
department
organization
organizational unit (division)
organizational unit (business-unit)
organizational unit (department)
return "ou=" + entry.dept[o] + ",ou=" + entry.bu[o] + ",ou=" + entry.dw[o];
ou
attribute,
the placement rule might be:var ou =entry.ou;
var filt = '';
for (i = 0, i < ou.length, ++i)
{
if (i==0)
filt = ''ou='' + ou[i];
}
else
{
filt = filt + '',ou='' + ou[i];
}
}
return filt;
The Identity Manager Server evaluates
this script when adding a person to place that person in the organization.
During a modify request, this script is evaluated. If the value is
different from the current placement of the person, the person is
moved to the new location based on the returned path.