I am using Sitecore 8.2. The Experience Editor has a feature called as "Usage" which appears in the widget that shows when we select a component/rendering. The purpose of the usage functionality is to show the count and the list of webpages that use that component. This feature would fire a request to the server (like this: -/speak/request/v1/expeditor/ExperienceEditor.Datasources.GetDatasourceUsagesCount) whenever we click on a component. The response would be a JSON containing the Item IDs referencing the component.
The feature would make sense if it gets the usage data for datasources. But the problem with this feature is that it also gets the usage data even for the "renderings". Say, there is a "Header" rendering which is used across all page templates. This rendering does not use an external datasource because the model is the page item itself. But this feature does not understand that and gets the usage data either way. It returns ALL the pages which use the "Header" rendering which is pointless and time consuming.
What is frustrating is that the "Header" rendering is used in all the 5000 pages (and counting)! So, the usages count request takes several seconds to get the response. This causes the Experience Editor to freeze for that time which makes it unusable and unproductive. We have several renderings like this which are used across all the pages (footer, side nav, social, feedback section etc). The user clicks on a rendering innocently and it turns out to be a landmine! The user is stuck for several seconds (our average is 45 seconds).
Have you faced this issue? Is there a Sitecore config to turn this off or a setting at the rendering level to remove this feature? I looked and looked but could not find anything. I ended up customising at the server side by overriding the Sitecore's class but I want to get rid of the customisation if I can.
Thanks for the help.