Working with Profiles in IBM Connections 3.0.1

Customize Profiles for your organization

This article provides an overview of how to customize and administer the IBM Connections 3.0.1 Profiles feature. It also shows how to move, transform, and access user data in Profiles.

Luis A. Guirigay (lguirigay@psclistens.com), Senior IT Architect, PSC Group, LLC

Luis Guirigay photoLuis Guirigay is a senior IT architect focused on administration, high availability/disaster recovery, performance tuning, and support. He has been working with IBM products for more than 14 years and is an IBM Certified Administrator for virtually all versions of IBM Connections, WebSphere Portal, Domino, Sametime, and Quickr as well as an IBM Certified Developer in Domino and IBM Lotus Workflow. He has deep experience with WebSphere Application Server, DB2, Tivoli, and ILWWCM. Luis has published multiple IBM Redbooks related to Domino, Workplace, DB2, and System i, and his speaking engagements include IamLug and Midwest Lotus User Group conferences, Lotusphere, Chicago Lotus User Group, and multiple IBM PoT and IBM workshops in the United States. You can follow Luis on Twitter @Lguiriga.



28 August 2012

Also available in Chinese Russian

Social software is not just about collaborating with the people you know. It is also about discovering and collaborating with the people you do not know. Profiles in IBM Connections 3.0.1 enables you to improve your ability to identify, develop, and maintain relationships within your professional network. Profiles helps you expand your social network by allowing you to identify your colleagues and easily stay in touch.

Establishing acceptable use

I recommend that you implement some sort of governance regarding what is and is not appropriate for posting in employees' profiles and what constitutes acceptable content, such as which photos will be allowed.

You can expand your network by finding an individual's expertise and areas of interest using Profiles. You can discover who in the organization is working on projects like yours or finding solutions to similar problems and the resources they are using to simplify their jobs. Find out who your co-workers are, what their interests are, what skills they have, and what they are publishing or reading as well as get in touch with them.

Using Profiles, you can find people with the skills and expertise you need and add them as colleagues. Profiles can help you to tap into the collective knowledge of the people in your organization and work collaboratively with them. After you have made the contacts, you can maintain relationships within your professional network by aggregating all your social data in one place so that others can easily discover your work.

You can also use social tagging to associate individuals with a topic, expertise, or other relevant category. You can do this for yourself or for others, and the tags are displayed in a tag cloud or as a list on an individual's Profiles page, providing a quick way for users to locate individuals associated with a topic.

Profiles architecture

Figure 1 shows how IBM Connections conforms to a service-oriented architecture (SOA). Each service is a set of enterprise archive (EAR) files that are installed on a web server and store data in a relational database. All the requests are pure HTTP requests, and the dominant means of access is via a web browser.

Figure 1. Profiles architecture
Image showing a typical Profiles architecture

The IBM Connections services are stand-alone web applications that are accessible not only through a browser but also through feed readers. Feed reader data is reverse proxy cacheable, so the application does not have to regenerate the feed every time the client polls. The proxy server stores the page, asks whether there are any changes, and provides a timely response.

Every Profiles component has its own database. The Profiles database, PEOPLEDB, is populated by IBM Tivoli® Directory Integrator (TDI). TDI uses assembly lines to extract data from disparate repositories, and then uses a separate assembly line to populate the profiles database. Profiles uses TDI for aggregating and synchronizing multiple user repositories into the Profiles database.

As mentioned in Installing IBM Connections 3.0.1, IBM Connections 3.0.1 includes a restricted license of TDI that you can use to populate user profile information with data from human resources (HR) or customer relationship management (CRM) applications.


Profiles and data synchronization

As employees come and go from an organization, the corporate directory changes, and there are steps administrators must take to ensure that those changes are reflected in the product. IBM Connections membership tables need to be kept up to date with these changes.

Keeping up with changes

TDI connectors enable administrators to read or write data from LDAP directories, relational databases, file system resources, and so on as well as write custom scripts to parse and manipulate data before it is written to the target system. In many cases, a custom TDI assembly line can be created and tested in just a few hours.

There are a two ways to keep the member tables up to date:

  • If the Profiles application is installed, when you inactivate a user or make changes to user data (such as change a person's last name or email address in the Profiles database), that change is automatically pushed out to the membership and login tables of the other IBM Connections applications.
  • If Profiles is not installed in your deployment, you must apply the changes to the membership tables for each application separately. The only way to update user data in the membership tables for the other applications is through a set of administrative synchronization commands.

Managing users is easier if the Profiles application is installed and you accept the default configuration, in which the Profiles directory service extension is used to retrieve data from the Profiles database instead of retrieving it from the Lightweight Directory Access Protocol (LDAP) directory.

Starting with IBM Connections 3.0, when you make changes to user status and data in the Profiles database, the changes are automatically propagated to the other application databases. As an administrator, you need to synchronize changes from your LDAP directory to the Profiles database to ensure that your organizational information is kept up to date. For this task, use the sync_all_dns command. For all LDAP directories, you can use the sync_all_dns command to apply changes from the LDAP directory to the Profiles database. If you want to keep the Profiles database in a closely synchronized state with your LDAP directory, run this task nightly or at a frequency that suits you. Because this task performs a complete comparison of the LDAP directory search scope with the Profiles database, be sure to allow sufficient time for it to run.


Active and inactive users

With IBM Connections 3.0, IBM added support to Profiles to better identify whether people in the directory are active (meaning current employees) or inactive (meaning people who were once listed in the directory but have since left the organization). The purpose of this feature is to provide a formalized and consistent way to "inactivate" a user who has left the system. In IBM Lotus® Connections 2.5, Profiles deleted users while other components were unaware that they had left the system.

Differentiating between active and inactive users enables users who are inactive to be kept in product membership and login tables as opposed to being removed from the product databases entirely. This change both conserves the data the inactive user created and makes it possible for inactive employees to return to the organization and regain access to their previously created data.

Profiles implements the following behavior:

  • In membership lists, searches, and name-selection fields, only active people are displayed by default.
  • Useful data that people who have left the organization contributed to IBM Connections applications does not have to be removed; it can remain for use by others, but the product user interface (UI) reflects the fact that the contributing user is currently inactive.
  • People who return to the organization can be reactivated and regain access to their old data.
  • Support is available to search for inactive people specifically.

Extending Profiles

Profiles is only as useful as its users make it. The feature has the capability and the ability to search for others using tagging, background, or their expertise, but it is up to those individuals to update their profiles and include information specific to their job. When users maintain their profiles, it is easier for others to search for them and vice versa. By default, IBM Connections provides several fields in which users can provide information for others in the organization, but some organizations may want to include additional information to match their corporate directory or their business practice. This article shows the available options for extending the Profiles feature to achieve this goal.

XML and Profiles

Customizing the attributes for your Profiles deployment does not require web development skills but does require some familiarity with editing XML.

Extension attributes

You can choose from a predefined set of Profiles attributes, and then extend the data model with custom attributes. An extension attribute is an attribute that you supply to match a field in your corporate directory for which there is no existing predefined attribute. You can add new extension attributes by editing the profiles-config.xml file. The next article in this series will provide the complete steps to achieve this goal.

Listing 1 shows the necessary changes to add the extension attribute twitterid to Profiles.

Listing 1. Profiles-config.xml
...
<profileDataModels>	
 <profileExtensionAttributes>
  <xmlFileAttribute 
		...
  </xmlFileAttribute>
  <simpleAttribute extensionId="twitterid" length="40"
 </profileExtensionAttributes>
<profileLayout profileType="default">
...
 <contactInformation>
    ...
  <extensionAttribute showLabel="true" editable="true" extensionIdRef="twitterid"/>
	...
 </contactInformation>
</profileLayout>

Figure 2 shows the extension attribute tweeted on the Profiles page.

Figure 2. Extension attribute on a Profiles page
Image showing the extension attribute tweeted on the Profiles page

Click to see larger image

Figure 2. Extension attribute on a Profiles page

Image showing the extension attribute tweeted on the Profiles page

Custom labels

As you saw in Figure 2, extension attributes are useful for adding information to user profiles, but unless the label next to the extension attribute shows useful information about that field, users might not know what information to enter.

Listing 2 shows the changes you need to make to profiles-config.xml.

Listing 2. Profiles-config.xml
<extensionAttribute showLabel="true" 
   labelKey="label.custom.twitterid"
   editable="true" extensionIdRef="twitterid"/>

Make the changes shown in Listing 3 to LotusConnections-config.xml to customize the default label for extension attributes.

Listing 3. LotusConnections-config.xml
...
<resources>
    <widgetBundle name="label.custom.resources" prefix="custom"/>
    </resources>
    <versionStamp value="20111009.034023"/>
    <widgetBundle name="label.custom.resources" prefix="custom" />
</config>

There are extra steps to this process, and the next article will go through them. In the mean time, Figure 3 shows the final result.

Figure 3. The result of custom labels
Image showing the end result after label customization

Populating custom extension attributes

Extension attributes can be populated using different methods:

  • Manually
  • Profiles application programming interface (API)
  • Profiles Admin API
  • TDI

To map custom extension attributes to fields in your source LDAP directory, configure settings in the tdi-profiles-config.xml file for each custom extension attribute. (Links to more information on these methods are provided in Resources.)


Profile types

You can use profile types to configure the layout of the main Profiles page and the widgets used in Profiles by using wsadmin client scripts to edit the profiles-config.xml file. IBM Connections supports multiple attribute layouts based on different profile types. In addition to the layouts, extension attributes are supported 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 UI configuration, including display characteristics and whether an attribute can be edited, is also configurable for custom extension attributes based on profile type.


You can also configure directory search options in Profiles to specify the fields you want to allow users to use when performing a search. Configure the profiles-config.xml file to specify the fields you want to include in the results page displayed after users perform a directory search in Profiles. You can configure the search results page for all types of search.


Conclusion

After reading this article, you should understand how Profiles works and how it can interact with other systems in your organization to keep data synchronized across multiple sources. You should also have a better idea of the level of customization that your organization requires. You can now choose to include custom extension attributes, remove default attributes, and even decide on the existence and location of widgets. The next article in this series will provide step-by-step instructions to complete all the customizations shown in this article.

Resources

Learn

Get products and technologies

Discuss

Comments

developerWorks: Sign in

Required fields are indicated with an asterisk (*).


Need an IBM ID?
Forgot your IBM ID?


Forgot your password?
Change your password

By clicking Submit, you agree to the developerWorks terms of use.

 


The first time you sign into developerWorks, a profile is created for you. Information in your profile (your name, country/region, and company name) is displayed to the public and will accompany any content you post, unless you opt to hide your company name. You may update your IBM account at any time.

All information submitted is secure.

Choose your display name



The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerWorks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

Required fields are indicated with an asterisk (*).

(Must be between 3 – 31 characters.)

By clicking Submit, you agree to the developerWorks terms of use.

 


All information submitted is secure.

Dig deeper into IBM collaboration and social software on developerWorks


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=Lotus
ArticleID=828274
ArticleTitle=Working with Profiles in IBM Connections 3.0.1
publish-date=08282012