Flexibilidad de WSSv3: Acceso a Datos!

WSSv3 no sólo nos da flexibilidad en la definición de workflows, también en otros aspectos como accesos a datos, personalización, despliegue de features,…Así por ejemplo, si queremos mostrar datos de una BD en nuestro sitio WSSv3, tenemos dos posibilidades:


·         Mostrarlos de modo estático utilizando controles de ASP.NET 2.0.


·         Mostrarlos de manera más dinámica (en cualquier parte de nuestro sitio de WSSv3) a través del uso de web parts.


La idea es la misma que para la creación de workflows, es decir, para mostrar datos de manera estática (en una página de nuestro sitio WSSv3) es suficiente con utilizar Sharepoint Designer 2007 (SD 2007, Technical Refresh), mientras que para mostrarlos más dinámica (en cualquier página de nuestro sitio) tendremos que crear una webpart de acceso a datos con VS 2005. Los datos los mostraremos para los dos casos en la página principal.



Acceso a datos desde SD 2007


Abrimos nuestro sitio WSSv3 desde SD 2007 y accedemos a la página principal en vista de diseño. En el cuadro de herramientas que nos ofrece SD 2007 podemos encontrar una sección específica de controles ASP.NET 2.0, y dentro de esta una subsección con controles de acceso a datos de una BD, así como para su visualización. En particular, vamos a utilizar los controles SqlDataSource y GridView.



Tras añadir estos controles a nuestra página (arrastrándolos desde el menú de controles), tenemos que  configurarlos de manera adecuada. Esta configuración la podemos hace a través de la ventana de propiedades que nos ofrece SD 2007 o bien mediante la ayuda visual disponible en la vista de diseño de los controles. Así, por ejemplo el control SqlDataSoruce lo podemos configurar fácilmente a través del wizard que nos ofrece SD 2007, en el que especificaremos el proveedor de acceso a datos (SQL Server), la base de datos, el modo en que accederemos a la base de datos  (autenticación Windows o SQL), la tabla de la que queremos extraer los datos y finalmente la consulta a realizar.





El siguiente paso será configurar el control GridView para que tenga el aspecto deseado y que muestre los datos del control de datos (el SqlDataSource anterior) que  indiquemos, de nuevo lo hacemos mediante la ayuda gráfica que nos proporciona SD2007.









 


Finalmente, si nos vamos a la página principal (después de guardar los cambios) de nuestro sitio de WSSv3, veremos cómo los datos aparecen en la página principal tal y como queríamos de un modo estático.



Creación y despliegue de la webpart de acceso a datos con VS 2005


Para crear una web part de acceso a datos, basta con crear un proyecto de tipo Class Library en VS2005 y seguir los siguientes pasos:

          Añadir las referencias System.Web.dll y Microsoft.Sharepoint.dll para poder crear una webpart de ASP.NET y utilizar el modelo de objetos de WSS respectivamente.


          Creamos el Data Source de acceso a nuestra fuente de datos desde el menú contextual de de VS2005: Data -> New Data Source -> Database. Tras elegir estas opciones, vemos que el wizard de configuración es idéntico al que utilizamos en SD 2007, por lo que los pasos para la creación del Data Source son los ya indicados.


          Añadimos el siguiente código al archivo de clase de nuestro proyecto de tipo Class Library:







using System;


using System.Collections.Generic;


using System.Text;


using System.Data;


using System.Web.UI.WebControls;


using System.Web.UI.WebControls.WebParts;


using Microsoft.SharePoint;


using Microsoft.SharePoint.WebControls;


using Microsoft.SharePoint.Utilities;


















namespace WebPartAccesoDatos


{


    public class AccesoDatos: WebPart


    {


        protected override void RenderContents(System.Web.UI.HtmlTextWriter writer)


        {


            ClientesDataSet dsClientes = new ClientesDataSet();


            ClientesDataSetTableAdapters.Md_ClientesTableAdapter Adaptador = new


            WebPartAccesoDatos.ClientesDataSetTableAdapters.Md_ClientesTableAdapter();



            Adaptador.Fill(dsClientes.Md_Clientes); 


            DataGrid grdClientes = new DataGrid();


            grdClientes.DataSource = dsClientes.Md_Clientes;



            if (dsClientes.Md_Clientes.Rows.Count > 0)


            {


                grdClientes.DataSource = dsClientes.Md_Clientes; 


                grdClientes.DataBind(); 


                grdClientes.RenderControl(writer); 


            }


            else


            {


                writer.Write(“<b>Ningun item ha sido añadido en el día de hoy a las listas.</b>”); 


            }               


        } 


    }


}



Basicamente lo más importante del código anterior es que nuestra clase hereda de la clase System.UI.WebControls.WebParts.WebPart y que necesitamos sobreescribir el método RenderControls para que nuestra webpart se comporte como queremos.



            Firmamos el ensamblado, ya que para poder desplegar la webpart en WSS es condición necesaria.


Una vez que hemos creado el ensamblado con la webpart de acceso a datos, el siguiente paso es desplegarla en nuestro sitio WSS. Los pasos necesarios son los siguientes:


          Registrar el ensamblado resultante en la CAG.


          Editar el archivo web.config del sitio WSS para añadir el ensamblado creado como un control seguro y añadir en la sección de <SafeControls> las siguientes líneas (que identifican nuestro ensamblado como un control seguro desplegable en WSSv3):








<SafeControl Assembly=”WebPartAccesoDatos, Version=1.0.0.0, Culture=neutral, PublicKeyToken=03918f13efcac312″ Namespace=”WebPartAccesoDatos” TypeName=”*” Safe=”True” AllowRemoteDesigner=”True” />    


















          Exponer para su uso la webpart que acabamos de desplegar. Lo haremos desde Sitio de WSS -> Web  Part Gallery -> Add New Web Parts.






El último paso sería utilizar la webpart en nuestro sitio de WSSv3 sin más que añadirla a la página principal desde  la opción de personalización Site Actions -> Edit Page que nos da WSSv3.




Y esto es todo, de nuevo vemos que WSSv3 nos da mucha flexibilidad en cuanto a herramientas y capacidades para realizar accesos a datos, construir workflows o realizar personalizaciones.


 


 

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.

3 comentarios en “Flexibilidad de WSSv3: Acceso a Datos!”

  1. Hola , te escribo ya que me sale el siguiente error cuando intento de hacer el mismo ejercicio

    This control does not allow connection strings with the following keywords: ‘Integrated Security’, ‘Trusted_Connection’.

    Troubleshoot issues with Windows SharePoint Services.

    Saludos y gracias

  2. Hallo,

    Ik ga trouwen en ben op zoek naar een trouwjurk.

    uik kwam op deze [url=http://www.trouwjurkgids.nl]trouwjurk site[/url]…

    wat vinden jullie hier van?

    Dank je!

    Annemarie

Deja un comentario

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