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

Siguiendo con la serie de posts sobre como crear una Custom action para crear un documento en línea usando las Office Web Applications en SharePoint Online (SPO), en esta ocasión vamos a ver la aproximación de como crearla por medio de Visual Studio 11 Beta (VS 11 Beta). Para ello:

  • En VS 11 Beta creamos un proyecto de tipo SharePoint 2010 Project.
  • Especificamos la Url de un sitio local de SharePoint 2010 y elegimos como tipo de despliegue “Deploy asa sandboxed solution”.
  • Añadimos al proyecto un elemento de tipo “Module”.
image image image
  • Este elemento de tipo “Module” es el que usaremos para provisionar la imagen asociada a la custom action a desplegar.
   1: <?xml version="1.0" encoding="utf-8"?>

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

   3:   <Module Name="SPOCustomActionResources">

   4:   <File Path="SPOCustomActionResources\WordImage.png" Url="SPOCustomActionResources/WordImage.png" />

   5: </Module>

   6: </Elements>

  • Añadimos al proyecto un elemento de tipo “Empty element” que usaremos para configurar la custom action a añadir.
  • La estructura de nuestra solución debería quedar como se muestra en el explorador de soluciones.
image   image
  • Especificamos la definición de la custom action de acuerdo al XML que se muestra a continuación. En el mismo tened en cuenta:
    • El Id de la custom action que tiene que ser único y podéis generar con la utilidad de crear Guids de VS 11 Beta.
    • El tipo de lista en el que vamos a registrar la custom action viene dado por el RegistrationId, siendo en este caso su valor 101 (biblioteca de documentos).
    • La definición de la custom action en sí, especificando su localización en la sección “New” de la cinta.
    • La imagen 32×32 a usar (la que será provisionada con el módulo).
    • Y la definición del comando. En este caso navegar a la Url de creación del documento en línea. Aquí tened cuidado con los carácteres especiales ya que VS 11 Beta se quejará si no los definís bien. Por ejemplo, si usáis & en la Url, tendréis que cambiarla por su código HTML (&amp;).
   1: <?xml version="1.0" encoding="utf-8"?>

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

   3:     <CustomAction

   4:       Id="55D6571F-7B1B-4639-AC0A-B2D3EC116415"

   5:       RegistrationType="List"

   6:       RegistrationId="101"

   7:       Location="CommandUI.Ribbon">

   8:         <CommandUIExtension>

   9:             <CommandUIDefinitions>

  10:                 <CommandUIDefinition

  11:                   Location="Ribbon.Documents.New.Controls._children">

  12:                     <Button

  13:                       Id="CreateWord"

  14:                       Sequence="1981"

  15:                       Command="CraeteWord"

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

  17:                       LabelText="Crear Word"

  18:                       TemplateAlias="o1"/>

  19:                 </CommandUIDefinition>

  20:             </CommandUIDefinitions>            

  21:             <CommandUIHandlers>                

  22:                 <CommandUIHandler

  23:                   Command="CraeteWord"

  24:                   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;">

  25:                 </CommandUIHandler>

  26:             </CommandUIHandlers>

  27:         </CommandUIExtension>

  28:     </CustomAction>

  29: </Elements>

  • Una vez configurada la custom action, la publicamos en nuestro sitio de SPO mediante la opción “Publish”.
  • En la ventana que se abre especificamos la Url del sitio de SPO.
  • Tras activar la solución Sandbox y la correspondiente característica, comprobamos que la nueva custom action aparece en la cinta de opciones y que está plenamente operativa.
image image image

Referencias: