Michael Hofer

Michael Hofer
31.05.2011
1 Kommentar(e)

Das Thema taucht immer wieder auf: Wie können Dokumente direkt aus SharePoint in der entsprechenden Applikation geöffnet werden? Immer wieder wird darauf hingewiesen, dass man auf Web-Application-Ebene das "Browser File Handling" auf "Permissive" gestellt werden soll. Das allein reicht aber unter Umständen nicht aus. Dieser Blog-Beitrag zeigt, wie man es zu 99% schaffen sollte.

Was muss nun wirklich getan werden, damit eine in SharePoint gespeicherte Datei direkt geöffnet und nicht zuerst lokal heruntergeladen werden muss?

Bedingung 1: OpenControl="" in DocIcon.xml

In derDatei docIcon.xml im Verzeichnis 14\TEMPLATE\XML sicherstellen, dass die Datei-Endung registriert ist UND auch, dass sie ein Attribut "OpenControl" hat, für welches kein Wert gesetzt ist. Beispiel für MSG:

<Mapping Key="msg" Value="icmsg.png" OpenControl=""/>

Bedingung 2: Web-Application Browser File Handling ist Permissive

  • SharePoint 2010 Central Administration öffnen
  • Application Management auswählen
  • Im Bereich Application Management Manage Web Applications auswählen
  • Die entsprechende Web Application auswählen und im Ribbon auf „General Settings“ klicken
  • Im Bereich „Browser File Handling“ den Wert von „Strict“ auf „Permissive“ ändern.

Bedingung 3: Für bestehende Bilbliotheken Browser File Handling auf Permissive umändern

Obwohl man auf der Web-Applications-Stufe das Browser File Handling auf Permissive umgestellt hat, bleibt diese Einstellung auf Strict für die bereits in den Site Collections der Web-Application vorhandenen Dokumenten-Bibliotheken. Da diese Einstellung auf der Web-Benutzeroberfläche nicht geändert werden kann habe ich es mit einem PowerShell Script gemacht, welches über alle Sites einer Site Collection geht und dort über alle Listen vom Basis-Typen Dokumentenbibliothek:

$url = <http://myportal/sites/mysitecollection>
$site = Get-SPSite $url
foreach ($web in $site.AllWebs)
{
    foreach ($list in $web.Lists)
    {    
         if($list.BaseType -eq 1)  # Only document libraries
        {        
              if($list.browserfilehandling -eq "Strict")  # if the profile is set to strict       
             {            
                   $list.browserfilehandling = "Permissive";           
                   $list.update();           
                   Write-Host $site.url, $list.title, $list.browserfilehandling  # print the list url/name for verification        
              }    
         } 
    }    
}


Direktes Öffnen im Browser

Als letztes noch: Für einige Filetypen (z.B. PDF) gibt es ein Plug-In, welches es erlaubt, das Dokument direkt im Browser zu öffnen. Dies funktioniert aber ebenfalls nur, wenn der MIME-Type für einen sogenannten "InlineDownload" auf der SharePoint Web-Application registriert ist. Auch hier hilft PowerShell:

Add-PsSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue

$webApp = Get-SPWebApplication http://intranet-vmm-test.viamat.com
If ($webApp.AllowedInlineDownloadedMimeTypes -notcontains "application/pdf")
{
Write-Host "Adding Pdf MIME Type..."
$webApp.AllowedInlineDownloadedMimeTypes.Add("application/pdf")
$webApp.Update()
Write-Host "Added and saved."
} Else {
Write-Host "Pdf MIME type is already added."
}

Quellen

Meine Leistung in diesem Blog-Beitrag besteht einzig aus der Aggregierung und Überprüfung von Informationen, welche andere freundlicherweise auf dem Netz bereit gesellt haben sowie der Überarbeitung der PowerShell-Scripts. Mein Dank geht deshalb an die Personen hinter folgenden Blog-Beiträgen:

Blog-Archiv

Juli 2014 (7)
Juni 2014 (2)
Mai 2014 (2)


Das könnte Sie auch interessieren:
Offene Stellen

Kommentar hinterlassen




= five - nine

Kommentar(e)

Danke für's Zusammenstellen ;-)

Suchender | 24.04.2012 17:04:34