Microsoft Office Web Apps (Beta)

image Los que estuvieron la semana pasada en el RUN Reloaded de Buenos Aires, habrán quedado impresionados con el ejemplo del Excel de los 100 millones de registros, que publicaron en SharePoint y actualizaron en tiempo real. Copio parte de mi post anterior para recordar:

Fue breve, pero más que interesante. Abrieron un Excel 2010 con 100 millones de registros, mostraron algunas cositas de Excel y luego hicieron save to sharepoint. Hasta allí lo esperado.

Nos mostraron el Excel dentro de SharePoint con Office Web Access, sin ningún tipo de Active X (sólo HTML y JavaScript). Sigue dentro de lo esperado. Pero luego abrieron un segundo browser, un Firefox, con el mismo Excel.

Y finalmente lo que genero APLAUSOS: en la ventana de la derecha (FireFox) modificaron un valor y en TIEMPO REAL, se modificó el gráfico en la ventana de la izquierda (Explorer), sin refresco ni nada. Realmente tiempo real. Impresionante!

Bien, consultando con Miguel Angel Saez, uno de los expositores, me comentó que la funcionalidad que utilizaron es Microsoft Office Web Apps (Beta), aparentemente tanto disponible para SharePoint Server como SharePoint Foundation:

image

Enlaces:

Hasta la próxima y hagan llegar los comentarios o artículos los que la prueben!

Colaborando con SUGES, un reconocimiento!

Quería aprovechar este medio para agradecer públicamente a Juan Carlos Gonzalez Martin y Mario Cortes quienes me han invitado a participar en SUGES, SharePoint User Groups de España.

image

Para mi es realmente un honor y espero estar a la altura de las circunstancias. A mediados de diciembre, estaré hablando en un webcast sobre el tema “desarrollo de manejadores de eventos en SharePoint”.

Como siempre digo en estos casos, participar en la comunidad, nos lleva cada día a ser mejores profesionales. Por un lado, hemos aprendido sobre algunos temas y eso es interesante de compartir, por otro lado, al participar, entramos en contacto con otros miembros de la comunidad y eso, al menos en mi caso particular, me ha resultado muy enriquecedor, tanto en lo personal, como en lo profesional.

Espero poder contribuir en forma útil a este emprendimiento. Hasta la próxima.

image

Mi primer “delegate control”

Los controles delegados constituyen una potente funcionalidad de sharepoint que definen regiones dentro de las páginas maestras que pueden ser sustituidas para resolver algún requerimiento.

Lo más interesante es que esto puede ser realizado sin necesidad de alterar la página maestra, ya que la operación se realiza a través de una feature.

Veamos un ejemplo sencillo: imaginemos que queremos agregar en el ángulo superior derecho un link hacia la página web de nuestra empresa, tal como se ve en la imagen:
Los pasos que debemos seguir son:

1) Crear un User Control (ejemplo APLinks.ascx)

<%@ Control Language="C#" ClassName="APLinks" %>
<table><tr>
<td class="ms-globallinks" ><a href=http://www.rmya.com.ar/>RMyA</a></td>
<td class="ms-globallinks" ></td >
</tr></table>

2) Crear un el elemento que llama al User Control (ejemplo elements.xml)

Continuar leyendo en http://surpoint.blogspot.com/2009/09/mi-primer-delegate-control.html.

¿William Wallace liderando un proyecto de TI?

"Nadie triunfa sin sentir la pasión de crear futuro y en esa pasión es donde encontramos nuestros más anhelados deseos y la fuerza necesaria para conseguirlos"
Señores, soy Geek, pero no sólo como BITS! Les propongo abrir la mente un rato y cerrar el Visual Studio. Como dice un colega mío, los proyectos son una organización social y la principal causa de fallas está relacionada con las personas y no con la tecnología.
Así que, vaso de vino en mano, tómense un rato para leer algo distinto. Que lo disfruten!

——————————————————————–

El tema sobre el que pretendo escribir unas breves líneas me resulta apasionante, aunque difícil de explicar y lograr consenso. Por ello apelaré a un recurso que utilicé hace poco tiempo en un curso de administración de proyectos en el que participé: el video.

Tómense por favor 3:13 minutos para verlo:


La escena es realmente conmovedora y me parece que sirve como incentivo. La he visto decenas de veces y siempre recurro a la misma pregunta: ¿Qué buena práctica de administración de proyectos usó el señor William Wallace para motivar a su equipo? ¿WBS? ¿Plan de Proyecto? ¿Indicadores de Control? ¿Administración de riesgos? ¿Estimación? ¿Hitos?

La respuesta creo que es natural: Ninguna de ellas, simplemente apeló al liderazgo si es que puedo emplear una palabra tan amplia para una pregunta tan concreta.

¿Pero qué relación tiene Sir Wallace con la administración de proyectos y con TI? Tomo una frase de libro para responder esta pregunta:

Frase 0: Para erigir un equipo hay que cumplir con dos cosas: ser un líder y ser un gestor. El gran líder es Gestor y Líder. Gestor es alguien que planifica, coordina, que pone objetivos, que presupuesta. Líder es el que motiva, seduce, aporta ideas [1999 – Mateo/Valdano – Liderazgo].

Realmente no estoy diciendo nada nuevo: las herramientas y prácticas de administración de proyectos son la base (lo mínimo necesario) para llevar un proyecto adelante, pero sin liderazgo los resultados pueden ser muy pobres o sencillamente pueden no existir. En nuestro video, un líder logró llevar su equipo a la batalla, cuando inicialmente estaban huyendo.

Demasiado para no tenerlo en cuenta, ¿no? Sin embargo los que tenemos actividades relacionadas con el liderazgo, solemos perder el foco repetidamente y creemos que nuestro trabajo es tan solo planificar, asignar tareas y controlarlas.

PAUSA…

Continuar leyendo en http://excelza.blogspot.com/2009/10/william-wallace-liderando-un-proyecto.html.

SharePoint 2010 muy RECARGADO!!!

IMG_2236 Microsoft finalizó en Buenos Aires el evento RUN RELOADED, orientado a la comunidad de desarrolladores y profesionales de TI. Fueron dos jornadas completas los días 24 y 25 de noviembre. Han sido jornadas muy gratas para nosotros, los desarrolladores SharePoint, por la importancia que ha tenido SharePoint dentro de estas jornadas,donde nunca antes se había hablado de esta tecnología.

Es que SharePoint está ganando su lugar, y si está convirtiendo en una plataforma de desarrollo de aplicaciones fuerte, que ya no puede ser desconocida por los desarrolladores, en particular por los desarrolladores de ASP.Net (Para más información vean Plataforma de desarrollo de SharePoint 2010).

Realmente dos hechos me sorprendieron:

  • En la apertura, hubo dos demos: Windows 7 y SharePoint 2010
  • En el segundo día hubo un track completo (3 presentaciones) de SharePoint 2010 (a sala llena con 70 personas)

image

Creo que esto es un incentivo para los que apostamos a esta tecnología.

Pasada esta breve introducción, mi idea es resumir en este breve artículo lo que escuchamos con mi colega Sebastián Torres en estos dos días. No voy a profundizar en los temas, porque aún no tengo la información de detalle, eso será tema de próximos blogs. Sin embargo me pareció importante compartir esta data para los que no pudieron asistir o los que no están siguiendo tan de cerca la novedades. Y aún para los que están probando la Beta y quizá no vieron alguno de los temas que se presentaron en el evento.

Espero que lo disfruten! Nosotros lo disfrutamos…

KEYNOTE

Fue breve, pero más que interesante. Abrieron un Excel 2010 con 100 millones de registros, mostraron algunas cositas de Excel y luego hicieron save to sharepoint. Hasta allí lo esperado.

Continuar leyendo en http://surpoint.blogspot.com/2009/11/sharepoint-2010-muy-recargado.html.

SharePoint: Insertar, Modificar, Eliminar y Listar ítems de Lista Programáticamente

Les comparto este artículo de mi colega Sebastián Torres, en el que explica uno de los primeros retos a los que debe enfrentarse un programador de SharePoint que esté dando sus primeros pasos: la creación, modificación, eliminación y listado de ítems de listas. Que lo disfruten!

En este breve post les voy a presentar un resumen de los métodos provistos por la API de Sharepoint para insertar, modificar, eliminar y listar ítems de lista en forma programática.

Contexto

Para todos los ejemplos, tomemos como base la siguiente lista, llamada MiLista:

  • ID –> Campo standard de Sharepoint
  • Title –> Campo standard de Sharepoint
  • Descripcion –> Texto de una línea

Insertar Ítem

El siguiente código ejemplifica el alta de un nuevo registro en la lista “MiLista”, pasándole por parámetro los valores para los campos Title y Descripcion:

public void NuevoItem(string strTitle, string strDescripcion){

        SPWeb site;

        SPList lstMiLista;

        SPListItem itmMiLista;

        site = SPContext.Current.Web;

        lstMiLista = site.Lists["MiLista"];

        itmMiLista = lstMiLista.Items.Add();

        itmMiLista[“Title”] = strTitle;

        itmMiLista[“Descripcion”] = strDescripcion;

        itmMiLista.Update();

}

Modificar Ítem

Continuar leyendo en http://surpoint.blogspot.com/2009/11/insertar-modificar-eliminar-y-listar.html.

Trabajando con tipos de contenido en SharePoint

Según Microsoft TechNet un tipo de contenido define los atributos de un elemento de la lista, documento o carpeta. Cada tipo de contenido puede especificar: propiedades, flujos de trabajo, eventos, plantillas de documentos y otras características personalizadas.

Una explicación mía, menos ortodoxa, define a los tipos de contenido como algo muy parecido a los subtipos y supertipos de un modelo de entidad relación. El clásico ejemplo de Empleado Contratado y Empleado en Relación de dependencia puede definirse en forma muy simple en SharePoint, logrando con muy poco esfuerzo pantallas para cada tipo de empleado con sus columnas asociadas.

Este artículo trata sobre la creación de tipos de contenido en forma programática…

Introducción

Los tipos de contenidos trabajan bajo el principio de la herencia. No es posible crear un tipo de contenido desde cero, debe heredar de un tipo de contenido base. Una primera definición al crear un tipo de contenido consiste en definir si será utilizado en listas o librerías de documentos. Los tipos de contenido para librerías de documentos soportan como adicional la posibilidad de especificar plantillas de documentos, por ejemplo en Word.

Como punto final, es importante saber que los tipos de contenido pueden definir también el comportamiento, a través de flujos de trabajo y manejadores de eventos.

Crear un tipo de contenido usando CAML

Continuar leyendo en http://surpoint.blogspot.com/2009/11/trabajando-con-tipos-de-contenido-en.html.

Project 2010 – Vista de línea de tiempo (timeline view)

Ayer instalé la beta de Project 2010 en el marco de un conjunto de pruebas que estamos haciendo de las plataformas SharePoint Server 2010 y Project Server 2010.

Estaba decidido a probar la funcionalidad timeline view de la que había leído anteriormente en un blog de MSDN. La probé y superó mis expectativas.

¿Por qué? Porque nosotros, los que trabajamos entre otras cosas de líderes de proyectos, hemos perdido mucho tiempo en mantener dos niveles de calendarios:

  • El calendario hecho en MS Project
  • El calendario hecho en MS PowerPoint (orientado al cliente)

Con Project Server 2010, ya no necesitamos PowerPoint. Y además es fácil! A continuación un breve ejemplo:

Paso 1 – el calendario tradicional

Lo primero que hice fue abrir un project que ya tenía con Project 2010. A primera vista, eso no representó ningún cambio:

image

Paso 2 – habilitar la vista línea de tiempo

El segundo paso es habilitar la vista línea de tiempo en View / Timeline:

image

Continuar leyendo en http://surpoint.blogspot.com/2009/11/project-server-2010-vista-de-linea-de.html.

Por qué me gusta tanto la WBS?

Tengo en mi kit de supervivencia del líder de proyecto de TI un conjunto de herramientas que uso sistemáticamente. Una de ellas es la WBS. Buscando las razones del por qué, encontré dos: a) es muy barata (y práctica); b) me resuelve un par de temas importantes…

Breve introducción a la WBS

WBS significa Estructura de Desglose del Trabajo (EDT) (en inglés Work Breakdown Structure, WBS). Es una herramienta muy sencilla cuyo principal objetivo es estructurar el alcance del proyecto en forma jerárquica.

Para ser más gráfico, imaginemos cómo sería una WBS para escribir un artículo en un blog:

 Ejemplo de WBS

Bien, un ejemplo sencillo. La estructura es fácilmente comprensible, posee niveles y cada caja “podría” ser considerada como un “mini-proyecto”.

Pero … ¿para qué sirve la WBS?

Continuar leyendo en http://excelza.blogspot.com/2009/10/por-que-me-gusta-tanto-la-wbs.html.

Explicando FBA en sharepoint a mi abuela

Ayer estuve en la casa de mi abuela tomando el té. Entre muchas conversaciones sobre recuerdos del pasado, mi abuela me sorprendió con la siguiente pregunta:

Abuela: Pablito… ¿Qué es la autenticación basada en formularios (FBA) que según escuché, utiliza WSS 3 (Windows Sharepoint Services 3.0)?

(Gracias Jorge Serrano por inspirarme en la forma de escribir este artículo)

Juan Pablo: Abuela, muy oportuna tu pregunta. Te cuento que la versión anterior de Sharepoint (WSS 2) sólo soportaba autenticación contra cuentas de Windows. Esto hacía que realmente sea complejo habilitar un sitio de Sharepoint para ser accedido desde Internet o desde una Extranet. Por suerte, a partir de ASP .Net 2.0 existe un nuevo modelo de proveedores de autenticación. Esto permite que por ejemplo, las cuentas se registren en una base de datos SQL Server y no depender de Active Directory, pero no sólo eso, también podrías trabajar con un proveedor LDAP (Novel, Sun, etc).

Abuela: ¿Entonces yo podría habilitar a usuarios externos a mi red a que accedan a un sitio de sharepoint sin necesidad de tener una cuenta en mi AD?

Juan Pablo: Por supuesto y además podrías tener diferentes métodos de autenticación dependiendo de la zona. Por ejemplo, los usuarios internos podrían utilizar sus usuarios de Windows, mientras que los externos podrían utilizar FBA. Además podrías habilitar acceso anónimo si fuera necesario. Muy potente cómo verás.

Abuela: Desde ya, pero ¿dónde debo hacer clic para habilitar FBA?

Juan Pablo: Abuela, continua leyendo en http://surpoint.blogspot.com/2009/09/explicando-fba-en-sharepoint-mi-abuela.html.