SharePoint Latin Rotating Header Image

Visual Studio 2010

Programación de WebParts de SharePoint 2010 con Visual Studio 2010, pan comido para un desarrollador .NET

Tú como programador .NET seguramente has escuchado hablar de SharePoint y muy probablemente en las bolsas de trabajo encuentras que un plus en tu currículo como programador es saber SharePoint o programar en SharePoint. Bien, pues aquí tienes un video que publique en mi canal de YouTube donde como programador puedes conocer lo siguiente de SharePoint:


  • Que son los WebParts
  • Como están constituidos
  • Que elementos o clases usamos para construirlos
  • Como programarlos y con qué herramientas
  • Como empaquetarlos para su portabilidad

Date el tiempo ver este video, especialmente desde la demostración ya que se explica y se muestra lo básico de la construcción de un webpart, múltiples enfoques de empaquetamiento e incluso hasta el uso de AJAX.



Construyendo Flujos de Trabajo en SharePoint 2010 utilizando SharePoint Designer 2010

Damas y caballeros, aquí un ejemplo de principio a fin de como construir una solución de flujo de trabajo en SharePoint 2010 usando tipos de contenido, diagramas de Visio Services, listas personalizadas, condiciones y acciones de SharePoint Designer 2010 y  también se ve como programar una actividad personalizada de SharePoint Designer 2010 con Visual Studio 2010. 


Oportunidad de Negocio

Si usted tiene la necesidad de dar una solución basada en tecnología para resolver algún problema de negocio y requiere de un especialista técnico capaz de hacer su visión realidad, entonces le pido que descargue y llene el siguiente cuestionario inicial de oportunidad y lo haga llegar a haarongo@prodigy.net.mx con la finalidad de revisarlo, evaluarlo y potencialmente producir una propuesta de solución. Gracias!



Inspirado por el artículo Peter Bright sobre WinRT

microsoft-_net-framework-4

 

En mi caso todo empezó con MS-DOS 3.0 pero esa es otra historia. Yo tomé el barco de Microsoft desde 1997, como programador inicié con Visual Basic 5, tuve la oportunidad de utilizar la suite de Office 97 y experimentar lo que fue OLE 2.0, ya como programador Visual Basic 6 construí aplicaciones profesionales que hacían uso de componentes COM construidos por mí y también tuve la oportunidad de compartir con PowerBuilder funcionalidad gracias a COM. El primer libro de programación que compré fue Developing COM/ActiveX Components With Visual Basic 6 de Dan Appleman. Ya durante los cursos oficiales de Visual Basic 6 pude conocer lo que fue Distributed COM (DCOM) y Microsoft Transaction Server (MTS).  A la par HTML y lo que Microsoft llamó DHTML también eran parte de las técnicas de programación que tuve que aprender y dominar, en particular ASP y VBScript fueron para mí una gran oportunidad profesional, en la universidad pude construir aplicaciones web para procesos escolares, así que mí experiencia en ASP mejoró mucho. Después de durar un tiempo construyendo aplicaciones Windows y Web tanto para empresas como para los últimos semestres de pronto escuchamos del Beta de .NET en MSDN, un buen amigo mío lo descargó no sé de dónde y pudimos ver en primer instancia lo que significó el nuevo modelo e acceso a datos, la evolución de DAO por ADO y de ADO a ADO.NET. Recuerdo que el simple el hecho de tener DataSets y DataTables con respecto a Recordsets fue increíble. La posibilidad de trabajar Offline y usar DataSet.WriteXml() para llevarnos los datos en XML y poder trabajar fuera de línea nos dio una y refrescante alternativa. El poder serializar objetos para persistirlos también fue algo emocionante. Tratar de asimilar los tipos de datos por valor y por referencia también fue retador. El 13 de Febrero de 2002 se liberó Visual Studio .NET 2002 en San Francisco, CA donde Bill Gates presidio el lanzamiento y dejó ver la visión que ha venido empujando a Microsoft desde ya hace mucho tiempo "La información disponible a cualquier hora, en cualquier lugar y desde cualquier dispositivo". En ese lanzamiento Grady Booch tuvo una participación durante una demostración justamente hablando de modelado y de ahí conocí el mundo de UML, Design Patterns, etc. También a Tim Huckaby fue parte del Iron Developer contest con quien después tuve la oportunidad de trabajar aquí y algunos otros Speakers en especial a Ari Bixhorn y Chris de DPE de Microsoft. Increíble el lanzamiento y dejó ver todo una nueva visión. En aquel entonces los recursos de capacitación disponibles eran pocos, el .NET Show con Robert Hess y Erica Wiechers, LearVisualStudio.NET con Bob Tabor que después lo hicieron MVP, también me fascinó el concepto del programa VBTV Cheap Show de Chris and Ari donde de una manera muy cómica y relajada dieron a conocer Visual Basic .NET. Tuve la oportunidad de hacer un proyecto en ASP.NET usando Visual Studio .NET 2003 para un evento nacional de la universidad, ahí fue mi primer presentación técnica ante ejecutivos y director nacional de la institución, toda una experiencia nueva pero tan familiar a la vez. Estuve trabajando por un tiempo como programador ASP y de pronto llegó la oportunidad para ser programador .NET de una empresa de software para gobierno importante en mi ciudad. Inicie con Visual Studio .NET 2003 creando aplicaciones ASP.NET 1.1. En ese entonces surge Pattern & Practices y pude conocer el podcast de .NET Rocks de Carl Franklin. Los blogs empezaron a ser más populares. Trabaje bastante con Visual Studio .NET 2003, recibí el nombramiento MVP en el 2004, tome el riesgo y me fui a la ciudad de México a trabajar como instructor y conferencista, surgió Visual Studio 2005 y tuve la oportunidad de participar en el lanzamiento del producto dando platica de ASP.NET 2.0 y conociendo a personas con las sigo frecuentando y que también son MVPs. Lo que más me llamó la atención en aquel entonces fue el modelo proveedor de ASP.NET para soportar la extensibilidad y la implementación de mecanismos muy interesantes para fortalecer la integración. Una vez más Visual Studio 2005 y .NET Framework 2.0 introdujeron muchas mejoras para los programadores en especial el modelo proveedor y sin duda el uso de Generics como parte del modelo de programación y en el caso de Windows Forms el Clickonce Deployment, de hecho .NET Framework 2.0 fue la base de otras versiones de .NET Framework, básicamente se han ido apilando nueva funcionalidad. A mediados entre 2005 y 2008 Microsoft busca unificar los paradigmas de desarrollo y crea WCF, WF, WPF y CardSpace como parte del .NET Framework 3.0. Cabe mencionar que SharePoint 2007 fue construido sobre .NET Framework 2.0 y 3.0. Un cambio radical de nuevo en el modelo de programación y en la forma de construir soluciones conectadas, visualmente atractivas y procesos de negocio. En el 2008 se liberó Visual Studio 2008 con el .NET Framework 3.5 donde por fin LINQ pudo florecer y posicionarse como la respuesta para abstraer el lenguaje que normalmente usamos para manipular una base de datos. LINQ nos dio la posibilidad de seguir usando el lenguaje de programación que conocemos para expresar de forma unificada consultas a bases de datos, colecciones de objetos, archivos XML y cualquier otra fuente de datos para la cual existiera un proveedor, adicional fue la base de Entity Framework como el ORM de Microsoft. Sin duda .NET Data Services (la implementación RESTFull) fue otro nuevo y refrescante enfoque para facilitarnos la construcción de aplicaciones conectadas. También .NET Framework 3.5 y Visual Studio 2008 han sido críticos para la evolución de la plataforma .NET ya que se introdujo de forma muy básica la posibilidad del paralelismo y la noción de facilitarnos la escritura de programas capaces tomar ventaja de los diferentes procesadores y núcleos que el hardware tiene. Se introdujo extensiones para trabajar con patrones como MVC y MVVM para web como para cliente. Ya en la versión .NET Framework 4.0 y Visual Studio 2010 florecieron los patrones con nuevas plantillas de proyecto, pudimos tener integrado en el lenguaje una serie de clases para facilitarnos la escritora y uso de aplicaciones paralelas y asíncronas. Y sin duda Visual Studio fue re construido ofreciendo una UI basada en WPF con un bonche de mejoras para depuración, visualización de código, documentación, análisis, diagramas etc. Visual Studio 2012 también ya fue liberado y sus características a la par del sistema operativo han venido a revolucionar la forma en que construimos aplicaciones así como también el ecosistema para distribuirlas.

Todo este texto ha sido inspirado por un artículo que leí hace un par de días y que quiero recomendar ampliamente para aquel programador avanzado y principiante. Este artículo se llama "Turning to the past to power Windows’ future: An in-depth look at WinRT" y da una explicación del pasado para entender mejor el presente y sin duda el futuro. Si realmente estas interesado en el mundo Microsoft tienes que leerlo.

Dispositivas de la conferencia para SGVirtual

Ayer se llevó acabo la conferencia virtual Dale un giro a tu carrera y sé un desarrollador SharePoint donde 170 participantes estuvieron presentes y atentos de forma remota esuchando y compartiendo algunas preguntas sobre el tema. En cuanto suban la sesión grabada estaré actualizando este post, mientras tanto aquí la presentación PowerPoint.



PD. En cuanto la gente de #SGVirtual me hagan llegar las preguntas que quedaron pendientes de respuesta estare subiendo aqui mismo.

Paquete de 101 códigos de ejemplo en desarrollo SharePoint 2010

En el blog oficial del equipo de desarrollo SharePoint de Microsoft se ha publicado una entrada referente a un paquete de ejemplos de código sobre SharePoint 2010 lo cual me parece fabuloso. Estuve revisando la lista de ejemplos y se deja ver que este es un excelente recurso para programadores SharePoint y/o principiantes.

Puedes descárgalo aquí y estoy seguro será de utilidad

HG

Consumiendo Servicios REST de .NET y SharePoint en Hojas de Calculo de Excel 2010

Aquí un video mas de casi media hora de duración sobre como consumir servicios REST desarrollados en .NET y también nativos de SharePoint 2010. Quiero estresar el tema del soporte que se tiene en el desarrollo de aplicaciones cliente para facilitar la vinculación a datos. Usamos las características de vinculación Out Of The Box de Visual Studio 2010  para poder tener una comunicación bidireccional entre un Add In de Excel 2010 y el servicio.

Basicamente, usamos una simple tabla de excel para obtener y editar datos.


Reseña de El Día del Flujo de Trabajo de SharePoint 2010 para Desarrolladores

El pasado miércoles 15 de diciembre del presente año Misael Monterroca, Haaron Gonzalez, Gerardo Reyes y Fabian Imaz estuvimos celebrando el día del flujo de trabajo SharePoint 2010 para desarrolladores mediante presentaciones abiertas en línea de forma continua durante el transcurso del día que hoy ponemos a disposicion.

Gracias a los expositores y asistentes!

NOTA: Para ver la sesion en linea, solo da clic en la imagen.

Conociendo los Flujos de Trabajo Pre Construidos en SharePoint 2010
PDF
Conociendo los Flujos de Trabajo Pre Construidos en SharePoint 2010
En esta sesión conoceremos la propuesta de flujos de trabajo que SharePoint 2010 pone en la mesa y las características de cada uno de los flujos de trabajo pre construidos en el producto. Cuando y donde genera valor utilizarlo para automatizar algún proceso u operación empresarial y mejor aún cómo es posible extenderlos para personalizar algún proceso.

15 de Diciembre 2010 a las 10:00 AM Tiempo de México – Ver aqui
Construyendo Flujos de Trabajo en SharePoint 2010 utilizando SharePoint Designer 2010
PDF | Ejemplo
Construyendo Flujos de Trabajo en SharePoint 2010 utilizando SharePoint Designer 2010
En esta sesión veremos el soporte que SharePoint Designer 2010 tiene para la creación y manipulación de flujos de trabajo para SharePoint. Conozca el nuevo diseñador de flujos de trabajo, las actividades y condiciones disponibles en esta versión y como programar tus propias condiciones y acciones para SharePoint Designer 2010.

15 de Diciembre 2010 a las 11:30 AM Tiempo de México – Ver aqui
Construyendo Flujos de Trabajo en SharePoint 2010 utilizando Visio Services Construyendo Flujos de Trabajo en SharePoint 2010 utilizando Visio Services
En esta sesión veremos el valor que Visio Services aporta al mundo de los flujos de trabajo. Al fin contamos con una alternativa mucho más rica para poder mostrar de forma gráfica el estado de los flujos en ejecución y brindar opciones al usuario para consultar información contextual de una instancia en ejecución del flujo de trabajo.

15 de Diciembre 2010 a las 3:00 PM Tiempo de México – Ver aqui
Construyendo Flujos de Trabajo en SharePoint 2010 utilizando Visual Studio 2010
PDF | Ejemplo
Construyendo Flujos de Trabajo en SharePoint 2010 utilizando Visual Studio 2010
Esta es una sesión para desarrolladores .NET que construyen flujos de trabajo para SharePoint 2007 y buscan conocer cómo construir flujos de trabajo en SharePoint 2010. Exploraremos las nuevas características relacionadas con flujos dentro de SharePoint 2010 y el soporte simplificado Visual Studio 2010 aporta para facilitar su construcción y despliegue.

15 de Diciembre 2010 a las 4:30 PM Tiempo de México – Ver aqui

Siguebois

Visual Studio 2010 ya son 8 años

Siempre estamos en constante cambio, la tecnología evoluciona prácticamente de manera exponencial. Fue desde 14 de Febrero del 2002 que se liberó la primer versión de la plataforma .NET, ya son hace 8 años y hoy más que nunca tenemos en nuestras manos un gran conjunto de herramientas y tecnologías para los desarrolladores de software que nos permiten producir soluciones tecnológicas a diversos problemas o escenarios de negocio. Hoy 12 de Abril se libera la versión 4.0 de .NET Framework y Visual Studio 2010. Sinceramente me encuentro muy emocionado ya que desde aquel 14 de febrero supe que un cambio radical a mi vida profesional estaba por suceder y en esta ocasión siento lo mismo, tenemos una nueva versión.

Tu que compartes estas líneas, ¿como te sientes respecto al lanzamiento y respecto a las piezas tecnológicas que ahora tenemos disponibles?.

Aquí dejo la segunda edición sobre arquitectura de aplicaciones .NET en donde se describe todas las tecnologías emergentes que se han venido integrando en la plataforma y donde encajan dentro de una arquitectura de aplicación.

http://msdn.microsoft.com/en-us/library/dd673617.aspx

Suerte!

PD. Microsoft ya esta planeando la siguiente version … :)

Como consumir lista de SharePoint 2010 en Windows Forms mediante REST

En Microsoft uno de los puntos que se enorgullecen de divulgar es que ahora se soporta REST para acceso a listas y bibliotecas de documentos lo cual me parece fantástico ya que si aporta valor la alternativa de obtener acceso directo al contenido basado en un estándar y que sin tanto esfuerzo de programacion lo podamos lograr es tambien un tema a consiuderar. Este seguro que desde ya podemos ver muchas aplicaciones de esta característica en proyectos de desarrollo SharePoint.

Hagamos una breve y simple demostración de cómo consumir un servicio REST de SharePoint en una aplicacion Windows Forms.

Soporte REST en SharePoint 2010

Primeramente accedemos a nuestro sitio SharePoint 2010 y en la dirección URL hay que capturar “_vtn_bin/listdata.svc" el cual es un servicio WCF que se encarga de exponer el sitio entero en formato REST. Dependiendo del URL de nuestro sitio es el contenido que el servicio listdata.svc nos retorna.

Como puedes ver aquí tenemos en formato REST el contenido del sitio.

clip_image002

Mediante la URL indagamos y accedemos a los sub elementos de este esquema, por ejemplo si quisiéramos acceder a la lista de anuncios “Announcements” entonces modificamos el URL y capturamos subsecuentemente /_vti_bin/listdata.svc/Announcements arrojando lo siguiente:

clip_image004

El navegador lo interpreta y muestra como un Feed RSS sin embargo al ver el código fuente de esta página vemos más contenido de acuerdo a REST. Encontramos un esquema mucho mas explicito que describe y autocontiene la informacion invocada.

clip_image006

Lo único que debes de saber es que la dirección URL es sensible a mayúsculas y minúsculas de tal forma que debes de asegurarte de especificar exactamente igual el nombre de las listas y bibliotecas, no hay margen para el error aquí.

Consumiendo Servicio REST de SharePoint 2010

Debido a que REST opera via protocolo web podemos consumirlo tal como un servicio web. Desde Visual Studio 2010 creamos una aplicación de consola o Windows Forms y tenemos varias alternativas disponibles para generar un proxy que nos invoque los elementos que tenemos publicados por defecto en REST mediante el servicio listdata.svc. En esta demostración de tipo aplicación Windows Forms simplemente selecciono del menú principal la opción de Data en donde se muestra la opción de Visual Studio para agregar una conexión que apunte a diversos orígenes de datos.

clip_image007

Lo que vale la pena ver aquí es que ahora contamos con un nuevo conector hacia SharePoint.

clip_image009

A seleccionar Next simplemente se carga la ventana para hacer una referencia a un servicio WCF. Capturamos la URL de nuestro servicio listdata.svc de nuestro sitio SharePoint en cuestión y damos clic en el botón Go, para que Visual Studio descubra el contenido del servicio “el cual basado en REST obtendremos el contenido de nuestro sitio” y especificamos el namespace con el que estaremos haciendo referencia a nuestro proxy.

clip_image010

Damos clic en Ok y listo ya podemos generar instancias de nuestro proxy y realizar programáticamente invocaciones al contenido de nuestras listas. Cabe mencionar que al hacer la conexión vía Data Source de Visual Studio nos agrega una sección donde podemos arrastrar y soltar sobre nuestra lista de anuncios presentándonos las columnas y la posibilidad de mostrar los objetos sobre nuestro formulario, el proceso de vinculación lo realiza de forma automática y nos agrega el contexto de vinculación y el contexto de navegación dentro de un conjunto de datos.

clip_image011

Si tomamos nuestra lista de anuncios y la arrastramos y soltamos sobre nuestro formulario el resultado será un datagrid con su correspondiente objeto de navegación y contexto de vinculación.

clip_image013

Claro que nosotros podemos editar que columnas queremos incluir y atrapar eventos dentro del datagrid para determinar renglones nuevos o editados y programáticamente hacer algo al respecto.

Ya para terminar necesitamos realizar desde código la invocación a nuestra lista y pasarle como contexto de datos el resultado de nuestro servicio. Así mismo ocupamos también pasar el contexto de usuario para que podamos tener acceso seguro a SharePoint.

Lo que hay que hacer es:

  1. Hacer referencia a nuestro namespace RESTDemo y a System.Net usando using
  2. Instanciamos nuestro servicio generado por el proxy llamado “HomeDataContext” y pasamos como argumento dentro del constructor un objeto Uri apuntando a nuestro servicio listdata.svc.
  3. A nuestro objeto instanciado necesitamos asignarle la credenciales de usuario con las que se autentificara en SharePoint para consumir los datos.
  4. Asignamos a nuestro objeto de contexto de vinculación en su propiedad DataSource el resultado de nuestra lista.
using System.Net;
using WindowsFormsApplication9.RESTDemo;

namespace WindowsFormsApplication9
{
    public partial class Form1 : Form
    {

        private void Form1_Load(object sender, EventArgs e)
        {
            HomeDataContext dc = new HomeDataContext(new Uri("http://sp210-pdc/_vti_bin/listdata.svc"));
            dc.Credentials = CredentialCache.DefaultNetworkCredentials;
            announcementsBindingSource.DataSource = dc.Announcements;
        }
    }
}


El resultado:



image