lunedì 22 agosto 2011

CustomActions SharePoint



Qui di seguito sono riportati un paio di esempi che ho trovato utile in
fase di test di recente.
 Il progetto di esempio aggiunge due
elementi in una visualizzazione elenco uno per il
'EditControlBlock', che consente di creare una copia dell'elemento selezionato elenco e un
altro che aggiunge una voce al menu Azioni, che ti permette di eliminare tutti
i elementi nella lista corrente.



L'aggiunta di elementi viene eseguita tramite una funzione e alcune azioni
personalizzate.
 Le azioni sono solo i puntatori a Pagine
aspx nella cartella _layouts e queste pagine effettivamente eseguono la copia e
la cancellazione di SPListItems.



<Elements xmlns="http://schemas.microsoft.com/sharepoint/">



   
<CustomAction



        Id="App.DuplicateListItem"



        Location="EditControlBlock"



        Title="Copy Item..."



        RegistrationType="ContentType"



        RegistrationId="0x01">



        <UrlAction Url="~site/_layouts/TheKidListActions/CopyListItem.aspx?List={ListId}&ID={ItemId}"/>  



    </CustomAction>



    <CustomAction



        Id="App.ClearListItems"



        Location="Microsoft.SharePoint.StandardMenu"



        GroupId="ActionsMenu"



        Title="Delete All Items"



        RegistrationType="List"



        Sequence="10">



        <UrlAction Url="~site/_layouts/TheKidListActions/ClearList.aspx?List={ListId}"/>



    </CustomAction>



</Elements>



 







Nota:



 In “<UrlAction Url="  viene indicata la URL chimata in seguito all’azione
scelta.
Nella query string viene usata ListId e ItemID per indicare l’id del Item o  della Lista. Le altre due possibilità sonoItemUrl e siteurl.



E 'anche degno di nota il RegistrationType del CustomAction voce copia. Questo si può vedere è la registrazione di per sé dal tipo di contenuto e
sta utilizzando una
 RegistrationId di 0x01.In questo modo viene registrata per tutte le
liste in SharePoint.
 Per maggiori dettagli su come SharePoint
decide quali elementi appaiono nella
 EditControlBlock si dovrebbe avere uno sguardo al file Core.js in SharePoint. Il file Core.js contiene una funzione chiamata InsertFeatureMenuItems che decide quali elementi verranno
visualizzati nel menu per ogni elemento della lista.



Faccio il Deploy delle nuove Features:



<Feature Id="27C737D3-EE8C-4FD0-8A56-2A09F0169E9F"



 Title="Decatec.ProgerDataTransfer.CtypeCentralAdmin"



 Description=""



 Version="1.0.0.0"



 Scope="Site"



 Hidden="False"
xmlns="http://schemas.microsoft.com/sharepoint/">



  <ElementManifests>



       <ElementManifest Location="MyCatomAction\MyCatomAction.xml" />



  </ElementManifests>



</Feature>



 



End.






Nessun commento:

Posta un commento