Sharepoint 2013 ISSUES with the .Net Framework 4.6

In this article i would share a problem encoured during the installation of “Sharepoint 2013” on the server with : Windows Server 2012 Standard.

After the phase of “Prerequisites”, completed with successful the installation was interrupt with this message:

blog

It’s no possibile.. The framework required is installed and the features are enabled!

The problem ?… Windows Update…

Before to start the installation i have completed “windows update” on the server; but now is included the update of the framework at version 4.6.X… and the SharePoint Setup program does not recognize the .NET Framework 4.6, 4.6.1, or 4.6.2 as a supported version of the .NET Framework.

The solution is unistall the updates, install Sharepoint and after re-install the windows update.

Here the link with the details:

https://support.microsoft.com/en-us/kb/3087184

 Good Work!

Annunci
Pubblicato in Configurazione Sharepoint 2013 | Lascia un commento

SharePoint 2013 : How optmize the resourse usage for the “Search Service Application”

In this short article, i’ll describe as optmize the performance for the search service application.

The search service introduced with Sharepoint 2013 is…powerfull but it require resources : cpu and memory; it is normal but you can manage : how many resources to use.

If you open the task manager, you can see the process : “noderunner.exe” that consuming a lot of CPU. You can’t kill them, it is required for the search service application, the optmizzation consist in two step:

1.Set the performance level with the cmdlet :

Get-SPEnterpriseSearchService | Set-SPEnterpriseSearchService –PerformanceLevel “Level”*

*Level =

  • Reduced: Total number of threads = number of processors, Max Threads/host = number of processors
  • PartlyReduced: Total number of threads = 4 times the number of processors , Max Threads/host = 16 times the number of processors
  • Maximum: Total number of threads = 4 times the number of processors , Max Threads/host = 16 times the number of processors (threads are created at HIGH priority)

2.Configure the RAM usage, modifying the file : “noderunner.exe.config.” placed in the location (default):

C:\Program Files\Microsoft Office Servers\15.0\Search\Runtime\1.0\noderunner.exe.config.

The property to modify is : memoryLimitMegabytes, set to ‘0’ for default. With this value the RAM used is unlimited..set a limit.

After this operation you must restart the search service “Sharepoint Search Server 15” from “Control panel – > Services”.

After the modifiy, open the task manager and check the CPU and Memory usage from “noderunner.exe”.

 

Pubblicato in Configurazione Sharepoint 2013, Performance and Configure farm Sharepoint, Search | Lascia un commento

PowerShell : Come eliminare un “content type custom”

In questo breve articolo, vediamo uno script powerhsell da mettere nella ‘cassetta degli attrezzi’.
Scenario: abbiamo definito un ‘content type’ custom e lo vogliamo eliminare; come prerequisito dobbiamo verificare che non ci siano Liste o Raccolta documenti che lo utilizzino, perché in questo caso non sarà possbile eliminarlo.

Il primo pensiero potrebbe essere : lo elimino, ma non basta perché SharePoint ha il “cestino”…. anzi due! e i contenuti presenti nel cestino oltre a occupare spazio (particolare fondamentale!) sono elementi attivi.

Dopo aver eliminato l’elemento, questo andrà a finire nel primo cestino (quello dell’utente) ma questo non basta ancora..l’amministratore della raccolta siti (dovresti essere tu che hai voglia di leggere questo articolo) deve selezionare le ‘Impostazioni del sito’ e quindi nella sezione ‘Amministrazione raccolta siti’; selezionare la voce ‘Cestino’.

Da questo menu è possibile gestire i file cancellati dagli utenti (primo cestino) e quelli presenti nel cestino gestito dall’amministratore del sito

Immagine

Verificato che non ci siano elementi che usano il nostro content type, passiamo allo script:

Add-PSSnapin "Microsoft.SharePoint.PowerShell"

 $siteURL = <http://NomeRaccoltaSiti>

$contentType = "NomeContentType"

$web = Get-SPWeb $siteURL
 $ct = $web.ContentTypes[$contentType]

if ($ct) {
 $ctusage = [Microsoft.SharePoint.SPContentTypeUsage]::GetUsages($ct)
 foreach ($ctuse in $ctusage) {
 $list = $web.GetList($ctuse.Url)
 $contentTypeCollection = $list.ContentTypes;
 $contentTypeCollection.Delete($contentTypeCollection[$ContentType].Id);
 Write-host "Deleted $contentType content type from $ctuse.Url"
 }
 $ct.Delete()
 Write-host "Deleted $contentType from site."

} else { Write-host "Nothing to delete." }
$web.Dispose()
Pubblicato in PowerShell, Senza categoria | Lascia un commento

PowerShell : Come ottenere la lista dei file in ‘Check-out’

In questo breve articolo, voglio condividere uno script “powershell” che ritengo utile perché recupera l’elenco dei file che si trovano nello stato di “CheckOut”; per una specifica raccolta siti, compresi i sotto-siti.

Add-PSSnapin “Microsoft.SharePoint.PowerShell”

$webAppURL = http://NomeRaccoltaSiti

function ReportCheckedOutItems() {
$webapp = Get-SPWebApplication $webAppURL

foreach ($site in $webapp.Sites)
{
write-host “Site Collection: $($site.Url)”
$allwebs = $site.allwebs
foreach($web in $allwebs)
{
$count = 0
write-host “–>Site: $($web.Url)”
foreach ($list in ($web.Lists | ? {$_ -is [Microsoft.SharePoint.SPDocumentLibrary]})) {
Write-Host “—>–>List: $($list.RootFolder.ServerRelativeUrl)…”
foreach ($item in $list.CheckedOutFiles)
{
if (!$item.Url.EndsWith(“.aspx”))
{
continue
}
write-host “File: $($item.Url) – checked out by $($item.CheckedOutBy)” -ForeGroundColor Red
$count++
}
foreach ($item in $list.Items)
{
if ($item.File.CheckOutStatus -ne “None”)
{
if (($list.CheckedOutFiles | where {$_.ListItemId -eq $item.ID}) -ne $null)
{
continue
}
write-host “File: $($item.Url) – checked out by $($item.CheckedOutBy)” -ForeGroundColor Red
$count++
}
}
}
if ($count -gt 0)
{
write-host “Found $count checked out files for site $web” -ForeGroundColor Red
}
}
}
}

ReportCheckedOutItems

Pubblicato in PowerShell | Lascia un commento

Come attivare la “Developer Dashboard”

Per la serie “Lo sviluppo è nulla senza il controllo”, in questo articolo introduco uno strumento molto utile per la diagnostica delle pagine, soprattutto quando si riscontrano delle anomali, bloccanti o meno. Come vedremo tra poco, questo strumento riporta tutta una serie di informazioni raggruppate per tipologie, comprendendo anche le informazioni scritte nel LOG di SharePoint (ULS); permettendo di correlare tutte le informazioni di diagnostica utili a risalire alle cause : di un problema che provoca il malfunzionamento della pagina o anche solo un comportamento non previsto (ad esempio un eccessivo rallentamento al Load).

Un aspetto da sottolineare è il seguente : questo strumento non è da utilizzare solo per il ‘troubleshooting’ della pagina quando si verifica eccezioni bloccanti, ma è utile anche per l’analisi delle performance; che possono deteriorare se ad esempio aggiungiamo più ‘web part’ soprattutto di tipo ‘custom’ (non tutti gli sviluppatori gestiscono bene il ‘dispose degli oggetti SpWeb, SpSite etc.. ).

Vediamo innanzitutto quali sono i principali indici di prestazioni che misura questo strumento, nel contesto della richiesta che stiamo analizzando:

  1. Tempo di esecuzione del Thread
  2. Informazioni sullo stack di chiamate e sul testo della query inviate al DB, generate dalla pagina.
  3. Numero, durata e informazioni sullo Stack, di ogni chiamata WCF.
  4. Informazioni sull’utente corrente
  5. Informazioni sui tempi di esecuzione della pagina

Queste informazioni sono riportate in più Tab divisi per tipologie.

Iniziamo alla parte pratica, attivando la “Dashboard” attivando una sessione di “PowerShell” e digitando i comandi:

Modalità
Commando
On
(Get-SPFarm).PerformanceMonitor.DeveloperDashboardLevel = 
”On”
OnDemand
(Get-SPFarm).PerformanceMonitor.DeveloperDashboardLevel = 
”OnDemand”

Utilizzando la modalità ‘OnDemand’ avremo come conseguenza la possibilità di visualizzare in alto a desta della pagina una nuova icona:

dev1

 

 

Portiamoci nella pagina da analizzare e clicchiamo sull’icona per visualizzare il risultato:

Dev2

Buon Lavoro.

Pubblicato in Log e Diagnostica, Senza categoria | Lascia un commento

Come creare un Result Sources / Origine dei risultati in Sharepoint 2013

In questo articolo, vedremo come è possibile creare un “Result Source” per limitare l’ambito di una ricerca ad un sottoinsieme di elementi voluti. In “Sharepoint 2013” i “Result Sources” sostituiscono i “Search Scopes” e cosa più importante; la possibilità di creare dei “Result Sources” è stata ‘concessa’ anche agli amministratori della Site Collection e ai proprietari del sito. La creazione di un “Result Sources” richiede 5 passaggi.

  • Compilare le informazioni generali
  • Specificare un protocollo
  • Selezionare un ‘result type’
  • Scrivere una query
  • Specificare le credenziali

Supponiamo di voler creare un ‘result type’ a livello di FARM che mi restituisca solo i documenti di tipo Excel.

Come prima cosa è necessario avere quindi accesso alla FARM, come amministratore della FARM o come utente che appartiene al gruppo di Amministratori della FARM (sono due cose diverse, ma non è oggetto di questo breve articolo).

Premessa : come di solito farò riferimento alle sezioni della configurazione nella versione Inglese.

Accediamo alla Central Administration e dalla sezione : Application Management selezionare : Manage Service Applications. Da qui cliccare sul nome del Servizio di ricerca; nel caso in esame : Search Service Application:

Cliccando sul link si accede alla sezione di configurazione del servizio, dove nella colonna di sinistra sono presenti le varie sezioni; a noi interessa accedere alla sezione “Queries and Result”:

Nella pagina successiva sarà visibili in alto a tutto il link : New Result Sources, cliccando si attiva la Form di gestione del nuovo Result Sources; diviso nelle 5 sezioni anticipate sopra.General information : diamo un nome significativo, nel nostro caso :Excel Files ed eventualmente una descrizione : Restituisce i file di tipo Excel.Protocol : abbiamo le opzioni in figura:

3
Nel caso in esame stiamo cercando degli elementi presenti nella FARM.
Type : questa sezione successiva si adatta al tipo di protocollo selezionato e nel nostro caso possiamo scegliere tra due tipi :
2
Nel primo caso (che selezioniamo) avremo a disposizione tutti i risultati presenti nella FARM; mentre nel secondo caso avremo solo i risultati inerenti alla informazioni degli utenti.
Query Transform : entriamo nel “cuore” della configurazione; per le informazioni inserite fin ora non c’è nessuna discriminante che mi possa limitare i risultati della ricerca ai soli file Excel. Aprendo il tool : Query Builder avrò a disposizione un editor nel quale specificare il tipo di “query” da usare per il nostro “result sources”:*
2
Una volta creata l’espressione: {searchTerms} (FileExtension=xlsx OR FileExtension=xls)
, possiamo testarla cliccando sull’apposito pulsante:

2

* in questo articolo non sarà approfondita la sintassi (KQL : Key Query Language) in uso; per dettagli fare riferimento all’articolo seguente : https://msdn.microsoft.com/en-us/library/office/ff394509(v=office.14).aspxCredential information : l’ultima sezione riguarda la sicurezza, anche questa dipende dal protocollo selezionato. Nel caso in esame selezioniamo l’opzione in figura:

2
Dopo aver confermato l’opzione, cliccando su ‘Save’, il nostro ‘Content Sources’ sarà visibile nell’elenco iniziale:
2
Terminata la definizione, passiamo alla raccolta siti dove vogliamo utilizzare il “result source” e aggiungiamo una “Wiki Page” che utilizzerà le “Web Part” di ricerca e chiamiamola ad esempio : Ricerca File Excel.
Nella pagina appena creata, aggiungiamo in sequenza 3 Web Part della sezione ‘Search’:
• Search Box
• Search Result
• Search NavigationLa pagina avrà questo aspetto:
2

Portiamo in modifica la “Search Result” e clicchiamo sul tastoNella form di configurazione, simile a quella presentata in pecedenza, posso selezionare nella parte alta un ‘Result Sources’ andando quindi a restringere il campo di ricerca ai soli elementi che rispettano le regole di base. Nel caso in esame selezionerò : Excel Files.

2
Confermiamo, eventualmente dopo aver testato la query con l’apposito pulsante; confermiamo le modifiche alla web part e salviamo la pagina per testare la ricerca. Nel caso in esame inserisco il testo :Demo1 e ottengo il mio file Excel (unico) come risultato:
2
Come controprova che il filtro stia realmente funzionando, ripeto la ricerca in un’altra pagina dove si usa il “result source” di default ed inserisco la stessa parola chiave:
2

Buon Lavoro!

Pubblicato in Configurazione Sharepoint 2013, Search | Contrassegnato , , , | Lascia un commento

Come creare i Gruppi Standard di Sharepoint

Iniziamo l’anno nuovo con una piccola ‘tips’, più che con un articolo..

Come ampiamente noto, quando si crea una raccolta siti in automatico vengono aggiunti anche 3 gruppi standard :

  • Visitatori / Visitors
  • Membri / Members
  • Proprietari / Owners

Questo è vero quando si usa l’interfaccia Web, se invece utilizzo “PowerShell” con i comandi : New-SPSite i gruppi non saranno aggiunti.

Qualcuno potrebbe chiedersi perché complicarsi la vita usando “PowerShell” ?; perché ad esempio se volessi gestire le raccolte siti con la nuova modalità ‘Host Named’ posso farlo Solo da “PowerShell”!

Quindi se volessi comunque creare questi tre gruppi standard posso sempre farlo dopo aver creato la raccolta siti aggiungendo

_layouts/15/permsetup.aspx

all’URL del nostro sito e ci verrà mostrata la “form” di creazione dei gruppi standard.

Buon lavoro.!

Pubblicato in Senza categoria | Lascia un commento