Virtual member manager is configured to use static model. You can
create new entity types and their associated new property types at deployment
time.
You need to add new entity types and their associated new property
types. The schemas of the new entity types and property types can only be
a custom extension XSD file (for example, wimextension.xsd). In the following
example you want to create a new entity type ContactPerson and add a new property
type cellPhone to this entity type.
- Stop the virtual member manager service.
- Open the wimextension.xsd file under the VMM_HOME\model directory. If this file does not exist, create a new one with the same or a different
name.
Note: VMM_HOME is the directory where the virtual member manager files
are located. This location is set to either the system property wim.home or user.install.root/config/cells/local.cell/wim.
- Edit the wimextension.xsd and add the definitions of the new entity
types and property types. Make sure the XSD file is well-formed. Use a different
namespace URI than the virtual member manager namespace URI: (http://www.ibm.com/websphere/wim). Ensure that the XSD file is well-formed. Use a different namespace URI
than the virtual member manager namespace 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:Person">
<xsd:sequence>
<xsd:element maxOccurs="1" minOccurs="0" ref="wimext:cellPhone"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
</xsd:schema>
- Regenerate static model packages based on the updated XSD files
and deploy the jar files under class path.
- Manually add the new entity types to the virtual member manager
configuration file (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>
- Manually add the new property types to each repository adapter.
- LDAP adapter
- Add the mapping of the new property types to LDAP attributes to the wimconfig.xml
configuration file.
- DB adapter
- Add the definition of the new property types to the property XML file
of DB Adapter (wimDBProperties.xml) and run DB property loader.
- Restart the virtual member manager service.