Extend the Profiles application by adding custom extension
attributes.
Before you begin
To edit configuration files,
you must use the wsadmin client. See Starting the wsadmin client for
information about how to start the wsadmin command-line tool.
About this task
In addition to different attribute layouts, Profiles supports
extension attributes for every profile type. Because all profiles
share one schema, an extension attribute, such as customers,
has the same semantic meaning for all profile types. However, you
can choose to associate a particular attribute with a profile based
on profile type. The attributes are declared in the profiles-config.xml file
located in the was_profile_root/config/cells/cell_name/nodes/node-name/LotusConnections-config directory.
Although changes to profiles-config.xml should
generally be made using wsadmin client scripting, there are no wsadmin
commands to modify the profilesDataModel, so you
can make changes to the profilesDataModel using
a text editor.
Procedure
To add a custom extension attribute to the My
Profile page, perform the following steps.
- Start the wsadmin client from the following
directory of the system on which you installed the Deployment Manager:
app_server_root\profiles\dm_profile_root\bin
where
app_server_root is
the WebSphere® Application
Server installation directory and
dm_profile_root is
the Deployment Manager profile directory, typically dmgr01.
You
must start the client from this directory or subsequent commands that
you enter do not execute correctly.
- Start the Profiles Jython script interpreter.
- Enter the following command
to access the Profiles configuration files:
execfile("profilesAdmin.py") If
prompted to specify a service to connect to, type 1 to pick the first
node in the list. Most commands can run on any node. If the command
writes or reads information to or from a file using a local file path,
you must pick the node where the file is stored.
- Enter the following command
to check out the Profiles configuration files:
ProfilesConfigService.checkOutConfig("working_directory",
"cell_name" where:
- working_directory is the temporary working directory to which the
configuration XML and XSD files are copied and are stored while you make changes to them. Use
forward slashes (/) to separate directories in the file path, regardless of your operating
system.
Note: In order for the command to complete successfully, the directory must
grant write permissions if you are using one of the following operating systems:
- cell_name is the name of the WebSphere Application Server cell hosting
the Profiles application. This argument is required. It is also case-sensitive.
If you do not know the cell name, you can determine it by typing the
following command in the wsadmin command processor: print
AdminControl.getCell()
For example:
- AIX or Linux:
ProfilesConfigService.checkOutConfig("/opt/prof/temp","foo01Cell01")
- Microsoft
Windows:
ProfilesConfigService.checkOutConfig("c:/prof/temp","foo01Cell01")
- Save a copy of the profiles-config.xml file.
- Open the file in a text editor.
- To define the extension attribute, add it to the <profileExtensionAttributes> element
under <profileDataModels> as shown in the following
sample:
<profileDataModels>
<profileExtensionAttributes>
<simpleAttribute extensionId="property1" length="64"/>
<simpleAttribute extensionId="property2" length="64"/>
<simpleAttribute extensionId="property3" length="64"/>
</profileExtensionAttributes>
<profileDataModel>
...
</profileDataModel>
...
</profileDataModels>
For example:
<profileDataModels>
<profileExtensionAttributes>
...
<simpleAttribute extensionId="spokenLang" length="64" />
<simpleAttribute extensionId="TechExperience" length="64" />
<simpleAttribute extensionId="officeAddress" length="64" />
<simpleAttribute extensionId="homeAddress" length="64" />
</profileExtensionAttributes>
</profileDataModels>
- Check the configuration files back in during the same wsadmin
session in which you checked them out for the changes to take effect.