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.
Apresente o conteúdo que personaliza para segmentos de utilizador que define , por exemplo, com base na região, interesses, género ou ligações de referência, utilizando uma combinação de conjuntos de termos, a peça Web Pesquisa de Conteúdos e regras de consulta no SharePoint. O SharePoint fornece os blocos modulares para personalizar o conteúdo que mostra num site do SharePoint, consoante determinados atributos dos utilizadores finais, por exemplo, o respetivo género, onde vivem, os seus interesses ou ligações de referência. Esses agrupamentos dos atributos do usuário são conhecidos como segmentos de usuários.
No SharePoint, esta funcionalidade de segmentação de utilizadores pode ser vantajosa em muitos cenários, tais como:
Exibindo faixas diferentes em uma página, dependendo do gênero do usuário final
Exibir o desconto diferente oferece dependendo da localidade do usuário final
Apresentar diferentes artigos numa página consoante a ligação do referenciador do utilizador final (o site que trouxe o utilizador final para a sua página).
Para implementar a segmentação de utilizadores no SharePoint, irá fazer três ações: criar um conjunto de termos para cada segmento de utilizador, expandir a peça Web Pesquisa de Conteúdos para que tenha conhecimento dos segmentos de utilizador e, em seguida, utilizar regras de consulta para efetuar ações específicas para cada segmento de utilizador.
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 tem experiência no desenvolvimento de peças Web no SharePoint. Para obter mais informações sobre o desenvolvimento de peças Web, consulte Bloco Modular: peças Web
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. Passos para adicionar a funcionalidade de segmentação de utilizadores ao seu site do SharePoint
Criar um conjunto de termos
Um termo é uma palavra ou expressão que pode ser associada a um item no SharePoint. Umconjunto de termos é um conjunto de termos relacionados. Para obter mais informações, veja Descrição geral dos metadados geridos 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
Veja os tópicos seguintes para obter instruções detalhadas sobre como utilizar a Ferramenta de Gestão do Arquivo de Termos para criar o seu conjunto de termos:>Configurar um novo conjunto> de termosCriar e gerir termos num conjunto de termos
Pode criar um conjunto de termos através de programação através dos tipos expostos através de Microsoft.SharePoint.Taxonomia . O exemplo de código a seguir mostra como criar um objeto TermSet e obter o NavigationTermSet. Em seguida, você cria objetos de Term dentro de sua TermSet. Finalmente, confirmar essas alterações para o TermStore e carregar TermSet a ser usado para navegação.
Cada termo que você adicionar ao seu termo conjunto recebe um identificador exclusivo. Este identificador é a chave para que a peça Web Pesquisa de Conteúdo tenha conhecimento dos seus segmentos de utilizador.
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 peça Web personalizada para segmentação de utilizadores
No Visual Studio 2012, crie uma peça Web personalizada com o modelo peças Web Visual da categoria SharePoint. A peça Web personalizada tem de herdar do objeto de peça Web Pesquisa de Conteúdo .
Observação
Este artigo pressupõe que tem experiência no desenvolvimento de peças Web no SharePoint. Para obter mais informações sobre o desenvolvimento de peças Web, consulte Bloco Modular: peças Web
Configurar uma peça Web personalizada com lógica de segmentação de utilizador
Na sua peça Web personalizada, pode voltar a implementar o OnLoad() método ou o OnInit() método para executar a sua lógica personalizada. Ambos os métodos são úteis para definir ou personalizar propriedades do objeto de peça Web Pesquisa de Conteúdo .
Exemplo 1: Adicionar segmentos de utilizadores masculinos e femininos ao seu site do SharePoint
Para adicionar segmentos de utilizadores masculinos e femininos , pode voltar a implementar o OnLoad() método, conforme mostrado no seguinte código.
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 AddMycustomProperties correspondente será 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: Criar segmentos de usuários com base no tipo de navegador da Web que o usuário final está usando quando
Para criar segmentos de utilizador com base no tipo de browser que o utilizador final está a utilizar, para ver o seu site do SharePoint, implemente novamente o método OnLoad , conforme mostrado no código seguinte.
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 para o método AddMycustomProperties poderia ter uma aparência semelhante ao seguinte exemplo.
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 peça Web personalizada para a Galeria de Peças Web do SharePoint
Para utilizar a peça Web personalizada na sua página, tem de carregar a peça Web para a Galeria de Peças Web 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 utilizador final faz parte de um segmento de utilizador específico, a regra de consulta será ativada e a peça Web Pesquisa de Conteúdo apresentará conteúdo adaptado para esse segmento de utilizador 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, clique para expandir o contexto.
Na seção consulta é executada por esses segmentos de usuários, escolha um desses segmentos de usuário e, em seguida, clique em Adicionar segmento do 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 Coleção de Sites, localize o conjunto de termos que contém os termos de segmentação de utilizador que 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, clique em 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.
Isto especifica que a consulta configurada na peça Web Pesquisa de Conteúdo funcionará 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 peça Web personalizada à página do SharePoint e configurá-la para mostrar a regra de consulta
Tem de adicionar a sua peça Web personalizada à sua página do SharePoint.
Para adicionar a peça Web personalizada
Navegue até uma página de categoria, escolha Editar página e escolha Editar modelo de página.
Selecione Adicionar uma peça Web na secção superior da página. Em seguida, selecione a peça Web personalizada no menu pendente no canto superior direito da peça Web.
Clique em Editar peça Web.
Expanda a seção configurações e no campo de Tabela de resultado, escolha SpecialTermResults.
Salve a configuração.