Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Observação
Importante (atualização moderna do SharePoint): Este artigo descreve uma abordagem clássica do Servidor do SharePoint usando Web Parts de Pesquisa de Conteúdo, regras de consulta e código personalizado do lado do servidor.
No SharePoint moderno (SharePoint Online e Edição de Assinatura do SharePoint Server), essa abordagem foi preterida ou não é recomendada.
Resultados semelhantes agora podem ser obtidos usando o Direcionamento de Público, grupos do Microsoft Entra ID, Pesquisa da Microsoft e Web Parts modernas.
Exiba o conteúdo que você adapta para segmentos de usuário definidos - por exemplo, com base na localidade, interesses, gênero ou links de referência - usando uma combinação de conjuntos de termos, a Web Part de Pesquisa de Conteúdo e regras de consulta no SharePoint. O SharePoint fornece os blocos de construção para personalizar o conteúdo exibido em um site do SharePoint, dependendo de determinados atributos dos usuários finais, por exemplo, seu gênero, onde moram, seus interesses ou links de referência. Esses agrupamentos dos atributos do usuário são conhecidos como segmentos de usuários.
No SharePoint, essa funcionalidade de segmentação de usuário pode ser benéfica em muitos cenários, como:
- Exibir faixas diferentes em uma página dependendo do sexo do usuário final
- Exibindo diferentes ofertas de desconto dependendo da localidade do usuário final
- Exibição de artigos diferentes em uma página, dependendo do link de referência do usuário final (o site que trouxe o usuário final à sua página).
Para implementar a segmentação de usuários no SharePoint, você fará três coisas: criar um conjunto de termos para cada segmento de usuário, estender a Web Part de Pesquisa de Conteúdo para torná-la ciente de seus segmentos de usuário e, em seguida, usar regras de consulta para executar ações específicas para cada segmento de usuário.
Pré-requisitos
Antes de você começar a implementar a segmentação de usuário no SharePoint, certifique-se de ter o seguinte instalado em seu ambiente de desenvolvimento:
- SharePoint
- Visual Studio 2012
Este artigo pressupõe que você tenha experiência com o desenvolvimento de Web Parts no SharePoint. Para obter mais informações sobre o desenvolvimento de web parts, consulte Bloco de Construção: Web Parts.
Visão geral sobre como adicionar a funcionalidade de segmentação de usuário para seu site do SharePoint
Figura 1 mostra as etapas básicas para adicionar a funcionalidade de segmentação de usuário ao seu site do SharePoint.
Figura 1. Etapas para adicionar a funcionalidade de segmentação de usuários ao seu site do SharePoint
Criar um conjunto de termos
Um termo é uma palavra ou frase que pode ser associada a um item no SharePoint. Um conjunto de termos é um conjunto de termos relacionados. Para obter mais informações, consulte Visão geral de metadados gerenciados no SharePoint. Você pode criar conjuntos de termos por meio da ferramenta de gerenciamento do repositório de termos do SharePoint, ou programaticamente.
Observação
Consulte os artigos a seguir para obter instruções detalhadas sobre como usar a Ferramenta de Gerenciamento de Repositório de Termos para criar seu conjunto de termos:
Você pode criar um conjunto de termos programaticamente usando os tipos expostos por meio de Microsoft.SharePoint.Taxonomy . O exemplo de código a seguir mostra como criar um TermSet objeto e obter o NavigationTermSet. Em seguida, você pode criar Term objetos dentro do arquivo TermSet. Por fim, confirme essas alterações no TermStore e carregue o TermSet para usar para navegação.
Cada termo que você adicionar ao seu termo conjunto recebe um identificador exclusivo. Esse identificador é a chave para tornar a Web Part de Pesquisa de Conteúdo ciente de seus segmentos de usuário.
static void CreateNavigationTermSet(string siteUrl)
{
using (SPSite site = new SPSite(siteUrl))
{
using (SPWeb web = site.OpenWeb())
{
TaxonomySession taxonomySession = new TaxonomySession(site);
taxonomySession.UpdateCache();
TermStore termStore = taxonomySession.DefaultSiteCollectionTermStore;
// Create a TermSet object in a default site collection term group.
Group siteCollectionGroup = termStore.GetSiteCollectionGroup(site, createIfMissing: true);
TermSet termSet = siteCollectionGroup.CreateTermSet("Navigation Demo", Guid.NewGuid(), lcid: 1033);
// Obtain navigation term set.
NavigationTermSet navigationTermSet = NavigationTermSet.GetAsResolvedByWeb(termSet, web, "GlobalNavigationTaxonomyProvider");
// Create a term that points to a SharePoint page set at the term set level of hierarchy.
NavigationTerm term1 = navigationTermSet.CreateTerm("Term 1", NavigationLinkType.FriendlyUrl, Guid.NewGuid());
// Create a term that points to an already existing URL outside of SharePoint.
NavigationTerm term2 = navigationTermSet.CreateTerm("Term 2", NavigationLinkType.SimpleLink, Guid.NewGuid());
term2.SimpleLinkUrl = "http://www.bing.com/";
// Create a term that points to an existing SharePoint page.
NavigationTerm term3 = navigationTermSet.CreateTerm("Term 3", NavigationLinkType.FriendlyUrl, Guid.NewGuid());
// Save all changes to the term store.
termStore.CommitAll();
}
}
}
Criar uma web part personalizada para segmentação de usuário
No Visual Studio 2012, crie uma web part personalizada usando o modelo de Web Parts do Visual da categoria do SharePoint. Sua web part personalizada deve herdar do objeto web part de Pesquisa de Conteúdo .
Observação
Este artigo pressupõe que você tenha experiência com o desenvolvimento de Web Parts no SharePoint. Para obter mais informações sobre o desenvolvimento de web parts, consulte Bloco de Construção: Web Parts
Configurar uma Web Part personalizada com lógica de segmentação de usuários
Em sua web part personalizada, você pode implementar novamente o OnLoad() método ou o OnInit() método para executar sua lógica personalizada. Ambos os métodos são úteis para definir ou personalizar as propriedades do objeto da Web Part de Pesquisa de Conteúdo .
Exemplo 1: Adicionar segmentos de usuário masculino e feminino ao seu site do SharePoint
Para adicionar segmentos de usuário masculino e feminino , você pode implementar novamente o OnLoad() método conforme mostrado no código a seguir.
protected override void OnLoad(EventArgs e)
{
if (this.AppManager != null)
{
if (this.AppManager.QueryGroups.ContainsKey(this.QueryGroupName) && this.AppManager.QueryGroups[this.QueryGroupName].DataProvider != null)
{
this.AppManager.QueryGroups[this.QueryGroupName].DataProvider.BeforeSerializeToClient += new
BeforeSerializeToClientEventHandler(AddMycustomProperties);
}
}
base.OnLoad(e);
}
O método correspondente AddMycustomProperties seria semelhante ao código a seguir.
private void AddMycustomProperties(object sender, BeforeSerializeToClientEventArgs e)
{
DataProviderScriptWebPart dp = sender as DataProviderScriptWebPart;
string gender = (string)Page.Session["DataProvider.Gender"];
// Depends on what your DataProvider is: Facebook, LinkedIn, etc.
if (dp != null && gender != null)
{ try
{
// Set property to male or female GUID.
if (gender.CompareTo("female") == 0)
{
dp.Properties["TermSetName"] = new String[] { "TermUniqueIdentifier" };
// E.g. 47ba9139-a4c5-4ff0-8f9a-2864be32da92
}
else if(gender.CompareTo("male") == 0)
{
dp.Properties["UserSegmentTerms"] = new String[] { "TermUniqueIdentifier" };
// E.g. f5bf2195-2170-4b11-a018-a688a285e579
}
}
catch (ArgumentException exp)
{
// Do something with the exception.
}
}
}
Exemplo 2: Crie segmentos de usuário com base no tipo de navegador da Web que seu usuário final está usando ao
Para criar segmentos de usuário com base no tipo de navegador da Web que o usuário final está usando, para exibir o site do SharePoint, implemente novamente o método OnLoad , conforme mostrado no código a seguir.
protected override void OnLoad(EventArgs e)
{
if (this.AppManager != null)
{
if (this.AppManager.QueryGroups.ContainsKey(this.QueryGroupName) && this.AppManager.QueryGroups[this.QueryGroupName].DataProvider != null)
{
this.AppManager.QueryGroups[this.QueryGroupName].DataProvider.BeforeSerializeToClient += new
BeforeSerializeToClientEventHandler(AddMycustomProperties);
}
}
base.OnLoad(e);
}
O código do AddMycustomProperties método seria semelhante ao exemplo a seguir.
private void AddMycustomProperties(object sender, BeforeSerializeToClientEventArgs e)
{
DataProviderScriptWebPart dataProvider = sender as DataProviderScriptWebPart;
SPSite site = SPContext.Current.Site;
TaxonomySession session = new TaxonomySession(site);
TermStore defaultSiteCollectionStore = session.DefaultSiteCollectionTermStore;
List<string> userSegmentTerms = new List<string>();
var userAgentparts = Page.Request.UserAgent.Split(new char[] { ';', '(', ')' });
foreach (var part in userAgentparts)
{
var entry = part.Trim();
var terms = termStore.GetTermsWithCustomProperty("UserAgent", entry, false);
if (terms.Count > 0)
{
userSegmentTerms.Add(terms[0].Id.ToString());
}
}
dataProvider.Properties["UserSegmentTerms"] = userSegmentTerms.ToArray();
}
Carregar a Web Part personalizada na Galeria de Web Parts do SharePoint
Para usar a Web Part personalizada em sua página, você precisa carregar a Web Part na Galeria de Web Parts do SharePoint.
No SharePoint Web Part Gallery, escolha Configurações do Site e, em seguida, escolha Web parts em Galerias de Web Designer. Na guia arquivos, selecione Carregar documento.
Adicionar regras de consulta para realizar ações específicas que dependem do segmento do usuário
Uma regra de consulta transforma consultas para aumentar a relevância dos resultados da pesquisa por reagir de forma inteligente para que o usuário talvez esteja tentando localizar. Em uma regra de consulta, você pode especificar condições e ações correlatas. Quando uma consulta atende às condições em uma regra de consulta, o sistema de pesquisa executa as ações especificadas na regra para aumentar a relevância dos resultados da pesquisa, como limitar os resultados ou alterar a ordem na qual os resultados são exibidos.
Ao implementar a segmentação de usuário, você usa regras de consulta para definir as condições e ações para os segmentos de usuário definidos. Quando um usuário final faz parte de um segmento de usuário específico, a regra de consulta é ativada e a Web Part de Pesquisa de Conteúdo exibe conteúdo adaptado para esse segmento de usuário específico.
Para criar uma regra de consulta que ativará um segmento de usuário específico
No seu conjunto de sites de publicação em Configurações do Site, escolha Administração do conjunto de sites e, em seguida, escolha As regras de consulta de pesquisa.
Escolha uma fonte de resultados e clique em Nova regra de consulta.
Digite um nome de regra no campo Nome da regra. Em seguida, selecione para expandir o contexto.
Na seção A consulta é executada por esses segmentos de usuário , escolha Um desses segmentos de usuário e selecione Adicionar segmento de usuário.
No campo título, digite um nome para esta regra de consulta de segmento do usuário. Escolha Adicionar termos de segmento de usuário.
Na caixa de diálogo Importar do termo armazenar, expanda o Serviço de metadados gerenciados. Em Conjunto de Sites, localize o conjunto de termos que contém os termos de segmentação de usuário que você definiu anteriormente em Criar um conjunto de termos. Selecione o segmento de usuário para o qual você deseja aplicar esta regra de consulta. Em seguida, selecione Salvar.
Nomeie a caixa de diálogo Adicionar segmento do usuário de seu n de segmento do usuário.
Agora você ter mapeado uma regra de consulta a um segmento de usuário, que por sua vez, é mapeado para um termo de segmento do usuário.
Sob Condições de consulta, escolha Remover condição.
Isso especifica que a consulta configurada na Web Part de Pesquisa de Conteúdo atuará como a condição de consulta.
Defina as ações correspondentes que executará a regra de consulta. Na seção ações, selecione uma ação correspondente que você deseja obter como resultado - sua regra de consulta. Você pode optar por Adicionar resultados promovidos ou Adicionar um bloco de resultado.
Salve a regra de consulta.
Repita as etapas de 1 a 10 para outros segmentos de usuários, dependendo das ações que você deseja executar.
Adicionar uma Web Part personalizada à página do SharePoint e configurá-la para mostrar a regra de consulta
Você precisa adicionar sua web part personalizada à sua página do SharePoint.
Para adicionar sua web part personalizada
- Navegue até uma página de categoria, escolha Editar página e escolha Editar modelo de página.
- Selecione Adicionar uma Web Part na seção superior da página. Em seguida, selecione sua web part personalizada no menu suspenso no canto superior direito da web part.
- Selecione Editar Web Part.
- Expanda a seção configurações e no campo de Tabela de resultado, escolha SpecialTermResults.
- Salve a configuração.