Marco Rizzi SPBlog

SharePoint, web and so many things.

Mettiamo la Ribbon su SharePoint 2007

In questi giorni al TechEd 2009 sono state rese pubbliche alcune informazioni sulle next wave di Office e SharePoint 2010. Il grosso naturalmente non verrà svelato in attesa della SharePoint Conference 2009.

Ci sono però una serie di informazioni che sono state rese pubbliche. Una di queste è una novità in merito alla UI di SharePoint 2010, ovvero che sarà migliorata notevolmente con l’introduzione di controlli SilverLight e la Ribbon di Office. Per chi non sapesse cos’è, la Ribbon è la toolbar presente sulle applicazoni del pacchetto Office 2007. Ecco qui sotto come si presenta la Ribbon di Word.

image

Al che sono fatto una domanda “Non potremmo mettere la Ribbon già su alcune toolbar di SharePoint 2007 ? "
In particolare mi è venuto in mente di sostituire la toolbar della Console di Publishing con la Ribbon. Navigando sul forum della Telerik ho trovato un thread molto interessante che spiega come inserire la ribbon sulle applicazioni ASP.NET fruttando dei controlli Telerik.  Russell Mason mi ha preceduto, sviluppando un componente in grado di renderizzare la Ribbon.

Così con poche righe di codice ho integrato la Ribbon su SharePoint. A sviluppo completato il risultato è stato davvero notevole come si può vedere degli screenshot.

image

Dettaglio del menù Page

image

Dettaglio del menù Workflow

image

Dettaglio del menù Tools

image

Com’è stato ottenuto questo risultato? 
A grandi linee ecco come inserire la Ribbon su SharePoint 2007:

  1. Creare una master page (RibbonMinimalMasterPage.ascx) partendo dalla Minimal Master Page pubblicata su MSDN
  2. Creare uno user control (RibbonPublishingControl.ascx) per generare la Ribbon e scrivere un pò di codice per inserire le voci di menù e relative funzionalità che si ottengono navigando l’oggetto XmlDataSource del EditingMenu. Importante: leggere il thread sopra indicato per ottenere delle specifiche su come utilizzare il controllo della Ribbon. Segnalo che è necessario scaricare e installare gli assembly Telerik.Web.UI e RusselMason.Web.UI.Office2007
  3. Modificare la master page sostituendo il link dello user control PublishingControl
       1: da
       2: <%@ Register Tagprefix="PublishingConsole" TagName="Console" src="~/_controltemplates/PublishingConsole.ascx" %>
       3: a
       4: <%@ Register Tagprefix="PublishingConsole" TagName="Console" src="~/_controltemplates/RibbonPublishingConsole.ascx" %>
  4. Impostare la nuova master page sulla site collection agendo da Site Actions –> Site Settings –> Modify all site sittings –>  Master Page (dalla colonna Look and Feel)

    NOTA: la soluzione descritta è stata sviluppata a scopo didattico. Non sono mai stati fatti dei test approfonditi sulle funzionalità. Se qualcuno volesse darmi una mano sia per i test e per le fix mi faccia sapere; sarò lieto di condividere i sorgenti.

    Technorati Tags: ,,
    Posted: mag 14 2009, 05:55 by marcorizz | with 2 comment(s)
    Filed under: , ,

    Comments

    romeo said:

    Molto interessante Marco anche se con Telerik a pagamento è un pochino difficile implementare un progetto su codeplex, ad esempio.

    # maggio 15, 2009 8:44

    marcorizz said:

    Condivido pienamente, però Telerik ti da la possibilità di sviluppare senza pagare nulla (così mi sembra di aver capito) ma ogni tanto ti mostra una label segnalandoti che stai usando è in trial. Potrebbe essere messo come prerequisito quello di avere Telerik, certo che siamo parlando di abbellimenti grafici e non fuzionali di SharePoint. La spesa non è giustificata solo per questo.

    # maggio 15, 2009 11:53