Content Search Web Part: filtrare elementi sulla base di query variable multiple value

Posted on September 16, 2013

0


La mia esigenza è quella di filtrare una serie di annunci (tutti dello stesso content type, ma disseminati in differenti liste), consentendo al singolo utente di visualizzare nella Home Page della Intranet solo quelli di proprio interesse.

Come fare?

1. Creare un term set “Argomento Annunci” con i termini desiderati (ex. Evento, Meeting, Nuovi Assunti, …)

2. Prevedere nel content type Annuncio, una site column di tipo Managed Metadata “Argomento” agganciato al term set appena creato

3. Creare una User Property “Argomenti Annunci di interesse” agganciato al term set appena creato, così da consentire agli utenti di scegliere, dal proprio profilo, gli argomenti di interesse.
NB In questo caso la user properties sarà Multiple Choice, poiché gli utenti potrebbero avere più di un argomento di interesse

4. Inserire in Home Page una Content Search Web Part e configurarla in modo che visualizzi solo gli annunci di argomento corrispondente ad uno degli argomenti che l’utente ha definito come di interesse.

Condivido la query, perché trovare la sintassi giusta mi è costato un po’ di tempo:

image

La parte della query che mi interessa è la seconda metà:

{|owstaxIdArgomento:{User.ArgomentoInteresse}}

con la sintassi {|ManagedProperty:{User.UserProperty}

invece che:

owstaxIdArgomento:{User.ArgomentoInteresse}

invece della sintassi ManagedProperty:{User.UserProperty}

Sostanzialmente in questo modo, secondo la sintassi Keyword Query (KQL), la query viene interpretata, in modo che i valori memorizzati nella proprietà multiple value vengano separati e considerati in OR.

Infatti se si passa, sempre col query builder, in modalità TEST, è possibile vedere che la query viene tradotta come segue:

ContentTypeId:0x010400A0D4F59446B1D047B5B07EE0BB6781D3* ((owstaxIdArgomento:#04ccf3afd-c105-4ac7-b165-d998f58cc4ac) OR (owstaxIdArgomento:#0dc6b217f-f46a-40c0-b475-6530001a1698))

La cosa che mi ha fatto un poco “alterare” (non con SharePoint, non sia mai!) è che ho investito un discreto numero di minuti prima di trovare una soluzione e la soluzione era sotto i miei occhi.

Ovvero era l’ultimo paragrafo di un articolo che è la Bibbia di chi lavora con la Content Search Web Part: http://technet.microsoft.com/en-us/library/jj683123.aspx

A me era sfuggito, da qui il senso di questo post Sorriso

Advertisements
Posted in: SharePoint