Global

Gestione dei solution package con PowerShell

Molto spesso mi è capitato di trovarmi da clienti e avere la necessità di configurare una nuova farm SharePoint con le stesse caratteristiche di una seconda farm esistente. Di solito procede tutto bene fino a quando si tratta di installare le solution custom. Nella migliore delle ipotesi i solution package (wsp) ci sono “ma non so se è la versione installata”, nella peggiore i wsp si sono dati alla macchia.

Per fortuna Super Windows PowerShell ci viene in aiuto. Grazie allo script seguente è possibile scaricare tutti i solution package installati in una farm SharePoint. Ovviamente, lavorando con i filtri è possibile restringere il campo a wsp specifici, come riportato nel secondo esempio.

(Get-SPFarm).Solutions | ForEach-Object{

$filepath = "C:WSP" + $_.Name;

## In alternativa è possibile salvare i wsp nel path da dove viene ## eseguito lo script PowerShell utilizzando la riga seguente

## $filepath = (Get-Location).Path + "" + $_.Name;

$_.SolutionFile.SaveAs($filepath)

}

Nel prossimo esempio utilizzeremo lo stesso script precedente, ma selezionando solo i wsp il cui nome contiene “GreenTeam”.

(Get-SPFarm).Solutions | ?{$_.Name –match "GreenTeam"} | ForEach-Object{

$filepath = "C:WSP" + $_.Name;

## In alternativa è possibile salvare i wsp nel path da dove viene ## eseguito lo script PowerShell utilizzando la riga seguente

## $filepath = (Get-Location).Path + "" + $_.Name;

$_.SolutionFile.SaveAs($filepath)

}

Allo stesso modo del download è possibile automatizzare l’upload nel solution store dei wsp leggendo il contenuto di una cartella locale.

$filepath = "C:WSP"

$Files = get-childitem $filepath -include *.wsp -recurse

ForEach ($File in $Files){

Add-SPSolution -LiteralPath $File.FullName

write-host "$File.Name added to the solution store"

}

Eventualmente è anche possibile definire il deploy delle solution presenti nel solution store, anche se a dire la verità viste le possibili differenze tra le diverse solution non so se sia possibile creare uno script adatto a tutti. In ogni caso, diciamo “per accademia”, ecco come fare.

$webapp = Get-SPWebApplication http://intranet

Get-SPSolution | ForEach-Object {

Write-Host $_.SolutionId

Install-SPSolution $_.SolutionId -Force -GACDeployment -WebApplication $webapp

}

Happy PoSH
– Riccardo Bourne

Posted by sharepointpig in Global, 1 comment

Campi Person or Group in SharePoint Designer 2010

Con questo post vorrei inaugurare una serie di post dove condividere brevi pillole sugli argomenti più vari, ovviamente sempre nell’orbita del mondo SharePoint.

Se ho capito bene come fare dovreste trovare anche un link dove verranno raggruppati tutti i post di questa categoria.

Lavorando con SharePoint Designer alla creazione di Data Form Web Part o alla personalizzazione di stili per la Content Query Web Part, capita spesso di imbattersi in campi di tipo Person or Group, pensate anche semplicemente ai campi Autore o Autore Ultima Modifica.

SharePoint Designer 2010 ci offre la possibilità di “consumare” il nostro dato in forma diversa. L’immagine seguente è un dettaglio dell’origine dati SharePoint, dove Nome è un campo di tipo Person or Group.

image

Se ne deduce facilmente che nei nostri template xsl potremo utilizzare tutti e quattro i formati:

A mio avviso l’aspetto più pratico è quello di poter utilizzare il nome nell’utente senza dover per forza di cose o applicare una normalizzazione del dato o “ereditare” tutta la struttura HTML a supporto di questo tipo di campo.

Happy SPD
– Riccardo

Posted by sharepointpig in Global, 0 comments