Luca Annuiti

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

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.

"...continuate a cercare. Non accontentatevi." - omaggio a Steve Jobs

 

Estratto dal discorso che Steve Jobs tenne all'università di Stanford il 12 Giugno 2005

La mia seconda storia è a proposito dell'amore e della perdita.

Sono stato fortunato: ho trovato molto presto che cosa amo fare nella mia vita. Woz e io abbiamo fondato Apple nel garage della casa dei miei genitori quando avevo appena 20 anni. Abbiamo lavorato duramente e in 10 anni Apple è cresciuta da un'azienda con noi due e un garage in una compagnia da due miliardi di dollari con oltre quattromila dipendenti. L'anno prima avevamo appena realizzato la nostra migliore creazione - il Macintosh - e io avevo appena compiuto 30 anni, e in quel momento sono stato licenziato.

Come si fa a venir licenziati dall'azienda che hai creato? Beh, quando Apple era cresciuta avevamo assunto qualcuno che ritenevo avesse molto talento e capacità per guidare l'azienda insieme a me, e per il primo anno le cose sono andate molto bene. Ma poi le nostre visioni del futuro hanno cominciato a divergere e alla fine abbiamo avuto uno scontro. Quando questo successe, il Board dei direttori si schierò dalla sua parte. Quindi, a 30 anni io ero fuori. E in maniera plateale.

Quello che era stato il principale scopo della mia vita adulta era andato e io ero devastato da questa cosa. Non ho saputo davvero cosa fare per alcuni mesi. Mi sentivo come se avessi tradito la generazione di imprenditori prima di me - come se avessi lasciato cadere la fiaccola che mi era stata passata. Incontrai David Packard e Bob Noyce e tentai di scusarmi per aver rovinato tutto così malamente. Era stato un fallimento pubblico e io presi anche in considerazione l'ipotesi di scappare via dalla Silicon Valley.

Ma qualcosa lentamente cominciò a crescere in me: ancora amavo quello che avevo fatto. L'evolvere degli eventi con Apple non avevano cambiato di un bit questa cosa. Ero stato respinto, ma ero sempre innamorato. E per questo decisi di ricominciare da capo. Non me ne accorsi allora, ma il fatto di essere stato licenziato da Apple era stata la miglior cosa che mi potesse succedere.

La pesantezza del successo era stata rimpiazzata dalla leggerezza di essere di nuovo un debuttante, senza più certezze su niente. Mi liberò dagli impedimenti consentendomi di entrare in uno dei periodi più creativi della mia vita.

Durante i cinque anni successivi fondai un'azienda chiamata NeXT e poi un'altra azienda, chiamata Pixar, e mi innamorai di una donna meravigliosa che sarebbe diventata mia moglie. Pixar si è rivelata in grado di creare il primo film in animazione digitale, Toy Story, e adesso è lo studio di animazione più di successo al mondo. In un significativo susseguirsi degli eventi, Apple ha comprato NeXT, io sono ritornato ad Apple e la tecnologia sviluppata da NeXT è nel cuore dell'attuale rinascimento di Apple. E Laurene e io abbiamo una meravigliosa famiglia. Sono sicuro che niente di tutto questo sarebbe successo se non fossi stato licenziato da Apple. E' stata una medicina molto amara, ma ritengo che fosse necessaria per il paziente.

Qualche volta la vita ti colpisce come un mattone in testa. Non perdete la fede, però. Sono convinto che l'unica cosa che mi ha trattenuto dal mollare tutto sia stato l'amore per quello che ho fatto. Dovete trovare quel che amate. E questo vale sia per il vostro lavoro che per i vostri affetti. Il vostro lavoro riempirà una buona parte della vostra vita, e l'unico modo per essere realmente soddisfatti è fare quello che riterrete un buon lavoro.

E l'unico modo per fare un buon lavoro è amare quello che fate. Se ancora non l'avete trovato, continuate a cercare. Non accontentatevi. Con tutto il cuore, sono sicuro che capirete quando lo troverete. E, come in tutte le grandi storie, diventerà sempre migliore mano a mano che gli anni passano. Perciò, continuate a cercare sino a che non lo avrete trovato. Non vi accontentate.

Visualizzare l'elenco dei database utilizzati in una farm di SharePoint 2010

Utilizzando il comando PowerShell Get-SPDatabase è possibile visualizzare l'elenco dei database utilizzati da una Farm SharePoint 2010.

La visualizzazione di default comprende più colonne ed è difficoltoso visualizzare il nome completo dei singoli DB :

E' però possibile utilizzare il parametro "| Select Name" per visualizzare il nome completo dei database :

Il parametro -ServerInstance "MioServer\SharePoint" permette invece di visualizzare l'elenco di una particolare instanza di SharePoint.