Ler em inglês

Compartilhar via


Notas de versão da Estrutura do SharePoint v1.7

Este é provavelmente o maior lançamento de novos recursos desde a visualização original (ou talvez a visualização de extensões).

Lançado em: 8 de novembro de 2018

Importante

Esta página aborda detalhes relacionados a uma versão SPFx específica. Esta página não inclui pré-requisitos SPFx adicionais que devem ser instalados para desenvolver soluções SPFx, incluindo Node.js, Yeoman e outras ferramentas.

Para saber mais sobre esses pré-requisitos, consulte Configurar seu ambiente de desenvolvimento da Estrutura do SharePoint.

Atualizando projetos da v1.6 para a v1.7

  1. No arquivo package.json do projeto, identifique todos os pacotes SPFx v1.6. Para cada pacote SPFx:
    1. Desinstale o pacote v1.6 existente:

      npm uninstall @microsoft/{spfx-package-name}@1.6
      
    2. Instale o pacote v1.7 atualizado:

      npm install @microsoft/{spfx-package-name}@1.7.0 --save --save-exact
      

Dica

A CLI do Microsoft 365 fornece uma orientação passo a passo fácil para atualizar suas soluções para a versão mais recente da Estrutura do SharePoint.

Novas características e recursos

Dados Dinâmicos

Para o recurso Dados Dinâmicos, fizemos uma série de melhorias no trabalho de GA (disponibilidade geral).

Configuração do autor

A maior parte das adições entre a visualização do desenvolvedor e a GA estão ao redor do painel de propriedades. Existem diferentes tipos de classes introduzidas para suportar isto, incluindo

  • IPropertyPaneConditionalGroup, que permite que diferentes grupos apareçam com base em alguma condição
  • IDynamicDataSharedPropertyConfiguration, IDynamicDataSharedPropertyFilters, IDynamicDataSharedSourceConfiguration, IDynamicDataSharedSourceFilters, IPropertyPaneDynamicFieldSetProps, que podem ser usados para criar controles no painel de propriedades que permitem aos autores escolher uma propriedade e uma fonte de dados dinâmica.
  • Nós descontinuamos (e iremos remover completamente em uma versão futura) a interface de visualização do desenvolvedor IPropertyPaneDynamicTextFieldProps e a função PropertyPaneDynamicTextField que era a maneira rápida e suja de editar uma propriedade dinâmica.
  • Atualizamos a interface IWebPartPropertiesMetadata para permitir que um desenvolvedor declare as propriedades da Web Part como dinâmicas, o que nos permite criar os objetos DynamicProperty para você no momento da criação da Web Part.

Dados subjacentes

No lado dos dados subjacentes das coisas, o DynamicDataSourceManager agora expõe o sourceId da fonte de dados (útil na depuração). Uma fonte de dados agora pode fornecer um retorno de chamadagetAnnotatedPropertyValue que será usado para exibir cadeias de caracteres localizadas e dados de amostra para o usuário final. Por fim, ao chamar o DynamicProperty objeto para obter o valor atual de uma propriedade, você pode chamar , que retorna uma única propriedade ou , que retornará uma matriz. Isso é útil quando uma determinada fonte de dados pode retornar um ou vários objetos (por exemplo, os itens selecionados de uma Web Part de lista) e você sempre deseja oferecer suporte a várias propriedades. Para ambos os cenários, a estrutura garantirá que você obtenha um único objeto ou uma matriz, independentemente do que a fonte de dados subjacente expõe. Isso pode ser útil se você estiver criando uma Web Part (digamos, um cartão de pessoas), que sempre espera exibir uma única pessoa. Você pode fazer com que o autor escolha o usuário atual na fonte de dados de contexto ou pode fazer com que o usuário escolha o autor no item selecionado de uma Web Part de lista. Como desenvolvedor, você só precisa chamar property.tryGetValue() e sempre receberá de volta um único valor (ou indefinido).

Compilar em fontes de dados

A primeira fonte de dados interna é a fonte de dados do contexto da página. É uma versão simplificada do objeto PageContext atual, retornando coisas como o usuário atual, lista, site e assim por diante. Outras fontes de dados (como a Web Part da lista/biblioteca de documentos) virão a seguir.

Suporte para o SharePoint Server 2019

Ao atingir 2019, você obtém o conjunto de recursos públicos/GA do produto de 2019. Este é o código público/GA da v1.4.1 da Estrutura do SharePoint

SPFx para Guias do Teams (Visualização do Desenvolvedor)

Agora você pode criar soluções de guias do Microsoft Teams usando SPFx. Todas as ferramentas de compilação, empacotamento, hospedagem, CDN e autenticação permanecem as mesmas. Agora há uma propriedade disponível no objeto de contexto chamada microsoftTeams que expõe o objeto Teams SDK. A partir daí, se sua solução estiver sendo hospedada como um aplicativo do Teams, você terá acesso ao objeto de contexto completo do Teams, contendo coisas como o nome da equipe, ID, canal, etc. Basta fazer sideload de um arquivo teamsApp.zip com o manifesto que fornecemos no projeto gerado por Yeoman.

Aplicativos Baseados em Equipes no Microsoft Office SharePoint Online (Visualização do Desenvolvedor)

Se você criou uma solução da guia do Teams hospedada pelo provedor, agora pode carregar a solução diretamente no catálogo de aplicativos do Microsoft Office SharePoint Online, e a guia estará disponível como uma Web Part. O SDK de equipes mais recentes tem um objeto de contexto do SharePoint disponível que fornece o mesmo objeto PageContext ao qual você acessou no SharePoint (a versão inicial do SDK do Teams o digitou como qualquer outro, uma versão futura do SDK terá a interface completa. No entanto, o objeto será o mesmo). Para uma melhor experiência, você pode hospedar este aplicativo hospedado pelo provedor no novo recurso Aplicativo de página inteira.

Aplicativos de página inteira (Visualização do Desenvolvedor)

Uma coisa que tem sido solicitada há um bom tempo é a capacidade de criar aplicativos de página inteira na SPFx. Acreditamos que temos uma solução melhor, que é criar um layout de página que hospeda uma única Web Part que cobre toda a área de conteúdo da página. Coisas como navegação e cabeçalho ainda existem e seguem a forma e o estilo do resto do site (de modo que uma página de aplicativo em um site de comunicação não terá o navegador esquerdo, enquanto uma página de aplicativo em um site de equipe terá). No futuro, conforme as extensões se expandem e permitem outras personalizações, essas personalizações serão transferidas. Isto significa que, como desenvolvedor, você só precisa se concentrar em seu conteúdo, e não fazer um monte de trabalho para tentar fazer com que a página do aplicativo se pareça com qualquer outra página do sistema, lidar com navegação rápida de páginas, lidar com personalizadores de aplicativos, etc. Há uma propriedade no BaseWebPartContext objeto chamado formFactor que permitirá que você saiba se você é do tamanho original ou padrão. Para criar uma página de aplicativo, veja aqui.

WebParts Isoladas de Domínio (Visualização do Desenvolvedor)

Desde o início do SPFx, sempre afirmamos que os iFrames têm uma finalidade, mas que a solução principal não precisava deles. Agora que a estrutura amadureceu, é hora de desbloquear os cenários onde iFrames foram importantes - ou seja, quando você precisar de um nível de permissão diferente para uma Web Part do que o resto da página/locação. Construindo sobre o recurso de API Web da v1.6, definindo a propriedade isDomainIsolated em seu arquivo package-solution.jso tp true. Ao fazer isso, todas as Web Parts da solução serão executadas em um domínio separado com seu próprio conjunto de permissões. A estrutura irá lidar com a criação do iFrame, passando dados para frente e para trás para permitir que o painel de propriedade funcione corretamente, e assim por diante. Você gerencia as permissões para esta solução na mesma página de administração em que gerencia as permissões SPFx para o restante da locação. Nesta visualização do desenvolvedor, não são suportados dados dinâmicos entre Web Parts da página principal e uma Web Part isolada do domínio.

ListSubscriptions no navegador (Visualização do Desenvolvedor)

O pacote de assinatura de @microsoft/sp-list recém-publicado permite que você se registre em eventos do navegador quando uma biblioteca subjacente é atualizada. Você fornece as informações da biblioteca e uma função de retorno de chamada e, quando a biblioteca for atualizada, seu retorno de chamada será chamado.

Mudanças nesta versão

Reformulamos os eventos de ciclo de vida do ContentPlaceholder. Agora, sempre que você criar um espaço reservado para conteúdo, ele será bem sucedido. No entanto, se a página atual não tiver um espaço para o espaço reservado, o espaço reservado não será renderizado. Assim que o usuário navegar para uma página que ofereça suporte ao espaço reservado (ou o suporte ao espaço reservado for habilitado na página depois que o PlaceholderContent for criado), nós o exibiremos. Uma nova propriedade no objeto PlaceholderContent, isVisible permitirá que você saiba se o espaço reservado estiver sendo exibido. Além disso, quando a visibilidade dos espaços reservados forem alteradas, chamaremos um método no ApplicationCustomizer chamado onPlaceholdersChanged(). Se você deseja ser notificado sobre essas alterações, poderá substituir o método.

Nós tornamos alguns métodos SPComponentLoader públicos. getManifests() devolverá a lista de manifestos que o carregador está ciente, e loadComponentById carregará um componente pela ID do servidor se ele ainda não estiver carregado (e o devolverá para você).

Substituição e itens removidos nesta versão

  • Removido o suporte para Node.js v6 nesta versão.
  • Removeu o uso preterido anteriormente do MSGraphClient de @microsoft/sp-client-preview. Você deve usar a versão ga do v1.6 que está no pacote @microsoft/sp-http .