2009-07-08 13 views
5

Ho scritto una funzionalità (Site scope) che aggiunge voci di menu personalizzate al Nuovo menu e EditControlBlock di una raccolta documenti di SharePoint 2007. Queste voci di menu dovrebbero apparire solo quando l'utente ha le autorizzazioni di aggiunta e modifica per quella libreria di documenti. Funziona alla grande, tranne per un caso particolare in cui l'utente ha solo il permesso di lettura per il sito padre ma ha il pieno controllo sulla libreria di documenti. In questo caso, le voci di menu in EditControlBlock vengono visualizzate correttamente ma le voci di menu in Nuovo menu non vengono visualizzate. Ho impostato gli stessi diritti per tutte le voci del menu. Di seguito sono riportate le voci di esempio nel file manifest Feature and ElementProblema di SharePoint durante l'aggiunta di voci di menu personalizzate nella libreria di documenti

<?xml version="1.0" encoding="utf-8" ?> 
<Feature 
    Id="59bba8e7-0cfc-46e3-9285-4597f8085e76" 
    Title="My Custom Menus" 
    Scope="Site" 
    xmlns="http://schemas.microsoft.com/sharepoint/"> 
    <ElementManifests> 
    <ElementManifest Location="Elements.xml" /> 
    </ElementManifests> 
</Feature> 


<?xml version="1.0" encoding="utf-8" ?> 
<Elements xmlns="http://schemas.microsoft.com/sharepoint/"> 

<CustomAction Id="EditMenu1" RegistrationType="FileType" RegistrationId="txt" Location="EditControlBlock" Sequence="106" ImageUrl="/_layouts/images/PPT16.GIF" Title="My Edit Menu" Rights="AddListItems,EditListItems"> 
    <UrlAction Url="javascript:var surl='{SiteUrl}'; window.location='/test/mypage.aspx?siteurl='+surl+'&amp;itemurl={ItemUrl}&amp;itemid={ItemId}&amp;listid={ListId}&amp;Source='+window.location" /> 
    </CustomAction> 

<CustomAction Id="NewMenu1" GroupId="NewMenu" RegistrationType="List" RegistrationId="101" Location="Microsoft.SharePoint.StandardMenu" Sequence="1002" ImageUrl ="/_layouts/images/DOC32.GIF" Title="My New Menu" Rights="AddListItems,EditListItems"> 
    <UrlAction Url="javascript:var surl='{SiteUrl}'; window.location='/test/mypage.aspx?siteurl='+surl+'&amp;listid={ListId}&amp;Source='+window.location" /> 
    </CustomAction> 
</Elements> 

Mi manca qualcosa? Per favore consiglio

saluti, Jagannath

+2

questione interessante, sto solo cercando di scoprire perché, consente di sapere se ho qualche cosa. – Kusek

risposta

-1

potrebbe essere necessario per cercare di elevare le loro autorizzazioni nel codice.

SPSecurity.RunWithElevatedPrivileges(delegate() 
{ 
    using (SPSite site = new SPSite(web.Site.ID)) 
    { 
    // implementation details omitted 
    } 
}); 

run with elevated permissions

+0

Quale codice? Come è correlato alla domanda di cui sopra – Shoban

Problemi correlati