Sharepoint - Ribbon gets hidden by default. How to fix that?

Site Actions -> Navigation -> Show and Hide Ribbon Setting Make "Show Ribbon" and "Hide Ribbon" commands available to No should prevent the ribbon from disabling and requiring folks to enable it. It should also make it available all the time for everyone.


As I posted in the question, the class Microsoft.SharePoint.Publishing.WebControls.ConsoleVisibleUtilities - which seems to control ribbon visibility - contains some check that require the user to have specific permission on the site. This means that server side the ribbon is already "removed" if the user fails to match certain requirements - thus giving no hope to fix that "client side".

The suggested option

Site Actions -> Site Settings - > Look and Feel - > Navigation -> Show and Hide Ribbon Setting Make "Show Ribbon" and "Hide Ribbon"

works only by disabling the ability to hide the ribbon. That means that user that can hide/show the ribbon will always see the ribbon, but an user that starts with the ribbon closed will remain with a closed ribbon. This is not optimal for my requirements, but can be sufficient for others. It is also worthy to notice that list pages seems to follow a little different logic - ribbon seems to be displayed even if the user hasn't got required permission (all command are disabled as expected).

For now I am using a surrogate solution by giving to all user a minimum permission that allows them to see the ribbon everywhere. Since I am working in an intranet context this could be done, but I fear that it can't be a valid solution for an extranet context.

For now I am accepting this answer to compensate accepted % stats (I'm not so glad-os of this, but no choice for now). If you have a better answer fell free to add here - I promise to have a look and reconsider accepting any solution you may provide.


Listed below is a possible surrogate solution as mentioned by SPArchaeologist that involves modifying the "Read" permission level and giving it the "Manage Personal Views" permission.

  1. Click on "Site Actions -> Site Permissions"
  2. On the ribbon select the "Permission Tools" tab and press the "Permission Levels" button under the "Manage" group on the far right
  3. Click on the "Read" Permission Level
  4. Scroll down to the "Personal Permissions" section and check the box for "Manage Personal Views - Create, change, and delete personal views of lists.
  5. Press the "Submit" button

After that your visitors should be able to see the ribbon and the only elevated permissions that you gave them were to be able to modify their own personal list views.

This solution was pulled from Bernado-Nguyen-Hoan's blog entry Visitors can't access ribbon on publishing pages in SharePoint 2013 but works just as well for SharePoint 2010.

Tags:

Ribbon