Rodrigo Romano – MVP SharePoint Server

Registros de um Especialista SharePoint :)

Posts Tagged ‘Desenvolvimento; Object Model; Audiências;

Trabalhando com audiências programaticamente no SharePoint

with one comment


Olá SharePointers,

Atuando em mais um projeto de SharePoint, surgiu a necessidade de customizar um MENU onde precisaríamos utilizar a audiência para controlar se determinados controles estariam habilitados e não visíveis como é feito nativamente.

Primeiro passo é incluir como referência na solução 2 dlls:

  • Microsoft.Office.Server.dll
  • Microsoft.Office.Server.UserProfiles.dll
    Com isso, podemos utilizar a classe AudienceManager. Segundo a Microsoft, essa classe é o ponto de partida quando falamos na feature de Audiência para o SharePoint.

Esse método precisa de 2 parâmetros:

  1. Uma string, que contém uma representação da audiência.
  2. Um boolean, para ‘Untargeted Audiences’

Abaixo, coloquei um exemplo de como pegar todos os Nós do QuickLaunch e utilizando a Audiência do nó para verificar se o usuário atual pertence ou não.

SPNavigationNodeCollection nodes = SPContext.Current.Web.Navigation.QuickLaunch;
foreach (SPNavigationNode nd in nodes)
{
  object audienceValue = nd.Properties["Audience"];
  if (audienceValue != null && !string.IsNullOrEmpty(audienceValue.ToString()))
  {
     if (!AudienceManager.IsCurrentUserInAudienceOf(audienceValue.ToString(), 
                                           true))
     {
         // FAzer alguma coisa
     }
  }
}

 

#FicaADica Smiley piscando

Advertisements

Written by Rodrigo Romano

November 23, 2011 at 9:43 am