Primeros pasos con SharePoint 2016: La búsqueda híbrida

Muy buenas a todos,

Quiero seguir hoy profundizando en las características de SharePoint 2016, con uno de los aspectos más importantes que trae esta nueva versión, las búsquedas híbridas. En una anterior entrada os contaba mi primera experiencia con la versión preview de SharePoint 2016

Primeros pasos con SharePoint 2016

Uno de los objetivos principales que sigue esta nueva versión de SharePoint, es acercar a los usuarios a la nube. Para ello, incluye una serie de características que favorecen, para aquellos usuarios que no puedan hacer una migración completa a la misma, una experiencia que sirva como primer paso para ello. Una de las funcionalidades más destacadas es la de la búsqueda híbrida. Por medio de esta característica, podremos acceder desde la versión OnLine de SharePoint a contenido almacenado en nuestros servidores OnPremise.

En el post de hoy os quiero hablar de cómo configurar y poner en marcha la búsqueda híbrida en SharePoint 2016. Antes de continuar quiero puntualizar que la búsqueda híbrida, no es una característica exclusivamente nueva de SharePoint 2016, sino que desde la versión de SharePoint 2013 a partir de la actualización de Agosto de 2015, la tenemos disponible también. Además antes de esta actualización, SharePoint 2013 ya permitía de alguna forma la hibridación de la búsqueda (con la búsqueda híbrida federada), aunque no con el mismo nivel de integración que la actual solución de búsqueda híbrida.

¿En qué se diferencian la solución de búsqueda híbrida de SharePoint 2013 de esta nueva búsqueda híbrida?

En la solución de SharePoint 2013 (antes de la actualización de agosto como ya dije antes), la búsqueda híbrida federada, los resultados estaban organizados en dos índices, uno para SharePoint Server y otro para SharePoint OnLine y se clasificaban los contenidos de forma separada.

Captura de pantalla 2015-12-12 a las 23.09.09

Con la nueva solución de búsqueda híbrida, los resultados vienen en un único índice. El centro de búsqueda de SharePoint OnLine muestra y clasifica los resultados en un único bloque y calcula la relevancia, ranking y refinadores para todos los resultados independientemente de donde vengan.

 

Captura de pantalla 2015-12-12 a las 23.09.19

Configurando la búsqueda híbrida en SharePoint 2016

Antes de nada, os pongo en antecedentes. He creado una granja de servidores en Azure, con dos servidores, uno para SQLServer y otro para SharePoint. He instalado en el servidor de SharePoint la versión 2016 Beta 2 (será seguramente por temas de configuración o algún fallo mio, pero no me conseguí hacerla funcionar bien con la primera beta).

Para configurar la búsqueda híbrida, lo primero que tenemos que hacer es acceder al siguiente enlace y descargar el archivo que hay con la documentación para la configuración de la búsqueda híbrida.

https://connect.microsoft.com/office/Downloads

Siguiendo paso a paso el tutorial que viene en el pdf que encontraréis en el .zip que descargaréis, conseguiréis configurar completamente la búsqueda. Os voy a resumir los pasos que he llevado a cabo, todos sobre el servidor con SharePoint 2016 instalado, para que os hagáis una idea.

1.- Configurar la sincronización de los usuarios del Active Directory de mi granja OnPremise con Office 365, usando Azure Active Directory Sinchronization Services

Captura de pantalla 2015-11-28 a las 19.42.39Captura de pantalla 2015-11-28 a las 19.43.18Captura de pantalla 2015-11-28 a las 19.44.41

Tras configurar la sincronización, no debemos olvidar asignar a las nuevas cuentas que se han creado en Office 365 una licencia de Office 365 para que puedan ser usadas.

2.- En el archivo que descargamos hay dos scripts, ahora ejecutaremos el primero de los dos: CreateCloudSSA.ps1 que nos creará una aplicación de servicio de búsqueda con la configuración híbrida habilitada. En el caso de que se haya realizado correctamente todo el proceso, aparecerá un mensaje indicándolo. Este script nos pide como parámetros, los datos de nombre del servidor de SharePoint, cuenta del servicio de búsqueda, nombre de la aplicación de servicio y nombre del servidor de base de datos.

Captura de pantalla 2015-12-12 a las 23.48.18.png

3.- El siguiente paso es configurar la autenticación servidor a servidor, que permitirá las peticiones y respuestas entre nuestros servidores y la nube. Para ello, primero descargamos e instalamos, las dos siguientes herramientas: Microsoft Online Services Sign-In Assistant for IT Professionals RTW y Azure Active Directory Module for Windows PowerShell (64-bit version). Creo que con la Beta 2 se instalan automáticamente, porque no he tenido que instalarlas, ya las tenía en su versión más reciente y con la primera beta no ocurrió así, pero esto es solo una suposición.

4.- A continuación ejecutamos el segundo script de los disponibles: OnBoard-HybridSearch.ps1. En el que deberemos de indicar la Url de nuestro SharePoint OnLine.

Captura de pantalla 2015-12-12 a las 23.49.03.png

5.- Por último, creamos un origen de contenido, si no existe ya, y ejecutamos un rastreo completo. Una vez concluido y garantizado que todo funciona correctamente, podemos entrar en SharePoint OnLine para comprobarlo los resultados.

En mi caso, la primera vez que ejecuté el rastreo, obtuve el siguiente error en cada uno de los distintos elementos que el servicio de búsqueda encontró durante el mismo.

The item was reported as failed by the Search Content Service. It will be retried in the next incremental crawl. ( -1 (0): Parsing error parsing invalid JSON input stream. ; SearchID = FCAC6708-6982-4BB5-9A50-11FA405DAB2F )

Buscando en el foro oficial de búsqueda híbrida encontré el siguiente tema:

https://social.technet.microsoft.com/Forums/office/es-ES/a67fe60c-b8b2-4c89-b29b-e449daa8108c/announcement-error-when-crawling-sharepoint-content-with-cloud-hybrid-search-service-application-in?forum=CloudSSA

Donde justamente se habla de este error y desde el equipo de producto de Microsoft se daba la solución. Para corregir este bug, tendremos que usar los siguientes comandos de powershell.


$ssa=Get-SPEnterpriseSearchServiceApplication –Identity “Your SSA Name”
$ssa.SetProperty(“DisableGuidValueFlight”,1)
$ssa.SetProperty(“EnableGuidValueFlight”,0)
$ssa.Update()
Restart-Service SPSearchHostController
Restart-Service OSearch16

Una vez ejecutados los comandos, al volver a hacer el rastreo, ha funcionado todo correctamente.

Captura de pantalla 2015-12-12 a las 23.58.13

Probando la nueva búsqueda híbrida en SharePoint OnLine

Una vez que todo el proceso de configuración ha terminado, podemos ir a nuestra cuenta de SharePoint OnLine y probar si funciona todo correctamente. Para ello en el buscador, podemos hacer una búsqueda que nos devuelva los resultados procedentes de contenido externo. Podemos hacer la búsqueda usando una nueva propiedad que se agrega automáticamente en el contenido OnPremise de la siguiente forma, isexternalcontent:1. El resultado se muestra de la siguiente forma.

Captura de pantalla 2015-12-12 a las 20.10.37

Se puede ver cómo muestra los resultados que pertenecen al servidor de SharePoint OnPremise. Además otra de las posibilidades que nos ofrece esta nueva solución de búsqueda híbrida, es usar los contenidos de la versión OnPremise también en Delve.

Captura de pantalla 2015-12-12 a las 22.26.28.png

Os voy dejar algunos enlaces de interés donde podréis encontrar información interesante de esta temática.

El primer enlace es una artículo del último número de la revista CompartiMoss en donde encontraréis un tutorial muy completo de cómo configurar la búsqueda híbrida.

http://www.compartimoss.com/revistas/numero-26/la-busqueda-tambien-es-hibrida

El segundo enlace es el foro oficial sobre este tema de Microsoft

https://social.technet.microsoft.com/Forums/office/es-ES/home?forum=CloudSSA&filter=alllanguages

Este enlace es del blog oficial, con los pasos para hacer la configuración

http://blogs.msdn.com/b/spses/archive/2015/09/15/cloud-hybrid-search-service-application.aspx

Y esto es todo por hoy, espero que os haya gustado, es una característica muy interesante de SharePoint 2016 que quería mostraros. En los próximos días seguiré contándoos más sobre esta versión de SharePoint de la que en unos meses tendremos la versión definitiva.

Saludos.

 

Anuncios

Primeros pasos con SharePoint 2016

Muy buenas a todos,

Recientemente se ha anunciado la aparición de la Beta 2 de SharePoint 2016, por lo que la nueva versión de SharePoint sigue su evolución hacia la versión definitiva que saldrá en algún momento del segundo trimestre del próximo año. Por mi parte ya llevaba un tiempo queriendo conocer y testear esta nueva versión  y hoy por fin me he puesto manos a la obra.

En este artículo os quiero contar mi primer encuentro con la versión de SharePoint 2016.

¿Qué es nuevo en SharePoint 2016?

Lo primero que he querido hacer, ha sido saber un poco más sobre las novedades que vienen con SharePoint 2016. Os dejo un recopilatorio de enlaces que he estado consultando y que me parecen muy interesantes para quién quiera saber más sobre qué es nuevo en SharePoint 2016.

Empiezo primero con un enlace muy interesante a una entrada de Bill Baer hablando sobre cambios y novedades de SharePoint 2016:

http://blogs.msdn.com/b/how24/archive/2015/08/27/what-s-new-in-sharepoint-2016.aspx

A continuación, os dejo algunos enlaces en español de algunos de nuestros MVP´s sobre este tema:

http://geeks.ms/blogs/jcgonzalez/archive/2015/05/07/sharepoint-2016-resumen-de-novedades-aparecidas-en-ignite-i.aspx

http://blogs.encamina.com/negocios-sharepoint/2015/09/21/novedades-de-sharepoint-2016-it-preview/

http://www.sinsharepointnohayparaiso.com/Blog/Entrada/190/Lo-que-nos-deja-la-conferencia-Ignite-sobre-SharePoint-2016-y-Office-365

Y para terminar os dejo otros enlaces de interés sobre las novedades de SharePoint 2016

http://en.share-gate.com/blog/whats-new-in-sharepoint-2016

http://blogs.technet.com/b/wbaer/archive/2015/05/12/what-s-new-in-sharepoint-server-2016-installation-and-deployment.aspx

http://blogs.technet.com/b/wbaer/archive/2015/11/25/sharepoint-server-2016-beta-2-hybrid-scenarios.aspx

http://blogs.technet.com/b/wbaer/archive/2015/09/22/durable-links-in-sharepoint-server-2016-it-preview.aspx

http://www.brightstarr.com/sharepoint-technology-and-application-insights/whats-new-in-sharepoint-2016

A continuación, aquí os dejo también un pequeño extracto de las principales novedades extraídas de estos artículos que os he enlazado:

  • Roles de servidor (MinRole): que nos permite configurar y optimizar un servidor que se va  a añadir a la granja para una funcionalidad concreta. Los roles disponibles son:
    • Front-end
    • Application
    • Distributed Cache
    • Search
    • Custom
    • Single Server Farm
  • App Launcher: heredado de la experiencia en Office 365 y que nos permite navegar entre SharePoint, One Drive y Newsfeed.
  • Mejoras en las opciones disponibles para documentos
  • Mejoras en los límites de SharePoint
    • Aumento del tamaño de las bases de datos de contenidos, aumentando de GB a TB.
    • Aumento del número de colecciones de sitios por base de datos de contenidos hasta las 100000.
    • Aumenta el umbral de listas a más de 5000 elementos por vista o consulta.
    • Aumenta el tamaño máximo de un archivo a 10GB
    • Aumento del número de elementos indexados para la búsqueda a 500 millones.
  • Nuevas plantillas de colecciones de sitio: “Compliance Policy Center” y “In-Place Hold Policy Center”
  • Nueva creación rápida de colecciones de sitios
  • Añadidos 115 nuevos comandos de PowerShell para la administración de SharePoint.
  • Añadida la integración de escenarios híbridos de Office 365 y SharePoint OnPremises a través de la Administración Central.
  • Durable Links: para asegurar que el link que se envía a un usuario funciona correctamente a pesar de los cambios que pueda sufrir el documento.
  • 0 downtime en la aplicación de parches de actualización.
  • Mejora de la experiencia para móviles.

 

Instalando la versión Preview de SharePoint 2016

La preview de SharePoint 2016 la he instalado en dos máquinas virtuales que he creado en mi subscripción de Azure. Para quién lo puedo necesitar, os dejo un enlace con un “step by step” muy completo para instalar SharePoint en Azure.

http://www.learningsharepoint.com/2015/08/27/step-by-step-create-sharepoint-2016-farm-with-azure-virtual-machines/

Por si aún no lo sabéis, a través de Azure, hay disponible una plantilla de máquina virtual con SharePoint 2016 ya instalado y que os recomiendo utilizar para agilizar todo el proceso de instalación.

Captura de pantalla 2015-11-28 a las 16.25.29.png

http://blogs.technet.com/b/wbaer/archive/2015/08/27/sharepoint-server-2016-it-preview-image-in-windows-azure-platform-gallery.aspx

Solo ha habido un aspecto que en el tutorial no he visto y que hay que tener en cuenta a la hora de montar los servidores en Azure, y es  configurar correctamente el firewall del servidor SQL para que sea accesible desde el servidor con SharePoint. Por lo demás, el tutorial que os he enlazado es muy completo y sencillo de seguir.

Una vez preparadas y configuradas correctamente las máquinas virtuales, si hemos usado la plantilla de SharePoint 2016, solo tendremos que ejecutar el “SharePoint 2016 Product Configuration Wizard”

Captura de pantalla 2015-11-28 a las 16.34.09.png

Esto inicia el habitual proceso de configuración a través de varios pasos.

Aquí, veremos que como novedad, ya no tenemos disponible la opción de instalación “Standalone”.  Además, otra de las novedades que veremos durante el proceso de configuración del producto, es la opción de indicar el role que queremos que adopte el servidor que estamos configurando en nuestra granja. Este role se encargará básicamente de habilitar los servicios necesarios para que el servidor pueda trabajar con la función que se ha asignado para él en la granja. Los roles se pueden cambiar una vez configurado el servidor desde la administración central.

Captura de pantalla 2015-11-25 a las 0.10.36.png

Cuando todo el proceso haya finalizado correctamente, veréis un resumen de la configuración como el siguiente:

Captura de pantalla 2015-11-28 a las 13.52.32

Y ya podremos empezar a usar SharePoint 2016!!!

El primer sitio en SharePoint 2016

Una vez que ya hemos creado la primera colección de sitios y accedido a la misma, la UI del sitio de SharePoint (muy similar a la de SharePoint 2013) es como la que se ve a continuación:

Captura de pantalla 2015-11-28 a las 16.54.10.png

En esta captura ya podéis ver una de las novedades de SharePoint 2016 y es la incorporación del App Launcher, lo que nos resultará muy familiar si estamos acostumbrados a usar Office 365.

Más adelante, a medida que vaya profundizando en ellas, os iré mostrando algunas de las novedades que incluye esta versión de SharePoint 2016, y sobre todo en lo relacionado con los escenarios híbridos, un tema muy interesante y a tener muy en cuenta.

Un saludo a todos

 

 

 

Search Driven Development (IV): Cross-site publishing

Muy buenas a todos,

Tarde de lluvia aquí en Madrid y que mejor que ponerse a escribir en el blog para contar algunas cosas interesantes :). Hace unos meses escribí una serie de artículos en la que hablaba sobre “Search Driven Development”, como configurar nuestros sitios, la navegación basada en metadatos y todos los aspectos necesarios para tener un catálogo y elementos de ese catálogo sin escribir código. Aquí os dejo los enlaces en los que hablaba de todos esos temas.

Primeros Pasos con SharePoint OnLine: Search Driven Development

Search Driven Development en SharePoint (II): Catálogos y Elementos de Catálogo

Search Driven Development (III): El WebPart de Refinamiento

Preparando una ejemplo para una mesa redonda en la que colaboraré con la gente de MadPoint el próximo 7 de Mayo, he decidido retomar el artículo que me faltaba en esta serie y aquí os lo traigo. Me había quedado pendiente montar un entorno de cross-site publishing en el que en un sitio de publicación se publicarán los elementos del catálogo y en un sitio de consumo, se pudieran, usando los webpart de búsqueda, consumir esos elementos, incluyendo URLs amigables y navegación basada en metadatos. Todo esto puede parecer muy complejo, y que necesitará de muchísima configuración, pero ya veréis que es algo muy sencillo. La estructura que queremos conseguir es como la siguiente:

crosssiteschem

Esta característica de cross-site publishing es otra de las nuevas e interesantes funcionalidades que nos ofrece SharePoint 2013. Para conseguir esta configuración, vamos a llevar a cabo una serie de pasos que veremos a continuación, y que podremos aplicar tanto a SharePoint OnLine como SharePoint 2013 en su versión On-Premises. El objetivo de nuestro ejemplo, será crear un sitio de consumo que nos permita organizar una serie de productos de un catálogo en base a categorías y elementos que pertenecen a cada una de dichas categorías, y que dichas categorías sean las que definan la navegación de nuestro sitio, además los elementos serán publicados desde un sitio de publicación.

Creando las colecciones de sitios

El primer paso es crear las colecciones de sitios que vamos a utilizar en el ejemplo. En este caso crearemos dos, una primera de publicación y otra de consumo. Ambas colecciones de sitios las crearé bajo la plantilla de publicación, yo he llamado a una publicador y otro consumidor.

Las colecciones de sitio se crean de forma relativamente distintas si estamos en SharePoint OnLine o SharePoint 2013, yo las he creado en SharePoint OnLine para el ejemplo.

Captura de pantalla 2015-04-26 a las 20.19.13

Creando el almacén de términos

El siguiente paso, es definir el almacén de términos que va a categorizar los elementos que forman parte de nuestro catálogo, para ello accedemos a la administración de nuestro almacén de términos, que como sabéis está disponible tanto desde la administración central (o el panel de administración de SharePoint OnLine) como desde la configuración del sitio, y creamos la estructura, tiene que quedar de una forma similar a la siguiente:

Captura de pantalla 2015-04-26 a las 20.34.23

Configurando el sitio de publicación

Una vez que ya tenemos la categorización que tendrá nuestro catálogo de productos vamos a configurar el sitio de publicación con todos los elementos necesarios. Lo que vamos a hacer en el este sitio es lo siguiente:

  • El primer paso es activar en las “Características de la colección de sitios”, la característica “Publicación de colecciones entre sitios”.
  • Crear cuatro columnas de sitio: Una llamada Resumen de varias líneas de text, otra FechaPublicacion de tipo Fecha, otra llamada Clasificación de tipo metadatos administrados asociada al almacén creado en el apartado anterior y otras llamada autores que será de una línea de texto.
  • Crear un tipo de contenido que herede del Tipo de Contenido Elemento y al que se asocien las cuatro columnas anteriores y que se llamará “Libros”.
  • Crear una lista llamada “Productos”, para la que habilitaremos en la configuración de la misma la Administración de tipos de contenido y le asociaremos el tipo de contenido que acabamos de crear

Con esto ya tendremos preparado nuestro sitio de publicación. Este puede ser el momento para añadir algunos elementos a la lista que hemos creado también.

Creando el catálogo del sitio de publicación

Antes de pasar a la configuración del sitio de consumo, vamos a habilitar la lista para que pueda ser utilizada como catálogo. Para ello, dentro de la lista “Productos” que hemos creado, vamos a Configuración de la lista->Configuración del catálogo, esto nos llevará hasta la página que vemos a continuación.

Captura de pantalla 2015-04-26 a las 21.04.30

Aquí tendremos que indicar varias cosas, por un lado indicar que queremos habilitar esta lista para ser un catálogo, a continuación también indicaremos que columnas de la lista queremos que formen parte de la url del catálogo, y por último el campo, que normalmente se carga automáticamente, que establecerá la jerarquía de navegación. Una vez completados todos los aspectos de configuración, pulsamos en aceptar. Ahora ya podremos pasar a configurar el sitio de consumo. No obstante antes, en el apartado de Configuración Avanzada en la configuración de la lista indicaremos que se vuelva a indexar la lista en el próximo rastreo.

Configurando el sitio de consumo

Para terminar, nos vamos a la colección de sitios que hemos creado para trabajar como consumidor. Para configurar esta colección de sitios nos vamos a la configuración del sitios y entramos en Administrar conexiones del catálogo.

Captura de pantalla 2015-04-26 a las 21.13.46

Cuando entramos en esta opción pulsamos sobre Conectar a un catálogo y después seleccionamos la opción del catálogo que creamos en el sitio de publicación, observaremos que tenemos esa opción disponible.

managercatalog

Si todo lo hemos configurado correctamente, solo tendremos que configurar un aspecto, y es la raíz de la jerarquía de elementos, en donde tendremos que indicar la misma desde nuestro almacén de términos. Tras esto pulsamos sobre Aceptar y automáticamente todo estará funcionando correctamente como vemos en la figura siguiente.

Captura de pantalla 2015-04-26 a las 21.27.38

Como se puede observar automáticamente se ha creado toda la estructura de navegación usando el almacén de términos que habíamos creado. Además si accedemos, vemos que podemos entrar a todos los elementos de cada categoría, o si entramos a alguno de ellos al detalle. Es decir, configurando el catálogo toda la configuración de los webparts de búsqueda y de la navegación basada en metadatos se ha realizado automáticamente.

Captura de pantalla 2015-04-26 a las 21.32.24

Captura de pantalla 2015-04-26 a las 21.32.36

Lo único que faltaría sería usar los Display Templates para dar formato a las visualizaciones de los elementos. Para ello se puede usar lo que ya comenté en la entrada del post sobre ese tema:

Introducción al uso de Display Templates en SharePoint OnLine

Os dejo también un enlace con un tutorial muy detallado y completo sobre cómo configurar una solución Cross-Site Publishing y Search Driven Development.

http://blogs.technet.com/b/tothesharepoint/archive/2013/02/20/stage-1-create-site-collections-for-cross-site-publishing.aspx

Espero que os haya resultado interesante. Como os digo en la mesa redonda del evento que organiza MadPoint el próximo 7 de Mayo, mostraré el ejemplo completo funcionando, donde usaré ya los DisplayTemplates.

Os dejo también el enlace del evento por si alguien se quiere apuntar, se hablará no solo de SSD, sino de todas las formas de extender SharePoint OnLine y On-Premises, creo que va a ser muy interesante.

http://www.madpoint.net/2015/04/22/ciclo-de-mesas-redondas-opciones-de-desarrollo-en-sharepoint-y-office-365/

Un saludo a todos.

Ámbitos de Búsqueda en SharePoint 2010

Muy buenas a todos,

Últimamente, no venía siendo muy habitual que escribiera algo sobre SharePoint 2010, en los últimos meses estaba más centrado en los desarrollos para toda la suite de productividad de Microsoft, y así seguirá siendo en las próximas entradas, pero como en mi trabajo aún tengo proyectos basados en esta versión de SharePoint, quería compartir un aspecto en el que he profundizado relacionado con las búsquedas en SharePoint 2010.

Para todos los que conocéis o conocemos las características de SharePoint 2013 relacionadas con las búsquedas, habréis visto la cantidad de cosas que se pueden hacer, el Search Driven Development (SDD) nos permite cubrir muchos requisitos solo usando las opciones que nos proporcionan las búsquedas. De una forma muy sencilla, por medio de configuración de las búsquedas y usando los estándares de programación web (Javascript, Css y HTML) podemos hacer aplicaciones completas.

Si bien, con SharePoint 2010 no podemos alcanzar este nivel tan avanzado, si podemos hacer configuraciones interesantes para las búsquedas. En mi caso, para un proyecto necesitaba de un nivel importante de personalización de los resultados de búsqueda. Para este proyecto, al final, lo que pretendíamos es que las búsquedas solo devolvieran los elementos de unas listas determinadas de todo el proyecto. Para conseguir esto, al final, usamos el concepto de los “Ámbitos de Búsqueda” y “Grupos de Presentación”. Finalmente usando esto hemos conseguido el resultado justo que queríamos.

Vamos a ver cómo definir y usar los ámbitos de búsqueda en SharePoint 2010.

Definiendo el Ámbito de Búsqueda para SharePoint 2010

Lo primero que vamos a hacer es crear el ámbito de búsqueda para nuestro sitio. Los ámbitos de búsqueda, los podemos crear a nivel de Administración Central en la configuración de nuestro servicio de búsqueda, o bien en la configuración de la colección de sitios.

Para crear el ámbito a nivel de la configuración de la colección de sitios, hacemos lo siguiente:

image (5)

image (6)

Una vez en el apartado de ámbitos de búsqueda, pulsamos sobre crear o añadir un nuevo ámbito y nos aparece una pantalla como ésta.

image (7)

Aquí especificaremos el nombre y descripción del ámbito que vamos a crear y a qué página de resultados queremos que nos lleve. Una vez completada esta información, pulsamos sobre el botón Aceptar y ya tendremos el ámbito  creado para nuestra colección de sitios.

Añadiendo las reglas al ámbito de búsqueda

La potencia de los ámbitos de búsqueda se encuentra en las reglas que definamos para éstos. Aquí disponemos de bastante versatilidad y podemos definir mucha variedad de reglas. El siguiente paso tras crear el ámbito será asignarle las reglas que queremos para el mismo. Pulsamos sobre la opción de añadir reglas, y nos encontraremos una pantalla como la que veremos a continuación.

image (9)

Como podemos observar, podremos especificar restricciones para todas las propiedades administradas que hayan sido rastreadas y configuradas por nuestro servicio de búsqueda. Es posible que alguna en concreto no aparezca entre la opciones disponibles, pero sin embargo, si que se encuentre entre las propiedades administradas. Esto se debe a que seguramente no tenga la opción de disponible para usar en ámbitos activada. En mi caso, era lo que sucedía cuando quería usar en los ámbitos la propiedad de ContentType.

En el caso de que esto ocurra, y si queremos activar el uso en ámbitos para una determinada propiedad, nos vamos al servicio de búsqueda en la administración central de SharePoint y accedemos a las propiedades administradas rastreadas y mapeadas, seleccionamos aquella que queremos habilitar, damos a la opción editar y hacemos click sobre la casilla correspondiente como vemos en la siguiente imagen.

image (10)

image (11)

Cuando aceptamos y guardamos los cambios ya la tendremos disponible en las reglas de nuestro ámbito.

De esta forma podemos crear todas las reglas que deseemos y personalizar mucho los resultados de búsqueda que queremos obtener. En mi caso, por ejemplo, usando el valor de la propiedad ContentType, conseguimos limitar los resultados de búsqueda a una a serie de tipos de contenido concretos asociados a las listas cuyos elementos queríamos que aparecieran en las búsquedas, consiguiendo así cumplir con los requisitos preestablecidos para las búsquedas de dicho proyecto.

Creando el Grupo de Presentación

Para usar los ámbitos dentro de nuestro WebPart de búsqueda, vamos a asociar el mismo a un grupo de presentación, para luego establecer este mismo como predeterminado en dicho WebPart. Para ello, en el apartado de configuración de la colección de sitios, en los ámbitos de búsqueda, vamos a la opción de grupos de presentación y crear un nuevo grupo.

image (12)

En esta pantalla indicamos el nombre al grupo de presentación y los ámbitos que queremos que pertenezcan al mismo. Una vez hecho esto, lo que haremos será configurar el WebPart de Cuadro de Búsqueda o SearchBox WebPart para que funcione limitando las búsquedas a este ámbito que hemos creado.

Configurando el WebPart de Búsqueda

Lo primero que vamos a hacer es agregar un WebPart de Cuadro de Búsqueda en una página de nuestro sitio.

image (1)

Tras esto, vamos a las propiedades del WebPart para configurarlo. Es muy sencillo, por un lado, vamos a indicar el grupo de presentación que queremos que use este WebPart. Esto lo haremos en el apartado de varios tal y como vemos en la siguiente imagen.

image (2)

image (3)

Seleccionaremos el grupo de presentación que hemos creado en el apartado anterior. El último aspecto de configuración del WebPart está en la primera casilla de las propiedades del WebPart, con el modo de la lista desplegable, seleccionaremos la opción de “Mostrar pero no incluir ámbitos contextuales”, para que solo seleccione el ámbito que creamos y añadimos al Grupo de Presentación.

image (4)

En mi caso, no quería que el despegable se mostrara, aunque si que cogiera por defecto el ámbito que había creado, esto lo conseguí por medio de CSS, poniendo la propiedad display a none para la clase del despegable.

De esta forma, las búsquedas de mi aplicación se limitan por defecto al ámbito de los elementos que yo quiero, y se elimina todo lo demás, dando, en el caso de lo que queríamos conseguir, una mejor experiencia de usuario de una forma sencilla.

Esto, es lo que me ha parecido a mi más próximo a todo lo que podemos hacer con el SDD en SharePoint 2013. Evidentemente, no tenemos ni la navegación basada en metadatos ni las posibilidades de configuración de los WebPart de búsquedas, ni los display templates, pero nos permite bastantes personalizaciones.

Y esto es todo por hoy, poco a poco después de las vacaciones iré retomando la actividad del blog con cosas interesantes. Nos vemos pronto

Saludos a todos.

SPSD: SharePoint Solution Deployer. Script para hacer deploy de soluciones en SharePoint

Muy buenas a todos,

Hace unos meses os enseñaba mi primer script powershell con el que se podía hacer deploy de soluciones en diferentes WebApplications. Aunque el script cumplía sus funciones y para usarlo en los entornos de desarrollo y pruebas ha funcionado con buenos resultados, a la hora de usarlo en un entorno de producción, necesitábamos más información y poder hacer un mejor seguimiento del deploy y el resultado del mismo. Aquí os dejo un enlace al post donde se encuentra el script que os comentaba.

Script de PowerShell: Despliegue de soluciones automáticamente

Lo que hoy os quiero enseñar, aunque seguro que muchos ya lo conocéis, es SPSD: SharePoint Solution Deployer, que como en la misma web del proyecto indica:

SharePoint Solution Deployer helps you to deploy SharePoint solution packages (.wsp) to multiple SharePoint environments. It deploys, retracts and upgrades one or more WSPs and can be extended to perform additional custom tasks in PowerShell before or afterwards. Unlike the most of the available scripts on the net, it performs all necessary prerequisite checks and post-deployment actions on all servers in the farm to assure the deployment runs smooth.

Aquí os dejo el enlace a la web del proyecto en CodePlex, donde lo podéis descarga. Es muy sencillo de usar y muy completo, tiene un fichero de configuración muy potente en el que puedes configurar todo el aspecto del deploy de las soluciones. Toda la documentación es muy completa y puedes ver todas las opciones que tiene.

http://spsd.codeplex.com/

Como podréis ver en la página principal del proyecto con el fichero de configuración se podrán configurar aspectos tan diversos como:

  • TimeOut de espera del script, versión mínima de SharePoint, licencia mínima de SharePoint, etc.
  • Tipo de deploy que se va a realizar
  • Acciones a llevar a cabo después del deploy: reinicio de servicios, ejecutar warmup, etc.
  • Establecer que donde se debe hacer el deploy de cada solución

Si no lo conocíais ya, espero que os sea útil, yo estoy empezando a usarlo como script para el deploy de soluciones y estoy teniendo unos resultados muy buenos.

Un saludo a todos

Cuánto cuesta una granja de SharePoint en Azure

Hola a todos, quiero compartir este artículo que he encontrado a través de otro blog en el que se habla del coste de una granja mínima de SharePoint en Azure, y da un ejemplo concreto que puede ser muy útil y servir de referencia a la hora de plantearse este tipo de approach para decidir la infraestructura.

http://absolute-sharepoint.com/2015/01/much-sharepoint-farm-microsoft-azure-cost.html

Espero que lo encontréis interesante.

Un saludo.

Creando una app para SharePoint OnLine

Muy buenas a todos,

Hoy os quiero mostrar en un ejemplo sencillo como crear y desplegar nuestra primera App para SharePoint OnLine. Para este caso solo voy a mostrar una app tipo “Hola Mundo”, ya que el objetivo del post es enseñar los pasos que he seguido para subir una app personalizada a mi Tenant de SharePoint OnLine.

En futuros post, iré avanzando en desarrollos de apps más complejas y donde se ponga de manifiesto como trabajar con el modelo de objeto de clientes y la API REST que nos ofrece la versión de SharePoint 2013 y por ende, la versión OnLine.

Antes de entrar en cómo desarrollar y publicar nuestra App, vamos a hacer un breve resumen por el modelo de desarrollo que se propone para SharePoint 2013, y que cambia el paradigma y la forma en la que nos recomiendan llevar a cabo nuestros desarrollos.

El modelo de aplicaciones

Las aplicaciones de SharePoint son aplicaciones web ligeras y fáciles de usar que integran los estándares web y las tecnologías más habituales para ampliar las capacidades de un sitio web de SharePoint.

Una de las diferencias más importantes entre las extensiones de SharePoint 2010 y las aplicaciones para SharePoint es que aplicaciones para SharePoint no usan un modelo de objetos de servidor, ni tampoco usan código personalizado que se ejecuta en el servidor de SharePoint. Todos los componentes de código personalizado residen en el modelo de objetos de cliente ampliado o en servidores de aplicaciones hospedadas en la nube.

En la siguiente figura se muestra la arquitectura conceptual para la creación de aplicaciones en SharePoint

IC720355

El modelo de aplicaciones ofrece varias opciones de hospedaje para la aplicación. Puede elegir su propia pila web u hospedarla en SharePoint, tal como se muestra en la siguiente figura.

IC742264

  • Aplicaciones hospedadas en SharePoint: Las aplicaciones hospedadas en SharePoint se instalan en un sitio web de SharePoint 2013, denominado web de host. Tienen sus recursos hospedados en un subsitio aislado de una web de host, denominado web de aplicación.
  • Aplicaciones hospedadas por el proveedor: Las aplicaciones para SharePoint hospedadas por el proveedor incluyen componentes que están implementados y hospedados fuera de la granja de servidores de SharePoint. Las aplicaciones están instaladas en el web de host, pero sus componentes remotos están hospedados en otro servidor.

Todo lo que os he mostrado hasta aquí es un extracto de algunos artículos de la MSDN donde podemos profundizar más sobre el modelo de aplicaciones de SharePoint y que os dejo a continuación.

http://msdn.microsoft.com/es-es/library/office/fp179930%28v=office.15%29.aspx

http://msdn.microsoft.com/es-es/library/office/fp179887

http://msdn.microsoft.com/ES-ES/library/office/fp179899(v=office.15).aspx

http://msdn.microsoft.com/ES-ES/library/office/dn449636(v=office.15).aspx

Creando el catálogo de aplicaciones

Para este ejemplo, vamos a centrarnos en aplicaciones hospedadas en SharePoint. Lo primero que tenemos que hacer, es crear nuestro catálogo de aplicaciones, lo que creará un sitio donde podremos añadir nuestras aplicaciones para que estén disponible en el catálogo de aplicaciones del resto de nuestros sitios de SharePoint. Para ello, vamos al Centro de Administración de SharePoint y al apartado de aplicaciones tras lo cual haremos click en Catálogo de aplicaciones.

Captura de pantalla 2015-01-18 a las 19.29.02

Si es la primera vez que accedemos a esta opción, nos creará el sitio correspondiente al catálogo de aplicaciones, para lo que nos solicitará una serie de datos que deberemos indicar. A continuación accederemos al sitio del catálogo que tiene una forma como el siguiente.

Captura de pantalla 2015-01-18 a las 19.29.20

En este sitio que se acaba de crear, tenemos varias bibliotecas, una para subir aplicaciones de SharePoint y otra para subir aplicaciones de Office.

Creando nuestra App “Hola Mundo”

Para crear una app para SharePoint, en Visual Studio (yo para probar he usado Visual Studio 2015 preview) seleccionamos Nuevo Proyecto->Visual C#->Office/SharePoint->Apps y seleccionamos el tipo de proyecto App for SharePoint. Una vez que indiquemos el nombre del proyecto pulsamos sobre Aceptar y tenemos que configurar aspectos de la aplicación, el tipo de modelo de aplicación y el sitio al que se subirá.

Captura de pantalla 2015-01-18 a las 20.37.01

Cuando indiquemos estos datos aceptamos y se crea el código de la app. La solución, de partida, se creará con una estructura como la que se ve a continuación.

Captura de pantalla 2015-01-18 a las 20.47.33

Lo más importante de este ejemplo, lo tenemos en los módulos Pages y Scripts, con el fichero Default.aspx donde se encuentra la página que se mostrará en nuestra aplicación y el fichero App.js con el código Javascript que accede al modelo de objetos de cliente de SharePoint para cargar el nombre del usuario conectado y mostrarlo en nuestra aplicación “Hola Mundo”.

<%-- The following 4 lines are ASP.NET directives needed when using SharePoint components --%>

<%@ Page Inherits="Microsoft.SharePoint.WebPartPages.WebPartPage, Microsoft.SharePoint, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" MasterPageFile="~masterurl/default.master" Language="C#" %>

<%@ Register TagPrefix="Utilities" Namespace="Microsoft.SharePoint.Utilities" Assembly="Microsoft.SharePoint, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register TagPrefix="WebPartPages" Namespace="Microsoft.SharePoint.WebPartPages" Assembly="Microsoft.SharePoint, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register TagPrefix="SharePoint" Namespace="Microsoft.SharePoint.WebControls" Assembly="Microsoft.SharePoint, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>

<%-- The markup and script in the following Content element will be placed in the <head> of the page --%>
<asp:Content ContentPlaceHolderID="PlaceHolderAdditionalPageHead" runat="server">
    <script type="text/javascript" src="../Scripts/jquery-1.9.1.min.js"></script>
    <SharePoint:ScriptLink name="sp.js" runat="server" OnDemand="true" LoadAfterUI="true" Localizable="false" />
    <meta name="WebPartPageExpansion" content="full" />

    <!-- Add your CSS styles to the following file -->
    <link rel="Stylesheet" type="text/css" href="../Content/App.css" />

    <!-- Add your JavaScript to the following file -->
    <script type="text/javascript" src="../Scripts/App.js"></script>
</asp:Content>

<%-- The markup in the following Content element will be placed in the TitleArea of the page --%>
<asp:Content ContentPlaceHolderID="PlaceHolderPageTitleInTitleArea" runat="server">
    Page Title
</asp:Content>

Y ahora el código correspondiente al archivo app.js.

'use strict';

ExecuteOrDelayUntilScriptLoaded(initializePage, "sp.js");

function initializePage()
{
    var context = SP.ClientContext.get_current();
    var user = context.get_web().get_currentUser();

    // This code runs when the DOM is ready and creates a context object which is needed to use the SharePoint object model
    $(document).ready(function () {
        getUserName();
    });

    // This function prepares, loads, and then executes a SharePoint query to get the current users information
    function getUserName() {
        context.load(user);
        context.executeQueryAsync(onGetUserNameSuccess, onGetUserNameFail);
    }

    // This function is executed if the above call is successful
    // It replaces the contents of the 'message' element with the user name
    function onGetUserNameSuccess() {
        $('#message').text('Hello ' + user.get_title());
    }

    // This function is executed if the above call fails
    function onGetUserNameFail(sender, args) {
        alert('Failed to get user name. Error:' + args.get_message());
    }
}

Con esto ya tendremos lista nuestra aplicación y dispuesta para ser implementada y desplegada en nuestro sitio

Publicando nuestra App

Cuando ya tenemos la aplicación terminada, implementamos la misma. Esto nos crea en la carpeta de nuestro proyecto un archivo con extensión .app que será el que subiremos a nuestro sitio

Una vez que tenemos nuestra aplicación, vamos a nuestro catálogo de aplicaciones a la biblioteca de aplicaciones de SharePoint y subimos la aplicación que hemos creado e implementado.

Captura de pantalla 2015-01-18 a las 20.19.08

A partir de este momento, ya tenemos disponible la aplicación en el catálogo de aplicaciones disponibles en nuestro sitio

Captura de pantalla 2015-01-18 a las 20.20.13

Y agregándola al mismo, podemos ver el resultado en funcionamiento de nuestra aplicación.

Captura de pantalla 2015-01-18 a las 20.20.55

Y esto es todo por hoy, he mostrado en este post, como crear y desplegar una app en SharePoint, lo que me ha servido para empezar a introducirme en el mundo de las apps de SharePoint. Como os decía al principio, iremos avanzando con las opciones que nos permiten las apps en sucesivos post, y en poco tiempo intentaré combinar Polymer con una app de SharePoint para ver como se integra SharePoint 2013 con estos nuevos Frameworks de javascript.

Un saludo a todos.