Luca Annuiti

il mio Blog personale su Virtualizzazione, SharePoint, Programmazione e ...

Aprire i file PDF contenuti in SharePoint 2010 direttamente nel browser

In SharePoint 2010 un file PDF non può essere aperto all’interno del browser e viene richiesto, al momento del click, di salvarlo, obbligandoci quindi ad un ulteriore passaggio per visualizzarne il contenuto; questo in quanto i file con PDF non sono considerati "sicuri" da SharePoint.

Questo comportamento è da attribuire ad un nuovo Security Header che è gestito dal browser (in particolare da IE8 in poi) e che permette di aprire nel browser solo alcuni MIME Types riconosciuti come "sicuri".

Sarebbe possibile “disabilitare” questo controllo a livello di Web Application, permettendo così a tutti i tipi di file di essere aperti via browser, ma a livello di sicurezza è meglio aggiungere il tipo "PDF" nell'elenco dei MIME Types "autorizzati" utilizzando questi comandi PowerShell :

$webapp = Get-SPWebApplication http://MyWebappURL
$webapp.AllowedInlineDownloadedMimeTypes.Add(“application/pdf”)
$webapp.Update()
iisreset

Ovviamente lo stesso procedimento può essere utilizzato anche per altri tipi di file.

Nel caso sia necessario rimuovere un tipo di file dall'elenco questo è il comando da utilizzare : 

$webApp.AllowedInlineDownloadedMimeTypes.Remove("application/pdf")

Aggiungere colonne personalizzate (meta dati) alle cartelle di SharePoint Foundation

In SharePoint foundation non è possibile modificare il Tipo di contenuto predefinito "Cartella" per poterci aggiungere delle colonne personalizzate in quanto lo stesso risulta bloccato.

Il modo migliore per "aggirare" questa limitazione è quello di creare un tipo di contenuto personalizzato basato sul tipo "Cartella", al quale potremo poi aggiungere tutte le colonne personalizzate che ci servono.

Ecco come fare :

Prosegue...

Aggiungere stili personalizzati al ribbon in un sito di pubblicazione di SharePoint 2010

Ecco come aggiungere degli stili personalizzati al pulsante "Stili" del ribbon per la formattazione dei testi :

  • Creare nella "Raccolta stili" un nuovo foglio di stile che andrà incluso nella masterpage
  • Aggiungere per ogni stile che vogliamo creare un tag che dovrà avere necessariamente il presiffo  ms-rteStyle- , ad esempio :
    .ms-rteStyle-MioStile

      -ms-name:"Questo è il titolo"; 
      color:#CC0000; 
      font-size:14px;
     

A questo punto, dopo aver archiviato e pubblicato il nuovo foglio di stile e la master page modificata, quando andremo a modificare i nostri contenuto avremo a disposizione i nuovi stili :

Aggiungere e modificare Colonne del sito in SharePoint utilizzando PowerShell

Questi utili comandi PowerShell ci permettono di aggiungere e modificare Colonne del sito in SharePoint.

Aggiungere un nuovo campo speficando le proprietà in formato XML ( definizione dello schema XML disponibile all'indirizzo http://msdn.microsoft.com/en-us/library/ms437580.aspx ) :

$site = Get-SPSite -Identity "http://mywebapplication/"
$web = $site.RootWeb 

$fieldXML = '<Field Type="Text"
Name="CustomSiteColumn"
Description="This is a my Site Column."
DisplayName="my Site Column"
Group="my Site Column"
Hidden="FALSE"
Required="FALSE"
ShowInDisplayForm="TRUE"
ShowInEditForm="TRUE"
ShowInListSettings="TRUE"
ShowInNewForm="TRUE"></Field>' 

$web.Fields.AddFieldAsXml($fieldXML)
$web.Dispose()
$site.Dispose()

Aggiungere un nuovo campo specificando solo nome e tipo :

$site = Get-SPSite -Identity "http://mywebapplication/"
$web = $site.RootWeb 
$web.Fields.Add("CustomSiteColumn",[Microsoft.SharePoint.SPFieldType]::Text,$true)
$web.Dispose()
$site.Dispose()

Modificare le proprietà di un campo ( fare sempre riferimento allo schema XML disponibile all'indirizzo http://msdn.microsoft.com/en-us/library/ms437580.aspx in quanto alcune delle proprietà non sono modificabili ) :

$site = Get-SPSite -Identity "http://mywebapplication/"
$web = $site.RootWeb 
$field=$web.Fields["my Site Column"]
$field.Type= "Choice"
$field.Update($true)
$web.Dispose()
$site.Dispose()

Riporto inoltre questo script che ci permette di esportare in formato XML tutte le Colonne del nostro sito :

$sourceWeb = Get-SPWeb http://mywebapplication
$xmlFilePath = "C:\SharePoint\my-SiteColumns.xml"

#Create Export Files
New-Item $xmlFilePath -type file -force

#Export Site Columns to XML file
Add-Content $xmlFilePath ""
Add-Content $xmlFilePath "`n"
$sourceWeb.Fields | ForEach-Object {
   if ($_.Group -eq "Custom Columns") {
       Add-Content $xmlFilePath $_.SchemaXml
   }
}
Add-Content $xmlFilePath ""

$sourceWeb.Dispose()

Gestire solution con PowerShell su SharePoint 2010

Questo è l'elenco dei comandi che ci permettono di gestire le soluzioni (installazione,deploy, rimozione, ecc) nella nostra farm di SharePoint tramite PowerShell ( per maggiori informazioni sui parametri usare il comando "Get-Help <nomecomando>" ).

Aggiungere la soluzione alla farm :
Add-SPSolution c:\SharePointSolution\SharePointSolution.wsp

Deploy della soluzione :
Install-SPSolution –Identity SharePointSolution.wsp –WebApplication http://mySp2010 -GACDeployment

Aggiornare la soluzione :
Update-SPSolution –Identity SharePointSolution.wsp –LiteralPath c:\code\SharePointSolution\bin\debug\SharePointSolution.wsp –GACDeployment

Ritiro della soluzione da una web application :
Uninstall-SPSolution –Identity SharePointSolution.wsp –WebApplication http://mySp2010

Rimozione della soluzione dalla farm :
Remove-SPSolution –Identity SharePointSolution.wsp

IMPORTANTE : Per effettuare il ritiro della soluzione è necessario che il servizio SharePoint 2010 Administration sia in esecuzione.