Basic Customization > User Interface Customization > Adding Actions and Hooking Them Up in the UI > Customizing Role-based Visibility
  
Customizing Role-based Visibility
Objective
You want to customize the set of UI components (actions or other UI elements) that the administrators of the site, organization or containers can manage using the role-based visibility feature.
Background
The role-based UI functionality enables administrators to optimize the number of actions presented to users, so as not to confuse users by seeing actions they don't need or use for their role. Initially this support was just for container managers (in particular, project managers). It has been extended to a concept called profiles which sets action visibility at the site or organization level.
A site administrator, organization administrator or container administrator can specify which users have visibility to the actions defined. For site and organization administrators, this can be done through profiles. Profiles can be created at Site->Profiles or Org->Profiles. The actions defined are presented with their default settings, and the administrator can choose to hide those actions. The administrator can then specify which participants (users, groups, orgs) belong to the profile. All members of the profile have that visibility. If a member is in multiple profiles, the greatest visibility is provided.
At the container level, the administrator can specify the visibility based on user roles. Anyone in those roles have the visibility specified. Container-level role visibility overrides any profile in which the member is a participant.
See the Basic Administration section for more details about profile- and role-based visibility administration.
Scope/Applicability/Assumptions
The role-based visibility administration capability is turned on, that is, the preference com.ptc.netmarkets.roleAccess.enabled is set to true. The customization can be performed while the capability is turned off, but the results do not appear in the UI until the capability is turned on.
The customizer can manage both out-of-the-box UI components and customized UI components with this capability.
Intended Outcome
When configuring visibility by roles and configuring profiles, the administrator is presented with a list of UI components that can be managed. The administrator is unable to manage the visibility for any UI components that are not included in this list.
As a customizer, you have the ability to customize the list of UI components available to administrators. You can:
Add UI components to the list,
Remove UI components from the list,
Specify default visibility settings for UI components,
Change the order that UI components appear in the list, and
Change the labels for the UI components on the list.
At the site or organization level your intention is to manage the list presented when creating profiles:
At the container level, you are managing the equivalent list presented when configuring visibility by roles: