Archives pour mars, 2012

Logo SharePoint

SharePoint 2010: Une étendue de recherche avec un ContentType spécifique

0

Filtrer une recherche par un ou plusieurs ContentType spécifiques, peut être une idée intéressante si on souhaite contrôler les résultats d’une recherche SharePoint, et ne montrer à l’utilisateur que ce qu’on veut qu’il voit.

La configuration de base du l’application du service de la recherche ne le permet pas, mais pour le faire il suffit de cocher une toute petite case.

Toutes les propriétés indexées, et susceptibles d’être recherchées, se trouvent dans rubrique « Metadata Properties » du Service de la Recherche, et le ContentType en fait partie, mais pouvoir créer une étendue de recherche (Search Scope) en se basant sur le ContentType, il faut:

  • Aller sur la console d’administration centrale de SharePoint 2010
  • Cliquer sur « Manage service applications »
  • Cliquer sur « Search Service Application » de votre choix
  • Cliquer sur « Managed Properties »
  • Editer la proprieté « ContentType »
  • Cocher la case « Allow this property to be used in scopes »

    Managed Properties - ContentType

    Managed Properties - ContentType

  • cliquer sur « OK »

Une fois cette partie est terminée, place maintenant à la création de l’étendue (Scope):

  • Cliquer sur « Scopes »
  • Cliquer sur « New Scope »
  • Donner le titre souhaité et cliquer sur « OK »
  • Cliquer sur « Add rules »
  • Cocher « Property Query »
  • Selectionnez « ContentType » dans « Add property restrictions »
  • Taper le nom de votre ContentType
  • Choisir « Include » si on veut le rechercher, ou « Exclude » si on veut éviter qu’il remonte dans les résultats de la recherche.
    Règle de l'étendue de recherche - ContentType

    Règle de l'étendue de recherche - ContentType

  • Cliquer sur « OK »
  • Attendre la mise à jour de l’étendue, ou la mettre à jour manuellement à partir de la page d’accueil de l’administration du service

Après cette configuration, votre étendue contiendra l’ensemble des éléments qui correspondent au paramétrage précédemment fait.

Logo SharePoint

SharePoint 2010: Désactiver la propagation automatique des variations

0

Si vous cherchez comment désactiver la propagation automatique des variations de SharePoint 2010, sachez que ce n’est faisable que via Powershell.

Le code suivant permet de le faire:

$site = Get-SPSite "<VariationURL>"
$folder = $site.RootWeb.GetList($site.RootWeb.Url + "/Relationships List").RootFolder
$folder.Properties.Add("DisableAutomaticPropagation", $true)
$folder.Update()
$site.Close()

Et celui-ci, permet d’annuler l’action d’avant:

$site = Get-SPSite "<VariationURL>"
$folder = $site.RootWeb.GetList($site.RootWeb.Url + "/Relationships List").RootFolder
$folder.Properties.Remove("DisableAutomaticPropagation")
$folder.Update()
$site.Close()

Sachez aussi, qu’une fois la propagation des variations est manuelle, aucune page ne sera créée ni modifiée automatiquement, pour y parvenir, il faut:

  • Aller sur la page source, qui doit être publiée
  • Aller sur l’onglet « Publier »
  • Cliquer sur « Créer » ou « Mettre à jour »
  • Lancer les job de variations, ou attendre qu’ils soient lancés automatiquement
Logo SharePoint

SharePoint 2010: Exporter en CSV la liste des pages de publication via Powershell

0

Si vous cherchez à récupérer la liste des pages de publication d’une collection de site, ce petit script vous aidera à le faire:

$CsvFileName = "PublishingPagesList.csv"
$CsvHeader = 'Site$MasterURL$URL$WebTemplate$Title$FileName$CT$Layout'

$CsvHeader | Out-File $CsvFileName
$site = Get-SPSite -Identity "http://mawebapp/macollection/"
$site | Get-SPWeb -limit all | ForEach-Object 
{
    if ([Microsoft.SharePoint.Publishing.PublishingWeb]::IsPublishingWeb($_)) 
	{
        $publishingWeb = [Microsoft.SharePoint.Publishing.PublishingWeb]::GetPublishingWeb($_)
        $publishingPages = $publishingWeb.GetPublishingPages()
        foreach ($publishingPage in $publishingPages)
        {
            $_.Title  +"$"+ $_.MasterUrl +"$"+ $_.ServerRelativeUrl +"$"+ $_.WebTemplate`
			+"$"+ $publishingPage.Title +"$"+ $publishingPage.Name +"$"+ $publishingPage.ContentType.Name`
			+"$"+ $publishingPage.Layout.Name |Out-File $CsvFileName -append
        }
    }
    $_.Dispose()
}
$site.Dispose()
Haut de page