Virtual member manager は、動的モデルを使用するように構成されています。
デプロイメント時に、新しいエンティティー・タイプと、それに関する新しいプロパティー・タイプを作成できます。
このタスクについて
新しいエンティティー・タイプと、それに関する新しいプロパティー・タイプを追加する必要があります。
新しいエンティティー・タイプとプロパティー・タイプのスキーマは、カスタム拡張 XSD ファイル (例えば、wimextension.xsd) にのみ追加できます。
次の例では、新しい
エンティティー・タイプ ContactPerson を作成して、このエンティティー・タイプに新しいプロパティー・タイプ cellPhone を
追加することができます。
手順
- Virtual member manager のサービスを停止します。
- VMM_HOME¥model ディレクトリーの下にある wimextension.xsd ファイルを開きます。 このファイルが存在しない場合には、同じ名前または別の名前で新しいファイルを作成してください。
注: VMM_HOME は、Virtual member manager のファイルが置かれているディレクトリーです。
このロケーションは、システムのプロパティー wim.home または user.install.root/config/cells/local.cell/wim のいずれかに設定されます。
- Virtual member manager の構成ファイル (wimconfig.xml) を開き、プロパティー xsdFileName がステップ 2 で使用したファイル名と同じであることを確認します。
<config:dynamicModel xsdFileName="wimextension.xsd"/>
- wimextension.xsd を編集し、新しいエンティティー・タイプとプロパティー・タイプの定義を追加します。 XSD ファイルの形式が適切であることを確認します。
Virtual member manager の名前空間 URI (http://www.ibm.com/websphere/wim) とは異なる名前空間 URI を使用します。
<?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>
- 新しいエンティティー・タイプを、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>
- 新しいプロパティー・タイプを、各リポジトリー・アダプターに手動で追加します。
- LDAP アダプター
- LDAP 属性への新しいプロパティー・タイプのマッピングを wimconfig.xml 構成ファイルに追加します。
- DB アダプター
- 新しいプロパティー・タイプの定義を DB アダプターのプロパティー XML ファイル (wimDBProperties.xml) に追加し、DB プロパティー・ローダーを実行します。
- Virtual member manager のサービスを再開します。