Archivo de la etiqueta: migracion

Los iconos de documentos no enlazan con los archivos tras actualizar a SPS 2010

Tras una migración de MOSS 2007 a SPS 2010 uno de los problemas detectados, es que las vistas de librerias de documentos, en las que se usaba el icono del archivo para poder abrirlo, ha dejado de funcionar (el icono se muestra correctamente pero no enlaza con el documento). Por desgracia en el ULS no queda registrado ningun indicio de que esta ocurriendo…. 🙁

El motivo de este problema es que, en SharePoint 2010 se ha cambiado el XSLT del WebPart de vistas de las librerías de documentos, viendose afectados los archivos: main.xsl, fldtypes.xsl y vwstyles.xsl que se encuentran en: \Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\template\layouts\XSL\.

Para poder solucionar este error hay que realizar los sigueintes pasos:

  • Crear un archivo de texto plano con el nombre: fldtypes_docicon.xsl en la ruta fisica: \Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\template\layouts\XSL\ por cada uno de los frontales de la granaja.
  • Una vez creado el archivo, hay que añadir el siguiente contenido: fldtypes_docicon.xs
  • Por ultimo es necesario reiniciar el IIS en todos los frontales de la granja.

Una vez realizados los siguientes pasos, los iconos volveran a enlazar con los documentos.

Error 401 no autorizadado en InfoPath Forms Services con SharePoint 2010

Después de migrar multiples formularios InfoPath de MOSS 2007 a SPS 2010, se produce un error intermitente, cuando un formulario utiliza el Web Service: GetUserProfileByName para recuperar la información del usuario actual.

Los errores que podemos ver en los logs de Sharepoint son:

  • Data adapter failed during OnLoad: The remote server returned an error: (401) Unauthorized.
  • The following query failed: GetUserProfileByName (User: , Form Name: , … Type: DataAdapterException, Exception Message: The remote server returned an error: (401) Unauthorized. The remote server returned an error: (401) Unauthorized.)

La arquitectura que estamos usando para SharePoint es de dos nodos front-end configurados con balanceo de carga. Esto provoca que se produzaca una autenticación de doble salto (es incapaz de pasar las credenciales de usuario de un servidor a otro).

La solución ideal es configurar correctamente el balanceador de carga para evistar este problema, pero si no nos es posible, otra solución es utilizar el archivo hosts para obligar que las peticiones se realicen sobre la misma maquina y no haya doble salto de credenciales.

Para ello solo hay que añadir una entrada en el archivo hosts (c:\windows\system32\drivers\etc\hosts) de cada uno de los front-end, la direccion IP de loopback apuntando al dominio que se este usando…

Ejemplo: Si tiene dos servidores web: Servidor1 y Servidor2 en 192.168.0.1 y 192.168.0.2, la entrada del archivo de hosts para cada máquina sería:

  • Para el Servidor1:
    • 127.0.0.1 tu.dominio.sharepoint
  • Para el Servidor2:
    • 127.0.0.1 tu.dominio.sharepoint

De esta forma, cuando cada servidor haga una petición a “tu.dominio.sharepoint”, utilizará la entrada del archivo hosts y hará una petición a la misma maquina evitando el doble salto de credenciales.

BCS Throttle Management en SharePoint 2010

Estoy creando un BDC que consume de un WCF para enriquecer el perfil de usuario en SharePoint 2010. Una vez creado y configurado el BDC, creo una nueva lista basado en este nuevo tipo de contenido externo y al recuperar los datos, obtengo el siguiente error, debido a la gran cantidad de informacion que consulto:

  • WCF Service Connector has throttled the response. The response from the WCF service contains more than ‘3000000’ bytes. The maximum amount of data that can be read through WCF Service Connector is ‘3000000’ bytes. The limit can be changed via the ‘Set-SPBusinessDataCatalogThrottleConfig’ cmdlet.

Este error radica en las limitaciones que tiene el BCS en SharePoint 2010 por defecto:

TYPE

DESCRIPTION

SCOPE

DEFAULT

MAXIMUM

Connections Total number of connections allowed to External Systems Global

100

500

Items Number of rows returned from a database query Database

2000

25000

Timeout Database connection timeout Database

60 sec.

600 sec.

Size Size of returned data WCF

3 MB

150 MB

Timeout Web service connection timeout WCF

60 sec.

600 sec.

Para poder modificar estos parametros o limites, es posible utilizar un sencillo script de PowerShell, gracias al comando Get-SPBusinessDataCatalogThrottleConfig:

#Define el Proxy BCS
$bdcAppProxy = Get-SPServiceApplicationProxy | where {$_ -match "Business Data *"}

#Modifica el numero maximo de bytes
$throttleWCF = Get-SPBusinessDataCatalogThrottleConfig -Scope WCF -ThrottleType Size -ServiceApplicationProxy $bdcAppProxy
Set-SPBusinessDataCatalogThrottleConfig -Identity $throttleWCF -maximum 2147483647 -default 2147483647
$throttleWCF

#Modifica el tiempo maximo de la petición
$throttleWCF = Get-SPBusinessDataCatalogThrottleConfig -Scope WCF -ThrottleType Timeout -ServiceApplicationProxy $bdcAppProxy
Set-SPBusinessDataCatalogThrottleConfig -Identity $throttleWCF -maximum 2147483647 -default 2147483647
$throttleWCF