viernes, 11 de marzo de 2011

Abrir documentos PDF en Sharepoint 2010

Si has creado una colección de sitios y los usuarios se quejan de que al pinchar en los documentos pdf no pueden visualizarlos ya que solo les da la opción de descargarlos, tranquilo, creo que en este post te vamos a dar las pautas para solucionar el problema.

Si no tuvieras creada aún la colección de sitios, sería sencillo.Basta con acceder a la Administración central, administración de aplicaciones web, configuración general y poner el parámetro Manejador de archivos del explorador a Permisivo.



El problema está si tu colección de sitios ya está desplegada y los usuarios ya han creado subsitios, bibliotecas, etc. Lo primero haz el cambio del parámetro anterior para que los nuevos espacios que se generen a partir de ahora funcionen correctamente. Pero para lo ya creado la situación no va a cambiar. Al final la solución pasa por modificar ese parámetro(BrowserFileHandling) en las bibliotecas de documentos ya creadas.

Puede hacerlo mediante programación o mediante el powershell.Por suerte encontré el blog de Chris Macnutty donde ofrecía el script de powershell que soluciona todo. Aquí os dejo el script:

#get web application
$webapp = Get-SPWebApplication "http://msserver/"
#getsites
foreach ($s in $webapp.sites)
{
   #Get Document Library
   $SPBaseTypeDocumentLibrary = [Microsoft.SharePoint.SPBaseType]::DocumentLibrary
   foreach ($SPweb in $s.AllWebs)
   {
      $SPdocLibs = $SPWeb.GetListsOfType($SPBaseTypeDocumentLibrary)
      foreach ($docLib in $SPdocLibs)
      {
         #Show properties of the doclib
         $doclib.GetType().FullName | out-File -Append LibOut.txt
         $doclib.ParentWebUrl | out-File -Append LibOut.txt
         $docLib.BrowserFileHandling | out-File -Append LibOut.txt
         if ($docLib.BrowserFileHandling -ne "Permissive")
         {
            #If you need to change it from Strict to Permissive
            $docLib.BrowserFileHandling = "Permissive"
            $docLib.Update()
            Write-Host "Updated"
         }
         else
         {
            Write-Host "Permissive"
         }
      }
   }
#cleanup
$SPWeb.Dispose()
}

Eso si, a partir de ahora, cada vez que cree una aplicación web el siguiente paso será modificar este parámetro.

No hay comentarios:

Publicar un comentario