About Directory NamingThese discussions should familiarize you with NDS naming concepts.
Familiarity with NDS naming helps you understand the issues you will be dealing
with in your code. If you are already familiar with these concepts, skip to the
detailed source code listing and explanations.

Name ContextAn object's name context represents its position in the NDS tree. The
context is a list of containers separated by periods. This list of containers
traces the object's path back to [Root]. NDS locates an object by its path from
[Root]. For example, brenda.hr.Acme

Read this name as: brenda is in HR which is in Acme.

The following table defines the different ways NDS names are presented.

NDS Name Type

Description

Complete
Name

An object's complete name is its object name combined with
its context. For example, suppose a printer's object name is lpIII, and its
context is eng.acme. The printer's complete name would be: lpIII.eng.acme

Typeful Name

Typeful names include the type of each object in the context
(see below).

The object types use the definitions in the list below:

Object
Class

Type

Abbreviation

Leaf
objects

Common
Name

CN

Organization

Organization

O

Organizational Unit

Organizational Unit

OU

Country

Country

C

The typeful name uses the type abbreviation, an equals sign, and the
object's name. For example, if Brenda were a user located in the Acme's HR
department, her typeful name would be:

CN=brenda.OU=HR.O=Acme

Typeless Name

Typeless name is the same as the Complete Name. Brenda's
Complete Name is brenda.hr.acme.

Distinguished Name and Full Distinguished Name

Same as complete name.

The context helps you, or the client agent, locate a network resource
without knowing its network address. NDS looks up the resource's network
name, or context, and resolves it to a network address for you.

The next figure illustrates resolving a context to a network address.

Current contextThe current context is the context of the user's current workstation. For
example, the context of a workstation in the Public Relations
department could be:

pr.acme

Note that the user's object name is included in the current context. The
current context is the location of the workstation only.

Relative Name and PeriodsRelative nameNDS resolves relative names from the workstation's current context, not
from [Root]. For example, if the workstation's current context is pr.acme, and
the user's relative name is joe.sales, NDS reads the name as joe in sales
in the current context (pr.acme.). Never use a leading period with a
relative name.

Leading and Trailing PeriodsLeading and trailing periods, and relative naming relate to the current
context. Use a leading period when you want to resolve the name from [Root],
regardless of the current context. For example, when NDS sees the context
.pr.acme., it will locate the PR container by walking the tree from [Root].
This is also called the absolute path.

You can only use trailing periods in relative naming. For each trailing
period in a relative name, NDS resolves the name from one container closer to
[Root]. For example, if the workstation's current context is eng.berlin.acme,
and you wanted to access Brenda's object in the context hr.berlin.acme".
You could use the following string: "Brenda.hr.". NDS detects the
trailing dot and removes the "eng" component from the default context
before it appends the new context. So, the context will correctly read as:
"brenda.hr.berlin.acme".

Each trailing dot removes one naming component from the default context. For
example, to access Stan in sales in London, you can use the context:
"stan.sales.London..". The NDS client detects the two trailing
periods and removes two name components from the default context,
"eng.berlin.acme" and changes the context to:
"stan.sales.London.acme.