SharePoint Latin Rotating Header Image

User Profile Service Application

Hay que darle permiso de Retrieve People Data for Search Crawlers a la cuenta que ejecuta el Crawl

Acto 1: Al ver los resultados de búsqueda notas que las imagines de las personas no se ven sin embargo en el My Site si


 


Acto 2: Encuentras en el Log del Crawl errores relacionados con Access denied y con el User Profile


 


¿Cómo se llamó la obra?


Hay que darle permiso “Retrieve People Data for Search Crawlers” a la cuenta que ejecuta el Crawl


 


Y después de un incremental crawl el resultado fue:


 


 


 


 

Una razón mas por la cual no inicializa la aplicación de servicio de perfiles de usuario de SharePoint 2010

Cada vez que la aplicación de servicio de perfiles de usuario de SharePoint 2010 se detiene borra algunos valores del registro de Windows relacionados con el servicio de sincronización del Forefront Identity Manager “FIM”. El valor de registro se llama “SQLInstance” y se ubica aquí HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\FIMSynchronizationService\Parameters. Si esto no te ha sucedido es porque probablemente tu implementación de SharePoint utiliza la instancia Default del servidor SQL la cual es el nombre del servidor como tal, en mi caso yo utilizo una instancia específica distinta a la Default ejemplo “abc” entonces mi servidor e instancia serian “XYZ\abc”.


Esto fue lo que me encontré en los ULS logs:


UserProfileApplication.SynchronizeMIIS: End setup for ‘Intranet User Profile’.
SetupSynchronizationService :: Sync DB failover Check :: databaseServerMiis = sql_alias
SetupSynchronizationService :: Sync DB failover Check :: originalSyncConnectionString = Data Source=sql_alias;Initial Catalog=XYZ_XYZ_Intranet_UserProfile_Sync;Integrated Security=True;Enlist=False;Connect Timeout=15
SetupSynchronizationService :: Sync DB failover Check:: originalSyncConnectionDataSource = sql_alias
SetupSynchronizationService :: Sync DB failover Check :: new datasource string on connection object = sql_alias
UserProfileApplication.SynchronizeMIIS: Begin setup for ‘Intranet User Profile’.
ILMPostSetupConfiguration: ILM Configuration: Validating installation of SQL Service.
ILM Configuration: Error ‘ERR_SERVICE_NOT_INSTALLED’.
ERROR ILMPostSetupConfiguration: ILM Configuration: Validating installation of SQL Service FAILED …
ILM Configuration: Validating account.
ILM Configuration: Validating the system groups…
ILM Configuration: Error ‘ERR_INVALID_GROUPS’.
UserProfileApplication.SynchronizeMIIS: Failed to configure MIIS pre database, will attempt during next rerun. Exception: System.Configuration.ConfigurationErrorsException: ERR_INVALID_GROUPS at Microsoft.Office.Server.UserProfiles.Synchronization.ILMPostSetupConfiguration.ValidateConfigurationResult(UInt32 result) at Microsoft.Office.Server.UserProfiles.Synchronization.ILMPostSetupConfiguration.ConfigureMiisStage1() at Microsoft.Office.Server.Administration.UserProfileApplication.SetupSynchronizationService(ProfileSynchronizationServiceInstance profileSyncInstance). UserProfileApplication.SynchronizeMIIS: End setup for ‘Intranet User Profile’.


Después de leer un poco en internet encontré esto y pude ver que el valor de registro SQLInstance estaba vacío por ende no se podía conectar como lo dice las entradas del log.


 


Así que con solo cambiar esa llave estaría solucionado el problema pero tendríamos que asegurarnos que cuando se detenga e inicialice de nuevo la aplicación de servicio de perfiles de usuario tengamos que ir al servidor a establecer este valor una vez más y manualmente, cosa que sinceramente no es lo mejor.


En mi caso muy particular y espero el de muchos también, tengo un SQL Alias que apunta a mi servidor de base de datos, lo que hice fue editar el SQL Alias para que contenga el nombre de la instancia.


 


De nuevo al inicializar el servicio de perfiles todo funciono a la perfección y mi registro de Windows no tuvo ni tendrá que ser tocado por nadie.

Que involucra configurar la aplicación de servicio de perfiles de usuario de SharePoint 2010

Hace poco levante un ambiente de desarrollo SharePoint 2010 en modalidad Limited Farm Deployment. Al configurar el User Profile Service Application decidi grabar la sesión y el resultado es un nuevo video publicado en mi canal de youtube.


Que involucra configurar la aplicación de servicio de perfiles de usuario de SharePoint 2010.


  • Utilizar la cuenta SPFarm
  • En el servidor donde se ejecutara el servicio:
  • Otorgar el permiso de Allow log on locally a la cuenta SPFarm
  • Agregar a SPFarm como administrador local
  • Crear un Web Application dedicado a My Site o bien crear un Site Collection en cualquier Web Application que utiliza la plantilla My Site Host ubicada en la pestaña de Empresa
  • Crear una instancia de la aplicación de servicio User Profile Service Application especificando la dirección URL del My Site Host resultante y proporcionando el application pool que va a ejecutar el servicio
  • Hacemos un IISReset
  • Asignar administradores de la aplicación de servicio recién creada
  • Iniciar los servicios de User Profile Service Application y User Profile Sincronization Service dentro la opción de Services in server
  • Configurar el conecto hacia el directorio activo para seleccionar la unidad organizacional que contiene a los usuarios que se estarán sincronizando
  • Configurar la periodicidad de ejecución de los Jobs de sincronización de perfiles
  • Asegurar que la aplicación de servicio de gestión de metadatos este encendida y bien configurada
  • Ejecutar una sincronización de perfiles full

Aquí el video:


Enlaces en el menu superior del My Site

Una pregunta que me dejó intrigado durante un exámen de certificación SharePoint mencionado aquí, fué que especificara como podríamos agregar un enlace en la barra superior del My Site para permitir a los usuarios regresar fácilmente al portal principal. Y bueno la respuesta es usando la opción de “Configure Personalization Site” ubicado dentro de la adminsitracion del User profile Service Application.

image

Utilice esta opción para agregar enlaces de navegación personalizados al My Site. Puedes elegir quien será el responsable o dueño del enlace y también que audiencia lo puede ver, esto significa que dependiendo de la audiencia ciertos enlaces pueden mostrarse.

SNAGHTML2430ef

Los enlaces agregados serán mostrados en el menú superior del My Site.

image

Free Synergy JQuery Accordion WebPart

La empresa Synergy ha publicado en su blog oficial algunos ejemplos de código sobre como han construido parte de la experiencia de usuario de su sitio web. Por ahí tienen un post sobre este webpart de acordeón que también pusieron a disposición para que programadores pudiéramos usar su código fuente.

image

El proceso de implementación sufre de algunas inconsistencias que decidí atacar creando una solución de Visual Studio 2010 para empaquetar todos los pre requisitos, imágenes, hojas de estilo, dependencias JQuery, tipos de contenido etc y así facilitar la utilización del WebPart de Acordeón.

https://skydrive.live.com/?cid=da602695c8d95b70&resid=DA602695C8D95B70!107&id=DA602695C8D95B70%21107#

Grabe un video donde explico que se hizo y como utilizarlo, espero que les sea de utilidad.

Cuales son los temas estratégicos de tu empresa y como capitalizar el conocimiento de la gente con SharePoint 2010

Antecedentes

En este post veremos que funcionalidades pre construidas existen en el producto SharePoint 2010 para permitir a la empresas concretar y fortalecer su estrategia de administración del conocimiento.

Introducción

Cuando la información crece de manera exponencial siempre pensamos en clasificarla de forma racional y lógica. En el pasado era común encontrar en las oficinas enormes casilleros con millones de documentos clasificados probablemente por orden alfabético. Hoy en día con el uso de los sistemas informáticos y de la paquetería de software para oficina el tema del almacenamiento y clasificación física de la información se ha delegado al área de informática, es justo decir que toda la clasificación que hoy generamos se reduce a carpetas dentro de nuestra computadora de escritorio, en especial “Mis Documentos”.

En algunos casos el departamento de informática aprovisiona carpetas públicas en la red en donde podemos copiar nuestra información y de alguna manera respaldar sobre un almacenamiento distinto al nuestro los documentos que generamos.

Sin embargo, por ser digital entonces ya no existen límites físicos que nos impidan clasificar, organizar, accede, asegurar y proteger la información de nuestra empresa de forma innovadora que responda a las necesidades de negocio. En ese sentido es bien sabido que SharePoint nos ofrece repositorios de almacenamiento con funcionalidad pre construido para facilitar el trabajo, en otras palabras, subir documentos a una biblioteca de documentos SharePoint nos permite manejar versiones de los documentos, suscribirse a alertas de correo electrónico para saber cuándo y por quien estos documentos han sido modificados, aplicar permisos de acceso y una serie de capacidades adicionales más que fortalecen al trabajador con mejores herramientas.

image

Volviendo al tema de la clasificación y con relación a SharePoint contamos con la posibilidad de crear carpetas dentro de las bibliotecas de documentos como la primera alternativa de clasificación la cual resulta muy conveniente para equipos de trabajo que utilizan sitios SharePoint para colaborar y comunicarse mejor.

image

Sin embargo, en una escala mayor a nivel empresarial y en un contexto mucho más corporativo la clasificación de documentos mediante el uso de carpetas no es una estrategia conveniente para capitalizar el conocimiento de toda la gente. Todo el trabajo de oficina que las personas realizan en una empresa está alineado a estrategias que obedecen a una visión de negocio por lo tanto el contenido que estos generan deberían de clasificarse o etiquetase de una manera más robusta y formal a fin de poder encontrar y relacionar no nada más la información sino el conocimiento de manera más rápida y ágil. Es por ello que actualmente es una necesidad imperante para los directores de TI el poder clasificar el contenido empresarial de una manera que represente y consolide el capital intelectual de la organización para lograr una administración del conocimiento que represente para los empleados y la empresa una ventaja competitiva.

Servicio de Administración de Metadatos, el Servicio de Perfiles de Usuario y el Servicio de Búsquedas

En la edición estándar y empresarial de SharePoint Server 2010 se cuenta con una aplicación de servicio llamada Servicio de Administración de Metadatos el cual ofrece un motor de gestión de etiquetas y términos de carácter general que los empleados usan para clasificar el conocimiento expresado en documentos y archivos de oficina. En conjunto con la aplicación de servicio de Perfiles de Usuario estos términos y etiquetas se comporten de forma relacionada para proveer información contextual y específica para cada etiqueta.

En el siguiente ejemplo vemos a un usuario clasificando documentos y haciendo uso de las opciones de SharePoint para etiquetar documentos en una biblioteca de documentos.

image

En la siguiente imagen vemos una página de perfil de la etiqueta. En esta página del perfil podemos ver lo siguiente:

  • Que otros documentos han sido etiquetados con la misma etiquetas
  • Que personas se han declarado como expertos en esa etiqueta o tema para recibir preguntas sobre el mismo
  • Pizarra de notas sobre el tema en cuestión
  • Enlace para seguir o suscribirse a esta etiqueta
  • Enlace para buscar a las personas que también se han suscrito a la etiqueta

image

La integración que se tiene con el Perfil de usuarios permite conectar la funcionalidad de las etiquetas con la funcionalidad del perfil. En conjunto como organización se puede contar con toda una propuesta de gestión de contenido donde las personas son los principales actores que de forma vibrante y completamente transparente capitalizan el conocimiento.

En la siguiente imagen vemos como la opción de “Add to Ask Me About in Profile” de la página de perfil de la etiqueta se termina mostrando en la sección de “Ask Me About” en la página del perfil del usuario.

image

Así mismo y como parte de la integración mencionada anteriormente se tiene la opción del Newsfeed como una alternativa para suscribirnos al contenido y etiquetas que más nos interesa para estar al tanto de aquellas actividades y operaciones que suceden en el portal.

image

Es improtante mencionar que tambien el Social Connector de Outlook 2010 muestra la informacion del Newsfeed.

image

En el enlace de My Interest el usuario puede elegir de un grupo de categorías que eventos le interesa rastrear desde esta opción de suscripción.

image

Podríamos comparar esta opción como un timeline corporativo que nos permite estar siguiendo tanto personas como etiquetas o temas estratégicos de la organización.

Por otro lado, el motor de búsquedas de SharePoint también juega un papel muy importante en la administración del conocimiento ya que muestra los temas o etiquetas como panel de refinamiento de los resultados de las búsquedas permitiendo segmentar y encontrar la información de manera mucho mas sencilla.

En la siguiente imagen vemos los distintos paneles de refinamiento de los resultados de las búsquedas y entre ellos el de las etiquetas.

image

Admnistración del Conocimiento en Sitios de Colaboración

Ahora bien, ya dentro de un sitio de colaboración para un proyecto o equipo por ejemplo, los usuarios pueden contar con un mapa de etiquetas con el cual fácilmente puedan navegar y contactar a los usuarios expertos.

image

También las bibliotecas de documentos que cuentan con contenido etiquetado pueden exponer en un menú de filtrado todas las etiquetas para ofrecer un mecanismo mejorado de consulta de la documentación.

image

Esta imagen ha sido tomoada de http://www.endusersharepoint.com/EUSP2010/2010/04/14/10-ways-sharepoint-2010-improves-findability/

El cliente de Office no podia quedarse atras y el sistema de etiquetas tambien se pone a disposicion en los productos que nuestros usuarios usan dia con dia, por un lado tenemos el panel de informacion del documento en donde vemos el seleccionador de etiquetas.

image

En la opción de Backstage View de cualquier cliente de Office tambien tiene integración con el Manage Metadata Service.

image

En resumen

En SharePoint 2010 se tiene funcionalidades disponiblse para establecer una estrategia de administración del conocimiento usando cualquier edición del producto estándar o enterprise. Sinceramente, siento que para una organización donde Knowledge Management es una imperante necesidad, el servicio de Perfiles de Usuario, Servicio de Administración de Metadatos y Servicio de Búsquedas son una alternativa muy valiosa hoy en día para hacer del conocimiento una ventaja competitiva. Todas estas aplicaciones de servicio requieren de planeación por separado para su configuración y aprovisionamiento acorde a las necesidades y objetivos de la empresa; y muy importante su puesta en marcha para fomentar un cambio cultural en la forma de trabajo y asegurar que los usuarios finales utilicen y participen en el proecso para capitalizar el conocimiento empresarial y hacer frente con exito a la competititvidad.

Haaron González

Como restablecer el sitio web de IIS “SharePoint Web Services” cuando éste es eliminado por error en SharePoint 2010

Algo que me gusta de trabajar como ingeniero de soporte freelance es el orgullo que te da ganar esas pequeñas batallas contra la ignorancia.


Problema


El problema fue que se extendió una aplicación web de SharePoint usando el sitio web de IIS “SharePoint Web Services”. Antes que cualquier otra cosa, este sitio web de IIS hospeda algunos servicios WCF de sistema los cuales se configuran en todos los WFE de la granja y son utilizados por algunas aplicaciones de servicio, el asistente de configuración de SharePoint es el encargado de aprovisionar este sitio web en tiempo de instalación y configuración de la granja. 


image


Lo que sucedió es que al extenderse esta aplicación web en este caso “MySite” se detuvieron aplicaciones de servicio y quedo totalmente inoperable. El resultado fue desastroso para la granja ya que se detuvieron las aplicaciones de servicio Manage Metadata, User Profile y en este caso el portal de MySite de todo el corporativo. El mensaje de error al intentar acceder al portal fue Could not load user profile, adicional el visor de eventos empezó a regitrar An exception occurred when trying to issue security token: The server did not provide a meaningful reply; this might be caused by a contract mismatch, a premature session shutdown or an internal server error.


Como primera reacción de cualquier ser humano es la de des extender el portal.


image


Inyectando con esto un problema mayor ya que al remover vía herramienta de administración SharePoint el sitio web de IIS causa que las carpetas asociadas en el sitio web sean eliminadas de la ruta a la que apunta, en este caso C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\WebServices\Root.


La solución


La solución a este escenario fue ejecutar el script mencionado en el post How to get back the SharePoint WebServices application in IIS if deleted, SharePoint 2010   para regenerar el sitio web de IIS “SharePoint Web Services”,  este proceso en efecto si aprovisiono de nuevo el sitio web de IIS, sin embargo, al dar clic sobre el marcaba un error indicando que no existía la ruta de los archivos lo cual es totalmente correcto ya que al des extender se elimino todos los archivos de la ruta a donde apuntaba.


image


Lo que se decidió fue buscar la carpeta Root de otra granja y copiarla sobre la carpeta en cuestión. Posteriormente se ejecuto de nuevo el siguiente codigo encontrado aqui: How to get back the SharePoint WebServices application in IIS if deleted, SharePoint 2010. Basicamente lo que el procedimiento hace es cargar una instancia de la place SPIisWebServiceInstanceSettings e invoca un par de metodos para realizar el aprovisionamiento del sitio web de IIS sobre el servidor. Una vez que es aprovisionado se procede a realizar un ciclo donde por cada aplicacion de servicio es aprovionado el nuevo sitio web de IIS restableciendo con esto la vinculacion y la dependencia al mismo.


$webservice = [System.Type]::GetType(“Microsoft.SharePoint.Administration.SPIisWebServiceSettings, Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c”)


$Instance = $webservice::Default


$Method = $webservice.GetMethod(“ProvisionLocal”, “Instance, NonPublic”, $null, @(), $null)


$Method.Invoke($Instance, $null)


$Method = $webservice.GetMethod(“Provision”, “Instance, Public”, $null, @(), $null)


$Method.Invoke($Instance, $null)


Get-SPServiceApplication | ForEach-Object {$_.Provision()}


En resumen


Cuando inicias con una nueva plataforma  y estas en proceso de aprendizaje es comun o normal que sucedan detalles, errores, situaciones de configuracion por error, la recomendacion es revisar cualquier procedimiento en una granja de pruebas para validar el proceso y los resultados previamente.  Aqui dos enlaces donde platico algunas consideraciones al respecto: Que se necesita para ser consultor y/o desarrollador SharePoint y Consideraciones para poner en marcha soluciones personalizadas SharePoint en ambientes de producción de nuestros clientes.


Saludos

Importando las fotografías de usuario del directorio activo a los perfiles de usuario de SharePoint 2010

Introducción

En esta ocasión no creo que pueda decir nada distinto de lo que seguramente encontrarás publicado en cualquier otro blog sobre como configurar la fotografía de usuario en servicio de perfiles de usuario de SharePoint 2010. Sin embargo, aquí va:

  • En primer lugar hay que asegurarnos de contar con una configuración de sincronización de perfiles totalmente funcional, en ese sentido puedes encontrar en el blog de Harbar MVP de SharePoint Server una contundente guía de cómo lograrlo: http://www.harbar.net/articles/sp2010ups.aspx
  • Para sincronizar la fotografía del usuario al sistema de perfiles de SharePoint hay que hacer lo siguiente: Relacionar el atributo de directorio activo que tiene la imagen requerida con la propiedad del perfil de usuario que utiliza SharePoint para almacenar la dirección Url de la imagen, ejecutar una sincronización completa de los perfiles de usuario, ejecutar comando para generar thumbnails de las imágenes de usuario importadas y ejecutar un rastreo incremental de las búsquedas.

Relacionar el atributo de directorio activo que tiene la imagen requerida con la propiedad del perfil de usuario

Accedemos a la herramienta central de administración, seleccionas Application Management y después Manage Service Applications.  De la lista de aplicaciones de servicio seleccionas la de tu servicio de perfiles y sobre el Ribbon das clic sobre la opción Manage.

De la ventana de configuración del servicio de perfiles seleccionamos Manage User Properties.

image

Esto carga la lista de propiedades de servicio de perfiles de usuario de SharePoint y su correspondiente atributo de directorio activo. Entonces, buscamos la propiedad Picture (la cual representa la fotografía de un usuario) y editamos su definición para proceder.

image
Del formulario de configuración de la propiedad seleccionamos lo siguiente:

image

Ejecutar una sincronización completa de los perfiles de usuario

Del mismo menú de administración del servicio de perfiles de usuario seleccionamos la opción de Start User Profile Sincronization. Dentro del formulario elegimos iniciar una sincronización full.

image
Esto rastreara de nuevo el directorio activo y cargara el valor de los atributos de aquellas propiedades donde hemos declarado un mapeo o equivalencia. Considerando que se ha declarado una relación entre la imagen del usuario proveniente del directorio activo con la propiedad Picture de SharePoint entonces este proceso de sincronización cargara la imagen como tal hacia la base de datos de sincronización que previamente la aplicación de servicio de perfiles de usuario aprovisionó.

Es importante mencionar que este proceso tarda un tiempo considerable en ejecutarse dependiendo del número de usuarios a sincronizar, en este ejemplo tenemos casi 8000 usuarios y el tiempo promedio que pude identificar es de 15 a 20 minutos.  Así mismo, dentro del servidor SharePoint con esta herramienta "C:\Program Files\Microsoft Office Servers\14.0\Synchronization Service\UIShell\miisclient.exe" puedes ir viendo cada paso que se realiza durante el proceso de sincronización de perfiles.

Ejecutar comando para generar thumbnail de las imágenes de usuario importadas

Ya que el servicio de sincronización de perfiles termine y puedas constatar que existen cuentas con perfiles de usuarios sincronizados desde directorio activo, entonces procedemos a ejecutar un comando Power Shell que realiza un proceso de creación de imágenes thumbnails de distintos tamaños que posteriormente SharePoint utilizará.

Dentro de nuestro servidor SharePoint ejecutamos una instancia del SharePoint 2010 Management Shell y ejecutamos el siguiente comando:

Update-SPProfilePhotoStore -CreateThumbnailsForImportedPhotos 1 -MySiteHostLocation http://mysiteurl

Este comando tarda unos momentos y crea imágenes de distintos tamaños por cada imagen importada del directorio activo almacenándolas en una carpeta llamada “Profile Pictures” de una biblioteca de imágenes llamada User Photos ubicada en el sitio de nivel superior huésped de la aplicación web de My Site.

image

En la siguiente imagen se muestra los distintas imagenes creadas por el comando.

image

Ejecutar un “incremental crawl” en las búsquedas

Solo para asegurar que se tiene indexado el nuevo contenido “Picture” que nuestro sistema de perfiles de usuario tiene buscamos ejecutar un incremental crawl en la configuración de las búsquedas. Ahora si, en cualquier parte que hagamos referencia a un usuario, este se mostrará con imagen como es el caso de las busquedas de personas.

Como especificar cual portal de búsquedas se usa por el sitio de My Site en SharePoint 2010

Cuando configuramos My Site en SharePoint 2010 tenemos en la parte superior un cuadro de texto para realizar búsquedas de personas. De manera predeterminada apunta a un sitio de búsquedas hospedado dentro de My Site. Sin embargo, existe la forma de personalizar cual será el sitio de búsquedas.


image


Para configurar algún portal de búsquedas adicional al que se tiene por defecto, accedemos a la herramienta central de administración SharePoint, seleccionamos Application Management, después Manage Service Application y buscamos aplicación de servicio de User Profile que se tenga configurada, la seleccionamos y del ribbon damos clic en Manage. Esto carga el panel de administración del servicio de perfiles de usuario. Seleccionamos Setup My Sites.


image Dentro de la opción Preferred Search Center podemos especificar cuál será el portal que ejecutará las búsquedas.


imageLo que me parece muy interesante, es que el portal de My Site y My Profile hacen uso del portal de búsquedas configurado por lo tanto, cualquier metadato que se tenga en el perfil expresado como hypervinculo  es enviado como criterio de busqueda al portal configurado para obtener información relacionada del mismo. Es aqui donde Tags y Metadatos nos permiten orquestar la manera en que podemos relacionar y encontrar personas.


Cool!


NOTA: La direccion especificada en el cuadro de texto Preferred Search Center tomará a la dirección url especificada en la Zona default del Web Application donde existe el sitio. Ver los alternate access mappings y revisar cual Url esta en la zona Default.

Como leer programáticamente las propiedades mapeadas de un perfil de usuario de SharePoint 2007

Esta es la segunda ocasión que me preguntan lo mismo y decidí grabar un breve video como  importar propiedades especificar del directorio activo hacia SharePoint 2007. En este video vemos como trabajar con los perfiles de usuario de SharePoint 2007 para mapeo de propiedades del directorio activo y acceso programáticamente a las mismas.

En este video vemos como realizar el mapeo de propiedades del directorio activo a propiedades del perfil de usuario de SharePoint asi como tambien como acceder programaticamente para obtener sus valores.

HG