The context of an object is its position in the tree. It is nearly equivalent to a DNS domain.
You can see in the following figure that User Bob is in Organizational Unit Accounts, which is in Organizational Unit Finance, which is in Organization YourCo. See Figure 10.
Figure 10
Sample ConsoleOne Container
Sometimes, however, you need to express the context of an object in an eDirectory utility. For example, you could be setting up Bob's workstation and need to supply a name context, as shown in Figure 11.
Figure 11
Novell Client NDS Page
The context is specified as a list of containers separated by periods, between the object in question and the top of the Tree. In the example above, User object Bob is in the container Accounts, which is in the container Finance, which is in the container YourCo.
The distinguished name of an object is its object name with the context appended. For example, the complete name of User object Bob is Bob.Accounts.Finance.YourCo.
Sometimes typeful names are displayed in eDirectory utilities. Typeful names include the object type abbreviations in Table 22.
Table 22. eDirectory Object Type Abbreviations
In creating a typeful name, eDirectory uses the type abbreviation, an equal sign, and the object's name. For instance, Bob's partial typeful name is CN=Bob. Bob's complete typeful name is CN=Bob.OU=Accounts.OU=Finance.O=YourCo. You can use typeful names interchangeably with typeless names in eDirectory utilities.
The process eDirectory uses to find an object's location in the directory tree is called name resolution. When you use object names in eDirectory utilities, eDirectory resolves the names relative to either the current context or the top of the tree.
Workstations have a context set when the networking software runs. This context relatively identifies the location of the workstation in the network. For instance, Bob's workstation would be set to the current context as follows:
Accounts.Finance.YourCo
Current context is a key to understanding the use of leading periods, relative naming, and trailing periods.
Use a leading period to resolve the name from the top of the tree, no matter where the current context is set. In the example below, the leading period tells the CX (Change Context) utility to resolve the name relative to the top of the tree.
CX .Finance.YourCo
eDirectory interprets the command as "Change the context to the Finance container, which is in the YourCo container, resolved from the top of the tree."
The workstation's current context changes to the Finance container, which is in the YourCo container.
Relative naming means that names are resolved relative to the workstation's current context, rather than the top of the tree. Relative naming never involves a leading period, since a leading period indicates resolution from the top of the tree.
Suppose a workstation's current context is set to Finance. See Figure 12.
Figure 12
Sample ConsoleOne Container
The relative object name of Bob is:
Bob.Accounts
eDirectory interprets the name as "Bob, which is in Accounts, resolved from the current context, which is Finance."
Trailing periods can only be used in relative naming. Therefore, you can't use both a leading period and a trailing period. A trailing period changes the container from which eDirectory resolves the name.
Each trailing period changes the resolution point one container toward the top of the tree. Suppose you want to change your workstation's current context from Timmins to Allentown in the example in Figure 13.
Figure 13
Sample ConsoleOne Container
The proper CX command uses relative naming with trailing periods:
CX Allentown.East..
eDirectory interprets the command as "Change the context to Allentown, which is in East, resolved from two containers up the tree from the current context."
Similarly, if Bob is in the Allentown container and your workstation's current context is Timmins, Bob's relative name is:
Bob.Allentown.East..
When UNIX user accounts are migrated to eDirectory, the eDirectory context is not used to name users. The context of the user is determined by the UAM component.