Web UI Framework

How to Hide a Tab, a Link or a Button for a Group or a User

Updated: October 16, 2020

Hiding an Action

Goal: Let's hide the new file button for group 1.

You can also find all the contributions extending the service org.nuxeo.ecm.platform.actions.ActionService for the point actions in the Explorer.

For our example, we will define a filter for the action "New", which should be hidden for members of a group Group1. The id of this action is newDocument.

  1. The first thing you must do is to get the id of the action you would like to hide.The easiest way to do this is to activate the development mode in the UI. To get the information of an element in the UI, keep the 'shift' key pressed and mouse over the element you are looking for. A panel will display the information at the bottom of the page. The process to activate this mode is described here : How to Activate UI Development Mode Get the id of the action "New"
  2. Add a contribution in your Studio project to create a filter for the action we would like to hide. This contribution extends the service org.nuxeo.ecm.platform.actions.ActionService for the point actions. Create also the filter denyForGroup1: In the same contribution, you have to extend the service org.nuxeo.ecm.platform.actions.ActionService for the point filters. Please refer to the section about Filters and Access Controls.

    If you are not familiar with the contribution of an extension in Studio, please read this documentation : How to Contribute to an Extension.

    src/main/resources/OSGI-INF/actions-contribution.xml

    <extension target="org.nuxeo.ecm.platform.actions.ActionService"
      point="actions">
      <action id="newDocument">
        <filter-id>denyForGroup1</filter-id>
      </action>
    </extension>
    
    <extension target="org.nuxeo.ecm.platform.actions.ActionService"
      point="filters">
      <filter id="denyForGroup1">
        <rule grant="false">
          <group>group1</group>
        </rule>
      </filter>
    </extension>
    

  3. If you want to completely remove the action, the contribution is slightly different. You must add the parameter enabled="false" when defining the action.

    src/main/resources/OSGI-INF/actions-contribution.xml

    <extension target="org.nuxeo.ecm.platform.actions.ActionService"
      point="actions">
      <action id="newDocument" enabled="false" />
    </extension>
    

In the example, we hard-coded the name of the group we wanted to exclude. It is also possible to create a method which returns a list of group name to exclude.

Find more information related to Actions and filters in the documentation and details for the extension point in the Explorer.

Disabling Tabs on Your Document Type Using Nuxeo Studio

When you define new document types, you can customize the tabs that are presented. On documents like notes or files, you can disable the tabs inherited from the extended Nuxeo document type using Studio.

This can be done on any document type, folderish or not.

To disable tabs on your document type, in Studio:

  1. On your document type definition, click on the Tabs tab.
  2. Check the tabs that you don't want to be displayed for your document (ex: Comment, History, Preview,...).
  3. Click on Save so your changes are kept.