Compartilhar via


Recursos de metadados, sites de publicação e navegação no site do SharePoint

Este artigo explica como gerenciar metadados e personalizar recursos de site de navegação e publicação no SharePoint Online usando o modelo de suplemento. Ele também aborda maneiras de trabalhar com padrões comuns de programação da Web e bibliotecas para ajudar a personalizar a identidade visual do site de publicação do SharePoint.

Termos e conceitos

Tabela 1. Principais metadados, navegação e conceitos de publicação

Termo ou conceito Descrição e diretrizes
Web Part de Pesquisa de Conteúdo Uma Web Part do SharePoint que exibe conteúdo de pesquisa dinâmica em páginas de maneiras que você pode formatar facilmente. Para obter mais informações, confira: Configurar Web Parts de Pesquisa no SharePoint Server, Configurar uma Web Part de Pesquisa de Conteúdo no SharePoint, Pesquisar recursos no SharePoint Online
ContentTypeId Identificadores exclusivos de tipos de conteúdo que foram projetados para serem recursivos. Para obter mais informações, consulte Classe ContentTypeId (CSOM).
Tipo de conteúdo Uma coleção reutilizável e centralizada de metadados (colunas), fluxo de trabalho, comportamento e outras configurações para uma categoria de informações. Para obter informações, consulte:- Colunas, Criando tipos de conteúdo, Informações personalizadas em tipos de conteúdo
Hub do Tipo de Conteúdo Parte do aplicativo de serviço de metadados gerenciados, que é um site do hub que publica tipos de conteúdo para outras coleções de sites. Permite que você publique, republice e desmarque tipos de conteúdo de um local central. Para obter informações, consulte:- Publicar um tipo de conteúdo de um hub de publicação de conteúdo, exibir logs de erro para publicação de tipo de conteúdo
Canais de dispositivo Um método para renderizar páginas de sites de publicação de várias maneiras usando designs diferentes que visam vários dispositivos. Para obter mais informações, consulte Adicionar um snippet do Painel do Canal do Dispositivo no SharePoint.
Modelo de exibição Usados em web parts que usam a tecnologia de pesquisa, os modelos de exibição controlam a renderização dos resultados das consultas feitas no índice de pesquisa. Os modelos de exibição estão disponíveis para todas as Web Parts da Pesquisa. Para obter mais informações, confira Exibir referência de modelo no SharePoint Server.
Navegação gerenciada Navegação no site alimentada pelo serviço de metadados gerenciados do SharePoint (taxonomia). Use-o para criar a navegação do site derivada de uma taxonomia de metadados gerenciados. A navegação gerenciada geralmente funciona melhor com o catálogo de produtos.
Metadados gerenciados Uma coleção hierárquica de termos gerenciados centralmente que você pode usar para definir e atribuir itens no SharePoint.Você pode usar metadados gerenciados para gerenciar a publicação de tipo de conteúdo e criar taxonomias. No SharePoint e no SharePoint Online, o serviço de metadados gerenciados é usado para criar navegação gerenciada— navegação no site alimentada por taxonomia. Para obter mais informações, confira: Personalizando controles de navegação e provedores no SharePoint Server 2010 (ECM), Introdução a metadados gerenciados, Introdução a metadados gerenciados no SharePoint Server 2010, administração de metadados gerenciados (SharePoint Server 2010), metadados gerenciados e navegação no SharePoint, navegação gerenciada no SharePoint, Migração de metadados gerenciados no SharePoint Server 2010
Namespace de navegação Contém classes CSOM (modelo de objeto cliente) que dão suporte à navegação do site para sites de publicação.
Namespace taxonomia Contém classes CSOM que dão suporte a recursos de taxonomia. Para obter mais informações, consulte Sincronizar grupos de termo exemplo Suplemento do SharePoint.
Fixação Semelhante à reutilização de um termo, fixar mantém uma relação compartilhada entre o termo de origem e a instância de reutilização. Por exemplo, a relação compartilhada pode abranger coleções de sites em um cenário de publicação entre sites. Sempre que o termo é adicionado ou removido, essa ação é atualizada em toda a hierarquia em qualquer lugar em que o termo é fixado. Para obter mais informações, consulte Usar código para fixar termos em conjuntos de termos de navegação no SharePoint.
Catálogo de produtos Para obter informações, consulte o seguinte:- Publicação entre sites no SharePoint, Configurar publicação entre sites no SharePoint Server
Trecho de código Uma parte da funcionalidade HTML que você pode adicionar ao arquivo HTML gerado pelo Gerenciador de Design. Por exemplo, talvez você queira adicionar um painel do Device Channel à sua página de publicação— há um snippet para isso. Os artigos a seguir fornecem alguns exemplos: Adicionar um snippet do Painel do Canal de Dispositivo no SharePoint, Adicionar um snippet de zona da Web Part no SharePoint, Adicionar um snippet de Corte de Segurança no SharePoint
Navegação estruturada Para obter informações sobre como usar a navegação estruturada, consulte Como personalizar a navegação no SharePoint Server 2010 (ECM).

Pré-requisitos para usar o CSOM para marcar sites de publicação

Por padrão, o conteúdo da Web publicado em sites locais do SharePoint voltados para o público está disponível para usuários anônimos. Por padrão, o CSOM e o REST não estão disponíveis para usuários anônimos.

Importante

Esse cenário apresenta uma ameaça potencialmente séria para sites locais do SharePoint. Antes de usar o modelo de provisionamento remoto descrito em Usar provisionamento remoto para marcar páginas do SharePoint para provisionar a identidade visual em sites de publicação, verifique se a segurança e as permissões do site estão definidas corretamente e considere as implicações de segurança do acesso anônimo.

No caso de o administrador do site criar um novo aplicativo Web que inclua uma coleção de sites que usa o modelo de publicação e também habilita o acesso anônimo, o acesso anônimo estará disponível para todos os usuários do site quando o aplicativo for carregado no catálogo de suplementos. Como o acesso anônimo está habilitado para o site de publicação local do SharePoint, o que acontece se um usuário que não está autenticado navegar até o site?

Se você criar um suplemento hospedado no SharePoint e adicionar uma parte de suplemento do cliente ao projeto, acesse Suplementos da Administração> CentralGerenciar Catálogo de Suplementos e crie um catálogo desuplementos> para o aplicativo Web, publique o suplemento hospedado pelo SharePoint usando o Visual Studio para criar o pacote de suplementos e carregue o pacote de suplementos no catálogo de suplementos. Neste ponto, o administrador do conjunto de sites pode adicionar o suplemento ao site de publicação. O suplemento agora está disponível para adicionar a uma página no site de publicação.

Se você editar a página main do site de publicação e publicar o suplemento a ele, o suplemento funcionará conforme o esperado. Escolher o título vinculado do suplemento carrega a experiência de página inteira. Se o SharePoint gerar um erro, isso significa que o usuário anônimo não tem acesso para usar o CSOM. Isso faz sentido porque o CSOM e o REST não estão disponíveis por padrão para usuários anônimos.

Esteja ciente de que desabilitar o uso de permissões de Interfaces Remotas pode introduzir um risco de segurança

Em Permissões de Site, a caixa marcar de permissão Exigir Uso de Interfaces Remotas é selecionada por padrão. Você pode limpar a caixa usar a marcar de permissão Usar Interfaces Remotas para permitir que usuários anônimos tenham acesso para usar CSOM e REST. Isso dissocia o usuário de Usar permissões de Interfaces Remotas, o que concede ao usuário acesso a SOAP, WebDAV e CSOM. Limpar a caixa de marcar também remove a capacidade de usar o Designer do SharePoint.

Pode haver momentos em que você deseja remover a capacidade de usar o SharePoint Designer, mas ainda permitir o uso do CSOM. A caixa usar a marcar de permissão Usar Interfaces Remotas permite que usuários anônimos usem o CSOM sem exigir que eles tenham permissões de Uso de Interfaces Remotas. Quando a caixa usar a permissão Usar Interfaces Remotas marcar for desmarcada e você escolher o título vinculado do suplemento para carregar a experiência de página inteira, o SharePoint não gerará um erro. O código básico de tratamento de erros interpreta esse caso como um usuário anônimo.

Cuidado

  • Ao adicionar aplicativos a sites do SharePoint voltados para o público que usam o modelo de Publicação, não desmarque a caixa Usar permissões de Interfaces Remotas marcar em Permissões de Site. Habilitar o CSOM para usuários anônimos apresenta um possível risco de divulgação de informações; ele divulga muito mais informações do que você poderia prever. Dito isto, mesmo com o acesso ao CSOM completo, as permissões do SharePoint ainda se aplicam. Usuários anônimos só poderão ver listas ou itens que foram explicitamente disponibilizados para usuários anônimos. Mais do que o que você vê na página da Web está disponível para usuários anônimos por meio de CSOM e REST.
  • A menos que seja absolutamente necessário, não desmarque a caixa de permissão Exigir Usar Interfaces Remotas marcar quando as permissões de acesso anônimo estiverem habilitadas em um site de publicação local do SharePoint. Isso pode expor o conteúdo do site publicado e não publicado a usuários anônimos e pode deixar seu site aberto a um ataque de negação de serviço.

Usar o recurso ViewFormPagesLockdown

Para impedir que os usuários acessem páginas de formulários (por exemplo, Pages/Forms/AllItems.aspx) em um site do SharePoint voltado para o público, use o recurso ViewFormPagesLockdown . Ele foi projetado para impedir que os usuários vejam informações criadas por e modificadas por . Esse recurso remove a permissão para exibir páginas de aplicativo ou usar interfaces remotas. Quando esse recurso está ativo, os usuários não podem acessar Páginas/Formulários/AllItems.aspx e exibir itens nessa biblioteca.

Se o CSOM e o REST estiverem disponíveis para todos os usuários anônimos, se a caixa Usar permissões de Interfaces Remotas marcar for desmarcada, embora ainda não possam ver informações criadas por e modificadas pelo navegador, elas poderão usar CSOM ou REST para acessar essas informações.

Configurar o acesso anônimo (corte de segurança)

Ao configurar o acesso anônimo para o aplicativo Web, você especifica a política anônima: Negar gravação— Não tem acesso à gravação . Isso significa que os usuários com acesso anônimo não podem gravar no site, mesmo com o código CSOM ou REST. Os usuários anônimos só podem ver as informações concedidas a eles quando o acesso anônimo ao site foi configurado.

Páginas não publicadas não são visíveis para usuários anônimos por padrão. Eles só podem ver listas que habilitam o acesso anônimo.

Importante

Se a caixa Usar permissões de Interfaces Remotas marcar for desmarcada, use o modelo de permissões e outras precauções para garantir que os usuários anônimos não tenham acesso a coisas que não deveriam.

Impedir ataques de negação de serviço

Não há cache com CSOM. Isso significa que um invasor mal-intencionado pode consultar milhares de itens de listas simultaneamente, tudo isso mantendo-se sob o limite de exibição de lista padrão e tributando o banco de dados do SharePoint. Isso pode se espalhar e escalar para um ataque de negação de serviço.

Usar política somente aplicativo

Você pode usar a política somente aplicativo com suplementos hospedados pelo provedor. A política somente aplicativo permite que o suplemento execute ações que o usuário atual não está autorizado a executar. Por exemplo, um usuário com permissões somente leitura que é notável para gravar em uma lista pode usar um suplemento com permissões somente de aplicativo para gravar em uma lista.

Para obter mais informações, confira Autorização e autenticação de Suplementos do SharePoint e Compreensão de Autenticação e Permissões com Aplicativos para SharePoint e Office (vídeo do Canal 9).

Implementar o SSL

Ao usar o modelo de suplemento, implemente o protocolo SSL (Secure Sockets Layer) para gerenciar a segurança das transmissões de mensagens na Internet. O SSL funciona pelo site remoto, enviando um token de acesso na Autorização de cabeçalho HTTP com um valor de Portador + uma cadeia de caracteres codificada base64 (não criptografada).

Importante

O SSL protege seu site de publicação do SharePoint contra invasores que desejam acessar um token de autorização e explorar esse acesso.

Sites de provisionamento e publicação remotos

Você pode usar práticas de provisionamento remoto para provisionar identidade visual e outras personalizações em sites de publicação do SharePoint.

Os sites de publicação dependem dos tipos de conteúdo e do ContentTypeId, que vincula tipos de conteúdo a layouts de página e modelos de exibição. Personalizar e provisionar o conteúdo da página de publicação do SharePoint depende dessa funcionalidade. Outros aspectos do comportamento de provisionamento de site de publicação personalizado, como serviços de metadados gerenciados e navegação gerenciada, não dependem do ContentTypeId e têm suporte total no CSOM.

Outras opções de personalização do site de publicação, como canais de dispositivo e modelos de exibição, não exigem CSOM personalizado. Eles dependem de recursos do Design Manager, CSS e HTML. São personalizações pós-provisionamento que você cria do zero e não precisa migrar.

Metadados gerenciados

O recurso de metadados gerenciados, introduzido pela primeira vez no SharePoint 2010, permite definir uma hierarquia personalizada, ou taxonomia, de marcas de metadados para uso no SharePoint. Se você quiser criar uma navegação personalizada do site, poderá usar o recurso de navegação gerenciada, que é criado na infraestrutura de metadados gerenciados.

Uma taxonomia é uma classificação hierárquica de palavras, rótulos ou termos organizados em grupos com base em semelhanças. A menor unidade em uma taxonomia do SharePoint é o termo. Os termos podem ser agrupados em conjuntos de termos. Os conjuntos de termos podem ser agrupados por afinidade em grupos maiores.

Para obter uma breve introdução à taxonomia no SharePoint, confira Uma breve introdução aos Metadados Gerenciados da Empresa no SharePoint 2010 e Introdução a metadados gerenciados no SharePoint 2010.

O SharePoint 2013 introduziu novas APIs e funcionalidades ao conjunto de recursos de metadados gerenciados.

Modelo de programação de metadados gerenciados

Para o SharePoint, o modelo de programação do .NET Server para metadados gerenciados é definido no seguinte conjunto de namespaces:

As classes CSOM equivalentes estão no namespace Client.Taxonomy .

Ao contrário de algumas outras áreas do modelo de objeto do SharePoint, para metadados gerenciados, há uma afinidade próxima entre as classes e membros do modelo de programação do .NET Server e as classes e membros do CSOM.

Veja a seguir algumas diferenças importantes:

  • O CSOM não dá suporte à sincronização de tipo de conteúdo.
  • A classe Group , que representa a camada superior da organização na classe TermStore , só está disponível no modelo de objeto do .NET Server. Seu equivalente no CSOM é a classe TermGroup .
  • A classe GroupCollection, que representa uma coleção de objetos Group, só está disponível no modelo de objeto do .NET Server. Seu equivalente no CSOM é a classe TermGroupCollection .
  • O CSOM inclui as classes CustomPropertyMatchInformation e LabelMatchInformation que mantêm dados de propriedade e rótulo personalizados em sincronia com o servidor.

A tabela a seguir compara classes no modelo de objeto do .NET Server e no modelo de objeto CSOM.

Tabela 2. Comparação de classes nos dois modelos

Modelo de objeto do .NET Server API do CSOM equivalente
Microsoft.SharePoint.Taxonomy.ChangedGroup Microsoft.SharePoint.Client.Taxonomy.ChangedGroup
Microsoft.SharePoint.Taxonomy.ChangedItem Microsoft.SharePoint.Client.Taxonomy.ChangedItem
Microsoft.SharePoint.Taxonomy.ChangedItemCollection Microsoft.SharePoint.Client.Taxonomy.ChangedItemCollection
Microsoft.SharePoint.Taxonomy.ChangedItemType Microsoft.SharePoint.Client.Taxonomy.ChangedItemType
Microsoft.SharePoint.Taxonomy.ChangedOperationType Microsoft.SharePoint.Client.Taxonomy.ChangedOperationType
Microsoft.SharePoint.Taxonomy.ChangedSite Microsoft.SharePoint.Client.Taxonomy.ChangedSite
Microsoft.SharePoint.Taxonomy.ChangedTerm Microsoft.SharePoint.Client.Taxonomy.ChangedTerm
Microsoft.SharePoint.Taxonomy.ChangedTermSet Microsoft.SharePoint.Client.Taxonomy.ChangedTermSet
Microsoft.SharePoint.Taxonomy.ChangedTermStore Microsoft.SharePoint.Client.Taxonomy.ChangedTermStore
Não aplicável. Microsoft.SharePoint.Client.Taxonomy.ChangeInformation
Não aplicável. Microsoft.SharePoint.Client.Taxonomy.CustomPropertyMatchInformation
Microsoft.SharePoint.Taxonomy.FeatureIds Não aplicável.
Microsoft.SharePoint.Taxonomy.Group Não aplicável.
Microsoft.SharePoint.Taxonomy.HiddenListFullSyncJobDefinition Não aplicável.
Microsoft.SharePoint.Taxonomy.ImportManager Não aplicável.
Microsoft.SharePoint.Taxonomy.Label Microsoft.SharePoint.Client.Taxonomy.Label
Microsoft.SharePoint.Taxonomy.LabelCollection Microsoft.SharePoint.Client.Taxonomy.LabelCollection
Não aplicável. Microsoft.SharePoint.Client.Taxonomy.LabelMatchInformation
Microsoft.SharePoint.Taxonomy.MobileTaxonomyField Microsoft.SharePoint.Client.Taxonomy.MobileTaxonomyField
Microsoft.SharePoint.Taxonomy.StringMatchOption Microsoft.SharePoint.Client.Taxonomy.StringMatchOption
Microsoft.SharePoint.Taxonomy.TaxonomyField Microsoft.SharePoint.Client.Taxonomy.TaxonomyField
Microsoft.SharePoint.Taxonomy.TaxonomyFieldControl Não aplicável.
Microsoft.SharePoint.Taxonomy.TaxonomyFieldEditor Não aplicável.
Microsoft.SharePoint.Taxonomy.TaxonomyFieldValue Microsoft.SharePoint.Client.Taxonomy.TaxonomyFieldValue
Microsoft.SharePoint.Taxonomy.TaxonomyFieldValueCollection Microsoft.SharePoint.Client.Taxonomy.TaxonomyFieldValueCollection
Microsoft.SharePoint.Taxonomy.TaxonomyItem Microsoft.SharePoint.Client.Taxonomy.TaxonomyItem
Microsoft.SharePoint.Taxonomy.TaxonomyItemPicker Não aplicável.
Microsoft.SharePoint.Taxonomy.TaxonomyRights Não aplicável.
Microsoft.SharePoint.Taxonomy.TaxonomySession Microsoft.SharePoint.Client.Taxonomy.TaxonomySession
Microsoft.SharePoint.Taxonomy.TaxonomyWebTaggingControl Não aplicável.
Microsoft.SharePoint.Taxonomy.Term Microsoft.SharePoint.Client.Taxonomy.Term
Microsoft.SharePoint.Taxonomy.TermCollection Microsoft.SharePoint.Client.Taxonomy.TermCollection
Não aplicável. Microsoft.SharePoint.Client.Taxonomy.TermGroup
Não aplicável. Microsoft.SharePoint.Client.Taxonomy.TermGroupCollection
Microsoft.SharePoint.Taxonomy.TermProperty Não aplicável.
Microsoft.SharePoint.Taxonomy.TermPropertyToolPart Não aplicável.
Microsoft.SharePoint.Taxonomy.TermSet Microsoft.SharePoint.Client.Taxonomy.TermSet
Microsoft.SharePoint.Taxonomy.TermSetCollection Microsoft.SharePoint.Client.Taxonomy.TermSetCollection
Microsoft.SharePoint.Taxonomy.TermSetItem Microsoft.SharePoint.Client.Taxonomy.TermSetItem
Microsoft.SharePoint.Taxonomy.TermStore Microsoft.SharePoint.Client.Taxonomy.TermStore
Microsoft.SharePoint.Taxonomy.TermStoreCollection Microsoft.SharePoint.Client.Taxonomy.TermStoreCollection
Microsoft.SharePoint.Taxonomy.TermStoreOperationException Não aplicável.
Microsoft.SharePoint.Taxonomy.TreeControl Não aplicável.

Layouts de página

Para sites de publicação, o layout da página define o layout de uma classe específica de páginas. Ele também define as regiões personalizáveis de uma página com espaços reservados de conteúdo, que são preenchidas pelo conteúdo de regiões correspondentes em layouts de página. Os layouts de página geralmente são baseados em um tipo de conteúdo personalizado. Os tipos de conteúdo definem campos de conteúdo personalizados que você deseja exibir em uma página. Normalmente, você criará um tipo de conteúdo personalizado que inclui campos que mapeiam para o design da página que você ou sua equipe de design haviam planejado anteriormente.

Os controles de campo personalizados podem incluir texto, imagens, vídeo ou outros tipos de conteúdo. O SharePoint fornece tipos de conteúdo para Artigo, Catálogo, Página de Boas-Vindas e muito mais. Acesse os tipos de conteúdo do layout da página acessando Tipos deConteúdo do Sitede Configurações> do Site. Esses tipos de conteúdo de layout de página padrão podem servir como tipos de conteúdo pai para um tipo de conteúdo personalizado que você cria.

Todos os tipos de conteúdo de layout de página herdam do tipo de conteúdo de página. Depois de criar um tipo de conteúdo personalizado, o SharePoint exibe as colunas que o novo tipo de conteúdo herdou do tipo de conteúdo page. Você pode adicionar novas colunas de site para representar novos campos personalizados que deseja exibir no layout da página. Especifique um tipo para cada coluna do site. Um tipo é um valor como "linha única de texto" ou "HTML Completo". Considere fatores como o grau de descritividade ou controle que o usuário deve ter com o campo quando você especificar seu tipo.

Depois de criar todos os campos que armazenam o conteúdo em seu layout de página, você pode criar o layout da página no Design Manager. Para mais informações, consulte Criar um layout de página no SharePoint.

Depois de criar o layout da página, publique-o acessando páginas mestras de Configurações> do Sitee layouts de página. Um arquivo HTML e um arquivo ASPX estão presentes. O arquivo HTML é o master e você pode usar qualquer editor HTML para editá-lo. Depois de salvar o arquivo e publicá-lo, o Design Manager incorpora alterações e converte o arquivo HTML atualizado no formato ASPX, que o SharePoint usa para renderizar a página. Para publicar o layout da página, selecione o arquivo HTML e escolha Publicar na faixa de opções.

Para criar uma página com base no novo layout, acesseLayouts da Páginanova página>> para ver o novo layout de página na lista de layouts de página disponíveis. Ao escolher o novo layout de página, você deverá ver todos os novos campos especificados ao criar um novo tipo de conteúdo para o novo layout de página. Se você exibir a página e o HTML não estiver renderizando do jeito que você espera, poderá editar o HTML e usar o Design Manager para carregar o arquivo atualizado.

Há quatro tipos de navegação no site:

  • Navegação global
  • Navegação local
  • Navegação estruturada
  • Navegação gerenciada

A navegação global refere-se a elementos de navegação que ajudam os usuários a passar de um site do SharePoint para outro.

A navegação local refere-se à navegação em um site do SharePoint.

A navegação estruturada e gerenciada está um pouco mais envolvida.

Navegação estruturada

A navegação estruturada é uma abordagem estática para implementar a navegação em sites do SharePoint. Ele geralmente corresponde à estrutura da empresa, o que requer a reestruturação da navegação do site do SharePoint. O trabalho de reestruturação geralmente significa mover subsites e/ou páginas e atualizar links para apontar para novos destinos.

A navegação estruturada pode ser suficiente para estruturas de site bastante planas e rasas se a estrutura da sua empresa (e, portanto, a estrutura do site) estiver estável por longos períodos de tempo. Para estruturas de sites mais profundas e complexas e empresas com estruturas de navegação de sites de publicação que precisam crescer e mudar dinamicamente, a navegação gerenciada pode ser uma opção melhor.

Para obter mais informações sobre navegação estruturada, consulte Como personalizar a navegação no SharePoint Server 2010.

Navegação gerenciada

A navegação gerenciada é criada no site de publicação principal e na infraestrutura de taxonomia. A navegação gerenciada está associada a uma única coleção de sites. Ele usa conjuntos de termos e termos para definir a navegação global e local. Por exemplo, você pode criar um conjunto de termos que define a navegação global em geral e, em seguida, adicionar termos a esse termo definido para elementos de navegação específicos na navegação global.

Você pode encontrar mais informações sobre navegação gerenciada nos seguintes artigos:

Veja a seguir alguns pontos importantes de alto nível sobre classes, métodos e propriedades no modelo de extensibilidade de navegação do SharePoint para sites de publicação:

  • As classes NavigationTerm e NavigationTermSet adicionam propriedades e métodos específicos para navegação gerenciada. O estado adicional é armazenado na propriedade CustomProperties da classe NavigationTerm .
  • As classes NavigationTerm e NavigationTermSet têm dois modos: editável e somente leitura. No modelo de objeto do .NET Server, os objetos NavigationTerm são armazenados no cache de navegação de taxonomia, que só pode ser acessado por funções na classe estática TaxonomyNavigation .
  • Os objetos PortalSiteMapNodeProvider no modelo de objeto do .NET Server fornecem uma interface entre os recursos de navegação do site controlados por dados e as fontes de dados do mapa do site. Normalmente, você grava um provedor de nó de mapa de site personalizado para armazenar mapas de sites em um arquivo XML ou em um formato de dados que não tem suporte pelo SharePoint por padrão.

O CSOM inclui algumas classes e enumerações exclusivas:

  • A enumeração NavigationLinkType define o tipo de nó de navegação em uma árvore de navegação. Você pode especificar um nó como um nó raiz, uma URL amigável ou um link padrão.
  • A enumeração StandardNavigationScheme identifica a navegação como global ou local.
  • A enumeração StandardNavigationSource inclui três opções para navegação global e navegação local. Cada escolha representa um estado que corresponde à configuração de provedores subjacentes.
  • A classe StandardNavigationSettings gerencia os esquemas de navegação globais e locais.

A tabela a seguir lista as classes de navegação de publicação no modelo de objeto do servidor e seus equivalentes CSOM.

Tabela 3. Publicando classes de navegação

Modelo de objeto do servidor CSOM
Microsoft.SharePoint.Publishing.Navigation.CachedObjectSiteMapNode Não aplicável.
Microsoft.SharePoint.Publishing.Navigation.NavigationComparer Não aplicável.
Não aplicável. Microsoft.SharePoint.Client.Publishing.Navigation.NavigationLinkType
Microsoft.SharePoint.Publishing.Navigation.NavigationTerm Microsoft.SharePoint.Client.Publishing.Navigation.NavigationTerm
Não aplicável. Microsoft.SharePoint.Client.Publishing.Navigation.NavigationTermCollection
Microsoft.SharePoint.Publishing.Navigation.NavigationTermSet Microsoft.SharePoint.Client.Publishing.Navigation.NavigationTermSet
Microsoft.SharePoint.Publishing.Navigation.NavigationTermSetItem Microsoft.SharePoint.Client.Publishing.Navigation.NavigationTermSetItem
Microsoft.SharePoint.Publishing.Navigation.NavigationTermSetView Microsoft.SharePoint.Client.Publishing.Navigation.NavigationTermSetView
Microsoft.SharePoint.Publishing.Navigation.PortalHierarchicalDataSourceView Não aplicável.
Microsoft.SharePoint.Publishing.Navigation.PortalHierarchicalEnumerable Não aplicável.
Microsoft.SharePoint.Publishing.Navigation.PortalHierarchyData Não aplicável.
Microsoft.SharePoint.Publishing.Navigation.PortalListItemSiteMapNode Não aplicável.
Microsoft.SharePoint.Publishing.Navigation.PortalListSiteMapNode Não aplicável.
Microsoft.SharePoint.Publishing.Navigation.PortalNavigation Não aplicável.
Microsoft.SharePoint.Publishing.Navigation.PortalSiteMapDataSource Não aplicável.
Microsoft.SharePoint.Publishing.Navigation.PortalSiteMapDataSourceSwitch Não aplicável.
Microsoft.SharePoint.Publishing.Navigation.PortalSiteMapNode Não aplicável.
Microsoft.SharePoint.Publishing.Navigation.PortalSiteMapProvider Não aplicável.
Microsoft.SharePoint.Publishing.Navigation.PortalWebSiteMapNode Não aplicável.
Microsoft.SharePoint.Publishing.Navigation.ProxySiteMapNode Não aplicável.
Microsoft.SharePoint.Publishing.Navigation.SiteNavigationSettings Não aplicável.
Microsoft.SharePoint.Publishing.Navigation.SiteNavigationSettingsWriter Não aplicável.
Microsoft.SharePoint.Publishing.Navigation.SPNavigationSiteMapNode Não aplicável.
Não aplicável. Microsoft.SharePoint.Client.Publishing.Navigation.StandardNavigationSource
Não aplicável. Microsoft.SharePoint.Client.Publishing.Navigation.StandardNavigationSettings
Microsoft.SharePoint.Publishing.Navigation.TaxonomyNavigation Microsoft.SharePoint.Client.Publishing.Navigation.TaxonomyNavigation
Microsoft.SharePoint.Publishing.Navigation.TaxonomyNavigationCacheConfig Não aplicável.
Microsoft.SharePoint.Publishing.Navigation.TaxonomyNavigationCacheStatistics Não aplicável.
Microsoft.SharePoint.Publishing.Navigation.TaxonomyNavigationContext Não aplicável.
Microsoft.SharePoint.Publishing.Navigation.TaxonomySiteMapNode Não aplicável.
Microsoft.SharePoint.Publishing.Navigation.TaxonomySiteMapProvider Não aplicável.
Microsoft.SharePoint.Publishing.Navigation.WebNavigationSettings Microsoft.SharePoint.Client.Publishing.Navigation.WebNavigationSettings

Recursos do site de publicação

O SharePoint e o SharePoint Online incluem alguns recursos específicos para sites de publicação do SharePoint:

  • Os canais de dispositivo permitem que você aplique um único design de site de publicação a vários dispositivos e navegadores.
  • Os modelos de exibição tornam possível marcar e personalizar a aparência de web parts relacionadas à pesquisa.
  • As representações de imagem definem as dimensões usadas para exibir imagens em páginas em sites de publicação do SharePoint.

Você pode implementar esses recursos usando classes no namespace Publicar do modelo de programação CSOM.

Canais do dispositivo e painéis de canais do dispositivo

Você pode usar canais de dispositivo e painéis de canal de dispositivo para otimizar seu site para telefones e tablets. Ao criar um canal exclusivo para cada dispositivo que você deseja direcionar, você pode renderizar um site de publicação do SharePoint de mais de uma maneira. Você pode criar um único site uma vez e mapear o site e seu conteúdo para diferentes master páginas e planilhas de estilo para acomodar destinos diferentes.

Você cria canais usando o Gerenciador de Design. Depois de criar um canal, mapee-o para o dispositivo móvel ou navegador com a cadeia de caracteres do agente de usuário do dispositivo de entrada.

Um dispositivo pode pertencer a mais de um canal. Nesse caso, você pode classificar canais no caso de pertencer a um dispositivo. Por exemplo, se você criar um canal para smartphones e um canal para uma configuração de dispositivo específica, poderá classificar os canais para que os dispositivos com a configuração específica obtenham o canal para eles e todos os outros smartphones obtenham o canal de smartphones.

Você pode criar até 10 canais (incluindo o canal padrão) no Design Manager. O canal padrão captura todo o tráfego não capturado por um dos outros canais. Ao criar um novo canal, conclua os campos listados na tabela a seguir.

Tabela 4. Canais de dispositivo

Campo Obrigatório ou opcional? Descrição
Nome Obrigatório Identifica o canal para distingui-lo de outros.
Alias de canal Obrigatório Como o código, a cadeia de caracteres de consulta, cookies ou Painéis de Canal de Dispositivo distinguem as diferenças entre os canais.
Regras de inclusão de dispositivo Obrigatório As substrings do agente de usuário que direcionam solicitações de dispositivos (cada um deve estar em uma linha diferente).
Descrição Opcional Descreve o que esse canal faz.
Ativo Opcional Quando verificado, o canal usa os ativos relacionados para o canal para direcionar o tráfego. Caso contrário, a cadeia de caracteres ?DeviceChannel=<alias> de consulta visualiza o site no canal.

Painéis de canal do dispositivo

Depois de criar canais de dispositivo, mapeie uma página de master para cada um deles. Como as personalizações de página master são cada vez mais raras, geralmente essa é a página padrão master (seattle.master). Se você criar uma página de master exclusiva para um ou mais canais de dispositivo, você poderá referenciar um arquivo CSS diferente da página master para o canal padrão. Layouts de página que você cria funcionam com cada canal que você cria. Você pode usar o controle Painel do Canal do Dispositivo para diferenciar designs de layout de página entre canais.

Para obter mais informações, consulte Adicionar um snippet do Painel do Canal do Dispositivo no SharePoint.

O painel do canal do dispositivo é um controle de contêiner mapeado para um ou mais canais. Você pode adicionar um controle de painel de canal de dispositivo a um layout de página e o painel controlará qual conteúdo é renderizado em cada canal. Quando um ou mais desses canais estão ativos quando a página é renderizada, todo o conteúdo do painel do canal do dispositivo é renderizado. Use o painel do canal do dispositivo para determinar quando incluir conteúdo específico para um ou mais canais específicos.

Considere um layout de página que inclui dez campos. Alguns desses campos estão disponíveis para todos os canais, e alguns só devem ser renderizados em canais específicos. Por exemplo, considere um campo de faixa de cabeçalho móvel que renderiza apenas em smartphones ou uma barra lateral personalizada grande que renderiza apenas em desktops e tablets.

Você também pode usar o painel do canal do dispositivo para alterar o estilo e o posicionamento do conteúdo em uma página adicionando CSS específico do canal.

Para obter mais informações, consulte Snippets de marca usando CSS no SharePoint.

Cadeias de caracteres do agente de usuário e canais de dispositivo

Uma cadeia de caracteres de agente de usuário é uma pequena cadeia de dados que identifica o navegador. Essas informações podem ser enviadas para o servidor, que identifica o agente de usuário. Os canais de dispositivo atribuem uma solicitação a um canal de dispositivo correspondente com base na cadeia de caracteres de agente de usuário (ou substrings) do dispositivo (ou navegador) do qual o usuário está navegando. O desenvolvedor Web de front-end cria e configura canais para capturar o tráfego.

Para obter mais informações, consulte O que o Windows Internet Explorer Relatório como a cadeia de caracteres de User-Agent?

Ordem de resolução para canais de dispositivo

Ao criar vários canais, coloque-os na ordem na qual deseja que eles resolve. O primeiro canal que inclui uma regra de inclusão de dispositivo que corresponde à cadeia de caracteres do agente de usuário é usado. A tabela a seguir mostra um exemplo dessa regra.

Tabela 5. Exemplo de regra de inclusão de dispositivo

Canal Ordem 1 Ordem 2
1 Windows Phone 8 Windows Phone
2 Windows Phone Windows Phone 8
3 Padrão Padrão

Se o pedido 1 estiver ativo, um usuário que solicita uma página de um Windows Phone 8 receberá o canal de dispositivo 1 rotulado Windows Phone 8. Um usuário com qualquer outro telefone Windows usaria o canal 2 e todo o resto usaria o canal 3. No entanto, usando o pedido 2, um usuário solicitando uma página de um Windows Phone 8 sempre receberia o canal de dispositivo 1 rotulado Windows Phone e nunca usaria o canal de dispositivo especificado para ele.

Depois de definir e solicitar canais de dispositivo, você pode aplicar páginas master diferentes a cada canal. Por padrão, todos os canais usarão a página master do canal padrão.

Observação

O CSOM não inclui uma API pública para manipular canais de dispositivo e painéis de canal de dispositivo.

Modelos de exibição

Os sites de publicação do SharePoint usam modelos de exibição para controlar quais propriedades gerenciadas são mostradas nos resultados da pesquisa e como elas aparecem na Web Part. Somente As Web Parts de Pesquisa usam modelos de exibição; a Web Part de Consulta de Conteúdo não é uma Web Part de Pesquisa e não usa modelos de exibição.

A tabela a seguir lista os tipos de modelos de exibição, na ordem em que o SharePoint os aplica.

Tabela 6: Tipos de modelos de exibição

Modelo de exibição Descrição
Modelos de Exibição de Controle Aplica-se a toda a Web Part, portanto, o SharePoint aplica-a primeiro e apenas uma vez. Ele fornece HTML que estrutura o layout geral para apresentar os resultados da pesquisa. Por exemplo, um modelo de exibição de controle pode fornecer HTML para o título e o início e o fim de uma lista. Esse modelo é renderizado apenas uma vez na Web Part.
Modelos de Exibição de Grupo Aplicado em segundo e aplicado uma vez por grupo à Web Part resultados da pesquisa.
Modelos de Exibição de Item Aplicado por último, a menos que um modelo de Exibição de Filtro seja aplicado. Os modelos de Exibição de Item são aplicados a cada item. Este modelo determina como cada item no conjunto de resultados é exibido na Web Part. Por exemplo, ele pode fornecer o HTML para um item de lista que é texto simples, um item de lista que contém uma imagem ou um item de lista que formata um bloco de links adicionais e informações de descrição de resumo para ajudar a fornecer mais contexto para os resultados da pesquisa.

O SharePoint armazena modelos de exibição na pasta Modelos de Exibição na Galeria de Páginas Mestras.Cada modelo de exibição está associado a um tipo de conteúdo na Página Mestra Gallery.To identificar o tipo de conteúdo para cada arquivo de modelo de exibição usando uma unidade mapeada, use o nome do arquivo.

Os receptores de evento que convertem e atualizam master páginas e layouts de página de HTML para JavaScript também convertem modelos de exibição de HTML em JavaScript. A conversão e a sincronização são unidirecionais; ele não é convertido de JavaScript de volta para HTML.

Observação

O CSOM não inclui uma API pública para manipular modelos de exibição.

Estrutura de modelo de exibição

Cada modelo de exibição contém o seguinte:

  • Um título.
  • Um cabeçalho que contém elementos personalizados delimitados por uma <mso:CustomDocumentProperties> marca.
  • Uma <body> marca que contém um bloco de script.
  • Uma <div> marca.

As propriedades do documento personalizado fornecem informações importantes ao SharePoint sobre o modelo de exibição. Cada modelo de exibição está associado a um tipo de conteúdo, que é identificado por <ContenTypeId>. Você pode definir outras propriedades que determinam se deve ocultar ou mostrar o modelo na lista de modelos de exibição disponíveis para a Web Part, o HTML para o mapeamento de propriedade gerenciada javaScript, o contexto em que o modelo de exibição é usado, se um arquivo .js está atualmente associado ao HTML do modelo de exibição e se a conversão de HTML para JavaScript foi bem-sucedida ou se avisos e erros foram produzidos.

De dentro da marca, você pode fazer referência a <script> arquivos CSS externos ou JavaScript fora do arquivo HTML de modelos de exibição main.

Se a aprovação de conteúdo for necessária na Galeria de Páginas Mestras, todos os arquivos CSS, JavaScript e outros recursos devem ser publicados antes de estarem disponíveis para master páginas e layouts de página.

Para obter mais informações, consulte Exigir aprovação de itens em uma lista de sites ou biblioteca.

A <div> marca contém uma ID que corresponde ao nome do arquivo HTML do modelo de exibição. Coloque CSS ou JavaScript que você deseja incluir que personalize como essa Web Part é exibida no <div> bloco.

Processamento de modelo de exibição

O SharePoint define modelos de exibição em arquivos HTML e JavaScript. Se no Design Manager você alterar um arquivo HTML que contém uma definição de modelo de exibição e salvar alterações, o SharePoint compila alterações em um arquivo JavaScript com o mesmo nome. O SharePoint usa este arquivo JavaScript para renderizar web parts em páginas.

Importante

Não edite o arquivo JavaScript que contém a definição do modelo de exibição. Atualize apenas o arquivo HTML. O processo de conversão requer que o arquivo HTML seja compatível com XML. Por exemplo, use <br>, não <br/>. Para obter mais informações, consulte Converter um arquivo HTML em uma página de master no SharePoint.

Criando novos modelos de exibição

A maneira mais fácil de criar um novo modelo de exibição é modificar um modelo existente. Modelos de exibição diferentes alteram a aparência de diferentes web parts relacionadas à pesquisa, incluindo a Web Part de Pesquisa de Conteúdo, a Web Part de Refinamento, a Web Part de Refinamento de Taxonomia e a Web Part de Resultados de Pesquisa.

Para saber mais, veja:

Propriedades que podem ser usadas em modelos de exibição

Antes de começar a identificar propriedades que você pode usar em um modelo de exibição, localize um modelo de exibição existente do qual deseja compilar e salve-o com um novo nome. O código do modelo de exibição está localizado dentro da <mso:ManagedPropertyMapping> marca.

<mso:ManagedPropertyMapping msdt:dt="string">'Picture URL'{Picture URL}:'PublishingImage;PictureURL;PictureThumbnailURL','Link URL'{Link URL}:'Path','Line 1'{Line 1}:'Title','Line 2'{Line 2}:'Description','Line 3'{Line3}:'','SecondaryFileExtension','ContentTypeId'</mso:ManagedPropertyMapping>

Em seguida, abrao Esquema de Pesquisade Configurações> do Site e pesquise um nome de coluna na caixa filtro de propriedade gerenciada que você deseja incluir em um modelo de exibição. Selecione a propriedade gerenciada e edite e copie o nome da propriedade.

<mso:ManagedPropertyMapping msdt:dt="string">'Picture URL'{Picture URL}:'PublishingImage;PictureURL;PictureThumbnailURL','Link URL'{Link URL}:'Path','Line 1'{Line 1}:'Title','Line 2'{Line 2}:'Description','Line 3'{Line3}:'','owsTXTPrice','owsTXTColor'</mso:ManagedPropertyMapping>

Observação

Neste exemplo, PictureURL é mapeado para a primeira propriedade gerenciada que está presente quando a pesquisa está obtendo resultados para PublishingImage, PictureURL ou PictureThumbnailURL.

Renderizações de imagem

Uma representação de imagem define as dimensões usadas para exibir imagens em páginas em sites de publicação do SharePoint. Você pode usar o CSOM para instanciar e manipular representações de imagem. Você pode especificar metadados como a altura, largura, nome e versão de uma rendição de imagem usando a classe ImageRendition . Você pode usar métodos e propriedades na classe SiteImageRenditions para ler e gravar representações de imagem de uma coleção de sites.

Para obter mais informações, confira Representações de imagem do SharePoint Design Manager.

Técnicas de programação do SharePoint e da Web

Os designers e desenvolvedores do SharePoint geralmente querem usar técnicas padrão de programação da Web com o SharePoint quando projetam sites de publicação. Você pode usar design responsivo, design adaptável ou canais de dispositivo e design responsivo juntos.

Design responsivo

Com canais de dispositivo, você pode criar um site uma vez e direcioná-lo para vários dispositivos e navegadores. A comunidade de desenvolvimento da Web normalmente usa design responsivo e a abordagem "grade fluida" para gerenciar como os layouts renderizam e criar sites para renderizar corretamente em qualquer navegador ou dispositivo. Em um design responsivo, os elementos em uma página se reorganizam para se ajustarem à orientação do dispositivo e da tela do usuário.

O design responsivo é baseado no recurso de consultas de mídia no CSS3. Ele usa consultas de mídia para corresponder à largura da exibição do dispositivo e, em seguida, aplica estilos no lado do cliente para renderizar o conteúdo. Consultas de mídia permitem que um designer direcione propriedades específicas do site, como largura da tela. Você pode usar consultas de mídia para criar layouts e imagens flexíveis e chamar condicionalmente alternativas de arquivo CSS.

Para obter mais informações e exemplos, confira:

Design adaptável

O design da Web adaptável (às vezes chamado de entrega adaptativa da Web) é semelhante ao design da Web responsivo. Um design adaptável escuta dispositivos ou navegadores e escolhe a maneira ideal de renderizar páginas.

O recurso de canais de dispositivo no SharePoint é um design adaptável. Ele fornece layouts adaptáveis para cada dispositivo com base no layout da página, nas especificações de cada canal de dispositivo e na ordem definida no painel do canal do dispositivo.

Canais de dispositivo e design responsivo juntos

Você pode usar canais de dispositivo e técnicas de design da Web responsivas para criar um site de publicação do SharePoint voltado para o público. Considere criar uma única página de master personalizada para dispositivos, como telefones e tablets, e outra para navegadores da Web e associá-los a um canal de dispositivo. Em seguida, use grades fluidas, imagens flexíveis e consultas de mídia CSS3 para criar a melhor experiência de exibição para cada dispositivo e navegador que seu site precisa dar suporte.

Adicionar jQuery a um site do SharePoint

Você pode adicionar jQuery a um site do SharePoint no nível do site, no nível da página ou em seções de uma página, como uma das regiões de página do SharePoint ou uma Web Part que você adicionou ao layout da página.

Você pode usar uma ação personalizada para carregar jQuery de uma biblioteca de documentos. Faça isso se precisar disponibilizar o jQuery para todas as páginas em um site do SharePoint. Essa abordagem é flexível, mas não é fácil de controlar, e isso afeta o designer do site e o administrador. Você pode armazenar e manter arquivos JavaScript na biblioteca de documentos, mas eles também podem ser modificados ou excluídos acidentalmente. Por esse motivo, não recomendamos essa abordagem.

Você também pode carregar jQuery da raiz do SharePoint usando ScriptLinkControl. Você pode usar o controle para inserir scripts que estão em execução em um site remoto e modificar os scripts sem tocar na instalação do SharePoint. A abordagem ScriptLinkControl faz sentido quando você deseja usar jQuery em uma página de aplicativo ou em uma Web Part exibida em uma página. Embora o provisionamento com essa opção seja lento e afete o desempenho porque jQuery é adicionado a uma página por vez, a implantação do arquivo jQuery na regra do SharePoint contorna outros requisitos herdados. Isso será útil se você precisar migrar sua solução FTC (código de confiança total) do SharePoint para o CSOM, e a migração inclui mover e refatorar comportamentos personalizados javaScript e jQuery.

Por fim, você pode usar a Web Part do Editor de Conteúdo para carregar jQuery de uma CDN (rede de entrega de conteúdo). Isso será útil se você precisar adicionar jQuery a uma ou algumas páginas, incluindo páginas wiki e Web Part. Como você está carregando o arquivo jQuery de uma CDN, você não precisa armazenar arquivos extras no servidor do SharePoint e os usuários obtêm o benefício de uma versão distribuída em cache dos arquivos jQuery. O SharePoint chama o arquivo jQuery da CDN e você pode adicionar o código jQuery personalizado que você cria para a Web Part do Editor de Conteúdo.

Criar suplementos hospedados pelo provedor do SharePoint com ASP.NET MVC 5

Você pode criar suplementos personalizados hospedados pelo provedor com o padrão MVC (model-view-controller) no SharePoint. Esse modelo separa o aplicativo em três partes interconectadas. Isso separa as representações internas das informações da maneira como elas são exibidas e aceitas pelo usuário. O modelo representa a estrutura subjacente do software, a exibição (geralmente elementos da interface do usuário) e o controlador, que são as classes que conectam o modelo e a exibição.

Você pode encapsular ASP.NET conteúdo de MVC no conteúdo da página master site do SharePoint. Na verdade, você pode usar Office 365 APIs para criar um Suplemento do SharePoint com ASP.NET MVC 5.

APIs para desenvolvimento de MVC para SharePoint são definidas em Filters\SharePointContextFilterAttribute.cs e SharePointContext.cs. Essas APIs envolvem as etapas que o projeto Web executa para se comunicar perfeitamente com o SharePoint em uma única chamada, o que simplifica a lógica necessária para implementar.

O atributo de filtro de contexto do SharePoint executa processamento adicional para obter informações padrão quando redirecionado do SharePoint para seu aplicativo Web remoto, como a URL Web do Host. Ele também determina se o suplemento precisa ser redirecionado ao SharePoint para que o usuário entre (por exemplo, indicadores). Você pode aplicar esse filtro ao controlador ou a uma exibição. As classes de contexto do SharePoint encapsulam todas as informações do SharePoint para que você possa criar contextos específicos para a Web de suplemento e host web e se comunicar com o SharePoint.

Para obter mais informações, confira Saiba mais sobre ASP.NET MVC e introdução ao suporte de MVC para suplementos do SharePoint.

Confira também