SharePoint 2010: Como provisionar una DataFormWebPart existente!

Cómo sabéis, SharePoint Designer 2010 (SPD 2010) nos permite crear de forma sencilla vistas de datos a partir de orígenes de datos diversos como BD’s SQL (incluyendo SQL Azure), servicios web, servicios REST  o listas / bibliotecas de SharePoint. Estas vistas de datos se pueden personalizar vía transformaciones XSL…ahora bien, en el caso de que haga uso de estas vistas de datos a través de la DataFormWebPart: ¿Cómo puedo hacer que sean re-utilizables? Pues como siempre, paquetizándola si es posible:

  • En primer lugar, creamos una página de WebParts en el sitio de trabajo y desde SPD 2010 añadimos la vista de datos que personalizamos a nuestro gusto.
  • Guardamos los cambios y visualizamos la página de WebParts. A través de la pestaña de edición de la WebPart, podremos descargarnos el archivo .webpart que contiene toda la definición de la vista de datos.
  • Este archivo de datos lo vamos a llevar a una solución de Visual Studio 2010 RC (VS 2012 RC) que contenga un elemento de tipo Module en un proyecto de tipo SharePoint 2010 Project.
image image image
  • Este elemento de tipo Module nos permitirá desplegar el archivo .WebPart (cuyo contenido os recomiendo revisar) a la galería de WebParts de la colección de sitios dónde reside nuestro sitio.
  • En VS 2012 RC nos tenemos que dar cuenta de cambiar el ámbito de la característica correspondiente a Site (Colección de Sitios).
  • Tendremos también que modificar el archivo Elements.xml del módulo para especificar que vamos a provisionar un archivo .webpart en la galería de WebParts de forma que en tiempo de edición de la página de WebParts podamos insertarla WebPart en nuestra página.
image image image
  • La definición del archivo elements.xml tiene que ser como sigue. Como veis, en el atributo <Module tenemos que especificar que el destino del archivo .webpart es la galería de WebParts, cuya url relativa es _catalogs/wp.
   1: <?xml version="1.0" encoding="utf-8"?>

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

   3:   <Module Name="SPDFWPModuleImporter" List="113" Url="_catalogs/wp">  

   4:       <File Path="SPDFWPModuleImporterSQL_Azure_DS.webpart" Url="SQL_Azure_DS.webpart" Type="GhostableInLibrary" >

   5:       <Property Name="Group" Value="Azure WebParts" />

   6:     </File>

   7: </Module>

   8: </Elements>

  • Añadimos la WebPart a la página de WebParts y comprobamos que muestra la información del origen de datos de la misma forma que la vista de datos insertada desde SPD 2010.

image

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 2010: Como provisionar una DataFormWebPart existente!”

Deja un comentario

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