Desarrollo en WSS 3.0: Novedades!

Si hace un momento os detallaba una serie de herramientas de qué disponemos para desarrollar en plataforma SharePoint, ahora le llega el turno a las últimas novedades que desde Microsoft nos llegan para facilitar el desarrollo en plataforma SharePoint:

  • La primera es qué desde el viernes tenemos disponible una nueva imagen VPC en la que tenemos instalado Windows SharePoint Services 3.0 SP 1 instalado, Visual Studio 2008, y las Visual Studio 2008 extensions for Windows SharePoint Services. Podéis descargaros la imagen de este enlace. Además, en la imagen encontraremos una serie de hand-on labs.
  • Se ha actualizado el Introduction to SharePoint Development site.
  • Los hand-on labs podéis encontrarlos en este enlace.
  • Se han actualizado las ppts de los web casts.

Todos estos recursos están en http://MSSharePointDeveloper.com.

Herramientas de desarrollo para SharePoint!

Cuando personalizamos o desarrollamos elementos y soluciones para SharePoint, no sólo utilizamos SharePoint Designer 2007 y Visual Studio, sino que podemos ayudarnos de gran cantidad de herramientas disponibles en la red (gratuitas en su mayoría) y que han ido apareciendo en la comunidad para facilitar nuestro trabajo como implementadores de soluciones SharePoint. En este post, he pretendido recoger las herramientas que considero más importantes en el desarrollo de soluciones SharePoint.

Herramienta

Descripción

Uso

Windows Server 2008 Hyper-V

Permite hostear y administrar máquinas virtuales (MV’s).

Hoster de MV’s

Virtual PC 2007 SP1

Utilidad gratuita de Microsoft para la creación de MV’s.

Creación de MV’s

Windows Server 2003 / Windows Server 2008 (32 Bits)

Sistema Operativo (S.O) de la MV de desarrollo. Es necesario que sea la versión de 32 bits, puesto que las VSeWSS no funcionan en una máquina de 64 bits

S.O del entorno de desarrollo.

Visual Studio 2008 (SP1)

Entorno de desarrollo (IDE) dónde se crearán workflows, web  parts, menejadores de eventos, etc.

IDE

SQL Server Express / Standar /Enterprise

Para gestionar cualquier BD que se necesite integrar  en SharePoint, o bien las propias BD’s de SharePoint.

Plataforma de datos de Microsoft.

Office SharePoint Designer 2007

Entorno para la personalización y branding de sitios SharePoint.

Herramienta de Diseño

Microsoft Office Professional Edition

Suite de Office.

Suite de Office

Microsoft Office SharePoint Server 2007 SDK

Como todo SDK que se precie, viene equipado con documentación, demos y código para probar las capacidades de MOSS.

SDK

Windows SharePoint Services 3.0 SDK

Con menos contenido que el SDK de MOSS, pero con el mismo cometido.

SDK

VSeWSS 1.2

Visual Studio Extensions para WSS versión 1.2…sin duda, este Add-In es imprescindible para facilitar el desarrollo de los elementos típicos de SharePoint.

VS2008 Add-in

.NET Reflector

Herramienta imprescindible para saber que hacen muchos de los ensamblados que utiliza SharePoint. O simplemente analizar lo que hacen otras soluciones.

Herramienta de Ingeniería inversa.

U2U CAML Query Builder and Execution Tool

Una herramienta imprescindible para crear y probar consultas CAML.

Query Tool

CAML.NET

Otra herramienta que nos permite crear consultas CAML.

Query Tool

YACAMLQT

Otra herramienta que nos permite crear de manera sencilla consultas CAML.

Query Tool

Stramit SharePoint 2007 CAML Viewer

Otra herramienta que nos permite crear  y probar de manera sencilla consultas CAML.

Query Tool

SharePoint Manager 2007

Explorador del modelo de objetos de SharePoint, que permite desactivar features, actualizar propiedades y desgranar un sitio de SharePoint

Explorador de sitios SharePoint

WSPBuilder

Herramienta de creación de paquetes WSP para WSS 3.0 & MOSS.

Creador de paquetes WSP

SharePoint 2007 Features

Proyecto de Codeplex con una serie de features útiles para desarrollo de soluciones SharePoint: Debugger feature, Log Viewer, …

SharePoint 2007 Features

Application Pool Recycle Utility

Aplicación que permite realizar un reciclaje rápido  de los application pools de SharePoint.

Application Pool Recycle Utility

Smart Part de Jan Tielens

Web Part imprescindible para mostrar y utilizar de manera sencilla los controles de usuario que creemos para SharePoint

Smart Part

STSDEV

Utilidad que permite generar proyectos y soluciones de Visual Studio que faciliten el desarrollo de componentes para SharePoint.

STSDEV

SPDeploy

Otra herramienta más que permite realizar customizaciones de SharePoint en Visual Studio y luego llevarlas al servidor.

SPDeploy

STSADM

STSADM proporciona una gran flexibilidad a la hora de administrar e implementar soluciones SharePoint. Además, es extensible y se le pueden añadir nuevas opciones. Una referencia completa de STSAM la tenéis en este enlace.

STSADM

BDC Meta Man

Herramienta para la creación de archivos de definición de BDC’s de MOSS. El problema es que no es gratuita.

BDC Tool

Ejemplos de Ted Pattison

Ejemplos de desarrollos de SharePoint de Ted Pattison.

Ejemplos

Patterns & Practices SharePoint Guidance

Patrones y buenas prácticas para el desarrollo de soluciones SharePoint.

Patrones y buenas prácticas.

Fiddler

Un gran analizador para entender que información se está intercambiando entre el navegador y SharePoint.

HTTP Debugger

Internet Explorer Developer Toolbar

Add-On para Internet Explorer que nos permite visualizar fácilmente las CSS aplicadas, accede al DOM de manera sencilla, etc.

DOM/CSS/Browser Debugger

NotePad++

Muy útil para visualizar el código fuente de una página.

Ver código fuente, editor de texto

Otros enlaces sobre el tema:

Y hasta aquí llega este post sobre herramientas para el desarrollo en plataforma SharePoint. Espero que el post os resulte útil, y sobre todo que añadáis vuestras propias contribuciones.

PPTFlex: Haciendo deep zoom en tus presentaciones!

Si hace unos días os hablaba del Chart Advisor para Excel 2007 y del E-Mail Prioritizer para Outlook 2007, hoy os voy a presentar otro excelente Add-On gratuito excelente creado por Office Labs y pensado para PowerPoint 2007: PPTFlex. Esta utilidad nos permite realizar presentaciones de manera espectacular gracias a que utiliza un canvas que permite realizar zoom a distintos niveles…de este modo, las presentaciones lineales pasarán a la historia…y como muestra, aquí os dejo un vídeo de PPTFlex.

Url del vídeo

Podéis descargaros PPTFlex de este enlace.

ASP.NET: Añadiendo columnas programáticamente a un control GridView!

Recientemente en un proyecto en el que estamos trabajando en el CIIN (por supuesto, es un proyecto de SharePoint ;-)), surgió la necesidad de visualizar una serie de elementos de una lista de SharePoint en una web part…este listado tenía la peculiaridad de que los campos de información podían ser imágenes, links, etc. Entonces, lo primero que tuvimos que decidir es cuál de los elementos de visualización de ASP.NET nos podría resolver la papeleta…tras varias pruebas con distintos controles propios de ASP.NET, optamos por realizar una primera prueba con el control de datos GridView. Ahora bien, no es lo mismo utilizar un control de este tipo cuando desarrollamos una página ASP.NET que cuando desarrollamos una Web Part. En el primero de los casos, tenemos la opción drag & drop que nos da el diseñador de Visual Studio 2008, de manera que:

  • Basta con arrastrar un control de tipo GridView a la superficie de diseño.
  • Acceder a la opción Edit Columns disponible en el smart menú del control para añadir las columnas necesarias.
  • Especificar los campos del GridView y su tipo. Podemos disponer de 7 tipos de campos: BoundField, CheckBoxField, HyperLinkField, ImageField, ButtonField, CommandField y TemplateField.
ASP_NET_Add_Column_Gridview_1 ASP_NET_Add_Column_Gridview_2 ASP_NET_Add_Column_Gridview_3
  • Configuramos las propiedades de los campos añadidos y listo. Ya sólo tenemos que hacer el binding con los datos, y nuestro control GridView mostrará datos…fácil!

ASP_NET_Add_Column_Gridview_4

Pero, ¿Y qué pasa cuando desarrollamos web parts de SharePoint? Pues que no disponemos de ningún tipo de ayuda visual, por lo que no nos queda más remedio que intentar añadir los tipos de campo de las columnas de manera programática…¿es esto posible? Como no podía ser de otra forma, la respuesta es que sí, y tras indagar un poco en la red, llegué a la solución que a continuación os plasmo:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Data;

 

namespace MouroWeb

{

    public partial class _Default : System.Web.UI.Page

    {

        protected void Page_Load(object sender, EventArgs e)

        {

            //Origen de datos

            DataTable dtDatos = new DataTable();

            dtDatos.Columns.Add(“Imagen”);

            dtDatos.Columns.Add(“Url”);

 

            DataRow dtRow = dtDatos.NewRow();

            dtRow[“Imagen”] = “Imagenes/Logo_CIIN_pq.gif”;

            dtRow[“Url”] = “CIIN”;

            dtDatos.Rows.Add(dtRow);

 

            //Añadiendo columnas al grid

            GridView1.AutoGenerateColumns = false;

            //Columna tipo imagen

            ImageField imfImagen = new ImageField();

            imfImagen.ShowHeader = true;

            imfImagen.HeaderText = “Imagen”;

            imfImagen.DataImageUrlField = “Imagen”;          

            DataControlField dcfControl = imfImagen;

            GridView1.Columns.Add(dcfControl);

            //Columna tipo Hyperlink

            HyperLinkField hlfLink = new HyperLinkField();

            hlfLink.ShowHeader = true;

            hlfLink.HeaderText = “URL”;

            hlfLink.DataTextField=”Url”;

            hlfLink.NavigateUrl = “http://www.ciin.es”;

            dcfControl = hlfLink;

            GridView1.Columns.Add(hlfLink);

 

            //Haciendo el binding…

            GridView1.DataSource = dtDatos;           

            GridView1.DataBind();          

 

        }

    }

}

Como veis, en el código anterior simplemente:

  • Definimos un origen de datos (un objeto de tipo DataTable) con unos datos de prueba.
  • Especificamos que la propiedad AutoGenerateColumns del objeto GridView utilizado esté a false.
  • Definimos objetos del tipo de campo a añadir que necesitemos y los configuramos según nuestras necesidades (y siguiendo la definición de la fuente de datos). En este caso he definido un objeto de tipo ImageField y otro de tipo HyperLinkField.
  • Añadimos las columnas con el tipo de dato al control GridView. Para ello usamos un objeto de tipo DataControlField.
  • Especificamos cuál es la fuente de datos para el control GridView (el objeto DataTable).
  • Hacemos el correspondiente DataBind.

Sin más, probamos la solución y ya está.

 image

Se avecina otro gran evento: Depuración y Optimización Avanzada de Aplicaciones!

Cuando desarrollamos Software, pasamos por una serie de etapas, desde el diseño hasta el despliegue final, en las que buscamos proporcionar soluciones que resuelvan de forma excelente los problemas y requerimientos planteados. Sin embargo, el camino no es fácil y muchas veces nos olvidamos de aspectos muy importantes como son la depuración, la optimización y el testeo de nuestras aplicaciones como camino a lograr aplicaciones con el mayor nivel de calidad posible. Para cubrir esta etapa imprescindible en todo desarrollo de software, el CIIN en colaboración con Plain Concepts ha preparado una nueva jornada de la que se puede hablar durante días y días: Depuración y Optimización Avanzada de Aplicaciones.

La jornada que os proponemos será gratuita por cortesía de Plain Concepts y constará de un repaso de la depuración básica con Visual Studio, profiling de problemas de rendimiento y depuración avanzada con WinDbg. Se tocarán temas como análisis de rendimiento y pruebas de carga, localización de puntos calientes y cuellos de botella, resolución de problemas esquivos (cuelgues, pérdidas, bloqueos, CTDs…) tanto en vivo como de modo postmortem mediante el análisis de volcados de memoria y otras técnicas de depuración. También se abordarán, durante el transcurso de la sesión, aspectos de soportabilidad como la construcción de un servidor de símbolos sincronizados, la generación de volcados de memoria en nuestras aplicaciones, etc. Como viene siendo habitual, la parte teórica irá acompañada de demostraciones prácticas sobre escenarios habituales de optimización y resolución de problemas.

Depuración y Optimización Avanzada de Aplicaciones

En esta ocasión contaremos con la presencia de Pablo Álvarez Doval. Pablo ha estado vinculado a las tecnologías Microsoft desde el inicio de su carrera profesional, y fue miembro del GTSC de Microsoft en el equipo de SQL Server. Actualmente es uno de los plain boys de Plain Concepts, donde lidera la iniciativa DOT (Debugging & Optimization Team), destinada a ayudar a sus clientes en la resolución de problemas de rendimiento o problemas de difícil trazabilidad. Dispone de un blog en http://geeks.ms/blogs/palvarez, donde aborda principalmente temas de rendimiento, WinDbg y SQL Server.

Datos de interés del evento:

  • Audiencia: Desarrolladores, Jefe de Proyecto.
  • Requisitos previos: Conocimientos del entorno Visual Studio 2005 / Visual Studio 2008, lenguajes .NET en general y C# en particular.
  • Fecha: jueves 2 de octubre.
  • Hora: 09:00 a 18:30.
  • Duración aproximada: 8 horas.
  • Precio: Gratuito.
  • Ponente: Pablo Álvarez Doval (Plain Concepts, integrante del Debbuging and Optimization Team).
  •  Lugar:

Centro de Innovación en tecnología de integración (CIIN)

C/ Pasaje de la Peña Nº 4 2º Piso Local 16

39008 Santander

España

Podéis inscribiros al evento a través de este enlace…esperamos veros por Santander.

PlainConcepts - CIIN - Nuberos

Social Bookmarking v1.0 for MSDN, TechNet y Expression!

Microsoft acaba de liberar la versión 1.0 de su aplicación de social bookmarking destinada a que los profesionales IT puedan compartir de manera sencilla favoritos, publicar contenido generado en la comunidad o buscar y conectar a estos profesionales entre sí. Esta primera release está disponible para MSDN, TechNet, y Microsoft Expression.

image

Entre las capacidades de esta aplicación, tenemos la posibilidad de suscribirnos a los tags que seleccionemos, soporte para 12 idiomas, acceso en todo momento a un resumen de nuestra contribución a la comunidad, herramientas de importación de otros servicios de bookmarking, además del uso de una preview de MSDN Code Search que nos anunciaba Bruno Capuano…por supuesto, para empezar a utilizar esta herramienta sólo se necesita un Windows Live ID.