SharePoint Server 2013 oferece suporte a URLs com até 4000 caracteres no Analytics Reporting Database

Olá SharePointers!

Com a instalação do CU (Cumulative Update) de 14 de Julho de 2015 o SharePoint 2013 passa a suportar URLs com até 4000 caracteres no Analytics Reporting Database.

Continue lendo »

Erro ao instalar o Add-In do Report Server

Olá SharePointers,

Recentemente atuei em um projeto de integração do Report Server com SharePoint, durante a instalação do Add-In do Report Server no servidor do SharePoint, eu recebia um erro ao instalar o Report Server, infelizmente não pude pegar print para mostrar aqui, mas o que posso dizer que depois de ler muitos logs encontrei um trecho que mostrava claramente que o problema estava ligado ao status da farm.

Continue lendo »

Como criar um site collection no SharePoint 2013 com PowerShell

Olá SharePointers,

Este é um post simples para mostrar como criar um site collection com PowerShell.

Antes de criar o site collection é importante saber qual o template que deverá ser utilizado, para isso verifique com a área usuária que tipo de site precisam, depois utilize o seguinte script para obter a lista de web templates do SharePoint 2013:

Get-SPWebTemplate | Sort-Object "Title"

Com isso você vai obter a lista de todos os templates disoníveis, veja a seguir:

webtemplates

Como vocês devem estar percebendo estou criando vários posts sobre search, por isso vou mostrar um exemplo de como criar um site collection de Search Center.

Copie este script e cole no bloco de notas e salve como .ps1

try
{

Add-PSSnapin Microsoft.SharePoint.PowerShell –ErrorAction SilentlyContinue

## defina as váriaveis
$webApplicationUrl = “http://server”

$siteCollectionUrl = “http://server/sites/SearchCenter”

$siteCollectionName = “Search Center”

$siteCollectionOwner1 = “Dominio\usuario1”

$siteCollectionOwner2 = “Dominio\usuario2”

$siteCollectionTemplate = “SRCHCEN#0”

## Verifica se a url especificada já existe
$SiteCollection = Get-SPSite $siteCollectionUrl -ErrorAction SilentlyContinue

if ($SiteCollection -ne $null)
{
Write-Host “Esta URL já está sendo utilizada ” $siteCollectionUrl
}
else
{
## Cria o site collection
New-SPSite -URL $siteCollectionUrl -OwnerAlias $siteCollectionOwner1 -SecondaryOwnerAlias $siteCollectionOwner2 -Name $siteCollectionName -Template $siteCollectionTemplate
Write-Host “Search Center criado com sucesso!”
}
}
catch
{
Write-Host -ForegroundColor red “Ocorreram alguns problemas ao tentar criar o search center”
}

 

Para criar um site collection para outro template qualquer somente alterar o template conforme a lista obtida anteriormente.

Abraços,

Carlos Citrangulo

The Search display templates are not present on this site collection.

Olá SharePointers,

Hoje me deparei com o seguinte erro ao utilizar o query builder na Central Administration:

“The Search display templates are not present on this site collection. To add them, you need to activate the “Search Server Web Parts and Templates” feature on the Site Collection Features page.

Display Error: The display template had an error. You can correct it by fixing the template or by changing the display template used in either the Web Part properties or Result Types.

Template ‘~sitecollection/_Catalogs/masterpage/DisplayTemplates/System/Control_QueryBuilderPreview.js’ not found or has sytax errors. (Load Template: ) ”

errosearch

Para resolver esse problema é simples, abra o Shell do SharePoint e execute o seguinte cmdLet:

Enable-SPFeature SearchWebParts -url http://<central admin url>

Execute novamente o query builder e verá que o problema foi resolvido.

 

Abraços,

Carlos Citrangulo

Criar Resultados Promovidos com PowerShell (Best Bets) no SharePoint 2013

Olá SharePointers,

Neste post quero mostrar como criar resultados promovidos no SharePoint 2013 com PowerShell. Fiz um post a uns dias atrás de como obter os resultados promovidos e me pediram para criar um para mostrar como criar.

Este script cria os resultados promovidos em nível de site collection.

$siteUrl = “http://sitecollectionurl&#8221;
$resultSourceName = “Local SharePoint Results”

$web = Get-SPWeb $siteUrl
$ssa = Get-SPEnterpriseSearchServiceApplication
$queryRuleManager = New-Object Microsoft.Office.Server.Search.Query.Rules.QueryRuleManager($ssa)
$site = Get-SPSite $siteUrl
$searchOwner = New-Object Microsoft.Office.Server.Search.Administration.SearchObjectOwner -ArgumentList @([Microsoft.Office.Server.Search.Administration.SearchObjectLevel]::SPSite,$site.RootWeb)
$searchObjectFilter = New-Object Microsoft.Office.Server.Search.Administration.SearchObjectFilter($searchOwner)
$federationManager = New-Object Microsoft.Office.Server.Search.Administration.Query.FederationManager($ssa)
$resultSource = $federationManager.GetSourceByName($resultSourceName,$searchOwner)
$queryRules = $queryRuleManager.GetQueryRules($searchObjectFilter)
$promotedResultCollection = $ssa.GetBestBets($searchObjectFilter)

function CreatePromotedResult([string]$title, [string]$url, [string]$description)
{
Write-Host “Creating Promoted Result ..” $title
$queryRule = $queryRules.CreateQueryRule($title,$null,$null,$true)
[string[]]$keywords = $title.split(‘ ‘)
$keywords += $title
$keywordCondition = $queryRule.QueryConditions.CreateKeywordCondition($keywords,$false)
$queryAction = $queryRule.CreateQueryAction([Microsoft.Office.Server.Search.Query.Rules.QueryActionType]::AssignBestBet)
#PromotedResult = BestBet
$promotedResult = $promotedResultCollection.CreateBestBet($title, $url, $description, $false)
#Map the best bet to the query action
$queryAction.BestBetIds.Add($promotedResult.Id);
#Update the query rule
$queryRule.Update()
$queryRule = $null
Write-Host “Created Promoted Result for” $title “Finished”
}

function DeleteAllPromotedResult([string]$ssaName)
{
$customQueryRules = $queryRuleManager.GetQueryRules($searchObjectFilter) | ?{$_.Owner.Level -ne $ssaName}
Write-Host “There are” $customQueryRules.Count “Customised Query Rules”

foreach($qryRule in $customQueryRules) {
Write-Host “Deleting Query Rule ” $qryRule.DisplayName
$ssa.RemoveQueryRule($qryRule)
}
$ssa.Update()
}

clear
CreatePromotedResult “Carlos Citrangulo” “http://carloscitrangulo.com.br&#8221; “Blog do Carlos Citrangulo”
CreatePromotedResult “Microsoft” “http://www.microsoft.com&#8221; “Portal Microsoft”

#DeleteAllPromotedResult “SSA”

 

Abraços,

Carlos Citrangulo

Obter lista de Resultados Promovidos no SharePoint 2013

Olá SharePointers,

Na governança do serviço de busca é importante documentar e todas as configurações bem como manter os arquivos de configuração em um local gerenciado e de conhecimento do time de governança.

Por isso, neste post quero mostrar como obter todos os resultados promovidos criados em um site collection com powershell.

#Script para obter os resultados promovidos

$SearchServiceName = “Search Service Application”
$sspApp = Get-SPEnterpriseSearchServiceApplication $SearchServiceName
$siteUrl = “http://portal/searchcenter”
$site = get-spsite $siteUrl -WarningAction SilentlyContinue
$web = $site.rootweb
$fedManager = New-Object Microsoft.Office.Server.Search.Administration.Query.FederationManager($sspApp)
$SearchOwner = New-Object Microsoft.Office.Server.Search.Administration.SearchObjectOwner([Microsoft.Office.Server.Search.Administration.SearchObjectLevel]::SPWeb, $web)
$SearchObjectFilter = New-Object Microsoft.Office.Server.Search.Administration.SearchObjectFilter($SearchOwner)
$queryRuleManager = New-Object Microsoft.Office.Server.Search.Query.Rules.QueryRuleManager($sspApp)
$queryRules = $queryRuleManager.GetQueryRules($searchObjectFilter)
$bestbets = $queryRuleManager.GetBestBets($SearchObjectFilter)
$promotedResults = $queryrules | Where-Object{$_.DisplayName -match “RP”}
$promotedResults | ForEach {
Write-Host “Query Rule Title: ” -ForegroundColor “Yellow” –NoNewLine
Write-Host $_.DisplayName -ForegroundColor “White”
Write-Host “Terms: ” -ForegroundColor “Yellow” –NoNewLine
Write-Host $_.QueryConditions.Terms -ForegroundColor “White”
Write-Host “Best Bet Title(s):” -ForegroundColor “Yellow” –NoNewLine
Write-Host -ForegroundColor “White” $_.AssignBestBetsAction.BestBetIds.GetBestBetsFromIds().Title
Write-Host “Best Bet URL(s):” -ForegroundColor “Yellow” –NoNewLine
Write-Host -ForegroundColor “White” $_.AssignBestBetsAction.BestBetIds.GetBestBetsFromIds().URL
Write-Output “Query Rule Title: ” $_.DisplayName
Write-Output “Terms: ” $_.QueryConditions.Terms
Write-Output “Best Bet Info: ” $_.AssignBestBetsAction.BestBetIds.GetBestBetsFromIds()} >> c:\temp\reportRP.txt

Neste caso utilizei uma query que obtenha uma lista de Resutados Promovidos que contenham PR no Display Name.

Abraços,

Carlos Citrangulo

 

WebCast – Explorando o Search do SharePoint

Olá SharePointers,

Rodrigo Romano e eu vamos iniciar uma série de web casts para abordar o Search Service do SharePoint 2013, esperamos poder contribuir falando sobre infraestrutura e desenvolvimento com o Search.

Agenda 1

30/03 – 21hs: Overview e provisionamento do Search – Link para participação

13/04 – 21hs: Utilizando o Search como acelerador de soluções

Abordaremos uma introdução ao Search do SharePoint e suas capacidades e como provisioná-lo de acordo com as boas práticas recomendadas pela Microsoft. E no próximo WebCast, como utilizar esse ambiente para acelerar o desenvolvimento de soluções de negócios sem utilizar códigos!

Abraços,

Carlos Citrangulo

Alterando o tempo de intervalo do crawl continuous

Olá SharePointers,

Neste post quero mostrar como alterar o tempo de intervalo do crawl continuous.

O tempo padrão do crawl continuous é de 15 minutos, esse tempo de intervalo não pode ser alterado pela Central Administration, somente através de script PowerShell, veja abaixo como alterar o intervalo para 1 minuto.

 $ssa = Get-SPEnterpriseSearchServiceApplication
 $ssa.SetProperty("ContinuousCrawlInterval", 1)

Espero que ajude.

Abraços,

Carlos Citrangulo

Como criar uma Web Application com PowerShell para SharePoint 2013

Olá SharePointers,

Neste post quero mostrar com um script simples como criar uma web application para SharePoint 2013 com powershell.

$autenticacao = New-SPAuthenticationProvider -UseWindowsIntegratedAuthentication -DisableKerberos

New-SPWebApplication -Name “Portal de Colaboração” -ApplicationPool “Default SharePoint WebApp” -Port 80 -Url http://collab.portal.com -AuthenticationMethod NTLM -ApplicationPoolAccount dominio\usuario -AuthenticationProvider $autenticacao -DatabaseName “Content_Portal2013”

Este script considera que o application pool já existe.
Aplica-se: SharePoint 2010, SharePoint 2013
Abraços,
Carlos Citrangulo

O que é um ambiente híbrido com Microsoft SharePoint?

Olá SharePointers,

Neste post quero explicar o que é um ambiente híbrido com Microsoft SharePoint, as vezes pode haver alguma confusão com o termo híbrido, por isso quero mostrar quais os cenários que são considerados híbridos para o SharePoint.