SharePoint

Audiences en het Content Query mysterie

4 februari 2014

Het Content by Query Web Part (Inhoudsquery) biedt op een eenvoudige manier de mogelijkheid om items binnen één site verzameling te presenteren. Er zijn vele opties om de databron die je wilt raadplegen te filteren/groeperen/sorteren. En voor wie zich graag met XSL transformaties bezighoudt is er de mogelijkheid om de presentatie van de items geheel zelf te bepalen door middel van een aangepaste itemstijl. In dit blogartikel wil ik geen betoog houden voor het Content Query Web Part, ik geloof dat iedere optie om items aan de gebruiker te presenteren zo zijn voor- en nadelen heeft.

Testing

Ik wil het wel hebben over één specifieke functionaliteit van het WebPart: “Apply audience filtering” of in het Nederlands: “Doelgroepfilter toepassen”.

AudienceCQ_1

Wanneer deze optie aan staat wordt de data die uit het geconfigureerde filter komt alleen aan de gebruiker getoond als het item aan ten minste 1 doelgroep is gericht waar hij of zij lid van is. Als de onderste optie ook geselecteerd is dan worden – hoe simpel – ook de items gepresenteerd die aan geen enkele doelgroep zijn gericht.

Tot zo ver het te verwachten gedrag. Wanneer dit Web Part wordt geconfigureerd met een item limiet, kan je je verwachting vaarwel zeggen.

AudienceCQ_2

Van een van onze klanten kregen we te horen dat een gebruiker uit een bepaalde doelgroep ‘soms’ minder dan 3 items te zien kreeg. Iets dat we absoluut niet verwacht hadden. In de onderliggende lijst waren duidelijk meer dan 3 items die aan de query voldeden, en aan de betreffende doelgroep waren gericht. Na verschillende situaties nagebootst te hebben heeft dotPeek (een .NET decompiler die ik graag gebruik) het mysterie uiteindelijk ontrafeld. In de class ContentByQueryWebPart is namelijk de volgende regel te vinden:

AudienceCQ_3

Google translate C# -> Nederlands geeft dan: Als doelgroepfilter toepassen aanstaat vermenigvuldig dan het item limiet met 5.

Die 5 is een constante die terug te vinden is in de class ContentByQueryWebPartConstants

AudienceCQ_4

Wat SharePoint doet als het doelgroepfilter is toegepast is dus het volgende:

[listdot]

  • Haal (5 x item limiet) items op met de filter- en sorteerinstellingen
  • Kijk in welke doelgroepen de huidige gebruiker zit
  • Filter de items die niet aan een van die doelgroepen zijn gekoppeld uit de dataset
  • Limiteer de terug te geven dataset tot het originele item limiet

[/listdot]

Als de teruggegeven set van 3×5=15 items geen items bevat voor de doelgroep van de huidige gebruiker dan zal het Content Query Web Part dus ook géén items tonen. Ook wanneer er buiten die eerste 15 items wel items zijn voor de huidige gebruiker. Dit is iets dat volgens mij niet vermeld staat in de publieke planningsdocumentatie van Microsoft, maar naar mijn mening wel zeer belangrijk om te weten op het moment dat je overweegt om gebruik te gaan maken van doelgroepfiltering.

You Might Also Like

2 reacties

  • avatar
    Reply Maurits Knoppert 4 februari 2014 at 20:07

    Bedankt voor je artikel. Ik ben toevallig net bezig met inhoudsquery en doelgroepen. Goed om te weten dat dit “probleem zou kunnen gaan spelen.”

  • avatar
    Reply Probleem met het gebruik van Inhoudsquery met doelgroepen | Office 365 in het Onderwijs 10 juni 2014 at 13:35

    […] Audiences en het Content Query mysterie […]

  • Plaats een reactie