3
Vote

PublishingRibbon breaks MDS for Starter PubCollab.master

description

Hi, thanks for a great project!

Using "Starter PubCollab.master" on an MDS-enabled site breaks the MDS (Minimal Download Strategy). I went through the master page and commented out sections until it started working again, and the issue is with the line:
<!-- ===== STARTER: Ribbon Code Starts Here  ========== -->
<PublishingRibbon:PublishingRibbon runat="server" />
AFAIK the PublishingRibbon control is not MDS compatible (and it's not used by Seattle.master).

comments

cpoteet wrote Jul 10, 2014 at 6:33 PM

You know MDS is team site only right?

anderaus wrote Jul 11, 2014 at 8:55 AM

Hi cpoteet, thanks for your input, but that's not entirely correct.

There are several templates that are MDS compatible, not just Team Site. For instance, MDS works very well with My sites and Community sites. However, as far as I know, enabling the Publishing feature on any site or using any of the Publishing templates, breaks the MDS. That's fine, and it's documented by MS.

The issue I am having is with the "PubCollab.master" master-page, which is supposed to fully support MDS when used on a team site (ref: here. Well, it doesn't. And that, I believe, is due to it using the PublishingRibbon control (which again loads Ribbin.ascx).

I have done some more digging, and it seems that it's the SPSecurityTrimmedControl within Ribbon.ascx (which PublishingRibbon loads) that breaks the MDS. The rest of Ribbon.ascx seems to have been written in an MDS-compatible way (using AjaxDelta's where applicable), so I find this whole thing rather confusing.

SPSecurityTrimmedControl has be known to contain several bugs in previous versions of SP, so it could be that one of these bugs are still present, and in some way breaks MDS, but that's just guesswork. I'll update this issue if I have the time to dig further. Until then, I have resorted to working on a modified version of Seattle.master instead of using PubCollab.master.

drisgill wrote Jul 14, 2014 at 7:43 PM

I'll have to look into it. The whole MDS thing is really frustrating to try to debug because you make changes and they get cached, and then suddenly the MDS stops working and you have to work backwards.

I will say that from a pure publishing standpoint the MDS wasn't thoroughly tested from MSFT. It's my understand that's why the Design Manager (publishing feature) turns MDS off.

There is a good chance that the publishing ribbon is short circuiting MDS. Feel free to copy and paste the ribbon from the foundation master page over top of the publishing ribbon and see if it fixes the issues. If so, it's a toss up to me if it's worth updating this master page or making another master page. From a code POV I hate having to look at all that ribbon code :)

wrote Jul 31, 2015 at 9:10 PM

wrote Feb 8, 2016 at 7:32 AM