Partilhar via


Metadados e navegação gerenciados no SharePoint

Tópico de visão geral conceitual

Saiba mais sobre metadados gerenciados da empresa (EMM) e recursos de navegação no SharePoint.

Aprimoramentos de recursos de metadados gerenciados no SharePoint para desenvolvedores

Você pode usar metadados gerenciados para criar taxonomias e estratégias de marca que atendem às necessidades de negócios específicos e detalhados. No SharePoint, o conjunto de API de metadados gerenciados básicos é expandido e aprimorado para fornecer mais recursos e suporte a cenários.

Modelo de objeto do cliente .NET (CSOM) oferecem suporte a APIs de metadados gerenciados

O CSOM do SharePoint dá suporte à personalização e ao desenvolvimento da taxonomia. Taxonomia está disponível no cliente (CSOM), Silverlight e JavaScript modelos de programação do .NET. Desenvolvendo com ele é logicamente semelhante ao desenvolvimento com o modelo de programação do .NET server. Você pode ser bastante útil para desenvolver soluções CSOM para oferecer suporte a cenários onde ler o conteúdo é mais comuns do que a criação ou administrando a ele. Você precisará usar o CSOM para habilitar o uso de taxonomia em um cenário de nuvem, como SharePoint Online ou por um subconjunto de cenários que estão disponíveis no local.

Quando você deseja criar um novo projeto CSOM no Visual Studio que usa a funcionalidade de taxonomia, defina as seguintes referências:

  • Microsoft.SharePoint.Client.dll
  • Microsoft.SharePoint.Client.Runtime.dll
  • Microsoft.SharePoint.Client.Taxonomy.dll

Desenvolvendo personalizações com CSOM é muito semelhante ao desenvolver soluções do .NET server taxonomia: obter uma referência para o objeto TaxonomySession e o objeto TermStore, objetos Group, objetos TermSet e objetos de Term necessários para a sessão.

Exemplos de código: Operações básicas com o CSOM de taxonomia

Você pode usar os exemplos de código a seguir para concluir as operações básicas com a taxonomia CSOM. O exemplo primeiro cria um objeto Group, um objeto TermSet e objetos Term. O segundo exemplo itera em um objeto Group e grava o seu conteúdo.

private void CreateColorsTermSet(string siteUrl)
{
  ClientContext clientContext = new ClientContext(siteUrl);

  TaxonomySession taxonomySession = TaxonomySession.GetTaxonomySession(clientContext);
  clientContext.Load(taxonomySession,
      ts => ts.TermStores.Include(
        store => store.Name,
        store => store.Groups.Include(group => group.Name)
      )
  );
  clientContext.ExecuteQuery();

  if( taxonomySession != null ) {
    TermStore termStore = taxonomySession.GetDefaultSiteCollectionTermStore();
    if (termStore != null) {
      //
      //  Create group, termset, and terms.
      //
      TermGroup myGroup = termStore.CreateGroup("MyGroup",Guid.NewGuid());
      TermSet myTermSet = myGroup.CreateTermSet("Color",Guid.NewGuid(), 1033);
      myTermSet.CreateTerm("Red", 1033,Guid.NewGuid());
      myTermSet.CreateTerm("Orange", 1033,Guid.NewGuid());
      myTermSet.CreateTerm("Yellow", 1033,Guid.NewGuid());
      myTermSet.CreateTerm("Green", 1033,Guid.NewGuid());
      myTermSet.CreateTerm("Blue", 1033,Guid.NewGuid());
      myTermSet.CreateTerm("Purple", 1033,Guid.NewGuid());

      clientContext.ExecuteQuery();
    }
  }
}

private void DumpTaxonomyItems(string siteUrl)
{
   ClientContext clientContext = new ClientContext(siteUrl);

   //
   // Load up the taxonomy item names.
   //
    TaxonomySession taxonomySession =TaxonomySession.GetTaxonomySession(clientContext);
   TermStore termStore = taxonomySession.GetDefaultSiteCollectionTermStore();
    clientContext.Load(termStore,
            store => store.Name,
            store => store.Groups.Include(
                group => group.Name,
                group => group.TermSets.Include(
                    termSet => termSet.Name,
                    termSet => termSet.Terms.Include(
                        term => term.Name)
                )
            )
    );
    clientContext.ExecuteQuery();


  //
  //Writes the taxonomy item names.
  //
  if( taxonomySession != null ) {
    if (termStore != null) {
      foreach(TermGroup group in termStore.Groups) {
        Console.WriteLine("Group " + group.Name);
        foreach(TermSet termSet in group.TermSets ) {
          Console.WriteLine("TermSet " + termSet.Name);
          foreach(Term term in termSet.Terms) {
            //Writes root-level terms only.
            Console.WriteLine("Term " + term.Name);
          }
        }
      }
    }
  }
}

Fixação

In Microsoft SharePoint Server 2010, users could reuse terms (and all terms nested under the reused terms) in other locations in the term hierarchy. After these terms were reused, they could be modified and changes would be seen everywhere the terms were reused. O SharePoint apresenta a fixação de termo. A pinned term is just like a term that is reused, except it is read only and cannot be changed in the locations where the term is reused. Para obter um exemplo, consulte Como usar o código para fixar termos em conjuntos de termos de navegação no SharePoint.

Suporte de modo de exibição de folha de dados para tipos de coluna de metadados de gerenciados

No SharePoint, a funcionalidade de exibição de folha de dados foi alterada. Agora, a folha de dados usa uma ação de clique duplo para abrir o modo de exibição padrão para a edição de grade. Agora você pode editar as colunas de metadados usando os mesmos recursos que estão disponíveis quando você editar itens individuais. Isso inclui o acesso ao conjunto de termos que está por trás da coluna. Esse recurso é tudo sobre trazendo a funcionalidade de modificação de metadados disponível ao editar um item individual à edição de folha de dados.

Navegação gerenciada

Navegação gerenciada usa gerenciados recursos de metadados, como a capacidade de itens de marca com termos e gerenciar termos em um repositório de termos, para fornecer navegação de site altamente personalizada. A navegação estruturada que depende da infraestrutura do SharePoint também ainda está disponível no SharePoint.

URLs amigáveis

URLs amigáveis são um formato de URL mais curto exibido na barra de endereço da maioria das páginas, incluindo a página de boas-vindas do seu site de publicação do SharePoint. Eles são SEO amigável e apareçam nos resultados da pesquisa.

Suporte para novos cenários

Um gerente do repositório de termos pode aperfeiçoar e expandir o termo modelos de uso com base em mais flexível e poderosa funcionalidade de metadados gerenciados no :

  • Link para outro conjunto de sites e exibir os termos dos outros. Se você deseja disponibilizar seu termo conjunto para outros conjuntos de sites se conectou ao serviço metadados gerenciados, crie um global term set. Se você deseja criar um conjunto de termos particulares que está disponível somente para um conjunto de sites específico, quando ele está armazenado no serviço de metadados gerenciados, crie um local term set.
  • Impedir que os usuários utilizem palavras-chave fora de um conjunto de termos específicos.
  • Obtenha suporte multilíngue adicional, incluindo suporte para tradução automatizada e LCIDs flexíveis.
  • Para a criação programática de campos de taxonomia usando o Modelo de Objeto do SharePoint Server, consulte o exemplo: Classe TaxonomyField
  • Para a criação programática de campos de taxonomia usando o CSOM (Modelo de Objeto Lateral do Cliente do SharePoint), você pode usar um padrão semelhante ao acima levando em consideração o seguinte exemplo: Concluir operações básicas usando o código da biblioteca de clientes do SharePoint

Não há suporte para cenários para trabalhar com as definições de site personalizadas

  • O SharePoint não dá suporte à criação de campos de taxonomia (colunas de site de metadados gerenciados) declarativamente por meio da definição XML.
  • O SharePoint não dá suporte ao uso de campos de taxonomia (colunas de site de metadados gerenciados) em modelos de site.
  • Para obter mais informações, consulte Suporte da Microsoft Artigo #898631: Cenários com suporte e sem suporte

Confira também