WebSphere Commerce EnterpriseWebSphere Commerce Professional

Role-based customization in IBM Sales Center

In the IBM Sales Center, many user interface elements can be hidden and displayed based on selected role.

  • Views and editors
  • Perspectives
  • Preference and property pages
  • New project wizard
  • Menu and toolbars
  • SWT Controls; currently we have support only for following controls:
    • Push button
    • Combo box
    • Check box
    • Options
    • Table columns
    • Label
    • Text box

Understanding the activity, activity set, and roles in IBM Sales Center

Activities

Eclipse maintains a single, global set of enabled activities. Sales Center uses the same activities as those provided by Eclipse.

An activity has the following characteristics:

  • Is a grouping mechanism for related UI functionalities
  • Is specified by a set of inclusive or exclusive patterns
  • Is typically defined by the administrator or product manager assembling an application

Plugins define activities by extending the org.eclipse.ui.activities extension point. The activity is given a name and description, and is bound to plugin contributions by a regular expression pattern.

ActivitySet

Sales Center provides an extension point,

com.ibm.commerce.telesales.activitySets,

to group the activities created with an Eclipse activity extension point. The purpose of this extension point is to allow plug-ins to define which activities WebSphere Commerce roles support.

Example of grouping different activities in an activity set:


<extension
   id="com.ibm.commerce.telesales.activitySets"
   name="%activitySetsName"
   point="com.ibm.commerce.telesales.activitySets">
  <activitySet
   id="com.ibm.commerce.telesales.activitySet.applications"
   label="%ApplicationsActivitySetName">
     <activity
     
activityId="com.ibm.commerce.telesales.orderCaptureApplicationActivity">
     </activity>
     <activity
     
activityId="com.ibm.commerce.telesales.orgAdminWebApplicationActivity">
     </activity>
     <activity
     
activityId="com.ibm.commerce.telesales.acceleratorWebApplicationActivity">
     </activity>
   </activitySet>
</extension>

Preference pages are plugin contributions that extend the org.eclipse.ui.preferencePages extension point. IBM Sales Center for WebSphere Commerce defines an activity to individually match each of the preference pages that Sales Center provides; these activity definitions can be found in the fragment.xml manifest of the com.ibm.commerce.telesales.ui.impl.activities plugin fragment.

Although it is possible to work directly with Eclipse activities, Sales Center extends the activities mechanism with two additional extension points: com.ibm.commerce.telesales.activitySet defines groups (possibly overlapping) of activities, and com.ibm.commerce.telesales.roles which defines which activitySets should be enabled for each of the user roles defined by the Websphere Commerce server. By default, WebSphere Commerce predefines the following roles:

  • CustomerServiceRepresentatives
  • CustomerServiceSupervisors
  • Site Administrator

For each of these roles, Sales Center specifies a collection of predefined activitySets.

Roles

Sales Center provides an extension point,

com.ibm.commerce.telesales.roles,

to map the activity set based on roles. The purpose of this extension point is to allow plug-ins to define which activities WebSphere Commerce role supports.

An example for the roles extension point:


<extension id="com.ibm.commerce.telesales.roles"
   name="%rolesName"
   point="com.ibm.commerce.telesales.roles">
 <role
   id="com.ibm.commerce.telesales.roles.CSR"
   label="%CSRRoleName"
   roleId="CustomerServiceRepresentative">
  <activitySet
   id="com.ibm.commerce.telesales.activitySet.applications">
  </activitySet>
  <activitySet
   id="com.ibm.commerce.telesales.activitySet.menus">
  </activitySet>
 </role>
</extension>

Relationship between activities and activity sets

Diagram showing the relationship between activities and activity sets

Relationship between roles and activity sets

Diagram showing the relationship between roles and activity sets