SharePoint 2010: Alternativas para personalizar los resultados de las búsquedas (I)!

Una de las características clave de las búsquedas en SharePoint 2010 es el alto grado de personalización que se puede conseguir en las mismas, tanto en la experiencia de usuario (presentación de resultados y realización de búsquedas), como en las posibilidades que brinda la API subyacente para construir auténticos verticales de búsquedas sobre el motor de búsquedas de la plataforma. En este primer post vamos a ver que posibilidades tenemos a la hora de personalizar los resultados de las búsquedas. A nivel de presentación las posibilidades pasan por:

  • Decidir si se utiliza el centro de búsquedas por defecto de SharePoint o no. Lo más adecuado pasa por definir un centro de búsquedas personalizado usando las siguientes opciones:
  • Personalizar las WebParts de búsquedas utilizando para ello transformaciones XSLT que se definan en archivos XSL. En este sentido, se pueden personalizar por ejemplo el panel de refinamiento o la WebPart de resultados de SharePoint 2010.
  • Extender mediante desarrollo las WebParts de búsquedas que en SharePoint 2010 no son selladas, de manera que se pueden crear nuevas WebParts que hereden de las WebParts de búsqueda existentes.

Si nos centramos en las posibilidades de personalización de las WebParts de búsqueda:

WebPart Searchbox

La WebPart de definición de una búsqueda (SearchBox) es extensible de forma que podemos crear nuestras propias WebParts que extiendan la anterior para simplificar por ejemplo la realización de las búsquedas de tipo Wildcard sin obligar a qué el usuario tenga que introducir un carácter *, aplicar una ordenación diferente especificando una clausula OrderBy. Dos ejemplos en esta línea son los siguientes:

Extesión de la WebPart CoreResults

La WebPart CoreResults es extensible, siendo la opción recomendada en escenarios de personalización en los que se requiera por ejemplo aplicar ciertos criterios de ordenación o cambiar la presentación de las búsquedas utilizando un renderizado diferente al propio de CoreResultsWebParts. Ejemplos en esta línea son los siguientes:

Ordenación de los resultados de búsqueda

Los resultados obtenidos a partir de una búsqueda se pueden ordenar en base a unos criterios de búsqueda que se especifiquen. Las posibilidades para aplicar ordenación personalizada pasan por:

Personalización del panel de refinamiento

El panel de refinamiento de resultados de las búsquedas es personalizable mediante dos técnicas diferenciadas:

Personalización de la paginación de los resultados de búsqueda

Dentro de las posibilidades de personalización de la paginación de los resultados de búsqueda tenemos:

SharePoint 2010: Cmdlets PowerShell para el trabajo con soluciones!

Como sabéis, con SharePoint 2010 el trabajo con soluciones .WSP se convierte en la técnica estándar para desplegar cualquier tipo de componente o artefacto que permita extender la funcionalidad por defecto de la plataforma. Para poder desplegar e instalar estas soluciones tenemos varias opciones:

  • La interfaz de usuario, válida para cuando estamos desplegando soluciones de tipo SandBox (cargamos las soluciones en la galería de soluciones disponible en el sitio raíz de cualquier colección de sitios). Esta aproximación en cambio no es válida para el caso soluciones de tipo granja.

image

  • La interfaz de línea de comandos mediante el uso de la herramienta STSADM o mejor el uso de los cmdlets de PowerShell específicos para el trabajo con soluciones. Estos cmdlets como podéis ver en detalle en este enlace son:
    • Add-SPSolution para añadir una solución de tipo granja.
    • Install-SPSolution para instalar una solución de tipo granja.
    • Update-SPSolution para actualizar una solución de tipo granja.
    • Uninstall-SPSolution para desintalar una solución de tipo granja.
    • Remove-SPSolution para eliminar una solución de tipo granja.
    • En el caso de soluciones de tipo SandBox, los comandos son los mismos cambiando SPSolution por SPUSerSolution.
  • El modelo de objetos de SharePoint.

SharePoint2010_thumb

Finalmente, os dejo un excelente post de automatización de despliegue de soluciones mediante PowerShell escrito por Gary Lapointe: http://blog.falchionconsulting.com/index.php/2010/06/deploying-sharepoint-2010-solution-packages-using-powershell

Gira Cloud Ready 2012–Burgos: Disponibles los materiales de la charla sobre Office 365!

Ayer viernes tuve el placer de participar en la sesión de Burgos de la gira Cloud Ready 2012 capitaneada por el crack de David Nudelman por varias ciudades españolas…de la sesión en Burgos me quedo con varias cosas:

  • Lo bien que se come por allí (David, buena elección aunque la próxima gira tiene que pasar por Santander si o sí).
  • La calidad de las sesiones realizadas tanto por David, como por Carlos, Samuel y Paulo…de las mismas, me quedo con la cantidad de novedades que trae Windows Server 2012…simplemente impresionante. Microsoft lo ha vuelto a hacer, y la nueva versión del sistema operativo de servidores va a dar mucho que hablar…a nivel de virtualización simplemente acojonante el que puedas llegar a crear una máquina virtual de 512 GB de RAM o la gran cantidad de procesadores virtuales que se pueden añadir.
  • Con la gran afluencia que tuvimos, más de 90 personas que venían de la propia universidad de Burgos (enhorabuena a los profesores por su alto poder de convocatoria) y de empresas de Burgos…estos últimos con mucho nivel a raíz de las preguntas realizadas.

Podéis descargaros los materiales desde este enlace de SUGES.

IMG_1182 IMG_1185 IMG_1192
IMG_1207 IMG_1213 IMAG2575

SharePoint 2010: Migración de Reporting Services nativo a modo integrado con SharePoint!

Como sabéis, cuando trabajamos con SQL Server Reporting Serives (SSRS) tenemos dos modos:

  • El modo nativo, en el que todo informe que creemos y publiquemos en el servidor de SSRS será administrado, gestionado y visualizado desde el portal Report Manager.
  • El modo integrado con SharePoint, en el que la administración, gestión y visualización de informes se realiza desde los sitios de SharePoint en los que vayamos publicando los informes.

Pasar de un modo a otro es sencillo a través de la herramienta de configuración de SSRS, pero ¿Qué pasa cuando queremos migrar artefactos de SSRS publicados en modo nativo a modo integrado? La respuesta la tenemos en este estupendo artículo  en el que se introduce la Reporting Services Migration Tool para facilitar dichas migraciones.

SharePoint2010_thumb

SharePoint 2010: Manejadores de eventos para listas de estado!

A raíz de una consulta en los foros de SharePoint en torno a como generar avisos ante cambios en valores de los KPIs en una lista de estado y mi sugerencia de darle una oportunidad a los manejadores de eventos, me decidí a hacer una pequeña prueba al respecto ya que las listas de tipo KPIs son un tanto especiales y no las tenía todas conmigo en relación a mi idea…por suerte ya os adelanto que el resultado de la prueba ha sido el esperado, por lo que manos a la obra:

  • Lo primero es crear una lista de tipo Status List en nuestro sitio de SharePoint 2010 de trabajo.
  • Creamos un indicador en la lista sencillo, es decir, de tipo Fixed Value.
  • En la correspondiente ventana modal añadimos el valor para el mismo.
image image image
  • Si cambiamos de la vista por defecto a la vista de todos los elementos, podremos ver los nombres de las columnas que necesitaremos para poder jugar con las posibilidades que nos da un manejador de eventos asociado a la lista. En concreto, nos fijaremos en la columna “Indicator Value”.
  • Nos vamos a Visual Studio 11 Beta (VS 11 Beta) y creamos un proyecto de tipo SharePoint 2010 Project. Añadimos al proyecto un elemento de tipo “Event Receiver”.
  • En el asistente de configuración especificamos que sea un manejador de tipo List Item Events y escogemos el evento “An item was updated”.
image image image
  • Codificamos el manejador para poder trabajar con la columna “Indicator Value”. Aquí solo tenemos que tener en cuenta que el valor almacenado es de tipo “double”.
   1: public override void ItemUpdated(SPItemEventProperties properties)

   2: {

   3:     base.ItemUpdated(properties);

   4:     SPListItem spiKPIListItem = properties.ListItem;

   5:  

   6:     if ((Double)spiKPIListItem["Indicator Value"] > 800000)

   7:     {

   8:         //Do something here

   9:     }

  10: }

  • Compilamos y pulsamos F5 para poder depurar el manejador y ver que funciona sin problemas. Para ello, actualizamos el valor del KPI.
  • Tras guardar el valor actualizado, veremos que efectivamente se lanza el manejador lo que nos permite hacer acciones extra como por ejemplo enviar un correo electrónico indicando que dicho valor ha cambiado.
image image

Referencias:

SharePoint Online: Configuración y parametrización de las búsquedas (I)!

Hace unas semanas os comentaba que a la hora de configurar los ámbitos de búsqueda en SharePoint Online (SPO) nos encontrábamos con un error que por fortuna Microsoft ya ha solucionado, de ahí que a partir del post sobre como crear un centro de búsquedas personalizado, en esta ocasión pase a comentar que posibilidades de configuración y parametrización a nivel de búsquedas tenemos disponibles en SPO:

  • Lo primero, vamos a ver como es la experiencia de búsquedas por defecto en SPO realizando una búsqueda cualquiera.
  • Seremos redirigidos a la página estándar de resultados de búsqueda de SPO (OSSSResults.aspx, página que está en _LAYOUTS).
  • En esta página tendremos la posibilidad de realizar una búsqueda avanzada o cambiar el ámbito de búsqueda.
image image image
  • Si realizamos una búsqueda desde la página anterior, iremos al centro de búsquedas que se ha provisionado en nuestro tenant de Office 365 y que tiene configuradas las distintas WebParts de búsqueda.
  • Es aquí dónde empezaremos a ver que posibilidades de configuración tenemos con las búsquedas. Si queremos que las configuraciones sean globales, las tendremos que realizar desde la administración de la colección de sitios de búsqueda que se provisionó en el momento de crear el tenant de SPO en Office 365. En cambio, si queremos que las configuraciones sean locales, lo haremos a nivel de cada colección de sitios.
  • En cualquiera de los dos casos, tenemos disponibles bajo las opciones de administración de la colección de sitios los distintos accesos rápidos para configurar las búsquedas.
  • El primer enlace, “Configuración de las búsquedas”  nos permite especificar que página de resultados usar: la que viene por defecto vs una personalizada, como tiene que ser el comportamiento del cuadro desplegable de búsqueda y cuál es la página de resultados de la colección de sitios.
image image image
  • La página de configuración de los ámbitos de búsqueda nos permite ver qué ámbitos hay disponibles y crear nuevos.
  • Finalmente, desde la página de Administración de palabras clave podremos ver las palabras clave para realizar las búsquedas (por defecto no hay) y crear nuevas.
image image

Una de antivirus…disponible la versión 4.0 de Microsoft Security Essentials!

Hace un rato leía que Microsoft acaba de liberar la versión 4.0 de su antivirus gratuito…si, es gratis y todavía me sorprende que mucha gente no lo conozca ya que lleva varios años disponibles y he de de decir que sus prestaciones son muy buenas ya que detecta muy bien posibles amenazas y su funcionamiento es totalmente silencioso. Las novedades de la versión 4.0 de MSE las podéis leer en este post y en cuanto a la descarga del mismo, la podéis realizar desde este enlace (la versión en español aquí). En cuanto a la instalación en sí es muy sencilla:

  • El mismo proceso detecta si tienes instalada una versión previa de MSE y te dice que se tiene que actualizar.
  • Aceptamos los correspondientes términos de licencia y uso.
  • Y a partir de aquí a actualizar se ha dicho. El proceso desactivara temporalmente la versión de MSE instalada (tendremos que arrancarla posteriormente)
image image image
  • La instalación es super rápida (no mucho más de un par de minutos).
  • Y listo, ya estamos protegidos de nuevo.
image image

SharePoint Online: Actualizaciones en cuotas de almacenamiento!

Sin duda, grandes noticias: Microsoft acaba de realizar actualizaciones importantes en lo que a cuotas de almacenamiento se refiere para SharePoint Online en Office 365. En concreto, como se puede leer en el blog del equipo de Office 365, se han introducido las siguientes actualizaciones:

  • Incremento en la cuota de almacenamiento por Tenant que pasa de 5 TB a 25 TB…que decir: impresionante, no creo que nadie se queje de que no tiene almacenamiento suficiente en SharePoint Online.
  • A pesar de todo, si se necesita almacenamiento adicional, Microsoft ha realizado una reducción de precio del 92 % de manera que por cada nuebo GB que compremos se pasará de 2.5 $/mes a 0.20 $/mes.

Os recuerdo que almacenamiento de partida se calcula de la siguiente forma: 10 GB + 500 MB * # Seats (para planes E).

SharePoint 2010: Como crear formularios personalizados de lista (IV)!

Siguiendo con la serie de artículos sobre como crear formularios personalizados de lista, en esta ocasión vamos a ver las posibilidades que nos brinda la interfaz de usuario de SharePoint 2010. En concreto veremos que hay dos aproximaciones:

  • Editando los formularios en el navegador, lo que nos permite añadir WebParts que los personalicen.
  • Editando los formularios con InfoPath Designer 2010, lo que nos permite modificar el look & feel de los formularios, añadir reglas de validación, etc. En este caso hay que tener en cuenta que los formularios solo se mostrarán renderizados en el navegador para SharePoint Server Enterprise ya que se necesitan los servicios de formularios InfoPath.

Antes de comenzar con este último artículo de la serie, os recuerdo los artículos previos:

Los pasos para personalizar los formularios por defecto de una lista son los siguientes:

  • En primer lugar, navegaos a la lista en cuestión (en mi caso una lista de tipo Vínculos) y a través de la sección “Lista” de la Ribbon accedemos a la opción de personalización que nos permite modificar cualquiera de los tres formularios de lista disponibles: New, Edit y Display.
  • Si personalizamos el formulario de Nuevo elemento, entramos en el modo de edición del mismo y podremos añadir por ejemplo nuevas WebParts.
  • Por ejemplo, podemos añadir una WebPart de tipo Editor de contenido en la que añadamos contenido estático o incluso código JavaScript.
image image image
  • Tras salir del modo de edición, si añadimos un nuevo elemento a la lista veremos que las personalizaciones se muestran al usuario.
  • La otra posibilidad de que disponemos para personalizar los formularios de una lista de SharePoint es el uso de InfoPath Designer 2010. Para hacer uso de la misma, pulsamos sobre la opción “Personalizar Formulario” disponible en la Ribbon.
  • De esta forma se abre InfoPath Designer 2010 y podemos comenzar a cambiar el look & feel del formulario de lista.
image image image
  • Podemos añadir también nuevos campos al formulario o reglas de validación.
  • Para publicar los cambios, simplemente pulsamos el botón de publicación rápida disponible en InfoPath Designer 2010.
  • Una vez finalizado el proceso de publicación, comprobamos que las personalizaciones están disponibles en los formularios de la lista.
image image image
  • Como vemos, en el formulario de nuevo elemento no aparecen las personalizaciones realizadas a través de la interfaz de usuario. Esto es así porque cuando se personalizan los formularios de lista con InfoPath Designer 2010, lo que está sucediendo realmente es que se crean nuevos formularios para crear, actualizar y visualizar elementos de lista y además de marcan como formularios por defecto.
  • De echo, podríamos personalizar estos nuevos formularios con la interfaz de usuario. Como vemos, los formularios personalizados con InfoPath Designer 2010 son mostrados usando una WebPart de visor de formulario InfoPath.
image image

SharePoint Online: ¿Se pueden copiar flujos de trabajo no reutilizables entre sitios?

Esta pregunta es la que planteaban el otro día por los foros de SharePoint, y aunque intuía la respuesta (“creo que va a ser que no), mejor demostrarlo rápidamente:

  • Creamos un flujo de trabajo con SharePoint Designer 2010 (SPD 2010) en el sitio origen.
  • Abrimos otra instancia de SPD 2010 con el sitio destino y arrastramos el flujo creado desde el sitio origen a la sección de flujos de trabajo del sitio destino (en otra colección de sitios).
  • Comprobamos que el flujo de trabajo “aparentemente” se ha copiado en el sitio destino.
image image image
  • Intentamos editar el flujo copiado en el sitio destino y tras algunos mensajes de error vemos que no es posible editarlo lo que hace que tampoco se pueda usar en el sitio.

image