SharePoint Latin Rotating Header Image

Programación y Desarrollo de Software

Conoce Visual Studio 2012 y como programar aplicaciones modernas – Desarrolla más WOW con Visual Studio 2012

544874_10151223086562423_1117042195_n

Si eres un programador con tecnología Microsoft sin duda debes darte la oportunidad de conocer Visual Studio 2012. En ese sentido tengo la oportunidad de ser un conferencista en la iniciativa de divulgación “Desarrolla más WOW con Visual Studio 2012" que DPE de Microsoft Latam está lanzando, en mi caso estare presentando específicamente temas de Office y SharePoint, sin embargo esta iniciativa incluye la mayoría de los temas relevantes a Visual Studio 2012 y el desarrollo de aplicaciones modernas usando herramientas y procesos modernos.

Te espero en mi sesión y claro en la de mis compañeros, aquí la información:

msdn

Desarrollo de aplicaciones modernas con Calidad
En esta sesión el asistente participara en una conversación sobre las nuevas tecnologías de desarrollo moderno, partiendo del desarrollo con Windows 8 y como aprovechar las características de Windows Azure para facilitar el deployment de las aplicaciones. Adicionalmente se mostraran las características incluidas en Visual Studio que permiten garantizar la calidad de las aplicaciones generadas y que permiten asegurar la calidad esperada por los usuarios de nuestras aplicaciones.

Javier Arguello el 6 de noviembre a las 16 hrs (MEXICO)

msdn

Desarrollo con Office/Sharepoint
En esta sesión el asistente participara en una conversación sobre las nuevas tecnologías incluidas en Visual Studio 2012 para el desarrollo de aplicaciones modernas utilizando Sharepoint y Office como medio de acceso a la información.

Haaron Gonzalez el 8 de noviembre a las 16 hrs (MEXICO)

msdn

Desarrollo ágil de aplicaciones con Light Switch
En esta sesión el asistente participara en una conversación sobre el desarrollo de aplicaciones de manera ágil, y cómo es posible construir en minutos una aplicación a partir de la definición del modelo.

Luis A. Hereira el 13 de noviembre a las 16 hrs (MEXICO)

msdn

Nuevas características de desarrollo en Visual Studio 2012
En esta sesión el asistente participara en una conversación sobre las nuevas características de Visual Studio 2012 y como aprovechar las mismas para facilitar el proceso de desarrollo.

Carlos Lone el 15 noviembre a las 16 hrs (MEXICO)

msdn

Testing Tools
En esta sesión el asistente participara en una conversación sobre las nuevas tecnologías en herramientas de pruebas contenidas dentro de Visual Studio 2012 y como estas interactúan dentro del conjunto de herramientas actualmente en Visual Studio, con el fin de garantizar la calidad en las aplicaciones construidas.

Gerson García Cruz el 20 de noviembre a las 16 hrs (MEXICO)

msdn

Desarrollo colaborativo
En esta sesión el asistente participara en una conversación sobre las nuevas tecnologías incluidas en Visual Studio para el desarrollo colaborativo, como lo son Code Review, la suspensión y resumen de actividades, además de las nuevas herramientas para la gestión de feedback por parte del tomador de decisiones y los nuevos tableros para la gestión de actividades.

Jersson Dongo el 22 noviembre a las 16 hrs (MEXICO)

msdn

Desarrollo ágil con Scrum
En esta sesión el asistente participara en una conversación sobre las nuevas caracteristicas de Team Foundation Server para la gestión de proyectos utilizando Scrum como marco de trabajo.

Miguel Mendoza el 27 noviembre a las 16 hrs (MEXICO)

msdn

Desarrollo con Windows 8
En esta sesión el asistente participara en una conversación sobre el desarrollo de aplicaciones con Windows 8 y como la nueva versión de Visual Studio facilita la creación de aplicaciones Modernas.

Miguel Muñoz Serafin el 29 noviembre a las 16 hrs (MEXICO)

msdn

Desarrollo Windows Phone
En esta sesión el asistente participara en una conversación sobre desarrollo de aplicaciones para Windows Phone y como este tipo de aplicaciones facilitan el consumo y la generación de información a partir de un dispositivo móvil.

Roberto Alvarado el 4 diciembre a las 16 hrs (MEXICO)

msdn

Gestión de proyectos con TFS
En esta sesión el asistente participara en una conversación sobre el uso de Team Foundation Server para la gestión de proyectos de desarrollo, desde la definición, hasta la facilitación de prácticas como la integración continua, con el fin de generar elementos que faciliten el seguimiento de proyectos a través de reportes.

Francisco Fagas el 6 diciembre a las 16 hrs (MEXICO)

msdn

Administración de requerimientos
En esta sesión el asistente participara en una conversación sobre Team Foundation Server y su integración con múltiples herramientas para la obtención y administración de los requerimientos solicitados por parte del cliente.

Francisco Fagas el 11-diciembre a las 16 hrs (MEXICO)

msdn

ALM de punta a punta
En esta sesión el asistente participara en una conversación sobre ALM y cómo puede Visual Studio y Team Foundation Server facilitar el proceso en cada uno de los roles, desde el Líder de Proyecto, Analista, Arquitecto, Desarrollador y finalmente como verificar la calidad por medio de las actividades realizadas por las personas de aseguramiento de calidad.

El 13 diciembre a las 16 hrs (MEXICO)

msdn

Rangers Projects
En esta sesión el asistente participara en una conversación sobre los proyectos más importantes realizados por los ALM Rangers y cómo sacar el máximo provecho de las guías más importantes generadas por este grupo.

Cesar Solis Brito el 18 diciembre a las 16 hrs (MEXICO)

msdn

Desarrollo de aplicaciones en ambientes heterogéneos
En esta sesión el asistente participara en una conversación sobre ALM en ambientes heterogéneos en los cuales no solo es necesario administrar el desarrollo en .NET, sino también el desarrollo generado en otras plataformas.

Raul Guerrero Carreon el 20 diciembre a las 16 hrs (MEXICO)

Fotografia por Rodrigo Diaz Concha

Platica Virtual sobre Desarrollando WebParts de SharePoint 2010 para ShareCol

El próximo sabado 6 de Octubre estaré como expositor virtual en la platica Desarrollo de WebParts para SharePoint 2010 para la Comunidad de SharePoint en Colombia “ShareCol”. Me parece que es a las 10:00 am tiempo de Colombia, hay que hacer la conversión a tu zona de horario correspondiente.


El objetivo es describir como se pueden desarrollar webpart como parte de soluciones en visual studio 2010 y  SharePoint Designer 2010. Tambien dare una breve mención a los WebParts pre construidos en el producto como Content Query WebPart, Chart WebPart, etc.


El enlace de acceso al evento en linea es: Desarrollando WebParts Para SharePoint 2010 On-Line los espero.

Free Synergy JQuery Accordion WebPart

La empresa Synergy ha publicado en su blog oficial algunos ejemplos de código sobre como han construido parte de la experiencia de usuario de su sitio web. Por ahí tienen un post sobre este webpart de acordeón que también pusieron a disposición para que programadores pudiéramos usar su código fuente.

image

El proceso de implementación sufre de algunas inconsistencias que decidí atacar creando una solución de Visual Studio 2010 para empaquetar todos los pre requisitos, imágenes, hojas de estilo, dependencias JQuery, tipos de contenido etc y así facilitar la utilización del WebPart de Acordeón.

https://skydrive.live.com/?cid=da602695c8d95b70&resid=DA602695C8D95B70!107&id=DA602695C8D95B70%21107#

Grabe un video donde explico que se hizo y como utilizarlo, espero que les sea de utilidad.

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.

Dale un giro a tu carrera y sé un desarrollador SharePoint

Proximo Jueves 22 de Marzo de 6:00PM a 7:00 PM tiempo del centro de México, estaré presentando virtual y remotamente la platica Dale un giro a tu carrera y sé un desarrollador SharePoint en el SGVirtual. Te espero y muchas gracias por votar por mi sesión.

 

Agenda de Sesiones

Recuerda que aparte del "Registro Global", debes inscribirte a cada sesión para obtener la liga de Acceso, de otra manera no podrás accesar a la sesión.

Jueves 22 de marzo

Hora
Sala virtual 1
Sala virtual 2
Sala virtual 3
Sala virtual 4
9:00AM – 10:00AM Por definir      
10:00AM – 11:00AM   El Ecosistema Groovy Desarrollo de Software Unificado en la era postPC (Android – iOS – Windows Phone) Por definir
11:00AM – 12:00PM Sesion magistral presentada por Cisco      
12:00PM – 1:00PM   Grafos: conceptos y aplicaciones Creando Entornos de Trabajo Eficientes con JetBrains Por definir
1:00PM – 2:00PM Administración del Ciclo de Vida de las Aplicaciones, presentado por HP      
2:00PM – 3:00PM   Por definir Ceylon, un nuevo lenguaje para la JVM Ciclos de Vida Guiados
por la Arquitectura: Balanceando
entre agilidad, eficiencia y calidad
3:00PM – 4:00PM El desarrollo de software: Detrás de la innovación de productos y servicios, presentado por IBM      
4:00PM – 5:00PM   Aplicaciones móviles y web en HTML5/CSS3/JS con PhoneGap Silverlight 5: Técnica de acceso a datos usando WCF Data Services Por definir
5:00PM – 6:00PM Por definir      
6:00PM – 7:00PM   Lean Startup: Construye, mide, aprende. Dale un giro a tu carrera y sé un desarrollador SharePoint Rompiendo Paradigmas: Node.js+jQuery+Stylus+
Jade+NoSQL(CouchDB || MongoDB)
7:00PM – 8:00PM Porque las empresas latinoamericanas mas exitosas serán las que utilicen lean y ágil.      

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

Entrevista en Newsletter de Microsoft Latinoamerica

Quiero agradecer a los editores del newsletter Técnico de Microsoft Latinoamérica por la entrevista en torno a desarrollo SharePoint publicada aqui:

http://loseditoresdelatam.wordpress.com/2011/12/14/sharepoint-2010-al-servicio-de-la-produccion-y-el-trabajo-colaborativo/

Empezando el año con todo!

Usando los controles de SharePoint en WebParts

Sin duda, con el poder viene la responsabilidad. En pasados días publiqué un post acerca de cómo utilizar los controles de ASP.NET y toda su experiencia gloria dentro de WebParts de SharePoint. Sin embargo, al utilizar esta estrategia un conjunto de consideraciones subsecuentes deberán ser contempladas como hacer uso de los mismos controles SharePoint dentro de estos WebParts.


En ese sentido, debido a que sin problema alguno puedo utilizar el GridView y/o cualquier control ASP.NET al principio suena atractiva la posibilidad pero como siempre la realidad se asoma y nos muestra al que un día fue novedoso control Calendar de ASP.NET y con todo el debido respeto, hoy no es la mejor opción para la captura de una fecha dentro de una forma en SharePoint, al menos la mejor opción es usar el mismo control que se usa en SharePoint, ¿estás de acuerdo?


Vamos a nuestro Web User Control y registramos los controles web de SharePoint. Estos son los controles mejorados que SharePoint internamente utiliza en su capa de presentación.


image


Después dentro de nuestro código Markup agregamos el control SharePoint que requerimos:


image


Lo interesante es que tenemos una gama de controles de SharePoint disponibles.


image


A continuación dentro del código hacemos referencia al control de SharePoint para poder adjuntar algún evento o leer su valor.


image


Y el resultado es:


image


Estos controles cuentan con validaciones, propiedades y eventos que podemos utilizar a nuestro favor. Créditos a Luis Edmundo Teos por el reto y escenario.


Suerte!

Programación ASP.NET en WebParts de SharePoint

Si eres un de desarrollador ASP.NET que se está iniciando en desarrollo SharePoint este ejemplo puede ser de utilidad. Básicamente, usaremos un enfoque de desarrollo de WebParts basado en el uso de Web User Controls de ASP.NET 2.0.

Antes que nada utilizaremos las siguientes herramientas:

Dentro de nuestro servidor de desarrollo SharePoint cargamos Visual Studio 2008 y elegimos la creación de un proyecto SharePoint en blanco, este proyecto lo nombraremos ASPNETWebPart.

clip_image002

Especificaremos que el nivel de confianza de esta solución SharePoint sea Full Trust y la razón es que usaremos un método Page.LoadControl que requiere de permisos elevados para ejecutarse, me parece que la razón es porque este método lee de la ruta de archivos SharePoint “12 hive” y para ello requiere que el proceso w3wpg.exe solicite los permisos necesarios.

clip_image004

Usando la solución generada por Visual Studio 2008 dentro del Solution Explorer agregamos un nuevo Empty Web Site de ASP.NET llamado ASPNETWebPArtsWebSite ubicándolo en la misma carpeta creada por nuestro proyecto anterior.

clip_image006

Dentro de nuestro proyecto ASPNETWebPartWebSite agregamos un Web User Control llamado ASPNETWebUserControl y es muy importante que no deseleccionemos el cuadro de verificación Place Code in separate file.

clip_image008

Esto nos crea un simple archivo con extensión .ascx dentro de nuestro proyecto ASP.NET. A estas alturas podremos realizar cualquier funcionalidad ASP.NET. Solo hay que asegurarnos de no generar dependencias a otras carpetas como App_Code, tratemos de generar todo el código y funcionalidad sobre el Web User Control. En mi caso usare las características de vinculación de controles de ASP.NET para crear el más humilde de los GridView de ASP.NET. Podemos crear una página Defaullt.aspx para probar el funcionamiento del mismo. A continuación agregare un cuadro de texto , un botón y un label.

clip_image010

El resultado es un código Markup que podría tener sin duda código C#. En la sección de Script runat=”Server” estarían los eventos disparados por los controles de nuestro Web User Control. Solo que para propósitos de este ejemplo quiero hacer que los eventos sean disparados desde un WebPart de SharePoint y no necesariamente desde aquí.

A continuación en nuestro proyecto SharePoint agregamos un elemento de tipo Template, el cual nos creara un archivo dentro de la ruta interna de archivos de SharePoint o más conocida como 12 hive “C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\”.

clip_image012

Eliminamos el archivo generado TemplateFile.txt y agregamos la carpeta CONTROLTEMPLATES y dentro la carpeta ASPNETWebParts. Esto permite incluir en nuesdttro paquete de deployment generado por nuestro proyecto SharePoint una nueva carpeta que será aprovisionada de forma confiable en la ruta 12 hive de cada Web Front End de la granja SharePoint. Agregara una nueva carpeta llamada ASPNETWebParts. Dentro de esta carpeta agregaremos como elemento existente nuestro archivo .ascx. El resultado es algo asi:

clip_image014

Ya casi terminamos, a continuación agregamos el código de un WebPart de SharePoint que nos permitirá cargar en tiempo de ejecución el .ascx recién desarrollado. Dentro de nuestro proyecto ASPNETWebPart damos clic derecho y agregamos un nuevo elemento de tipo Web Part bajo el nombre ASPNETWebPart. En realidad puede ser cualquier nombre.

clip_image016

Abrimos el código de nuestro WebPart y agregaremos lo siguiente:

  1. Una variable miembro de tipo UserControl, esta se utilizara como un placeholder de todo el ASPNETWebUserControl.ascx.
  2. Sobre escribimos el método Render para escribir en el flujo de salida de nuestro WebPart el contenido del WebUserControl.
  3. Múltiples variables miembro que representan cada uno de los controles que existen en nuestro archivo ASPNETWebUserControl.ascx
  4. En el evento CreateChaldControls hacemos una instancia de UserControl mediante Page.LoadControl y de cada uno de los controles;

Básicamente podremos tener el control de la funcionalidad desde el WebPart y esto facilita el hacer uso del modelo de objetos de SharePoint para leer datos de otras listas o hacer querys que podamos usar para después presentarlos en el Web User Control.

using System;

using System.Runtime.InteropServices;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Xml.Serialization;

using Microsoft.SharePoint;

using Microsoft.SharePoint.WebControls;

using Microsoft.SharePoint.WebPartPages;

namespace ASPNETWebPart

{

[Guid("7625d718-fb33-4bbc-b05f-2f1ff0dd4a88")]

public class ASPNETWebPart : System.Web.UI.WebControls.WebParts.WebPart

{

public ASPNETWebPart()

{

this.ExportMode = WebPartExportMode.All;

}

protected override void Render(HtmlTextWriter writer)

{

this.ascxControl.RenderControl(writer);

}

UserControl ascxControl;

Button button1;

TextBox textbox1;

Label label1;

GridView gridView1;

protected override void CreateChildControls()

{

base.CreateChildControls();

ascxControl = (UserControl)Page.LoadControl(@"/_controltemplates/ASPNETWebParts/ASPNETWebUserControl.ascx");

button1 = (Button)this.ascxControl.FindControl("Button1");

textbox1 = (TextBox)this.ascxControl.FindControl("TextBox1");

label1 = (Label)this.ascxControl.FindControl("Label1");

gridView1 = (GridView)this.ascxControl.FindControl("GridView1");

button1.Click += new EventHandler(button1_Click);

this.Controls.Add(ascxControl);

}

void button1_Click(object sender, EventArgs e)

{

label1.Text = textbox1.Text;

}

}

}

El resultado:

clip_image018

Configurando acceso anónimo y restringido a una Extranet de SharePoint 2007 en 30 minutos

ahorrar_en_proveedores_articulo_portraitContinuando con el tema de la Intranet-Extranet configurada aquí, me di a la tarea de acércame al siguiente reto una vez que enfrentamos un escenario de extranet. Este reto consiste en ofrecer a los usuarios externos algún mecanismo de registro y de gestión de perfiles. En este video vemos como configurar el acceso anónimo en la zona de Extranet, vemos como utilizando SharePoint Designer 2007 podemos personalizar páginas que hagan uso de controles de servidor de ASP.NET 2.0 y de WebParts de SharePoint.


Adicional vemos como romper con la herencia de permisos para poder contar con porciones de contenido privadas y públicas. Las públicas, son páginas de registro y de inicio de sesión, las privadas son páginas restringidas que muestran mediante WebParts listas personalizadas configuradas especialmente.


Dicho lo anterior, esto permite ofrecer un mecanismo para restringir el acceso a ciertas listas y solo hasta que el usuario se registre, alguien con permisos elevados desde la Intranet otorgue el rol “Extranet” al usuario en cuestión (esto permite contar con un proceso de validación del usuario antes de darle acceso a cualquier contenido restringido) este podría acceder a subir la información requerida.


Adicional, vemos como configurar una lista personalizada de SharePoint para que la información que el usuario externo aporte sea visible solo para él y para cualquier usuario de la Intranet, permitiendo con esto aplicar algunas otras funcionalidades de SharePoint para colaboración o seguimiento interno por parte de empleados de la organización.


El ejemplo se basa en un escenario de extranet para proveedores donde estos pueden subir documentación e información de negocio que permita a la empresa iniciar con los trámites necesarios para darlo de alta como proveedor. Adicional, este ejemplo podría utilizarse como un mecanismo para concurso de RFPs o para recopilación de información provista por actores externos a la empresa pero que participan en la cadena de valor.


Espero sea de utilidad, está por demás decir que este es un ejemplo de tan solo 30 minutos que ilustra conceptos y aspectos tecnológicos que pudiesen acercarse a una solución.


 



 


Utilizar estos consejos es bajo tu propio riesgo, explora, aprende y comparte!.


HG