Enabling custom extension attributes for Profiles

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.
  1. 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.

  2. Start the Profiles Jython script interpreter.
    1. 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.
    2. 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:
        • AIX
        • Linux
      • 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")
  3. Save a copy of the profiles-config.xml file.
  4. Open the file in a text editor.
  5. 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>
  6. Check the configuration files back in during the same wsadmin session in which you checked them out for the changes to take effect.