Sun ONE Meta-Directory 5.1 Configuration and Administration Guide |
Chapter 5 Configuring The Join Engine
This chapter provides information on the join engine, the core component of Meta-Directory. The primary purpose of the join engine is to link data and manage the flow of information from the connector view, into the meta view and back to the connector view. This chapter includes the following sections:
- What is the Join Engine?
- Creating the Join Engine Instance
- What is the Join Process?
- Configuring the Join Process
- Operational Configuration for the Join Engine
What is the Join Engine?
The join engine is responsible for directing the flow and synchronization of data between one or more connector views and the meta view. It allows data to flow in either direction, monitoring the connector views for changes and incorporating these changes into the meta view as well as monitoring the meta view for changes and incorporating these changes back into the connector views. For example, if information from a human resources database that contains a change in an employee's address enters the join engine, the join engine relays the change to the meta view. The change will be made in the address attribute of the user's meta view entry as well as flow back to reflect the change in other connector views the entry might also be linked with.
Creating the Join Engine Instance
You create one instance of the join engine within a server group. (A server group consists of one or more servers that share a root directory and are managed by a common instance of Administration Server.) The instance is created from Sun ONE Console. General server information, such as the base DN of the meta view and Directory Server URL, is needed to create the instance. It also requires enabling the Directory Server change log as well as loading the schema into the Directory Server. (The schema should be loaded into any new Directory Server introduced into the system.) Once the join engine instance is created, Directory Server should be restarted and Meta-Directory console can be accessed.
To Create a Join Engine Instance
- In Sun ONE Console, right-click the Server Group.
A context menu appears.
- Select Create Instance Of, then select Meta-Directory Join Engine.
The New Instance Creation dialog box appears.
- Enter values for all of the following fields:
- Click OK.
A pop-up window appears with change log options. A change log is a file that summarizes changes made to a server. Directory Server writes the change logs in a subtree (cn=changelog).
- Select one of the following options concerning the change log:
Enable Changelog NOW.
The Enable Changelog dialog box will appear. Enter the directory path where you want to store the change log and accept the default Changelog Suffix or provide your own. Click OK. (You will be reminded to restart the Directory Server. For information on how to do this, see the Deployment Guide.)
Enable Changelog LATER.
It is recommended that you enable the change log now. The process for doing this in Directory Servers 4.1x and 5.x is different. Please see iPlanet Directory Server documentation for enabling the change log after the instance has been created.
Abort Instance Creation.
This option will stop the instance creation process.
- Click Yes to load the schema into the Directory Server.
Loading the schema requires several minutes. After it is loaded, the message "Instance Creation Succeeded" appears.
To Remove a Join Engine Instance
- In Sun ONE Console, right-click the join engine instance.
A context menu appears.
- Select Remove Server and click Yes in the message box.
The join engine instance is deleted.
What is the Join Process?
The join process is the movement of data through a sequence of rules and filters, configured by the administrator and administered by the join engine, to determine how connector view entries will be linked in the meta view. To successfully join connector view entries, the join engine must match each connector view value with a corresponding value in the meta view. To do this, rules containing values and attributes are used as criteria for finding and creating links. The rules include join rules, attribute construction definitions, attribute flow rules, filters, and DN mapping rules.
Join Process Rules and Rule Sets
Before beginning configuration, you should be familiar with the concept of join process rules and rule sets. Join process rules contain values and attributes that are used as criteria for moving data through the join engine and linking the data in the meta view. For the join process, rules are configured and then placed in rule sets. These sets are applied when setting up the participating view. After they are applied, the rules are used by the join engine to steer the join process.
Rule Sets
A rule set contains an ordered group of configured rules which are sequentially tested until either one of two things occur:
- An individual rule identifies an entry
- All rules fail and the entry is not passed
It is important to remember that each rule set should be made up of rules that search through entries flowing in one direction. In other words, do not add a rule that searches through entries flowing to the meta view to a rule set that already contains a rule that searches through entries flowing to a connector view.
Join Process Rules
A configured rule consists of one or more of these three operator strings:
- Optional Token Assignments (Format Operator)
- Selection Criteria (Requirements Operator)
- Distinguished Name Construction/Join Filter/Attribute Construction (Substitution Operator)
The operators are executed in the order stated. The Format Operator is recognized first so that sub-tokens can be created. The entries are then checked by the Requirements Operator. The entries that contain the proper selection criteria are then searched by the Substitution Operator for those that match the query. For additional information regarding these operators, see "The Join Process Operators."
Optional Token Assignments (Format Operator)
The format operator string is an optional field that specifies the format for attributes which consist of multiple values. It is used to break up an attribute's value into separate, more specific values. Values can be divided into sub-tokens for use in the configuration of other rules. For example, the value of the attribute {cn}=%last,first% can be separated into two values by entering {cn}=%last%,%first% in the optional token assignment field. These sub-tokens (%last% or %first%) are then used as attributes for placement in other rules. (When this field is left empty, all pairs default to their entire source value.)
Selection Criteria (Requirements Operator)
The requirements operator string specifies conditions that are applied to a source entry; the conditions must evaluate to TRUE for the entry to pass to the next operator. Join rules, DN mapping rules, constructed attributes and attribute flow rules include the Selection Criteria option. The Compose Selection Criteria dialog box configures the specifications which are used to determine if the particular rule for which they are configured should be applied against the entry being flowed. If the entry does not meet the required condition (for instance, objectclass==person), the entry will not synchronize.
Selecting the option to make a new rule from within the join rules, DN mapping rules, constructed attributes or attribute flow rules screens and clicking the (...) button will open the Compose Selection Criteria dialog box. This dialog box enables you to set conditions against entries or attributes:
- Entry Conditions
The Entry type enables you to compose criteria that would select or not select entire entries.
- Attribute Conditions
The Attribute type allows you to compose conditions that would define your selection criteria as the value of an attribute.
- Language Tagged Attribute Conditions
The Language Tagged Attribute type enables language subtype support. If you specify a language subtype for an attribute, the entry allows searches based on a secondary, specified language.
The following sections explain how to configure each type of condition.
To Compose Entry Conditions
- In the Compose Selection Criteria dialog box, select Entry as the Type.
This figure shows the available fields for the Entry conditions.
- Provide values for the following fields:
- Click Insert. Your composition appears in the Conditions list window above.
- Optional: Add other conditions as necessary.
- Optional: Modify the conditions using the buttons at the right as described in "Combining Conditions".
- Click OK to save the conditions and return to the previous dialog box.
To Compose Attribute Conditions
- Select Attribute as the Type.
This figure shows the available fields for the Attribute conditions.
- Provide values for the following fields:
- Click Insert. Your composition appears in the Conditions list window above.
- Optional: Add other conditions as necessary.
- Optional: Modify the conditions using the buttons at the right as described in "Combining Conditions".
- Click OK to save the conditions and return to the previous dialog box.
To Compose Language Tagged Attribute Conditions
- Select Language Tagged Attribute as the Type.
This figure shows the available fields for the Language Tagged Attribute conditions.
- Provide values for the following fields:
Source
Choose the source for the attribute from the drop-down list. The list includes all configured connector and meta views plus Default. Choose Default if you want all sources.
Attribute
Choose an attribute used in the source schema.
Expression
Select an expression that describes the relationship between the attribute and the value. The expressions in the drop-down list are self-explanatory except for these two:
- Constructed From is for use with constructed attributes. As an example, the following constructed attribute is defined
description = %title%,%telephonenumber%
To specify an attribute telephonenumber, an Expression of Constructed From, and a value of description would be used. When the join engine applies the selection criteria, it searches for description to specify telephonenumber.
- Free Format appends to anything you type in the Value field. Do not use Free Format to type description @ AND cn @ in the Value field. These values should be selected using the drop-down lists. (When using this option, be aware of your use of the space bar.)
Value
Provide a value to complete the expression, if applicable.
Supported Language Subtypes
Select a language subtype. For more information, see "Language Subtype Tagged Attributes".
Add Phonetic Subtype
Click this checkbox to indicate that the attribute value is a phonetic representation. For example, givenname;lang-ja;phonetic indicates that the attribute value is the phonetic version of the entry's Japanese name.
- Click Insert.
Your composition appears in the Conditions list window above.
- Optional: Add other conditions as necessary.
- Optional: Modify the conditions using the buttons at the right as described in "Combining Conditions".
- Click OK to save the conditions and return to the previous dialog box.
Combining Conditions
You can combine configured conditions at any time using one or more of the operator buttons on the right side of the window. For instance, to combine the first two of the following conditions with an AND operator, you would select them and click AND.
The system would respond as shown:
To add the third condition with an AND operator and nest the first two, you would select the already combined conditions and the third condition and click AND. The system would respond as shown:
For definitions of the combining operator buttons, see "Combining Requirements Operators".
Distinguished Name Construction/Join Filter/Attribute Construction
(Substitution Operator)The final operator string is the substitution operator. The substitution operator contains the conditions that the join engine applies to the target view in order to find one entry with which to link the source entry. This is the required entry when defining rules. The join engine will apply the substitution operator criteria to the data in the destination source and join the entry flowing to that source with the one entry in the destination source that matches the criteria. For example, an entry flowing from the connector view has a uid=agreen. A substitution operator of uid=%uid% will join this entry with the one entry in the destination source that also has a uid=agreen. The substitution operator will find only one unique entry to match or else the rule will fail. The rule will also fail if this field is left empty.
Note See "The Join Process Operators" to learn more about this syntax.
Configuring the Join Process
The configuration of the join rules, attribute construction definitions, attribute flow rules, filters, and DN mapping rules is the basis of the join process. After these configurations are finished, the rules are placed in rule sets and applied to the data. Based on the rule configurations, the join engine can allow one or more of the following:
- Entry creation in the meta view or in the external data sources
- Entry deletion from the meta view, and subsequently, from the external data sources in which the entry originated or to which it is connected
- Entry modification in the meta view and the corresponding entry in any number of external data sources
- Incremental updates in the external data sources as modifications occur
Once the join process rules are configured they need to be applied to the participating view in order to modulate the process. Information and procedures on how to apply these rules can be found in "Configuring a Participating View" of "Views in Meta-Directory."
Join Rules
A join rule is one of the join process rules. To successfully join entries from different connector views into one meta view entry, join rules are specified. Join rules identify which values and attributes in the source entry will be used to search the destination view for one entry with which to join it. When a matching value is found in the destination view, a join between the two entries is created.
After join rules are configured, they are placed in rule sets which define the order in which the rules are applied. The join engine applies the rules sequentially within the rule set until either a rule identifies a single entry or all rules fail. If a match is made, the join engine moves on to the next rule set in the join process. If the entire search fails, the join engine may still add the source entry to the destination view, depending on the configuration of the other rules. Alternatively, the join engine can leave the source entry unlinked and the entry can be manually joined using The Fix-It Tool as described in "Administration Tools."
Working With Join Rules
- From the Meta-Directory console, choose the Configuration tab.
- Select Meta-Directory in the navigation tree.
- Click the Join Rules tab.
The join rules window appears.
To Create New Rules
- Click New Rule.
The New Join Rule dialog box appears.
- Provide values for the following fields:
Name
Enter a name for the join rule. Restrict the name to the following characters: A-Z a-z 0-9 _ - <space>
Description
Optional. Enter a description.
Type
The default rule type is Grammar. (The join engine provides condition and substitution statements that are based on attribute names and values.) Additional script-based rule options may be available through Sun ONE Professional Services.
Optional Token Assignments
This field is used to break up an attribute's value into separate, more specific values. These sub-tokens can then be used as attributes. For example, the attribute {cn}=%last,first% can be sliced into two attributes by entering {cn}=%last%,%first%.To compose token assignments, see "Optional Token Assignments (Format Operator)" for instructions.
Selection Criteria
Optional. This field determines the conditions that must be met by an entry before a rule is applied. For instance, you can choose to flow only those entries that contain (%objectclass%=person); using this field parses the entries using that standard. To compose selection criteria, see "Selection Criteria (Requirements Operator)" for instructions.
Join Filter
This required field is the search filter used to join entries. The join engine will apply the rule to the destination data and join the source entry with the one destination entry that matches the criteria. For example, a join filter of uid=%uid% will join a connector view entry and a meta view entry whose unique ID match. To compose join filters, see "Distinguished Name Construction/Join Filter/Attribute Construction (Substitution Operator)" for instructions.
- Click OK.
The new rule and its type appear in the Rules list box.
- Repeat the steps above to add other join rules.
- Click Save from the Join Rules window when you are finished.
Example:
In order to join entries that have the same values for the attribute uid, you would tell the join engine to select all entries with the attribute uid [(%uid%=@) in the Selection Criteria field] and join those that have an identical user ID [(uid=%uid%) in Join Filter field].
To Edit Rules
- Select the rule you want to edit from the Rules list box and click Open Rule.
- Alter the fields in the Edit Join Rule dialog box as described in "To Create New Rules".
- Click OK to save your changes and return to the Join Rules window.
- Edit other rules following steps 1 - 3.
- Click Save from the Join Rules window when you are finished editing rules.
To Delete Rules
- Select the rule you want to delete.
- Click Delete Rule.
The rule disappears from the Rules list box.
- Click Save.
To Create A New Rule Set Name
- Click New Set.
The New Set dialog box appears.
- Enter the new rule set name and click OK.
The new name appears in the Rule Sets list box.
- Click Save.
To Assign Members to a Rule Set
- Select the rule set name from the Rule Sets list box.
- Select the rule you want to add from the Rules list box.
- Click Add Member.
The rule you add appears in the Members list box.
- Repeat steps 1 - 3 to add more rules to the set
- Click Save when you are finished.
To Delete Members from a Rule Set
- Select the rule set name from the Rule Sets list box.
- Select the member you want to delete from the Members list box and click Remove Member.
- Repeat step 2 to delete other members.
- Click Save when you are finished removing members.
To Delete a Rule Set
- Select the set you want to delete.
- Click Delete Set.
The set disappears from the Rule Sets list box.
- Click Save when you are finished.
To Test a Rule
Before a rule can be tested, a connector view with at least one entry must be configured and added as a participating view. Also check that the join engine has been started.
- Click Rule Tester.
The Join Rule Tester dialog box appears.
- Choose the Entry To Test Against:
To test the rule on a meta view entry, click the Browse button next to the Meta View drop-down list. The Select An Entry dialog box appears from which you can select the entry within the meta view you want to test on and click OK. The entry's location appears in the Entry to Test Against field.
To test the rule on a connector view entry, select the desired connector view from the Connector View list and click the adjacent Browse button. The Select An Entry dialog box appears. Select an entry within the connector view you want to test on and click OK. The entry's location appears in the Entry to Test Against field.
- Select the Rule/Rule Set To Test:
Test Using Connector View Settings uses the join rule set employed by the connector view selected from the drop-down list. This option is available whether you are testing an entry from a connector view or from a meta view. Select the rule set name in the Rule Set field.
Test Using Rule Set uses a join rule set. Select the rule set from the Rule Set field.
Test Using Rule uses a join rule. Select the rule from the Rule field.
- Select Verbose to receive detailed test results, including which rule or rule set (along with the rules within the rule set) were tested. Deselect Verbose to receive final results only.
- Click Test to execute the test.
Constructed Attributes
A constructed attribute is an attribute name and its value created from information in a source entry. Once created, the constructed attribute will show up as an attribute choice during the creation of attribute flow rules. For example, if a data source's entries have a Comments field that contains three pieces of information (department, job title, and phone extension), this information can be broken into three constructed attributes. Conversely, there may be three separate attributes that list a car type, a car color and a transmission type that can be consolidated into a single constructed attribute. The final value of the attribute can be static (a telephone number which remains the same) or dynamic (a value based on an entry's attributes or culled from sub-token assignments).
Note One common use of constructed attributes is defining objectclasses for data flowing from Oracle tables into the meta view.
Working With Constructed Attributes
- From the Meta-Directory console, choose the Configuration tab.
- Select Meta-Directory in the navigation tree.
- Click the Attribute Construction tab.
The Attribute Construction panel appears.
To Name a New Constructed Attribute
- Click New Attribute.
The Constructed Attribute dialog box appears.
- Provide a name and description for the new attribute.
- Click OK.
The new attribute appears in the Attributes list.
To Create a Rule for a New Constructed Attribute
- Select the attribute, then click New Rule.
The New Constructed Attribute Rule dialog box appears.
- Provide values for the following fields:
Name
Enter a name for the constructed attribute. Restrict the name to the following characters: A-Z a-z 0-9 _ - Spaces are not allowed in constructed attribute names.
Description
Optional. Enter a description.
Type
The default rule type is Grammar (join engine provides condition and substitution statements that are based on attribute names and values). Additional script-based rule options may be available through Sun ONE Professional Services.
Optional Token Assignments
This field is used to break up an attribute's value into separate, more specific values. These sub-tokens can then be used as attributes. For example, the attribute {cn}=%last,first% can be sliced into two attributes by entering {cn}=%last%,%first%.To compose token assignments, see "Optional Token Assignments (Format Operator)" for instructions.
Selection Criteria
Optional. This field determines the conditions that must be met by an entry before a rule is applied. For instance, you can choose to flow only those entries that contain (%objectclass%=person); using this field parses the entries using that standard. To compose selection criteria, see "Selection Criteria (Requirements Operator)" for instructions.
Attribute Construction
This required field carries the value of the constructed attribute. A hard-coded value, the entry's attribute, token assignments or a combination are acceptable. For example, %givenname%.%sn%@sun.com is a combination of attributes and hard-coded values. For more information, see "Distinguished Name Construction/Join Filter/Attribute Construction (Substitution Operator)".
- Click OK.
The new rule for this attribute appears in the Rules list box.
- Repeat the steps above to add more rules.
- Click Save when you are finished.
Example:
In order to construct an objectclass attribute for use with an Oracle database, you might name it dbobjectclass and add the objectclasses to be defined in the Attribute Construction field. Depending on the attributes in the database, top;person;organizationalPerson;inetOrgPerson is recommended.
To Edit a Rule
- Select the rule you want to edit.
- Click Edit Rule.
The Edit Constructed Attribute Rule dialog box appears.
- Alter the fields as necessary, and click OK.
The Attribute Construction window reappears.
- Click Save when you are finished editing rules.
To Delete a Rule
- Select the rule to be deleted.
- Click Delete Rule.
The rule disappears from the Rules column.
- Click Save when you are finished deleting rules.
To Delete an Attribute
- Select the attribute you want to delete.
- Click Delete Attribute.
The attribute disappears from the Attributes list.
- Click Save when you are finished deleting attributes.
Attribute Flow Rules
An attribute flow rule allows you to map attributes between a connector view and a meta view. Attribute flow tables define matching attributes; they consist of a single source attribute and one destination attribute. When a new entry appears in a connector view, attribute flow rules determine which attributes will be flowed and how to map the attribute names between the connector and meta view.
Working With Attribute Flow
- From the Meta-Directory console, choose the Configuration tab.
- Select Meta-Directory in the navigation tree.
- Click the Attribute Flow tab.
The Attribute Flow panel appears.
To Add a New Rule
- Click New Rule.
The New Attribute Flow Configuration dialog box appears.
- Provide values for the following fields:
Name
Enter a name for the attribute flow rule. Restrict the name to the following characters: A-Z a-z 0-9 _ - <space>
Description
Optional. Enter a description of the rule.
Direction
Specify whether you want the new rule to map entries that flow to the meta view or to the connector view.
Selection Criteria
Optional. This field determines the conditions that must be met by an entry before a rule is applied. For instance, you can choose to flow only those entries that contain (%objectclass%=person); using this field parses the entries using that standard. To compose selection criteria, see "Selection Criteria (Requirements Operator)" for instructions.
Attribute Mappings
See To Add Attribute Mappings for instructions. (The meta view and at least one connector view must be configured before moving on to this step. For those procedures, see "Views in Meta-Directory.")
- Click OK from the New Attribute Flow Configuration dialog box.
The new rule appears in the Rules section of the Attribute Flow window.
- Click Save when you are finished adding new rules.
To Add Attribute Mappings
- From the New Attribute Flow Configuration dialog box, click Add to configure attribute mappings for this rule.
The Add Attribute Mappings dialog box appears.
- Select your choices from the following fields:
Source View
and
Destination View
The object class choices shown are based on the view chosen.
Source Objectclass
and
Destination Objectclass
Choose one of the following to define the Attribute field below:
Supported Language Subtypes for Source
and
Supported Language Subtypes for Destination
To define an attribute with a language subtype, choose All Language Tagged Attributes and select the language subtype for the attribute desired. A language subtype allows searches in other languages. For more information, see "Language Subtype Tagged Attributes".
Add Phonetic Subtype checkbox
Select to indicate that the attribute value is a phonetic representation. For example, givenname;lang-ja;phonetic indicates that the attribute value is the phonetic version of the entry's Japanese name.
Treat Attribute as Group
Select if the selected attribute applies to a number of entries. Your choice is reflected in the Type column of the New Attribute Flow Configuration dialog box after you click Insert.
- Select an attribute from the source view and one from the destination view and click Insert.
The mapping appears in the lower half of the New Attribute Flow Configuration dialog box under the Type, Source, and Destination columns.
- Repeat Step 2 and Step 3 to add additional mappings to the configuration.
- Click Close when you are finished.
To Edit a Rule
- Select the rule you want to edit.
- Click Open Rule.
The Edit Attribute Flow Configuration dialog box appears.
- Change information in the fields as necessary. You can add or remove attribute mappings by using the buttons at the bottom of the dialog box.
To add a mapping, see "To Add Attribute Mappings" on page 96.
To delete a mapping, select the mapping you want to delete and click Remove.
- Click OK to return to the Attribute Flow window.
- Click Save when you are finished editing rules.
To Delete a Rule
- Select the rule you want to delete.
- Click Delete Rule.
The rule disappears from the Rules list.
- Click Save when you are finished.
To Create a New Rule Set
- Click New Set.
The New Set dialog box appears.
- Provide a name for the new set and click OK.
The new name appears in the Sets list box.
- Click Save when you are finished.
To Assign a Rule to the New Rule Set
- Select the name of the new rule set from the Rule Sets list box.
- Select a rule in the Rules list.
- Click Add Member.
The rule appears in the Members list box.
- Repeat steps 2 and 3 to add additional rules to the set as desired.
- Click Save when you are finished.
To Delete a Rule From a Rule Set
- Select the rule member you want to delete.
- Click Remove Member.
The member disappears from the Members list box.
- Click Save when you are finished.
To Delete a Rule Set
- Select the rule set you want to delete.
- Click Delete Set.
The rule set disappears from the Sets list box.
- Click Save when you are finished.
Attribute Flow Summary
After you have configured attribute flow rules and rule sets, and specified attribute flow for each connector view or meta view relationship, you can view a summary of attribute flow rules. The Attribute Flow Summary dialog box displays all mappings for a particular attribute, all mappings for a particular meta or connector view, or limits the display by using a filter.
To View an Attribute Flow Summary
- In Meta-Directory console, right-click on the join engine.
- Select Attribute Flow Summary from the context menu.
The Attribute Flow Summary dialog box appears.
To Configure an Attribute Flow Summary
- Provide values for the following fields:
- Click Filter to display attribute mappings based on your choices.
Alternatively, you can display all attribute flow mappings by clicking Show All.
- The summary is divided into four columns of information:
Language Subtype Tagged Attributes
A language subtype can be added to any attribute using the attribute flow rules. By choosing a language other than the default (English), users are offered the option of searching in that language. For example, Noriko prefers that her name be represented by Japanese characters as well as English. Selecting Japanese as a language subtype for the givenname attribute allows other users to search for her Japanese name.
If a language subtype is specified for an attribute, it takes the form attribute;lang-subtype where subtype is the two character abbreviation for the specified language. You can assign only one language subtype per attribute instance in an entry. To assign multiple language subtypes, add another attribute instance to the entry and then assign the second language subtype. For example, the following is invalid: cn;lang-ja;lang-en-GB:Smith. Instead, use:
cn;lang-ja:ja_value together with cn;lang-en-GB:en-GB_value .
The following table contains the list of supported language subtypes.
Filters
By default, the join engine includes all entries in the join process. However, filters can be configured to prevent particular subtrees or entries or both from participating. These filters are based on the DNs of the entries and not the attributes. They do not support random inclusions and exclusions.
Example
To filter out all organizations except one, as well as exclude two users from the organization during processing, the filter might appear as follows:
"NoSubtreesExcept" o=siroe,c=us
"AllEntriesExcept" cn=John Smith cn=Fred Jones
This means that the only subtree to be processed is o=siroe, c=us. Within this subtree, the connector is interested in all entries except cn=John Smith and cn=Fred Jones. All entries beneath the subtree will pass the filter except the ones with the names John Smith and Fred Jones.
Working With Filters
- From the Meta-Directory console, choose the Configuration tab.
- Select Meta-Directory in the navigation tree.
- Click the Filters tab.
The Filters panel appears.
To Create a New Filter
- In the Filters window, click New Filter.
The Filter Name dialog box appears.
- Enter a name and click OK.
The new name appears in the Filter Name list box.
To Add a Subtree Filter
- In the Filters window, select a filter name, then click Add Subtree.
The Subtree DN dialog box appears.
- Enter a DN for the subtree and click OK.
The DN appears in the list box.
- Select All Subtrees Except or No Subtrees Except from the drop-down list.
- Repeat steps 1-3 to add other subtree filters.
- Click Save when you are finished.
To Add an Entry Filter to the Subtree
- Select a filter name and then select the subtree DN to which you want to add an entry filter.
- Click Add Entry.
The Entry RDN dialog box appears.
- Enter a relative distinguished name and click OK.
The RDN appears in the list box.
- Select either All Entries Except, or No Entries Except from the drop-down list.
- Repeat steps 1-4 to add other entry filters.
- Click Save when you are finished.
To Remove a Subtree Filter
- Select the DN you want to remove.
- Click Remove Subtree.
- Click Save when you are finished.
Note This action removes all entry filters associated with this subtree.
To Remove an Entry Filter
- Select the entry you want to remove.
- Click Remove Entry.
- Click Save when you are finished.
To Delete a Filter
- Select the filter name you want to delete from the Filter Name list box.
- Click Delete Filter.
The filter and its associated subtrees and entries disappear from the window.
- Click Save when you are finished.
Distinguished Name Mapping Rules
If join rules cannot identify a suitable entry in the target view to link to the source entry, the join engine will create such an entry. Distinguished Name (DN) mapping rules are used as guidelines to compose a DN within the target view for the replicated entry. You can create your own DN mapping rules or use the Atomic (default) rules provided with the join engine.
You can group multiple DN mapping rules into a DN mapping rule set to allow for ordered testing. You can also define rules differently for entries originating from different connector views.
Note The DN Mapping only specifies the partial DN, relative to the view's base DN.
Working With DN Mapping Rules
- From the Meta-Directory console, choose the Configuration tab.
- Select Meta-Directory in the navigation tree.
- Click the DN Rules tab.
The DN Rules panel appears.
To Add a New Rule
- Click New Rule.
The New DN Mapping Rule dialog box appears.
- Provide values for the following fields:
Name
Enter a name for the DN mapping rule. Restrict the name to the following characters: A-Z a-z 0-9 _ - <space>
Description
Enter an optional description.
Type
The default rule type is Grammar (join engine provides condition and substitution statements that are based on attribute names and values). Additional script-based rule options may be available through Sun ONE Professional Services.
Optional Token Assignments
This field is used to break up an attribute's value into separate, more specific values. These sub-tokens can then be used as attributes. For example, the attribute {cn}=%last,first% can be sliced into two attributes by entering {cn}=%last%,%first%.To compose token assignments, see "Optional Token Assignments (Format Operator)" for instructions.
Selection Criteria
Optional. This field determines the conditions that must be met by an entry before a rule is applied. For instance, you can choose to flow only those entries that contain (%objectclass%=person); using this field parses the entries using that standard. To compose selection criteria, see "Selection Criteria (Requirements Operator)" for instructions.
Distinguished Name Construction
This required field carries the value of the entry's RDN. Be certain that the attributes used have corresponding attributes in the Directory Server schema. For more information, see "Distinguished Name Construction/Join Filter/Attribute Construction (Substitution Operator)".
- Click OK.
The new rule for this DN mapping appears in the Rules list box.
- Repeat steps 1-3 to add more DN mapping rules.
- Click Save when you are finished.
Example
A connector with user information at ou=users,o=MD flows to a meta view with user information at ou=users,ou=internal,o=MV. The DN Construction might be: uid=%uid%,ou=users,ou=internal,o=MV
To Edit a Rule
- Select the rule you want to edit.
- Click Open Rule.
The Edit DN Mapping Rule dialog box appears.
- Alter the fields as necessary, then click OK.
The DN Rules window reappears.
- Click Save when you are finished.
To Delete a Rule
- Highlight the rule you want to delete.
- Click Delete Rule.
The rule disappears from the Rules list.
- Click Save when you are finished.
To Create a New Rule Set
- Click New Set.
The New Set dialog box appears.
- Enter the new rule set name and click OK.
The new name appears in the Sets list.
To Assign a Rule to a Rule Set
- Select the rule set name from the Sets list.
- From the Rules list, select a rule you want to add to the rule set, and click Add Member.
The rule you add appears in the Members list.
- Repeat steps 1-2 to add more rules to the rule set.
- Click Save when you are finished.
To Edit a Rule Set
- Select the set you want to edit.
- Add or remove a member by doing one of the following:
To add a member, select the name of the member you want to add from the Rules menu and click Add Member. The added member appears in the Members list. Click Save when you are finished adding members.
To remove a member, select the member you want to remove from the Members list and click Remove Member. Repeat or click Save when you are finished.
To Delete a Rule Set
- Select the set you want to delete.
- Click Delete Set.
The set disappears from the Sets list.
- Click Save when you are finished.
Data Servers
Meta Directory has the ability to connect to a number of data servers for a number of functions. For instance, these servers can be added and used as external data sources or as space to hold connector views or meta views. Currently, Meta-Directory can connect to two types of data servers: iPlanet Directory Server and Oracle. For information on how to connect to and manage these data servers, see "Managing Servers and Permissions."
Enabling UTF8 Character Flow Support
Earlier versions of the Meta-Directory only consistently supported ASCII characters. Sun ONE Meta-Directory 5.1 synchronizes attribute values which contain UTF-8 encoded Unicode characters as well.
From the Directory Server Console
- Select the Directory tab
- Select Meta-Directory
- Select 5
- Select System
- Select Shared Configuration and the following screen should appear
- Right Click Shared Configuration and Select Properties
In order to enable the UTF-8 character flow support the following configuration parameters must be modified:
mdsgeneralConfiguration: Charset
cn=Shared Configuration, cn=System, ou=5, ou=Meta-Directory, ou=Global Preferences, ou=<Admin Domain>, o=NetscapeRoot mdsgeneralConfiguration: Charset=<Native Charset>
mdsgeneralConfiguration: Lang
n=Shared Configuration, cn=System, ou=5, ou=Meta-Directory, ou=Global Preferences, ou=<Admin Domain>, o=NetscapeRoot mdsgeneralConfiguration: Lang=<Native Lang>
where
- Admin Domain is a value like india.sun.com and
- Native Charset is one of the following values
ISO88591
ISO885915
WINDOWS1252
US-ASCII
The following table illustrates the supported charactersets:
Charset
UTF8
Operating System
ISO88591
Yes
Solaris
ISO885915
Yes
Solaris
WINDOWS1252
Yes
Windows
US-ASCII
No
Solaris or Windows
Note that if the Charset has a value US-ASCII, it indicates no UTF-8 support. WINDOWS1252 and US-ASCII are the supported charsets in Windows. ISO88591, ISO885915 and US-ASCII are the supported charsets in Solaris. Euro is supported by WINDOWS1252 and ISO885915 charsets only. The default charset is US-ASCII.
- Native Lang is typically the value that the setlocale function would take. In Windows the value is of the format lang_country ( for instance English_United States) and in Solaris it is one of the values of the result of command locale -a (for instance en_US). By default this parameter is not set to any value and English_United States is assumed in Windows and en_US in Solaris systems.
- Note that when the join engine is not installed, these configuration parameters are not present. Under such circumstances you must manually add them. From the Directory Console
Right Click Shared Configuration and Select Properties
Click the "Add attribute" button.
This throws a popup window containing all the attributes. Select "mdsgeneralconfiguration" and click ok.
Add the configuration parameters (for instance "Charset=WINDOWS1252" and "Lang=English_United States" ) and click ok.
Enabling UTF8 in the Oracle database Connector
In order to enable the Oracle database server handle UTF-8 data, select the database CHARACTERSET as UTF8 during the database setup. This setting can be checked from NLS_CHARACTERSET parameter present in the view NLS_DATABASE_PARAMETERS.
Enabling UTF8 in Indirect Connectors
Some objects may have an attribute whose value is the DN of some other object. For example, in a group-member kind of relationship, member attribute of the Group object has a value that is actually a DN of some User or Group object. For instance, a group object "testgroup" has "uniquemember" attribute that has the value of "uid=testuser, o=testcv", that is the DN value for the user object "testuser".
dn: cn=testgroup, o=testcv
cn: testgroup
objectclass: top
objectclass: groupOfNames
uniquemember: uid=testuser, o=testcv
If this kind of attribute values contain UTF-8 data, those are escaped/unescaped the same way the DN is escaped/unescaped (using \xx notation - RFC 2253). Such attributes to be escaped like DN have to be specified using the following configuration parameter for each connector instance.
cn=<connector instancename>,cn=connectors,cn=system,ou=5,ou=meta-directory,ou=global preferences,ou=xyz,o=netscaperoot mdsgeneralconfiguration: AttributesToBeEscapedLikeDn= <comma separated attribute list>.
- Select Directory Server
- Select the Directory tab
- Select Meta-Directory
- Select 5
- Select System
- Select Connectors
- Select Connector Instance and right click and select properties and the following screen will appear
The following default values are configured at the time of instance creation (See Meta-Directory Connectors of this manual on how to create an instance of each individual connectors):
Active Directory Connector
AttributesToBeEscapedLikeDn=member,uniqueMember,mdsAdMember
NT Domain Connector
AttributesToBeEscapedLikeDn=member,uniqueMember
Universal Connector
AttributesToBeEscapedLikeDn=
Microsoft Exchange Connector
AttributesToBeEscapedLikeDn=member,uniqueMember
In case of Universal Connector, it is the responsibility of the external application creating input file, to provide values for such attributes in \xx notation. This is also true for the reverse direction. It is also the responsibility of the external application processing the output file to unescape \xx escaped values of such attributes before providing the data to external data source.
Enabling UTF8 for Direct Connectors
No further attributes need be changed.
Operational Configuration for the Join Engine
When an entry is joined to the Meta view, both the connector view and the Meta view entries are updated with attributes associated with the Join entry (mds* attributes):
- mdsEntityOwner identifies the owner of the entry within the context of the single Meta directory.
- mdsCVMembership or mdsMVMembership identifies CV or MV membership. If we are looking at a Meta View entry, we see only mdsMVMembership attribute and a value of the connector view to indicate that this entry is a linked entry for this Meta view
- mdsCVLinktype or mdsMVLinktype identifies the link type within the context of the connector or the Meta view as either automatic/Join Engine (A) or manual/Operator (M)
- mdslinkToCV or mdslinktoMV identifies the RDN of the linked entry. The linked entry in the connector view would have the RDN in this field pointing back to the Meta view. The mdslinkToCV describes the link to the connector view entry within the context of the MV. The mdslinktoMV describes the link to an MV entry within the context of the CV.