动态模型:使用 wimextension.xsd 文件在部署时添加新的实体和属性

Virtual member manager 配置为使用动态模型。可在部署时创建新的实体属性及其相关联的新属性类型。

关于此任务

您需要添加新的实体类型及其相关联的新属性类型。新实体类型和属性类型的模式只能是定制扩展 XSD 文件(例如,wimextension.xsd)。 在以下示例中,您要创建新实体类型 ContactPerson,并向此实体类型添加新属性类型 cellPhone。

过程

  1. 停止 virtual member manager 服务。
  2. 打开 VMM_HOME\model 目录下的 wimextension.xsd 文件。 如果此文件不存在,请创建一个具有相同或不同名称的新文件。
    注: VMM_HOME 是 virtual member manager 文件所在的目录。此位置设置为系统属性 wim.home 或 user.install.root/config/cells/local.cell/wim。
  3. 打开 virtual member manager 配置文件 (wimconfig.xml),并确保属性 xsdFileName 与您在步骤 2 中使用的文件名相同。
    <config:dynamicModel xsdFileName="wimextension.xsd"/>
  4. 编辑 wimextension.xsd 并添加新实体类型和属性类型的定义。 确保该 XSD 文件格式正确。使用 virtual member manager 名称空间 URI 以外的其他名称空间 URI:(http://www.ibm.com/websphere/wim)。
    <?xml version="1.0" encoding="UTF-8"?>
    <xsd:schema targetNamespace="http://www.ibm.com/websphere/wim/ext" 
                      xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
                      xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" 
                      xmlns:wimext="http://www.ibm.com/websphere/wim/ext" 
                      ecore:package="com.ibm.websphere.wim.model.ext" 
                      xmlns:wim="http://www.ibm.com/websphere/wim">
    <xsd:import schemaLocation="wimdatagraph.xsd" 
                namespace="http://www.ibm.com/websphere/wim"/>
    	<!-- Custom properties -->
    	<xsd:element name="cellPhone" type="xsd:string"/>
    	<!-- Custom entities -->
    	<xsd:complexType name="ContactPerson">
    		<xsd:complexContent>
    			<xsd:extension base="wim:PersonAccount">
    				<xsd:sequence>
    					<xsd:element maxOccurs="1" minOccurs="0" ref="wimext:cellPhone"/>
    				</xsd:sequence>
    			</xsd:extension>
    		</xsd:complexContent>
    	</xsd:complexType>
    </xsd:schema>
  5. 将新的实体类型手动添加到 virtual member manager 配置文件 (wimconfig.xml)。
    <config:supportedEntityTypes defaultParent="cn=users,dc=yourco,dc=com" 
        name="wimext:ContactPerson"> 
        <config:rdnProperties>uid</config:rdnProperties>
    </config:supportedEntityTypes>
    
    <config:repositories xsi:type="config:LdapRepositoryType" ...> 
        <config:EntityTypesNotAllowDelete>wimext:ContactPerson</config:EntityTypesNotAllowDelete> 
        <config:ldapEntityTypes name="wimext:ContactPerson"> 
            <config:rdnAttributes name="uid"/>
            <config:objectClasses>eContactPerson</config:objectClasses>
            <config:objectClassesForCreate>eContactPerson</config:objectClassesForCreate>
            <config:objectClassesForCreate>inetOrgPerson</config:objectClassesForCreate>
        </config:ldapEntityTypes>
    </config:repositories>
  6. 手动向每个存储库适配器中添加新的属性类型。
    LDAP 适配器
    将新属性类型与 LDAP 属性的映射添加到 wimconfig.xml 配置文件。
    数据库适配器
    将新属性类型的定义添加到数据库适配器的属性 XML 文件 (wimDBProperties.xml) 并运行数据库属性装入器。
  7. 重新启动 virtual member manager 服务。


使用条款 | 反馈