Les conditions dans les types de résultats : Types de contenus ou types de contenus ?

En allant plus avant dans la création de nouveaux types de résultats pour la présentation de résultats de recherche personnalisés, je me suis heurté à un élément de langage que je qualifierais pour le moins de déroutant.

D’où proviennent ces « types de contenus » (Figure 1-Liste des types de contenus) que l’on doit insérer comme condition d’un type de résultat. En cherchant dans les types de contenus de mon site, je n’ai rien trouvé comme correspondance.

result_types_1

result_types_2

Figure 1-Liste des types de contenus

La dénomination en anglais est légèrement moins déroutante (je plaisante) : on parle de « site content types » pour les types de contenus que vous connaissez déjà bien et de « types of content » (Figure 2) pour les éléments de conditions de « Result Types ».

result_types_3

Figure 2-Type of content

La liste des types de contenu (ou types of content) est non modifiable.

Elle provient d’un dictionnaire interne de type <string, PropertyRule> de la classe Microsoft.Office.Server.Search.Administration.MappedPropertyRules imbriquée dans la classe Microsoft.Office.Server.Search.Administration.PropertyRule

Le fait de sélectionner « Microsoft Word » comme type de contenu dans la liste est équivalent à définir les conditions suivantes sur la propriété personnalisée « FileType » : FileType= »docx » OR FileType= »doc » OR FileType= »docm » OR FileType= »dot » OR FileType= »dotx »

Pour être plus parlant les 2 cas suivants sont totalement identiques :

Cas 1 : Définition de conditions par type de contenu

result_types_4

Cas 2 : Définition de conditions par propriétés

result_types_5

Vous trouverez ci-dessous un tableau des équivalences :

Condition « Type de contenu » Condition avec propriétés personnalisées équivalentes
Microsoft Access
FileType="accdb" OR FileType="accdc"
OR FileType="accde" OR FileType="accdr"
OR FileType="accdt"
Microsoft Excel
FileType="xls" OR FileType="xlsx"
OR FileType="xlsm" OR FileType="xlsb"
OR FileType="xltm" OR FileType="xltx"
OR FileType="xlam"
Microsoft OneNote
FileType="one"
Microsoft PowerPoint
FileType="ppt" OR FileType="pptx"
OR FileType="pptm"
Microsoft Publisher
FileType="pub"
Microsoft Visio
FileType="vdw" OR FileType="vdx"
OR FileType="vsd" OR FileType="vss"
OR FileType="vst" OR FileType="vsx"
OR FileType="vtx"
Microsoft Word
FileType="docx" OR FileType="doc"
OR FileType="docm" OR FileType="dot"
OR FileType="dotx"
Discussion
StartsWith(ContentTypeId,"0x012002")
Répondre
StartsWith(ContentTypeId,"0x0107")
Courrier électronique
FileType="eml" OR FileType="msg"
OR FileType="exch"
Image
FileType="bmp" OR FileType="dib"
OR FileType="jpeg" OR FileType="png"
OR FileType="gif" OR FileType="rle"
OR FileType="wmf" OR FileType="ico"
OR FileType="wpd" OR FileType="odg"
OR FileType="tiff"
PDF
FileType="pdf"
Texte
FileType="odt" OR FileType="txt"
OR FileType="url" OR FileType="csv"
Vidéo SharePoint
StartsWith(ContentTypeId),"0x0120D520A808"
OR SecondaryFileExtension="wmv"
OR SecondaryFileExtension="avi"
OR SecondaryFileExtension="mpg"
OR SecondaryFileExtension="asf"
OR SecondaryFileExtension="mp4"
OR SecondaryFileExtension="ogg"
OR SecondaryFileExtension="ogv"
OR SecondaryFileExtension="webm"
XML
FileType="xml" OR FileType="infopathml"
Zip
FileType="zip"
Blog SharePoint
WebTemplate="blog"
Communauté SharePoint
WebTemplate="COMMUNITY"
Forum de discussion SharePoint
contentclass="sts_list_discussionboard"
OR contentclass="sts_listitem_discussionboard"
Bibliothèque de documents SharePoint
contentclass="sts_list_documentlibrary"
Liste SharePoint
contentclass="sts_list" OR contentclass="sts_list_432"
OR contentclass="sts_list_genericlist"
OR contentclass="sts_list_agenda"
OR contentclass="sts_list_announcements"
OR contentclass="sts_list_contacts"
OR contentclass="sts_list_events"
OR contentclass="sts_list_issuetracking"
OR contentclass="sts_list_links"
OR contentclass="urn:content-class:spspeople"
OR contentclass="sts_list_gantttasks"
OR contentclass="urn:content-classes:spssiteregistry"
OR contentclass="sts_list_tasks"
Billet Microblog SharePoint
StartsWith(ContentTypeId,
"0x01FD4FB0210AB50249908EAA47E6BD3CFE8B")
OR StartsWith(ContentTypeId,
"0x01FD59A0DF25F1E14AB882D2C87D4874CF84")
Bibliothèque d’images SharePoint
contentclass="sts_list_picturelibrary"
Site SharePoint
contentclass="sts_site"
OR contentclass="sts_web"
Enquête SharePoint
contentclass="sts_list_survey"
OR contentclass="sts_listitem_survey"
Wiki SharePoint
StartsWith(ContentTypeId),"0x010108")
OR StartsWith(ContentTypeId),
"0x010100C568DB52D9D0A14D9B2FD
CC96666E9F2007948130EC3DB06
4584E219954237AF39004C1F8B4
6085B4d22B1CDC3DE08CFFB9C")
Élément de la liste des bibliothèques d’images SharePoint
contentclass="sts_listitem_picturelibrary"
Élément de liste SharePoint
contentclass="sts_listitem_6510"
OR contentclass="sts_listitem_contacts"
OR contentclass="sts_listitem_events"
OR contentclass="sts_listitem_issuetracking"
OR contentclass="sts_listitem_links"
OR contentclass="urn:content-classes:spslisting"
OR contentclass="urn:content-class:spslisting:news"
OR contentclass="urn:content-classes:spspersonlisting"
OR contentclass="sts_listitem_gantttasks"
OR contentclass="urn:content-class:spssearchquery"
OR contentclass="urn:content-classes:spssitelisting"
OR contentclass="sts_listitem_tasks"
OR contentclass="urn:content-classes:spstextlisting"
OR contentclass="sts_listitem_genericlist"
Page web
FileType="html" OR FileType="mhtml"
AND contentclass!="sts_listitem_documentlibrary"
Fichier Vidéo
SecondaryFileExtension="wmv"
OR SecondaryFileExtension="avi"
OR SecondaryFileExtension="mpg"
OR SecondaryFileExtension="asf"
OR SecondaryFileExtension="mp4"
OR SecondaryFileExtension="ogg"
OR SecondaryFileExtension="ogv"
OR SecondaryFileExtension="webm"

Pour terminer, un petit script Windows PowerShell pour énumérer les types de résultats et leurs conditions par défaut au niveau d’une collection de sites. Il vous permettra de vérifier la correspondance entre une condition par défaut (type de contenu) et un ensemble de conditions personnalisées.

# Définition du site SharePoint
$siteUrl = "http://intranet.contoso.com";
$site = Get-SPSite $siteUrl;

# Définition d'un objet SearchObjectOwner
# pour récupérer le paramétrage de recherche
$searchOwner = New-Object 
  Microsoft.Office.Server.Search.Administration.SearchObjectOwner(
  [Microsoft.Office.Server.Search.Administration.SearchObjectLevel]::SPSite,
  $site.RootWeb);

# get current search service application
$sspApp = Get-SPEnterpriseSearchServiceApplication;

# Création d'un ResultItemTypeManager à partir
# d'une application de service de recherche
$resMgr = New-Object
  Microsoft.Office.Server.Search.Administration.ResultItemTypeManager($sspApp);

# Récupération des types de résultats liés
$resMgr.GetResultItemTypes($searchOwner, $false) | % {
  Write-Host ("{0}" -f $_.name) -foregroundcolor cyan;
  foreach ($pr in $_.Rules.PropertyRules) {
    Write-Host (" PropertyRule={0}" -f $pr) -foregroundcolor yellow;
  };
}

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s