Otra mirada al futuro: Microsoft Gazelle!

La división de investigación,  Microsoft Research libero durante esta semana un whitepaper en el que se dan detalles sobre un interesante proyecto en ciernes: Microsoft Gazelle. Se trata de un nuevo explorador web que está construido y se comporta como un auténtico sistema operativo (S.O) cuyo kernel está pensado para proteger y compartir recursos entre sitios web. La idea que subyace bajo Gazelle es la de construir un explorador web más seguro y robusto pensado para lidiar con páginas cada vez más dinámicas y complejas:

 "Gazelle’s security model is centered around protecting principals from one another by separating their respective resources into hardware-isolated protection domains. Any sharing between two different principals must be explicit using cross-principal communication (or IPC) mediated by Browser Kernel."

gazelle_feb_09.jpg

Sin duda, un proyecto interesante que habrá que seguir.

msoft_research_logo_feb_09.jpg

WSS 3.0 & MOSS: Cumulative Update de Febrero!

Ya tenemos disponible para descarga el cumulative update de WSS 3.0 & MOSS correspondiente al mes de febrero. Los enlaces correspondientes son los siguientes:

Artículos en la KB:

Enlaces de descarga:

WSS 3.0 & MOSS: Simulando un campo calculado con un workflow!

Seguro que más de alguno os habéis encontrado conque SharePoint presenta alguna limitación inesperada y para la que la respuesta rápida es: no está soportado. Este es el caso de una de las últimas consultas surgidas en uno de los proyectos de SharePoint en los que colabora el CIIN. Básicamente, la limitación en este caso está relacionada con el uso de columnas calculadas en SharePoint. Este tipo de columnas se definen a partir de usar columnas existentes en la lista o biblioteca de SharePoint dónde se están creando. Sin embargo, no se pueden usar todas las columnas de la lista, sino aquellas que encajan en lo que espera la definición de la columna calculada. En concreto, el problema conque nos encontramos es que no se pueden utilizar columnas de lookup y columnas ReadOnly para definir un campo calculado. Y claro, la pregunta que os haréis es que pinta un workflow en este escenario…pues realmente, lo que pinta es que es la respuesta para simular el comportamiento requerido con el menor esfuerzo posible: creando un workflow con SharePoint Designer 2007 (SD 2007). Empecemos.

Creando el workflow en SD 2007

Lo primero que vamos a hacer es abrir SD 2007 y crear un flujo de trabajo a través de File –> New –> Workflow. A continuación:

  • Especificamos el nombre del workflow, la lista o biblioteca a la que lo vamos a vincular (Calendar en micaso) y el tipo de inicio para el mismo. En mi caso, el workflow se inicia de forma automática cuando se crea o actualiza un elemento de la lista.
  • Pulsamos el botón Variables para definir las variables que necesitemos en el workflow.
  • Creamos una variable de tipo string denominada FillSummary.
image image image

  • Definimos una primera etapa para el workflow a la que he denominado FillSummary (luego le cambiaré el nombre a FillSummaryVariable).
  • En la sección Actions, elegimos la opción More Actions. En la ventana que se abre especificamos Build Dynamic String.
  • Pulsamos sobre el enlace dynamic string para construir la cadena dinámica.
image image image

  • En la ventana que se abre vamos concatenando las columnas y cadenas que necesitemos. En mi caso, he concatenado las columnas Created By que es de tipo ReadOnly y Absence Type que es de tipo Choice.
  • Una vez construida la cadena, pulsamos OK y a continuación pulsamos sobre el enlace Variable: variable.
image image image

  • Aquí elegimos la variable que creamos en pasos previos.
  • Lo siguiente que vamos a hacer es añadir una nueva etapa al workflow. En mi caso la he llamado FillSummaryColumn.
  • En la sección Actions, elegimos en este caso Set Field in Current Item.
  • En el desplegable de campos, elegimos el campo correspondiente (Absence Summary en mi caso).
image image image

  • Pulsamos el enlace value, y a continuación el botón con el simbolo fx.
  • En la ventana que se abre, elegimos Workflow Data como Source y seleccionamos nuestra variable dinámica.
  • Pulsamos OK y comprobamos que el workflow no tiene errores a través de la opción Check wokflow.
image image image

  • A través del botón Finish, desplegamos el workflow.
  • Nos vamos a la lista en la que hemos vinculado el workflow y creamos un nuevo elemento.
image image image

  • Tras comprobar que el elemento se ha añadido a la lista, visualizamos su detalle y vemos como el workflow ha cometido su papel y ha rellenado la columna especificada con los valores concatenados de las columnas Created By y Absence Type.
image image image

Una pega…

Una pega que he experimentado con esta técnica es que produce resultados inesperados cuando actualizamos un ítem de lista y estamos utilizando campos de lookup para rellenar la variable dinámica de tipo string. Básicamente, siempre da un error de conflicto en el Save…por lo que la solución no es todo lo perfecta que pudiera:

image

A pesar de esta pega, espero que el post os haya resultado interesante. También me gustaría dejaros una referencia en la que me he basado para llegar a esta solución: http://www.endusersharepoint.com/?p=709. Por supuesto, simular el comportamiento deseado de una forma más flexible se podría haber conseguido desarrollando la correspondiente solución con un event handler, o un workflow…pero ya dije que esta solución es la más rápida y simple para este escenario.

SharePoint y Access 2007 (II)!

Siguiendo con la serie de posts sobre SharePoint y Microsoft Office Access 2007 que iniciamos hace un mes, en esta ocasión vamos a ver como podemos trabajar con datos de listas de SharePoint desde Access 2007. Empecemos.

Trabajo con listas de SharePoint en Access 2007

Como vimos en el primer post de la serie, integración de la plataforma SharePoint y Microsoft Office Access 2007 nos permite:

  • Abrir una lista de SharePoint directamente en Acccess 2007, de manera que tendremos una vista más enriquecida de la información guardada en una lista.
  • Guardar en SharePoint elementos típicos de Access (informes, formularios, hojas de datos) y abrirlas con el cliente Access 2007.
  • Crear una BD de Access 2007 abriendo listas de SharePoint con Access 2007. En este caso, Access 2007 creará toda la infraestructura necesaria para gestionar esta BD: informes, formularios, etc.

Vamos a ver un ejemplo de este último punto:

  • Supongamos que tenemos una lista de tipo Issues en un sitio de SharePoint con una serie de datos.
  • A través del menú Actions de la lista, hacemos clic en la opción Open with Access.
  • De este modo se abrirá Microsoft Office Access 2007. En primer lugar tendremos que especificar el path físico dónde se va almacenar la BD de Access asociada a la lista (a partir de pulsar OK, comienza el proceso de creación de la BD Access en el equipo cliente).
image image image

  • En la primera pantalla, tenemos la vista Access de la lista Issues, podemos ver además que estamos conectados a nuestro sitio SharePoint, aunque podríamos trabajar en modo Offline.
  • Si pulsamos sobre el Navigation Pane, podremos ver qué elementos típicos de Access 2007 se han creado a partir de los datos de la lista Issues:
    • Formularios para trabajar con la información de la lista en SharePoint.
    • Informes a partir de la información de la lista de SharePoint.
    • Formularos a otras listas vinculadas con la lista Issues.
  • Por ejemplo, el formulario Issues Details nos permite hacer un recorrido por los Issues dados de alta en la lista.
image image image

  • El informe Open Issues nos da un listado de Issues activos y pendientes de resolver.
  • Si nos vamos a la sección de información de usuario (User Information List) y pulsamos sobre uno de los formularios asociados (Por ejemplo, el User Information Details):
    • Podremos visualizar la información de los usuarios vinculados a la lista Issues de alguna forma (por ejemplo, como creadores de un Issue).
    • Si nos vamos a las pestañas Opened Issues y Assigned Issues podremos ver los Issues dados de alta por el usuario y que continúan abiertos, así como los asignados
image image image

Operaciones con datos de listas de SharePoint desde Access 2007

Una vez que hemos visto una primera aproximación a que posibilidades nos da Access 2007 para trabajar con lista de SharePoint, vamos a ver que operaciones/funcionalidades tenemos disponibles:

  • Volvemos al listado de Issues para ver en detalle que operaciones podemos realizar con los registros de la lista. A través del botón Options, habilitamos el contenido que se ha deshabilitado para la BD creada en Access.
  • De esta forma se habilitarán las distintas opciones de que dispone Access 2007 para trabajar con una BD, pero aplicadas a datos de SharePoint.
  • Por ejemplo, podemos dar de alta un nuevo Issue, lo que abrirá un formulario Access para crearlo.
  • Por supuesto, en cualquier momento podremos editar uno de los registros añadidos.
image image image

Y como este post sería demasiado largo si sigo detallando que acciones podemos realizar con datos de una lista de SharePoint, mejor lo dejamos para el tercer capítulo de la serie. Como siempre, espero que el post os haya resultado interesante.

SharePoint está de moda…¿alguien lo dudaba?

Aunque, como dice Gustavo, nuestro servidor favorito ya tiene más de 3 años y se palpa en el ambiente un cierto aroma a Office 14, está claro que SharePoint es desde su aparición en el año 2006 uno de los productos estrella de Microsoft ante la que los productos con prestaciones “similares” no han sabido como responder…lógico ante el gran número de capacidades que trae de serie la plataforma, y hasta dónde se puede llegar haciendo las cosas de manera razonada y siguiendo buenas prácticas. El caso es que estas afirmaciones no son así porque yo las diga, sino porque hay ya varios estudios de mercado y de tendencias en los que se muestra que SharePoint está claramente por encima. El último que he visto, motivo de este post, es el análisis de tendencias de SharePoint en torno a soluciones de colaboración, comunicación y gestión documental…creo que la siguiente imagen lo dice todo:

image

También merece la pena leer esta reflexión interesante que me llevó a las estadísticas anteriores. La reflexión a la que me refiero es que si SharePoint ha sido un bombazo hasta ahora, le espera sin duda un futuro aún  más dorado con los añadidos de BI de Microsoft Office Performance Point Server 2007 y búsquedas de FAST ESP, siendo la primera plataforma dentro del mercado que presenta estas capacidades adicionales a las ya conocidas de Forms Server, Excel Services, etc.

Managed Extensibility Framework (MEF)!

Como siempre, cuando estás de buceo por la red, te encuentras cosas muy interesantes, y esto es lo que me ha pasado con el Managed Extensibility Framework (MEF). Se trata de una nueva librería .NET que habilita escenarios de re-utilización de aplicaciones y componentes, haciendo posible que aplicaciones .NET compiladas de forma estática puedan ser compuestas de forma dinámica. MEF está pensado para escenarios en los que se está implementando aplicaciones y frameworks extensibles o bien extensiones para aplicaciones. De momento MEF no está disponible todavía en modo CTP, pero si tenemos disponible el código fuente en CodePlex para su evaluación y para proporcionar feedback al equipo de desarrollo. Os dejo el esquema de funcionamiento de MEF:

MEF_Diagram.png

Más enlaces sobre MEF:

Para finalizar, comentaros que preparando un marr…digo un seminario sobre Visual Studio 2010 que tengo que impartir el mes que viene, me encontrado con MEF…asique creo que va a dar mucho juego en el futuro cercano. Espero que la información os haya resultado interesante.

WSS 3.0 & MOSS: Temas y Master Pages gratuitas!

Como sabéis, la personalización en lo que a aspecto se refiere de SharePoint se basa en el diseño de nuestras propias páginas maestras o bien la aplicación de un cierto tema. El caso es qué el otro día un buen amigo me preguntaba si existen páginas maestras de ejemplo y/o utilidades que de forma sencilla nos permitan personalizar sitios de SharePoint sin tener que pasar por Visual Studio y/o SharePoint Designer 2007. Como casi siempre sucede con SharePoint, la respuesta es que sí. En este post he recopilado los principales recursos que la comunidad de SharePoint ha realizado en relación con este tópico.