Compartilhar via


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

Esta versão apresenta atualizações entre os recursos em torno de Microsoft Viva, Microsoft Teams e SharePoint.

Lançado: 21 de junho de 2022

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.

Instalar a versão mais recente lançada

Instale a versão mais recente da Estrutura do SharePoint (SPFx), incluindo a marca @latest:

npm install @microsoft/generator-sharepoint@latest --global

Atualizando projetos da v1.14 para v1.15

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

      npm uninstall @microsoft/{spfx-package-name}@1.14
      
    2. Instale o novo pacote v1.15:

      npm install @microsoft/{spfx-package-name}@latest --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

Extensão Personalizar Formulários

A Extensão Personalizar Formulários permite que os desenvolvedores personalizem novos, editem e exibam formulários das listas e bibliotecas de documentos.

Observação

Você pode ver a demonstração ao vivo desse recurso no vídeo do YouTube a seguir: Introdução à criação de componentes de formulários de lista personalizados com a SPFx v1.15.

Suporte ao Node.js v16

As soluções da Estrutura do SharePoint agora suportam o Node.js v16 como versão padrão do Node.js.

Suporte do Microsoft Graph JavaScript SDK v3

O MSGraphClientFactory permite que um desenvolvedor selecione a versão do SDK do JavaScript do Microsoft Graph a ser usada.

Observação

A partir da SPFx 1.15, apenas a v3 do SDK do JavaScript do Microsoft Graph é suportada. o suporte à v1 foi removido de todas as soluções novas e atualizadas. Atualize seu código adequadamente para obter a versão correta.

this.context.msGraphClientFactory.getClient('3');

Suporte para TypeScript v4

As soluções da Estrutura do SharePoint agora oferecem suporte para TypeScript v4.5.

Suporte para ESLint

As soluções da SPFx agora dão suporte para ESLint 8.x em vez do preterido TSLint.

Atualizado o SDK do Cliente JavaScript Do Microsoft Teams

As soluções da Estrutura do SharePoint agora suportam o SDK Cliente do JavaScript do Microsoft Teams v1.12.1.

Modelo de Extensão do Conjunto de Comandos Atualizado

O modelo foi atualizado para usar o evento listViewStateChanged em vez do evento onListViewUpdated preterido.

Alterações em Opções e Prompts de Scaffolding

  • nova opção de linha de comando: --use-heft. Se especificado, a solução criará o projeto usando Heft.

API Auxiliar de Imagem - Disponibilidade Geral

A classe estática ImageHelper (em @microsoft/sp-image-helper) foi adicionada para permitir que os desenvolvedores do SPFx acessem o runtime:

  • URLs de imagens em miniatura geradas automaticamente de páginas e documentos armazenados no Microsoft Office SharePoint Online
  • URLs mais otimizadas para imagens armazenadas no Microsoft Office SharePoint Online

O método auxiliar ImageHelper.convertToImageUrl() uma URL para um ativo no Microsoft Office SharePoint Online, uma largura e uma altura opcional e executará operações do lado do cliente para tentar criar uma URL otimizada.

A URL resultante apontará para uma imagem próxima ao tamanho solicitado. A URL resultante também incluirá o uso de outros serviços de mídia e grafo do Microsoft Office SharePoint Online. Se disponível para o ativo solicitado, locais de CDN públicos ou privados para atender às imagens e miniaturas redimensionadas.

Novos tipos de ação para geolocalização

A matriz de suporte para ações de geolocalização é semelhante a:

Action Área de Trabalho de Conexão do Viva Viva Connections Mobile Navegador
Obter Localização Não suportado Com suporte Com suporte
Mostrar Local Não suportado Com suporte Com suporte
    ISPFxAdaptiveCard.actions?: (
        | ISubmitAction
        | IOpenUrlAction
        | IShowCardAction
        | IGetLocationAction // Get a location
        | IShowLocationAction // Show a location on a map
    )[];

As ações de localização podem ser configuradas conforme mostradas abaixo:

  "actions": [
    {
      "type": "VivaAction.GetLocation",
      "id": "Get Location",
      "title": "Where am I",
      "parameters": {
        "chooseLocationOnMap": true
      }
    },
    {
      "type": "VivaAction.ShowLocation",
      "id": "Show Location",
      "title": "Continue",
      "parameters": {
        "locationCoordinates": {
          "latitude": 40,
          "longitude": 40
        }
      }
    }
  ]

As ações serão renderizadas como abaixo:

Captura de tela da ação de localização

Ação de Localização:

A Ação de Localização pode ser usada para obter sua localização atual, mostrar sua localização atual ou personalizada em um mapa e escolher sua localização atual em um mapa. No navegador, ela usa o Bing Mapas como interface de mapeamento:

Captura de tela do painel de localização

Recursos e Capacidades de Visualização

Os recursos a seguir ainda estão no status de pré-visualização como parte da versão 1.15 e não devem ser usados em produção. Estamos pensando em liberá-las oficialmente como parte da próxima versão 1.16.

Cache de exibição de cartão Extensões de Cartão Adaptável

Para melhorar o desempenho, o SPFx agora suporta o armazenamento em cache local das exibições de cartão da Extensão de Cartão Adaptável. A exibição do cartão armazenado em cache será renderizada imediatamente ao carregar sua Extensão de Cartão Adaptável. Após o carregamento da Extensão de Cartão Adaptável, ela pode atualizar opcionalmente a exibição do cartão.

interface ICacheSettings {
  /**
   * Whether cache is enabled. Default: true
   */
  isEnabled: boolean;

  /**
   * Expiry time in seconds. Default: 86400 seconds (24 hours)
   */
  expiryTimeInSeconds: number;

  /**
   * Returns the Card View used to generate the cached card.
   * By default, the currently rendered Card View will be used to cache the card.
   */
  cachedCardView?: () => BaseCardView;
}

BaseAdaptiveCardExtension.getCacheSettings(): Partial<ICacheSettings>;

Por padrão, o cache é habilitado com configurações padrão. Uma Extensão de Cartão Adaptável pode personalizar suas configurações de cache substituindo getCacheSettings para retornar as configurações que deseja substituir.

Quando a última exibição de cartão conhecida não deve ser armazenada em cache, você pode fornecer uma exibição de cartão específica para ser armazenada em cache e exibida na próxima página de carregamento através de ICacheSettings.cachedCardView. Essa exibição de cartão não precisa ser registrada previamente.

Uma Extensão de Cartão Adaptável também pode armazenar em cache localmente seu estado atual. Por padrão, nenhum estado é armazenado em cache.

BaseAdaptiveCardExtension.getCachedState(state: TState): Partial<TState>;

Se getCachedState for substituído, os valores armazenados em cache serão fornecidos quando a Extensão de Cartão Adaptável for inicializada na próxima carga de página.

onInit tem uma nova sobrecarga, que passa informações sobre o estado do cartão em cache. Se o cartão não foi carregado de uma exibição de cartão em cache, então cachedLoadParameters será undefined.

interface ICachedLoadParameters {
    state: TState;
}

BaseAdaptiveCardExtension.onInit(cachedLoadParameters?: ICachedLoadParameters): Promise<void>;

O estado inicial da Extensão de Cartão Adaptável pode ser propagado a partir do estado em cache. O estado em cache também pode ser usado para determinar se qualquer lógica adicional precisa ser executada.

O cache de estado e o tempo de expiração do cache podem ser usados para determinar quando chamadas remotas caras precisam ser feitas pela Extensão de Cartão Adaptável.

O cache pode ajudar a melhorar significativamente o desempenho percebido para sua Extensão de Cartão Adaptável.

Método do manipulador de erros

Esse método será invocado quando uma Ação gerar um erro.

BaseView.onActionError(error: IActionErrorArguments): void

Substitua este método para tratar erros de ações de Cartão Adaptável.

Novo tipo de Ação de mídia

Após a Disponibilidade Geral, a matriz de suporte para a ação de mídia será a seguinte:

Action Área de Trabalho de Conexão do Viva Viva Connections Mobile Navegador
Selecionar Mídia Com suporte Com suporte Com suporte

A SelectMedia pode ser configurada conforme mostrada abaixo:

"actions": [
    {
      "type": "VivaAction.SelectMedia",
      "id": "Select Files",
      "parameters": {
        "mediaType": "MediaType.Image",
        "allowMultipleCapture": true,
        "maxSizePerFile": 200000,
        "supportedFileFormats": [
          "jpg"
        ]
      },
      "title": "Select Files"
    }
]

Renderização da ação Selecionar Mídia:

Captura de tela da ação do arquivo

A Ação Selecionar Mídia pode ser usada para selecionar imagens do seu dispositivo nativo. No navegador, ela usa o seletor de arquivos para ajudar a acessar os arquivos relevantes:

Captura de tela do painel de mídia

Preterições

  • Método SPComponentLoadergetManifests() preterido devido à sobrecarga de desempenho do runtime.
  • API removida do @microsoft/sp-http - MSGraphClientFactory.getClient()

Problemas Corrigidos

Período de fevereiro a maio

  • nº 7680: As cores do tema não são carregadas (imediatamente) na página de listagem do SP ou na página de conteúdo do site
  • nº 6403: DynamicData.tryGetValue() não deve falhar se descartado
  • nº 5979: Pop-up de problema ao remover a guia SpFx Teams
  • nº 7679: O personalizador de campo não é carregado consistentemente ao pesquisar
  • nº 7689: [SPFx-Heft-Plugins][SPFx 1.13.1] o caminho elementManifests resolve de forma diferente no Windows e no Linux ao fazer referência ao caminho de arquivo externo
  • nº 7771: SPFx v1.14.0: API auxiliar de imagem, exceção em btoa, a cadeia de caracteres contém caracteres fora do intervalo Latin1
  • #7684 - Erro de autenticação do aplicativo SPFx dentro do Microsoft Teams (sso-getAdalSsoToken-receive)
  • #7739 - As extensões CommandSet não funcionam na Biblioteca de Documentos ao navegar a partir do link LHN na página inicial do site
  • #7794 - listViewStateChangedEvent não dispara para exibições de lista agrupadas
  • #7805 - A SPFx está carregando a versão antiga do componente da biblioteca para alguns usuários
  • #7795 - this.context.pageContext.list.serverRelativeUrl não está atualizado
  • O comando #7827 - deploy-azure-storage sempre cria um contêiner com o Nível de Acesso Público 'Privado' em vez do Blob
  • #7826 - A solução do pacote [SPFx 1.15.0-beta.1] falha quando o arquivo elements.xml é referenciado a partir da pasta externa e o sharepoint/assets não existe
  • #6477 - Inscreva-se para listar notificações com erro de transporte
  • #7845 - command.disabled nem sempre respeitado
  • #6807 - As Web parts da SPFx do SharePoint parecem estar ocupando todo o sessionStorage no navegador
  • #7950 - globalDependecies em config.json não funciona
  • #7949 - command.disabled ainda não está funcionando
  • #7974 - A propriedade folderInfo não será definida se a pasta for carregada diretamente