Out-of-the-box, virtual member manager provides a default database
profile repository (wimDB), that supports all common virtual member manager
supported profile repository features.
The database repository is designed using relational database. The database
adapter is a bridge between the virtual member manager profile and schema
managers and the underlying database. The adapter looks up the data source
and updates or queries the database using SQL queries.
The database repository supports all entity types that are predefined in
the virtual member manager model schema definition, such as: Person, Group,
OrgContainer, and PersonAccount. The database adapter can also support any
user-defined entity types that extend from the virtual member manager standard
schema. It creates the user-defined entities in the database during runtime.
The database repository supports predefined property definitions that are
consistent with the virtual member manager schema, as well as dynamically
defined new properties during runtime.
A database repository property definition extends the virtual member manager
schema property definition. It contains:
- name
- Specifies the name of the property. This is a required property.
- data type
- Specifies a data type. String, Integer, Long, Double, Timestamp, Base64Binary,
Identifier and Object are the default supported data types. If a property
has user-defined data type, set Objects as data type and set the user-defined
data type class name in the DBPROP table “classname” column. For example,
to support a Boolean data type, set the “type_id” column OBJECT and set the
“classname” column to java.lang.Boolean. This is a required property.
Note: Supported
data types are defined in the SchemaConstant.java file.
- applicable for entity types
- Specifies a list of entity types for which this property is applicable,
for example, Person;Group. This is a required property.
- required for entity types
- Specifies a list of entity types that require this property value to
be set during the entity creation. This is an optional property.
- multiValued
- Specifies whether the database repository can store multiple values for
a property. By default, multiValued is true. This is an optional parameter.
- metaName
- Specifies the name of metadata. By default, it is set to DEFAULT, which
means that there is no associated metadata. This is an optional parameter.
- readOnly
- Specifies if a property is read only. By default, it is false. This is
an optional parameter.
- caseExactMatch
- Specifies if a property is case sensitive during the search. By default,
it is set to true. This is an optional parameter.
- valueLength
- Specifies he maximum length of a property if it is String type. The default
value is 1500. For other data types, this property is ignored. This is an
optional parameter.
- isComposite
- Specifies if a property is a composite property. By default, it is false.
This is an optional parameter.
- classname
- Specifies user-defined data type. If a user-defined data type exists,
the value of data type needs to be set to Object. This is an optional parameter.
- description
- Specifies the description of the property. This is an optional parameter.
- application ID
- Specifies the ID of the application that uses this property. By default,
the parameter is set to com.ibm.websphere.wim. This is an optional parameter.
Note: To predefine a database repository property before the
virtual member manager is running, set the property definitions in the wimdbpropreties.xml
file. The wimdbproperty.xsd. file is the schema file for the wimdbproperties.xml
file.