Monday, June 27, 2011

Sharepoint 2010 - Aggiungere bottone al Ribbon : aprire nuovo Documento da Template

Ecco una cosa interessante.
Aggiungere nuovi bottoni al Ribbon di una lista, in Sharepoint 2010, è abbastanza semplice. Ho già scritto come farlo con ancora più facilità, tramite lo Sharepoint Designer 2010 (clicca qui).

Ora, vediamo come aggiungere una azione personalizzata al bottone in modo che replichi le funzionalità di bottoni già esistenti.
Lo scenario è questo.



Siamo in una Document Library. Cliccando sulla lista, viene visualizzato il Ribbon della lista.
Nella sezione Documents, a sinistra, abbiamo il bottone New. Se abbiamo più Content Type (e template) per i Documenti, vedremo una tendina con la scelta del nuovo Documento da creare.
Se configurato per l'esecuzione sul Client dell'utente, al click su, ad es, New Template1, viene avviato MS Word con il template in oggetto.

Ma se volessimo creare un nuovo bottone sul Ribbon che faccia da solo questo?
In altre parole: non voglio cliccare su New, per poi selezionare dalla tendina quello che serve. Voglio cliccare su un bottone del Ribbon "Crea Nuovo Template1" che mi apra subito Word con quel template.
Oppure, questo bottone, lo voglio sul Ribbon di una lista della pagina, non sulla Document Library.

Ho dovuto smontare un po' il Javascript del Ribbon della lista e della Doc. Library.

Ecco come fare.
Aggiungo il bottone tramite lo Sharepoint Designer 2010 (Sito, Seleziono lista, aggiungo Azione Personalizzata, ecc). Come azione, scelgo Apri URL e nel campo inserisco le righe seguenti:

javascript:createNewDocumentWithProgID('http:\u002f\u002fDOMINIOSP\u002fsites\u002fSITO\u002fDOCUMENTLIBRARYNAME\u002fForms\u002fCONTENTTYPE\u002fTEMPLATE1.docx', 'http:\u002f\u002fDOMINIOSP\u002fsites\u002fSITO\u002fDOCUMENTLIBRARYNAME', 'SharePoint.OpenDocuments', false)

Ovviamente, un po' bisogna lavorare: occorre trovare l'indirizzo corretto del template da utilizzare e della lista in cui salvare il Documento da Word.
Nota: trasformare l'URL come indicato, cioè con "\u002f" al posto di "/".

Questo è solo uno dei Javascript da poter utilizzare, ma si possono scovare altre funzioni e inserirle nelle Azioni Personalizzate.

Buon lavoro!