Tag

,

Durante l’upgrade della mia master page (Migrare una master page da SharePoint 2007 a SharePoint 2010), una volta abilitato l’accesso anonimo (grazie al post di Randy Drisgill, MVP da seguire per le varie dritte sul branding sia 2007 che 2010, sul come farlo) mi sono resa conto che il rendering non era proprio quello che volevo. In particolare, per quanto sia un funzionamento OOTB, rimaneva nell’alto della pagina la nuova briciola di pane inclusa nel ribbon e prevista per le master page sia di SharePoint Server che di Foundation, ovvero il controllo PopoutMenu:

<SharePoint:PopoutMenu
runat=”server”
ID=”GlobalBreadCrumbNavPopout”
IconUrl=”/_layouts/images/fgimg.png”
IconAlt=”<$Resources:wss,master_breadcrumbIconAlt%>”
IconOffsetX=0
IconOffsetY=112
IconWidth=16
IconHeight=16
AnchorCss=”s4-breadcrumb-anchor”
AnchorOpenCss=”s4-breadcrumb-anchor-open”
MenuCss=”s4-breadcrumb-menu”><div class=”s4-breadcrumb-top”>
<asp:Label runat=”server” CssClass=”s4-breadcrumb-header” Text=”<%$Resources:wss,master_breadcrumbHeader%>” /></div></SharePoint:PopoutMenu>

Graficamente, questa la resa:

NavigateUpAnonymous                                       

Come nasconderlo?

Con il mitico SPSecurityTrimmedControl (vedi su Msdn i possibili valori che può assumere), che di fatto ci consente, in base al permesso associato agli utenti (gestire le liste, aggiungere elementi alle liste, visualizzare gli elementi, etc) di decidere chi può vedere cosa sulla pagina.

Ho dunque inglobato il controllo di navigazione all’interno di quello di trimming:

<SharePoint:SPSecurityTrimmedControl runat=”server” PermissionsString=”ViewFormPages” PermissionMode=”Any” ID=”NavigateUpHidden”>

<SharePoint:PopoutMenu
runat=”server”
ID=”GlobalBreadCrumbNavPopout”
IconUrl=”/_layouts/images/fgimg.png”
IconAlt=”<$Resources:wss,master_breadcrumbIconAlt%>”
IconOffsetX=0
IconOffsetY=112
IconWidth=16
IconHeight=16
AnchorCss=”s4-breadcrumb-anchor”
AnchorOpenCss=”s4-breadcrumb-anchor-open”
MenuCss=”s4-breadcrumb-menu”><div class=”s4-breadcrumb-top”>
<asp:Label runat=”server” CssClass=”s4-breadcrumb-header” Text=”<%$Resources:wss,master_breadcrumbHeader%>” /></div></SharePoint:PopoutMenu>

</SharePoint:SPSecurityTrimmedControl>

Questo però il risultato ottenuto:

NavigateUpAnonymousHidden

ovvero il controllo è nascosto, ma rimane l’ingombro del ribbon😦.

La soluzione?

Ampliare il raggio d’azione del security trimmed control, facendo in modo che inglobasse tutto il ribbon:

<SharePoint:SPSecurityTrimmedControl runat=”server” PermissionsString=”ViewFormPages” PermissionMode=”Any” ID=”RibbonHidden”>

<div id=”s4-ribbonrow” class=”s4-pr s4-ribbonrowhidetitle”>
    <div id=”s4-ribboncont”>

       …..

    </div>
</div>
</SharePoint:SPSecurityTrimmedControl>