Monday, June 27, 2011

Sharepoint 2010 - Aggiungere bottone al Ribbon con Sharepoint Designer 2010

Vediamo come aggiungere un bottone personalizzato al Ribbon di una lista o document library, utilizzando solo lo Sharepoint Designer 2010.

Apriamo il sito con SPD2010, nelle liste, selezionamo la lista che vogliamo utilizzare.
A fondo pagina, vediamo il blocco Azioni Personalizzate.


Non clicchiamo su Nuovo, ma facciamo un clic con il mouse all'interno del blocco e dal menu contestuale, scegliamo Azione Personalizzata.
Vediamo un menu a discesa con diverse opzioni:


La traduzione italiana pessima rende oscura l'interpretazione delle voci...
Provo a spiegarle.

Menu voci elenco: il bottone è visualizzato nel menu a tendina sull'item
Visualizza barra multifunzione modulo: il bottone è visualizzato nella scheda "View properties"
Modifica barra multifunzione modulo: il bottone è visualizzato nella scheda "Edit properties"
Nuova barra multifunzione modulo: il bottone è visualizzato nella scheda "New item"
Visualizza barra multifunzione: il bottone è visualizzato nel Ribbon contestuale per l'item selezionato

Farò l'esempio solo per il Ribbon, quindi selezioniamo la voce "Visualizza barra multifunzione".
Si apre la finestra di dettaglio per l'Azione personalizzata.


Come si vede propone tre azioni:

  • Passa al modulo: propone il reindirizzamento al modulo specificato (DispForm, EditForm, ecc)
  • Avvia Flusso di Lavoro: propone l'elenco dei WF ad avvio manuale associati alla lista
  • Passa all'URL: permette di inserire URL di redirect, ma anche e sopratutto chiamate Javascript!

Utilizziamo quest'ultimo campo, in cui scopriamo che possiamo definire un parametro associato all'Id dell'Item selezionato: è il SelectedItemId, ed è strettamente Case Sensitive!

javascript: alert('Custom Action on Item {SelectedItemId}');

Definiamo, inoltre, altre informazioni, tra cui ad es, l'icona da utilizzare.


Altre opzioni avanzate sono da studiare per bene, prima di utilizzare (ad es, Scheda.ID gruppo).
La maschera per i diritti dovrebbe consentire la definizione del livello di visibilità del bottone da parte di alcuni utenti.
L'ultima opzione "Numero di sequenza" è l'ordinamento all'interno del blocco Action del Ribbon.
Clicchiamo OK e il bottone viene salvato subito ed è subito visibile.

Apriamo il sito e selezioniamo la lista: vediamo il ribbon con il nuovo bottone, ma non cliccabile, poiché non abbiamo ancora selezionato un Item.


Selezioniamo l'item e vediamo il comportamento del Ribbon:

Il bottone è ora cliccabile! E che facciamo? Lo clicchiamo?


Notiamo alcune cose importanti.
Possiamo utilizzare il SelectedItemId e passarlo ad una application page, ad esempio. E tramite Object Model consumare l'informazione sull'item.
Possiamo utilizzare chamate Javascript in quel bottone!
Così abbiamo a disposizione tutte le funzioni di Sharepoint e richiamare quelle che interessano!

Vedrete in altro post, come utilizzare ad es. il comando per aprire MS Word con un template selezionato.

Buon lavoro!