domingo, 31 de enero de 2010

Designer 2010: Vistas con formato condicional

Todavía no he hablado mucho de SharePoint Designer 2010, pero evidentemente ha mejorado en muchos aspectos respecto su versión anterior.

Para empezar quisiera explicaros una característica que personalmente me parece muy potente y una gran mejora para mostrar nuestros datos en las listas: la posibilidad de aplicar formatos condicionales a nivel de vista.

Hay diversas maneras de accer a la configuración de las vistas desde SharePoint Designer 2010, una de ellas desde el propio SharePoint, cuando seleccionamos en la cinta Ribbon "Herramientas de Lista"--> "Lista" --> "crear vista" desde Ribbon.

Como vereis, entre las opciones típicas para crear una vista, aparece una nueva opción que es "Vista personalizada en SharePoint Designer"

Si pulsamos esta opción directamente nos abrirá Designer 2010, mostrando una pantalla resumen de la lista actual. Por cierto, estas pantallas de resumen son otras de las novedades importantes de Designer 2010, permitiendonos de un vistazo visualizar múltiple información del elemento seleccionado. Hablaré de ello más distendidamente en un próximo post.

En el caso que nos ocupa, nos fijamos en la parte superior derecha, donde nos muestra las Vistas de la lista. En esta ventana haremos click en el botón "Nuevo". Al hacerlo una nueva ventana nos solicitará el nombre de la nueva vista.

Una vez introducido el nombre, pulsamos el botón "Aceptar" y la nueva vista aparecerá en la misma ventana de la pantalla resumen. Al pulsar sobre ella, Designer la abrirá como si de una página .aspx cualquiera se tratara.

Si estamos trabajando en modo "dividir" (mitad código y mitad gráfico) o en modo "diseño" (solo gráfico), seleccionamos una cuadrícula que nos interese de nuestra lista, y veremos que en la cinta Ribbon nos aparecen muchas opciones interesantes, entre ella "formato condicional". Al desplegar esta, veremos que nos da opciones de "mostrar contenido", "ocultar contenido", "aplicar formato a fila", "aplicar formato a columna" y "aplicar formato selección". Las 2 primeras sirven para especificar una condición para mostrar u ocultar el campo seleccionado actual (p.e. que cuando el valor sea igual a 0 no lo muestre). Las 3 últimas nos permiten aplicar formato a nivel de fila, columna o campo seleccionado actual.

Si seleccionamos una de esas 5 opciones (p.e. "aplicar formato a fila"), veremos que aparece una ventana donde podemos definir la condición .

Este criterio puede ser tan sencillo como "cuando el campo X tenga el valor Y" o mucho más compleja si añadimos diversas líneas de condiciones y pulsamos en la pestaña de "Avanzadas", donde podremos establecer condiciones con cualquier definición de campo, expresiones xPath y múltiples funciones (tipo excel)
Una vez nuestro criterio esté definido, podemos pulsar en "establecer estilo", y aparecerá otra ventana donde nos dejará escojer entre múltiples opciones de formato dividido en múltiples categorías.
Realmente podemos aplicar prácticamente cualquier formato de estilos css que imaginemos, estableciendo imágenes de fondo, tamaño, colores, fuentes, bordes, recuadros, márgenes, alineaciones, efectos en el texto, etc. Se trata de ir definiendo nuestro estilo condicional parametrizando cada una de las opciones que nos brinda esta pantalla. En mi caso he puesto un fondo degradado rojo en caso de que el campo "urgencia" sea igual a "critica".

Una vez establecido el formato, aceptamos, y repetimos el proceso para todas las condiciones en todos los campos, filas y columnas que deseemos.

En mi caso he añadido 4 formatos condicionales:
  • Fondo degradado rojo si la incidencia es crítica.
  • Fondo amarillo si la incidencia es muy urgente.
  • Tamaño del texto grande y rojo cuando los dias de resolución son igual o superior a 5
  • Ocultar los dias de resolucion cuando estos son = a 0

Para aplicar este formato condicional en nuestra vista solo tenemos que pulsar en el botón "guardar" de Designer, teniendo en cuenta que si hemos utilizado recursos adicionales en el formato (en mi caso he introducido un .jpg con color rojo degradado para un condicional), nos aparecerá una pantalla donde nos preguntará dónde y como queremos almacenar estos ficheros



Una vez guardado, ya podemos ir a la lista y contemplar el resultado de nuestra vista con formato condicional. El resultado final de mi vista retocada es el siguiente:


Por fin nuestros listados dejaran de ser sosos y aburridos, podemos crear una "inteligencia" superior en el comportamiento de las vistas, y crear listados de elementos realmente atractivos, expresivos y dinámicos. Realmente me ha sorprendido la potencia que Designer tiene para crear estos formatos, llegando a un nivel de detalle muy alto (retoque de cualquier aspecto del css, aplicación de cualquier fórmula en el condicional...).

Seguid atentos al blog, porque quedan muchas cosas sorprendentes para descubrir en la suite 2010 que iremos desvelando progresivamente.

jueves, 28 de enero de 2010

MOSS 2010: Construyendo un Mashup

En un post anterior comenté que Infopath 2010 aceptaba parametros de entrada y salida. En realidad esto se aplica a cualquier webpart de SharePoint 2010, y como lo prometido es deuda, hoy he seguido trabajando esa práctica hasta desarrollar un ejemplo práctico con este concepto, que viene a enlazar con la teoría del concepto de Masups que expliqué en un post anterior.

La idea principal es construir una pantalla que a partir de un listado de diversos libros, pueda consultar para cada uno de ellos, el detalle del mismo, un consejo de "lectura relacionada" y una biografía del autor. Para ello he creado 3 listas personalizadas distintas:

Una con la información básica del libro (título y autor), otra con lecturas recomendadas para cada libro (título del libro original y campo "relacionado", que es un campo multilínea con formato enriquecido), y la tercera con la biografía del autor (nombre del autor, y campo de descripción multilínea enriquecido).

Para finalizar he creado una lista de formularios Infopath donde muestro el detalle del libro con un campo de título, otro de autor, la descprición del libro y una foto de la portada (recordemos que Infopath 2010 incorpora un campo que permite cargar imágenes diferentes para cada instancia también en vista web (Form Services)).

El siguiente paso es crear una página .aspx que contenga los 4 webparts (3 listas y un infopath), y distribuirlos a nuestro gusto.

Despues de ello, vamos a utilizar otra de las nuevas características de MOSS 2010, la conexión múltiple entre webparts, que nos permite, por ejemplo, de un mismo webpart origen enviar parámetros a otros 3 webparts de destino.



Para ello desplegamos el menú de configuración del webpart que almacena el listado de libros, y en el apartado "Conexiones" seleccionamos "enviar fila de datos a" y después veremos que aparecen los nombres de los 3 webparts posibles de destino, seleccionamos primero el de "Elemento web de Infopath form". En la siguiente ventana, seleccionamos el tipo de conexión "obtener formulario de", lo que permite que el formulario entero se cargue en el webpart de Infopath a partir de la selección de un elemento de la lista.

Una vez establecida la primera conexión, vamos a deplegar el menú de configuración del webpart de "Lecturas Relacionadas" y en "Conexiones" --> "Obtener valores de filtro de"--> Librería (Librería es el nombre de la lista de libros original)


En la siguiente ventana debemos configurar el filtro de datos para que el campo título de la lista "Librería" enlace con el campo título de la lista "Lecturas Relacionadas"


Una vez establecida la relación pulsar el botón de "finalizar" y repetir el proceso en la librería de "Biografías" para que obtenga los valores de filtro de "Librería", esta vez vinculando el campo "Autor" de las 2 listas.

Como resultado final, obtendremos que en el webpart de librería nos permite obtener información del libro, autor y lecturas relacionadas con un solo click. ¡¡ 4 webparts interconectados entre sí !!


Este es un pequeño y simple ejemplo de Mashup, pero estoy convencido que muchos de vosotros ya estareis pensando cómo aplicar este concepto a vuestras aplicaciones empresariales o páginas del portal MOSS 2010. ¡¡Las posibilidades son ilimitadas!! ¿Os imaginais que cuadros de mando de BI se pueden conseguir con webparts de PerformancePoint, Reporting Services y Excel Services?

2010: Máquinas virtuales disponibles para descarga

Microsoft ha liberado recientemente 2 máquinas virtuales para descarga pública y que todos podamos probar la suite de productos 2010 (Beta 2), entre ellos SharePoint 2010 (Beta 2). Eso sí, están ambas en inglés.

Existen 2 máquinas virtuales que os podeis descargar en este enlace.

La máquina virtual "a" es la más completa y contiene el siguiente software:

1. Windows Server 2008 SP2 Standard Edition x64, running as an Active Directory Domain Controller for the “CONTOSO.COM” domain with DNS and WINS
2. Microsoft SQL Server 2008 SP2 Enterprise Edition with Analysis, Notification, and Reporting Services
3. Microsoft Office Communication Server 2007 R2
4. Visual Studio 2010 Beta 2 Ultimate Edition
5. Microsoft SharePoint Server 2010 Enterprise Edition Beta 2
6. Microsoft Office Web Applications Beta 2
7. FAST Search for SharePoint 2010 Beta 2
8. Microsoft Project Server 2010 Beta 2
9. Microsoft Office 2010 Beta 2
10. Microsoft Office Communicator 2007 R2

La Máquina virtual "b" es para probar el servidor Exchange 2010 y viene con el siguiente Software:

1. Windows Server 2008 R2 Standard Evaluation Edition x64, joined to the “CONTOSO.COM” domain 2. Microsoft Exchange Server 2010

Ya no teneis la excusa de decir "no he probado el 2010 porque no he tenido tiempo de instalarlo..."

miércoles, 27 de enero de 2010

Infopath 2010: Conexión a WebParts con parámetros de entrada y salida

Una de las grandes novedades en Infopath 2010 es su capacidad para interconectarse a otros webparts mediante parámetros de conexión de entrada-salida.

Para definir estos parámetros hay varios caminos posibles:
  • En el proceso de publicación: ¿Recordais la pantalla de selección de campos que están disponibles para lectura-edición en SharePoint? Ahora viene acompañada de una segunda zona donde podemos seleccionar cada campo del formulario (que no sea de repetición por estar dentro de un control extensible) como parámetro de entrada, salida o entrada-salida.
  • Podemos llegar a la misma pantalla desde el menú Archivo-->Opciones de formulario-->Promoción de propiedades.


Una vez establecidos los parámetros, ¿Cómo podemos hacer que nuestro formulario se comunique con otros WebParts? Pues SharePoint 2010 viene también con un WebPart Out-Of-The-Box para incluir formularios de Infopath.


Este WebPart ya viene preparado para conectarse directamente sin necesidad de ningún parámetro a determinados WebParts (listas de forms). Cuando establecemos la conexión con otro WebPart de la misma página, nos aparece un cuadro de diálogo con pestañas. La primera pestaña es para elegir el tipo de conexión. Si no hemos definido parámetros de entrada-Salida, siempre podemos utilizar el tipo "Obtener Formulario de", que en este caso conectaría al WebPart de lista de formularios para obtener la información del elemento seleccionado actual. En este caso no hará falta configurar la conexión, ya que todo estará definido automáticamente.



En el caso que elijamos el tipo "Obtener Datos de", si que deberemos tener definidos parámetros de conexión en nuestro formulario, e indicar a cual de ellos vamos a enviar o recibir información.

En un próximo post detallaré el proceso de conexión con un ejemplo práctico.

MOSS 2010: Subida de gráficos directa a editores de contenido enriquecido

Seguro que muchas veces habreis suspirado en MOSS 2007 imaginando lo bueno que sería que SharePoint pudiera subir imágenes directamente desde los editores WYSIWYG de contenido enriquecido que hay en los webparts editores de contenido, Wikis, etc.

Sin embargo en 2007 solo podías referenciar imágenes via URL (http://...) de forma que esa imagen debía estar colgada en una web accesible desde nuestro portal. Eso implicaba que si teníamos una imagen en el disco duro que queríamos incluir, primero debíamos subirlo a una biblioteca de imágenes de nuestro site o site collection, copiar la URL de esa imagen al portapapeles y pegarla posteriormente en el campo URL de la imagen del webpart. Esto era una auténtica pesadilla para los creadores de contenidos, y desvirtuaba mucho las aplicaciones de wiki o páginas de publicación web.

Por suerte SharePoint 2010 no solamente mejora estos webparts, sino que en todos los lugares donde haya un editor de contenido enriquecido podemos incluir una imagen guardada en nuestro disco duro directamente y sin necesidad de subir previamente las imágenes a librerias.

El primer paso será ir a la pestaña de "insertar" y desplegar el menú, que nos da las opciones de "de mi PC", "De dirección" o "De SharePoint". Si la imagen está en nuestro disco duro seleccionamos "De PC"



La siguiente pantalla nos permitirá examinar nuestro disco duro en busca de la imagen que queramos insertar, con el botón de "Examinar" y seleccionar además en que biblioteca de sharepoint donde la queremos guardar. Mencionar que MOSS 2010 ya genera por defecto en cada site collection una biblioteca de "Activos del Sitio" (assets en inglés) especilamente pensada para este tipo de archivos.



Una vez hayamos cargado la imagen, nos pedirá confirmar los valores de los campos relativos al fichero subido, como el título, el nombre o las palabras clave administradas. Introducimos los parámetros y pulsamos el botón de "Guardar".



Y... ¡¡Ya está!! nuestra imagen subida directamente en un campo de texto multilínea con formato enriquecido de una lista personalizada cualquiera.



Para algunos será un pequeño detalle, pero para los que lo hemos sufrido, y, sobre todo, para los creadores de contenido web, será un gran alivio.

lunes, 25 de enero de 2010

MOSS 2010: Opciones Ajax en WebParts

Otro detalle interesante de las nuevas funcionalidades de SharePoint 2010 es que en los WebParts aparece una nueva sección llamada "Opciones de Ajax". En ella podemos seleccionar si, por ejemplo, queremos disponer de un botoncito en el propio webpart para forzar la actualización del mismo, o si por lo contrario preferimos que el propio webpart se actualize solito cada x segundos.

El resultado es que si, por ejemplo lo aplicamos en una biblioteca de documentos y alguien cuelga un nuevo documento en la misma desde otro terminal, al cabo de pocos segundos veremos que nuestro webpart se actualiza con la nueva información, sin refrescos de pantalla ni parpadeos extraños.

Para conseguir este refresco automático de datos, deberemos tener marcada la opción "Habilitar actualización automática asíncrona" y establecer debajo el número de segundos que queremos dejar entre cada intervalo de actualización.






MOSS 2010: Concepto Mash-Ups

El concepto de Mash-Up viene incorporado dentro del paquete Web 2.0, y podría definirse como la aplicación resultante de combinar el contenido de múltiples fuentes de datos para una experiencia integrada e interactiva.

SharePoint 2010 viene preparado para crear todo tipo de Mash-ups aprovechando las características de interconexiones múltiples entre WebParts (hacer un click en un WebPart puede suponer modificar el contenido de los 3 o 4 otros WebParts que le acompañan en la página).

Además, InfoPath 2010 puede mandar también parámetros a otros webparts de las páginas, de forma que modificar un campo de un formulario también puede provocar que otros webparts se actualizen.

Si a todo esto le unimos la capacidad de representación gráfica y multimedia de SilverLight y la de actualizar datos sin recarga de Ajax (ejecución en la máquina cliente), comprobaremos que con SharePoint 2010 podemos realizar páginas de Mash-Ups realmente atractivas e interactivas.

Imaginad por ejemplo un mapa geográfico cargado en silverlight, que en función de la zona seleccionada retorne en otro webpart un listado del volumen de ventas por producto en esa zona. En otro webpart en la misma página podríamos incorporar otro control interactivo de Silverlight para seleccionar el rango de volumen de ventas mínimo y máximo (en euros), de forma que si desplazamos (drag & drop) con el ratón la barra de volumen de ventas mínimas hasta 100.000€ solo nos muestre los productos cuyo volumen de ventas superan dicha cantidad. Además podemos tener un webpart de imagen que nos muestre la foto del producto más vendido en esa zona, así como una ficha de las características del mismo en un quinto web-part.

El esquema de un Mash-Up formado por 4 webparts (una lista, un mapa, una imagen y un formulario) podría ser el siguiente:

El resultado visual final de un esquema como el anterior, podría ser una pantalla como la siguiente:

Donde al pinchar en un elemento de la lista, nos estaría modificando al mismo tiempo la imagen, el mapa y los datos del formulario.

Realmente impresionante, ¿No creeis? En SharePoint 2010 vamos a crear una experiencia de usuario mucho más interactiva y espectacular. A continuación os dejo otra pantalla de ejemplo de Mash-Ups para ir abriendo boca:





Magic Quadrant for Information Access Technology

Estaba haciendo un informe sobre búsquedas empresariales para un cliente, cuando he topado con el "Magic Quadrant" de Gartner sobre tecnologías de acceso a la información.

Realmente es impresionante cómo han mejorado las búsquedas con la adquisición de Fast Search & Transfer.

Ya estoy deseando probar el motor en toda su potencia. Microsoft dice que indexa ágilmente 100 millones de documentos, es compatible con múltiples fuentes de datos externas ya que entre otras características implementa búsquedas federadas y conectores mediante BCS (Bussines connectivity Services). Además, las pantallas de búsqueda para el usuario final que vimos en la SharePoint Conference combinadas con Ajax y Silverlight eran realmente impresionantes.




Os recomiendo ver el cuadrante y leer el artículo completo en el siguiente link:
Magic Quadrant for Information Access Technology


 

jueves, 21 de enero de 2010

MOSS 2007: Personalizar resultados de búsquedas con Designer

Existe una manera sencilla de modificar las búsquedas de MOSS 2007 con SharePoint Designer 2007. Aplica en cualquier página que tenga el webpart "Resultados de Búsqueda", ya sea normal, avanzada o una que nosotros mismos hayamos personalizado.

1 .-acceder a la página que queremos modificar, realizar una búsqueda que retorne un par o tres de resultados, editar la página y acceder al menú de configuración del webpart.

2.- Pulsar en el botón de "EDITOR XSL" e introducir el siguiente código en la pantalla de edición del XSL:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
   <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
   <xsl:template match="/">
      <xmp><xsl:copy-of select="*"/></xmp>
   </xsl:template>
</xsl:stylesheet>
 
Este código nos retorna TODOS los campos que tengamos definidos en "Columnas seleccionadas" de la sección "Opciones de consulta de resultados" de configuración del WebPart, en formato XML
 
3.- Aplicamos la modificación y copiamos todo el xml resultante que aparecerá en el webpart de resultados de búsqueda y lo copiamos en un editor de "Bloc de Notas" que guardaremos como fichero .xml en nuestro disco local.
 
4.- Ahora abrimos SharePoint Designer y una vez dentro hacemos "Archivo"-->"Nuevo"-->"ASPX"
 
5.- Cuando tengamos la nueva página aspx abierta seleccionamos en el menú superior de opciones "Vista de Datos"-->"Insertar Vista de datos".
 
6.- En la zona superior derecha del Designer se nos habrá abierto una zona de "Biblioteca de Orígenes de datos". En ella veremos una sección de "Archivos XML". En ella pulsamos en "Agregar un archivo XML..." y navegamos para seleccionar el fichero local que guardamos en el paso 3.
 
7.-Una vez cargado el fichero, veremos que en la misma zona superior derecha de la pantalla habrá aparecido o podremos seleccionar la pestaña "detalles del origen de datos". Aquí veremos todos los metadatos que hacía mención al final del punto 2. Ahora podremos seleccionarlos individualmente o de forma múltiple con  Ctrl y directamente arrastrarlos a la zona visual (no pongais la vista de código) de Designer.
 
8.- Designer nos mostrará el webpart resultante con los datos de resultados de búsqueda contenidos en el fichero xml (esos 2 o 3 resultados que encontró en el paso 1 antes de editar el webpart de resultados de búsqueda). Ahora podemos maquetar directamente esos resultados, poniendo negritas, cambiando nombres de los literales, moviendo de posición los valores retornados, insertandolos en tabla, con colores, etc. Si jugamos con las opciones del webpart vereis que podemos incluso introducir filtros, agrupaciones, modificar la plantilla de diseño... Lo cierto es que podemos maquillar bastante bien los resultados a nuestro gusto, esto ya depende de nuestra traza y gusto para el diseño. Nota: Observar que modificando UN resultado, vemos el cambio aplicado en todos ellos (el resultado es la iteración de una única definición), así que solo hace falta modificar un único resultado.
 
9.- Una vez estemos satisfechos con nuestro diseño, introducimos (ahora si) la vista de código y seleccionamos todo lo que contiene el tag <XSL> (sin incluir este), es decir desde <xsl:stylesheet version="1.0"... hasta </xsl:stylesheet>, lo copiamos y lo pegamos dentro del editor XSL del WebPart de Resultados principales de búsqueda de nuestra página de resultados.
 
10.- Aplicamos el resultado, aceptamos, publicamos la página y ya tendremos nuestra página de resultados optimizada a nuestro gusto... sin necesidad de picar una línea de código ni saber XSL!!
 
¡Saludos!