Introduction to Policies

This section provides an introduction to the types of policies available, their roles in DirXML, and how to define your own policies. The following topics are covered:


Basic Policies

There are several different types of policies you can define on both the Subscriber and Publisher channels. Each policy is applied at a different step in the data transformation, and some policies are only applied when a certain action occurs. For example, a creation policy is applied only when a new object is created.

Policy Description

Subscriber Matching

The object containing the criteria used to find objects in the application that match objects in eDirectory, so those matching objects can be associated with each other.

Subscriber Create

The object containing the definition of the attributes required to create a new object in the application.

Subscriber Placement

The object containing the criteria that determine where new application objects should be created.

Publisher Matching

The object containing the criteria used to find objects in eDirectory that match objects in the application so those matching objects can be associated with each other.

Publisher Create

The object containing the definition of the attributes required to create a new object in eDirectory.

Publisher Placement

The object containing the criteria that determine where new eDirectory objects should be created.

Schema Mapping

The object that holds the definition of the schema mappings between eDirectory and the application


Create

Create policies define the minimum set of attributes that must be present to create a new object.

For example, you create a new user in eDirectory, but you only give the new User object a name and ID. This creation is mirrored in the eDirectory tree, but the addition is not immediately reflected in applications connected to eDirectory because you have a Create policy specifying that only User objects with a more complete definition are allowed.

A Create policy can be the same for both the Subscriber and the Publisher, or it can be different.

The create policy is represented in eDirectory as an object in the driver.


Matching

Matching policies define the minimum criteria that two objects must meet to be considered the same.


Placement

Placement policies determine where new objects are created in eDirectory and the connected application.

Each driver requires at least two Placement policies: one to specify where to place a new eDirectory object when the external application database creates a new object, and one to specify where to create an external application database object when a new object is created in eDirectory.

Because eDirectory is hierarchical, multiple policies are useful because they let you create objects in multiple containers, However, you might prefer to have all new objects created in the same container, then later move them to department containers.


Schema Mapping

Schema Mapping policies hold the definition of the schema mappings between eDirectory and the connected system.

The eDirectory schema is read from eDirectory. The DirXML driver for the connected system supplies the application's schema. After the two schemas have been identified, a simple mapping is created between eDirectory and the target application.

After a schema mapping is defined in the DirXML driver configuration, the corresponding data can be mapped.


Transformation Policies

The following policies are used to transform the event data format between eDirectory and the application:

Policy Description

Output Transformation

The transform action that should be used as information is passed from eDirectory to the application.

Input Transformation

The transform action that should be used as information is passed from the application to eDirectory.

The following policies are used to transform the event action between eDirectory and the application:

Policy Description

Subscriber Event Transformation

The transform action used to convert from one event to another.

Publisher Event Transformation

The transform action used to convert from one event to another.

The following policies are used to transform commands between eDirectory and the application:

Policy Description

Subscriber Command Transformation

The transform actions used on commands sent to eDirectory by the DirXML engine.

Publisher Command Transformation

The transform actions used on commands sent by the driver to the DirXML engine.


Defining Policies

Policies are defined in one of two ways:


Policy Builder and DirXML Script

The Policy Builder interface is used to define the majority of policies you might implement. The Policy Builder interface uses a graphical environment to enable you to easily define and manage policies.

The underlying functionality of rule creation within Policy Builder is provided by a custom scripting language, called DirXML Script.

DirXML Script contains a wide variety of conditions you can test, actions to perform, and dynamic values to add to your policies. Each of these options are presented using intelligent drop-down lists, providing only valid selections at each point, and quick links to common values.

Policy Builder makes working directly with DirXML script unnecessary.

See Defining Policies Using Policy Builder, for more information on Policy Builder.

HINT:  Although not necessary to use Policy Builder, a complete DirXML script reference is available with the DirXML Driver Developer Kit at http://developer.novell.com/ndk/doc/dirxml/dirxmlbk/ref/index.html


XSLT Style Sheets

To define more complex policies, XSLT style sheets are used to directly transform one XML document into another XML document containing the required changes.

Style sheets provide you a large amount of flexibility, and are used when the transformation doesn't fit into the predefined conditions and actions available using rule creation in Policy Builder.

To create an XSLT style sheet, you need a through understanding of XSLT the nds.dtd, and the commands and events transferred to and from the DirXML engine. For detailed nds.dtd reference, see the NDS DTD reference, and nds.dtd.

See Defining Policies using XSLT Style Sheets for more information on XSLT style sheets.