Sun ONE Meta-Directory 5.1.1 Administration Guide |
Chapter 1
Configuring the Join EngineThis chapter contains information about the Join Engine, the core component of Meta-Directory. Join Engine links data and manages the flow of information from the Connector View to the Meta View, and back to the Connector View.
This chapter includes the following sections:
Join Engine OverviewThe Join Engine is the central component of the Sun ONE Meta-Directory system. It directs the synchronization of data between one or more Connector Views and the Meta View. It can be configured to allow data to flow to either the MetaView or Connector View. The Join Engine monitors the changelog in the Connector Views for changes and then, based on the configuration acts on the changes; this includes flowing these changes to the Meta View. In addition, the Join Engine also monitors the Meta View changelog for changes and can be configured to incorporate the changes back to 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, then, the Join Engine relays this change to the Meta View. The change is then made in the address attribute of the user’s Meta View entry and flows back to reflect this change in other Connector Views where the entry could also be linked too.
Creating the Join Engine InstanceYou can create a single instance of the Join Engine in 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 the Administration Server.) The instance is created from the Sun ONE Console. General server information, such as the base DN of the Meta View and Directory Server URL, is required to create the instance.
It also requires enabling the Directory Server retro-changelog plug-in; you must restart the Directory Server before this change becomes active.
To create a Join Engine instance
- From the Sun ONE Console, right-click Server Group.
- Choose Create Instance Of > Meta-Directory Join Engine.
The ‘New Instance Creation’ dialog box displays.
- Enter appropriate values for fields as described:
- Click OK. A message is displayed with changelog options.
Changelog is a file that summarizes changes made to a server. Directory Server retro-changelog writes the changelogs in a subtree (cn=changelog). This is a separate (backend) database in the Directory Server.
- Select one of the following options:
- Enable Changelog NOW.
The ‘Enable Changelog’ dialog box displays. Enter the directory path to store the changelog and accept the default Changelog Suffix or enter an appropriate value. Click OK. (A message suggesting that you must restart the Directory Server is displayed. For more information, see the Meta-Directory Deployment Guide.)
- Enable Changelog LATER.
It is recommended that you enable the changelog now. For details on enabling the changelog after the instance is created, see Sun ONE Directory Server documentation. The process for doing this in Directory Servers 4.1x and 5.x is different.
- Abort Instance Creation.
Stops the instance creation process.
- Click ‘Yes’ when prompted, if this Directory is a new data server in Meta-Directory. This loads the Meta-Directory schema extensions into the Directory hosting the Meta View suffix.
To remove a Join Engine instance
About the Join ProcessThe join process is the transfer of data, through a sequence of configured rules and filters 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 atleast one 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:
It is important to remember that each rule set should be made up of rules that search through entries flowing in one direction. Thus, 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:
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 Appendix A, "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 helps you to configure 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 be synchronized.
Selecting the option to make a new rule from the join rules, DN mapping rules, constructed attributes or attribute flow rules screens and clicking the (...) button displays ‘Compose Selection Criteria’ dialog box. This helps you to set conditions against entries or attributes:
To compose entry conditions
- From the ‘Compose Selection Criteria’ dialog box, select Entry as the Type.
The available fields for the Entry conditions.
- Enter appropriate values as described in the following table:
- Click Insert. The composition is displayed in the Conditions list window.
- Optional: Add other conditions if required.
- Optional: Modify the conditions using the options at the right as described in "Combining conditions".
- Click OK to save the conditions.
To compose attribute conditions
- Select Attribute as the Type.
The available fields for the Attribute conditions:
- Enter appropriate values in the fields as described in the following table:
- Click Insert. The composition is displayed in the Conditions list window.
- Optional: Add other conditions if required.
- Optional: Modify the conditions using the options at the right as described in "Combining conditions".
- Click OK to save the conditions.
To compose language-tagged attribute conditions
- Select Language Tagged Attribute as the Type.
The available fields for the Language Tagged Attribute conditions:
- Enter appropriate values in the fields as described in the following table:
Table 1-4 Description of the options and the tasks to perform for each option
Field
Do This
Source
Select the source for the attribute from the list box. The list includes all configured connector and Meta Views and the default values. Select Default if you want all sources.
Attribute
Select 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 list box 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 list boxes. (When using this option, be aware of your use of the space bar.)
Value
Enter 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
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.
- Click Insert. The composition is displayed in the Conditions list window.
- Optional: Modify the conditions using the options at the right as described in "Combining conditions".
- Click OK to save the conditions.
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 substitution operator contains the conditions that the Join Engine applies to the target view to find one entry to link the source entry with. This is a required entry when defining rules. The Join Engine applies the substitution operator criteria to the data in the destination source and, joins the entry flowing to the source with a single entry in the destination source that matches the criteria.
For example, an entry flowing from the Connector View has uid=agreen. A substitution operator of uid=%uid% joins this entry with a single entry in the destination source that also has uid=agreen. The substitution operator finds only one unique entry to match with, else, the rule fails. In addition, the rule would fail if this field is left empty.
Note
For more information about this syntax, see Appendix A, "Join Process Operators."
Configuring the Join ProcessThe 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 completed, the rules are placed in rule sets and applied to the data. Based on the rule configurations, the Join Engine allows 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 to modulate the process. For information on applying these rules, see "Configuring a Participating View" in Chapter 2, "Working with Views."
Join Rules
A join rule is one of the join process rules. Join rules are specified to join entries from different Connector Views to one Meta View entry. It also identifies the values and attributes in the source entry, that is used to search the destination view, for one entry to which it joins to. 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 that define the order of applying the rules. The Join Engine applies the rules sequentially from the rule set until either a rule identifies a single entry or all the rules fail. If a match is made, the Join Engine executes 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 does not link the source entry. It can then be manually joined using the "Using the Fix-It Tool". For more information on this, see Chapter 14, "Administration Tools."
Working with join rules
To create new rules
- From the Join Rules window, click New Rule.
The ‘New Join Rule’ dialog box displays.
- Enter appropriate values in the fields as described in the following table:
Table 1-5 Description of the options and the tasks to perform for each option
Field
Do This
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 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 is displayed in the Rules list box.
- Once complete, click Save.
Example:
To join entries that have the same values for the attribute uid, you would specify, 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 to edit from the Rules list box, and then click Open Rule.
- Modify the values as required in the ‘Edit Join Rule’ dialog box. For details, see "To create new rules".
- Click OK to save the changes. The ‘Join Rules’ window.
- Once complete, click Save.
To delete rules
To create a new rule set name
To assign members to a rule set
To delete members from a rule set
- Select the rule set name from the Rule Sets list box.
- Select the member to delete from the Members list box, and then click Remove Member.
- Perform Step 2 again to delete other members.
- Once complete, click Save.
To delete a rule set
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, verify that the Join Engine has started.
- Click Rule Tester. The ‘Join Rule Tester’ dialog box displays:
- Choose the ‘Entry To Test Against’:
- To test the rule on a Meta View entry, click Browse next. The ‘Select An Entry’ dialog box displays. Select the entry from the Meta View to test and then click OK. The location of entry is displayed 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 then click Browse. The ‘Select An Entry’ dialog box displays. Select an entry from the Connector View to test, and then click OK. The location of the entry is displays 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 list box. 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 for a detailed test result. This would contain information on rule or rule set (with the rules from the rule set) that was tested.
- 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 appears 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 parts of information (department, job title, and phone extension), this information can be separated 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 to the Meta View.
Working with constructed attributes
To name a new constructed attribute
To create a rule for a new constructed attribute
- Select the attribute, and then click New Rule.
The ‘New Constructed Attribute Rule’ dialog box displays:
- Enter appropriate values in the fields as described in the following table:
Table 1-6 Description of the options and the tasks to perform for each option
Field
Do This
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%@madisonparc.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 is displayed in the Rules list box.
- Once complete, click Save.
Example:
To construct an objectclass attribute for use with an Oracle database, you could name it as ‘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
To delete a rule
To delete an attribute
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
To add a new rule
- Click New Rule. The ‘New Attribute Flow Configuration’ dialog box displays:
- Enter appropriate values in the fields as described in the following table:
Table 1-7 Description of the options and the tasks to perform for each option
Field
Do This
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 Chapter 2, "Working with Views.")
- Click OK. The new rule is displayed in the ‘Rules’ area of the Attribute Flow window.
- Once complete, click Save.
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 displays:
- Select the appropriate options. The following table describes the options:
Table 1-8 Description of the options and the tasks to perform for each option
Field
Do This
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 is displayed.
- Once complete, click Close.
To edit a rule
- Select the rule to edit.
- Click Open Rule. The ‘Edit Attribute Flow Configuration’ dialog box displays.
- Modify the values as required. 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".
- To delete a mapping, select the mapping to delete and click Remove.
- Click OK. The ‘Attribute Flow’ window displays.
- Once complete, click Save.
To delete a rule
To create a new rule set
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 is displayed in the Members list box.
- Once complete, click Save.
To delete a rule from a rule set
To delete a rule set
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
To configure an attribute flow summary
- Enter appropriate values in the fields as described in the following table:
- Click Filter to display the attribute mappings.
Alternatively, click Show ALL to display all the attribute flow mappings.
- Summary information description:
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:
‘No Subtrees Except’ o=madisonparc,c=us
‘Exceptions to Above Rule’ cn=John Smith cn=Fred Jones
This means that the only subtree to be processed is o=madisonparc, 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
To create a new filter
To add a subtree filter
To add an entry filter to the subtree
To remove a subtree filter
To remove an entry filter
To delete a filter
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 in the target view for the replicated entry. You can create your DN mapping rules or use the Atomic (default) rules provided with the Join Engine.
You can group multiple DN mapping rules to a DN mapping rule set to allow ordered testing. You can also define different rules for entries originating from different Connector Views.
Working With DN Mapping Rules
To add a new rule
- Click New Rule. The ‘New DN Mapping Rule’ dialog box displays:
- Enter appropriate values as described in the following table:
Table 1-12 Description of the options and the tasks to perform for each option
Field
To This
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 description. Optional.
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 is displayed in the Rules list box.
- Once complete, click Save.
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. DN Construction could be: uid=%uid%,ou=users,ou=internal,o=MV.
To edit a rule
To delete a rule
To create a new rule set
To assign a rule to a rule set
To edit a rule set
To delete a rule set
Data Servers
Meta Directory can connect to many data servers to perform several functions. For instance, servers can be added and used as external data sources (to hold Connector Views or Meta Views). Currently, Meta-Directory connects to these data servers: Sun ONE Directory Server and Oracle. For information on connecting to and managing the data servers, see Chapter 16, "Managing Servers and Permissions."
Enabling UTF8 Character Flow Support
Meta-Directory synchronizes attribute values that contain UTF-8 encoded Unicode characters.
- From the Directory Server Console, select the Directory tab.
- Select Meta-Directory.
- Select 5.
- Select System.
- Select Shared Configuration and right-click Shared Configuration, and then select Properties.
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 such as: restaurants.madisonparc.com
- Native character set (Native Charset) is one of the following values:
- ISO88591
- ISO885915
- WINDOWS1252
- US-ASCII
This table describes the supported character sets (charset):
Character Set
UTF8
Operating System
ISO88591
Yes
Solaris
ISO885915
Yes
Solaris
WINDOWS1252
Yes
Windows
US-ASCII
No
Solaris or Windows
Note that if the character set has a value US-ASCII, it indicates no UTF-8 support. WINDOWS1252 and US-ASCII are the supported character sets on Microsoft Windows. ISO88591, ISO885915, and US-ASCII are the supported character sets on Solaris. Euro is supported by WINDOWS1252 and ISO885915 character sets only. The default character set is US-ASCII.
Native Language (Native Lang) is typically the value that the setlocale function would take. On Windows, the value is of the format lang_country (for instance English_United States) and on 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 on Windows and en_US on Solaris.
- Note that when the Join Engine is not installed, these configuration parameters are not present. For such scenarios, you must manually add them. From the Directory Console:
- Select the Directory tab.
- Select Meta-Directory.
- Select 5.
- Select System.
- Select Shared Configuration.
- Right-click Shared Configuration, and select Properties.
- Click Add attribute. This displays a dialog that contains 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
To enable the Oracle database server to handle UTF-8 data, select the database CHARACTERSET as UTF8 during the database setup. This setting can be selected 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 ‘estuser’.
dn: cn=testgroup, o=testcv
cn: testgroup
objectclass: top
objectclass: groupOfNames
uniquemember: uid=testuser, o=testcvIf 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>.
The following default values are configured when the instance is created (to create an instance of individual connectors, see "Meta-Directory Connectors"):
In case of the Universal Connector, the external application creating input file must provide values for such attributes in \xx notation. This applies for the reverse direction too. The external application processing the output file, must unescape the \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 EngineWhen an entry is joined to the Meta View, both the Connector View and Meta View entries are updated with attributes associated with the join entry (mds* attributes):
- mdsEntityOwner identifies the owner of the entry in the context of the single Meta-Directory.
- mdsCVMembership or mdsMVMembership identifies Connector View or Meta View membership. For the Meta View entry, only the mdsMVMembership attribute is availalbe 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 in 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 has the RDN in this field pointing back to the Meta View. The mdslinkToCV describes the link to the Connector View entry in the context of the Meta View. The mdslinktoMV describes the link to an Meta View entry in the context of the Connector View.