创建自定义模式文件时(特别是使用复制时),请注意以下事项:
添加新的模式元素时,所有属性都必须先进行定义,然后才能用于对象类。可以在同一模式文件中定义属性和对象类。
您所创建的每个自定义属性或对象类都只应在一个模式文件中进行定义。这样做可防止服务器在装入最新创建的模式时覆盖任何以前的定义。目录服务器首先按数字顺序装入模式文件,然后再按字母顺序装入。
手动定义新的模式定义时,最佳做法通常是将这些定义添加到 99user.ldif 文件中。
使用 LDAP 更新模式元素时,新元素将自动写入 99user.ldif 文件。因此,您在自定义模式文件中所做的任何其他模式定义更改都可能被覆盖。只使用 99user.ldif 文件可防止出现重复的模式元素,并可避免覆盖模式更改的危险。
由于目录服务器按字母数字顺序(先装入数字)装入模式文件,因此应按以下方式命名自定义模式文件:
[00-99] filename.ldif
数字应高于已定义的任何目录标准模式。
如果使用低于标准模式文件的数字命名模式文件,则服务器在装入模式时可能会发生错误。此外,只有在装入自定义模式元素之后,才会装入所有标准属性和对象类。
请确保自定义模式文件名称在数字和字母顺序上都不高于 99user.ldif,因为目录服务器将使用具有最高顺序的文件进行内部模式管理。
例如,如果您创建一个名为 99zzz.ldif 的模式文件,则在下次更新模式时,所有 X-ORIGIN 值为 'user defined' 的属性都会写入 99zzz.ldif。这样会出现两个包含重复信息的 LDIF 文件,并且 99zzz.ldif 文件中的某些信息可能会被删除。
作为一般规则,应使用以下两项内容标识要添加的自定义模式元素:
自定义模式文件 X-ORIGIN 字段中的 'user defined',
描述性较强的标签(如 X-ORIGIN 字段中的 'Example.com Corporation defined'),以便其他管理员可以更容易理解自定义模式元素。例如, X-ORIGIN ('user defined' 'Example.com Corporation defined')。
如果要手动添加模式元素,且不使用 X-ORIGIN 字段中的 'user defined',则模式元素在 DSCC 中显示为只读状态。
如果使用 LDAP 或 DSCC 添加自定义模式定义,服务器将自动添加 'user defined' 值。但是,如果不在 X-ORIGIN 字段中添加描述性较强的值,则日后可能会难以理解此模式的相关用途。
应手动将所有自定义模式文件传播到所有服务器中,因为这些更改不会自动复制。
更改目录模式时,服务器将保留模式更改的时间戳。在每个复制会话开始时,服务器会将其时间戳与使用方的时间戳进行比较,然后在必要的情况下发送所有模式更改。对于自定义模式文件,服务器只保留一个与 99user.ldif 文件关联的时间戳。这意味着您对 99user.ldif 以外的文件所做的任何自定义模式文件更改或添加都不会进行复制。因此,必须将自定义模式文件传播到所有其他服务器,以确保所有模式信息存在于整个拓扑中。