Metadados e navegação gerenciados no SharePoint

Tópico de visão geral conceitual

Saiba mais sobre os metadados geridos pela empresa (EMM) e as funcionalidades de navegação no SharePoint.

Melhorias da funcionalidade de metadados geridos no SharePoint para programadores

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 básico de API de metadados geridos é expandido e melhorado para fornecer mais capacidades e suporte de cenários.

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

A CSOM do SharePoint suporta a personalização e o 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 Servidor do SharePoint 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 introduz afixação de termos. 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. Por exemplo, veja Como: Utilizar código para afixar termos a 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 vista 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 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 com o Modelo de Objeto do Servidor do SharePoint, veja o exemplo: Classe TaxonomyField
  • Para a criação programática de campos de taxonomia com o Modelo de Objetos do Lado do Cliente do SharePoint (CSOM), pode utilizar um padrão semelhante ao acima, tendo em consideração o seguinte exemplo: Concluir operações básicas com o código de biblioteca de cliente do SharePoint

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

  • O SharePoint não suporta a criação declarativa de campos de taxonomia (colunas de sites de metadados geridos) através da definição XML.
  • O SharePoint não suporta a utilização de campos de taxonomia (colunas de sites de metadados geridos) em modelos de site.
  • Para obter mais informações, veja Suporte da Microsoft Artigo #898631: Cenários suportados e não suportados

Confira também