SharePoint Online: Como crear una Custom action para crear un documento en línea (III)!

Siguiendo con la serie de post sobre como crear una custom action para crear documentos en línea con las Office Web Applications en SharePoint Online (SPO), en esta ocasión vamos a ver la aproximación programática. Antes de empezar os recuerdo los posts previos de la serie:

Para añadir una acción a la ribbon de forma programática a una biblioteca en concreto creamos en Visual Studio 11 Beta (VS 11 Beta) un proyecto de tipo SharePoint 2010 Project:

  • Le añadimos una feature al mismo y a continuación un Feature Event Receiver.
  • Codificamos el método FeatureActivated() del manejador para añadir la acción a la ribbon de una biblioteca. Como veis, el truco está en usar la clase SPUserCustomAction y configurarla de forma adecuada.
   1: public override void FeatureActivated(SPFeatureReceiverProperties properties)

   2: {

   3:     SPWeb spwWeb = (SPWeb)properties.Feature.Parent;

   4:     SPList splList = spwWeb.Lists.TryGetList("Docs");

   5:     SPUserCustomAction spucCustomAction = splList.UserCustomActions.Add();            

   6:     spucCustomAction.Location = "CommandUI.Ribbon";            

   7:     spucCustomAction.Title = "CreateWord";

   8:     //Definición del comando

   9:     spucCustomAction.CommandUIExtension =

  10:         @"<CommandUIExtension>

  11:             <CommandUIDefinitions>

  12:                 <CommandUIDefinition Location=""Ribbon.Documents.New.Controls._children"">

  13:                     <Button Id=""CreateWord"" Sequence=""1982"" TemplateAlias=""o1"" Command=""CreateWordCommand"" 

  14:                     Image32by32=""~site/SPOCustomActionResources/WordImage.png"" 

  15:                     CommandType=""General"" LabelText=""Crear Word (2)"" />

  16:                 </CommandUIDefinition>

  17:             </CommandUIDefinitions>

  18:             <CommandUIHandlers>

  19:                 <CommandUIHandler Command =""CreateWordCommand"" 

  20:                     CommandAction=""https://miccantabria.sharepoint.com/sites/DesSPO/_layouts/CreateNewDocument.aspx?id=https://miccantabria.sharepoint.com/sites/DesSPO/template.dotx&amp;SaveLocation=https://miccantabria.sharepoint.com/sites/DesSPO/Documentos%20compartidos&amp;Source=%20https://miccantabria.sharepoint.com/sites/DesSPO/Documentos%20compartidos/Forms/AllItems.aspx&amp;DefaultItemOpen=1;""/>

  21:             </CommandUIHandlers></CommandUIExtension>";

  22:     spucCustomAction.Update();

  23: }

  • Una vez que todo está listo, publicamos la solución en SPO, la activamos y tras activar la correspondiente feature comprobamos que la acción personalizada aparece en la Ribbon.

image

Referencia:

Publicado por

Juan Carlos González

Juan Carlos es Ingeniero de Telecomunicaciones por la Universidad de Valladolid y Diplomado en Ciencias Empresariales por la Universidad Oberta de Catalunya (UOC). Cuenta con más de 12 años de experiencia en tecnologías y plataformas de Microsoft diversas (SQL Server, Visual Studio, .NET Framework, etc.), aunque su trabajo diario gira en torno a SharePoint & Office 365. Juan Carlos es MVP de Office Servers & Services desde 2015 (anteriormente fue reconocido por Microsoft como MVP de Office 365 y MVP de SharePoint Server desde 2008 hasta 2015), coordinador del grupo de usuarios .NET de Cantabria (Nuberos.Net, www.nuberos.es), co-fundador y coordinador del Grupo de Usuarios de SharePoint de España (SUGES, www.suges.es), así como co-director de la revista gratuita en castellano sobre SharePoint CompartiMOSS (www.compartimoss.com). Hasta la fecha, ha publicado 8 libros sobre SharePoint & Office 365 y varios artículos en castellano y en inglés sobre ambas plataformas.

5 comentarios en “SharePoint Online: Como crear una Custom action para crear un documento en línea (III)!”

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *