I've inherited a farm where previous "admins" decided to make undocumented changes to the file system to protect users under the guise of governance. This meant removing ribbon options like Workflow settings and anything related to Sharepoint Designer.

I was able to acquire a stock CMDUI.xml file from an untouched farm and replace that in our farm where modifications were made. IIS was reset, browser cache was cleared and the buttons do not reappear.

This leads me to believe there might be customizations elsewhere. What other files in the hive have an influence over the ribbon that I can check? Would ONET alterations cause this?

Note there is a custom master page, however this happens on sites without it too, as well as freshly created site collections. There are no user controls or custom javascript or CSS being introduced in the master page that affect the ribbon.

Edit: I've reviewed Andrew's article on MSDN and none of this is being employed in the farm, leading me to believe this is all file system driven.

  • I take it you ruled out hidecustomactions? :) – Robert Lindgren Feb 17 '15 at 15:31
  • There are no hidecustomactions that I can find – Eric Alexander Feb 17 '15 at 15:35
  • As part of a site collection creation, does it grab copies of the file system files, like v4.master, and store those int he site? I am seeing a discrepancy between this file in a few instances. – Eric Alexander Feb 23 '15 at 21:47

First check the source of the affected page in browser. If it does not contains buttons then they are removed on server side using HideCustomAction, custom control added to the page or masterpage, CMDUI.xml, ...

If the button definition is in the page source but is not visible then it's done by JS. Each button has it's own ID like Ribbon.Library.Settings.ManageWorkflows-Large. So as the next step i would search all JS files in SP hive containing e.g. Ribbon.Library.Settings.ManageWorkflows.

  • Ah I didn't think about this. I'll give that a try, it will at least narrow it down to client side vs server side. If it is missing from the source, it is likely from a file system modification. The previous folks made a lot of poor choices. – Eric Alexander Feb 18 '15 at 1:58
  • Definitely something server side or file system related, the markup for the expected buttons does not make it's way into the source. – Eric Alexander Feb 18 '15 at 13:08
  • 1
    So at least you can exclude JS modifications. – Jan Vanek Feb 18 '15 at 13:24

As far as I know, site definitions won't affect ribbon rendering, JavaScript will. You'll find bunch of JavaScript files affecting the ribbon rendering, such as CUI.js , can you verify they are unchanged?

  • They look to be unchanged, both the minified and debug version of the cui.js have the same date, if they were modified, I'd expect one to be different. – Eric Alexander Feb 17 '15 at 15:38
  • Have you checked with other .js files as well? – user19105 Feb 17 '15 at 19:01
  • They all would be housed in C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\LAYOUTS? – Eric Alexander Feb 17 '15 at 19:11
  • Not necessarily, some .js files are inside the features folder, but that's unlikely what you're seeing because those would be related to search display templates. Have you checked the default .css files? They may have been changed as well. – user19105 Feb 17 '15 at 22:53
  • I have, it's difficult to tell what has been modified though without being able to do a file system compare against a default installation. – Eric Alexander Feb 18 '15 at 1:59

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.