notas de la versión SharePoint Framework v1.16

Esta versión presenta actualizaciones en las características de Microsoft Viva, Microsoft Teams, Outlook, Office y SharePoint.

Liberado: 15 de noviembre de 2022

Importante

En esta página se tratan los detalles relacionados con una versión específica de SPFx. Esta página no incluye requisitos previos de SPFx adicionales que deben instalarse para desarrollar soluciones SPFx como Node.js, Yeoman y otras herramientas.

Para obtener más información acerca de estos requisitos previos, vea Configurar el entorno de desarrollo de SharePoint Framework.

Instalación de la versión más reciente

Instale la versión más reciente de SharePoint Framework (SPFx) mediante la inclusión de la etiqueta @latest:

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

Actualización de proyectos de v1.15.2 a v1.16

  1. En el archivo package.json del proyecto, identifique todos los paquetes de SPFx v1.15.2. Para cada paquete de SPFx:
    1. Desinstale el paquete v1.15.2 existente:

      npm uninstall @microsoft/{spfx-package-name}@1.15.2
      
    2. Instale el nuevo paquete v1.16:

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

Sugerencia

La CLI para Microsoft 365 proporciona una guía paso a paso sencilla para actualizar las soluciones a la última versión de SharePoint Framework.

Nuevas características y funciones

Publicación de la compilación de soluciones de Teams con SPFx en Outlook y Office

Como esta versión de SPFx admite el SDK de JavaScript v2 de Teams, ahora puede empezar a crear experiencias también para Outlook y para Office.com (Microsoft aplicación 365) con SharePoint Framework (SPFx). Esto permitirá que la misma solución se exponga en Microsoft, Outlook, Office.com y en SharePoint sin cambios de código específicos.

Puede usar el SDK de JavaScript v2 de Teams para detectar el host de la solución, como se muestra en el código siguiente. Si está this.context.sdks.microsoftTeams vacío, el código se ejecuta en SharePoint.

// if running in Microsoft Teams, Outlook, or Office...
if (!!this.context.sdks.microsoftTeams) {
  const teamsContext = await this.context.sdks.microsoftTeams.teamsJs.app.getContext();
  switch (teamsContext.app.host.name.toLowerCase()) {
    case 'teams':
      // RUNNING IN MICROSOFT TEAMS
    case 'office':
      // RUNNING IN OFFICE / OFFICE.COM
    case 'outlook':
      // RUNNING IN OUTLOOK
    default:
      throw new Error('Unknown host');
  }
} else {
  // RUNNING IN SHAREPOINT
}

Consulte más detalles sobre estas opciones en el siguiente artículo.

Importante

El uso del SDK de Teams v2 dentro de las soluciones de SharePoint Framework está disponible con carácter general a partir de la versión 1.16, lo que permite el uso del SDK de Teams v2 inmediatamente. Sin embargo, la compatibilidad con la publicación de aplicaciones de Teams (incluidas las soluciones SPFx) en Outlook y en Office.com (Microsoft aplicación 365) sigue en versión preliminar y está previsto que esté disponible con carácter general para las experiencias de escritorio y móviles durante la primera mitad del año natural de 2023.

Compatibilidad con el SDK de JavaScript v2 de Teams

Esta versión admite teams-js v2. this.context.sdks.microsoftTeams.teamsJs devolverá la versión 2 del SDK. this.context.sdks.microsoftTeams.context seguirá devolviendo el contexto v1 para la compatibilidad con versiones anteriores.

Nota:

teams-js v2 es compatible con versiones anteriores con teams-js v1. Seguiremos admitiendo la versión 1 para las soluciones existentes.

Sugerencia

El SDK de JavaScript v2 de Teams permite nuevos escenarios para desarrolladores. Consulte el siguiente anuncio para obtener más información sobre las funcionalidades del SDK de JS v2 de Teams: Microsoft el SDK de JS de Teams v2 ya está disponible con carácter general.

Compatibilidad con escrituras de teams-js v2

A partir de esta versión, la context.sdks.microsoftTeams.teamJs propiedad del elemento web tiene el tipo de SDK de teams-js v2. Esto permite el uso de las nuevas características del SDK de teams-js v2, incluidos los nuevos hosts: Outlook y Office 365 aplicación (anteriormente denominada office.com).

Nota:

context.sdks.microsoftTeams.context la propiedad está marcada como en desuso. Devuelve el contexto v1 en su lugar v2. Use context.sdks.microsoftTeams.teamJs.app.getContext en su lugar.

compatibilidad con React 17

SPFx ahora admite React 17 de forma predeterminada (scaffolding como parte de la solución).

Capacidad de establecer dataVersion en el manifiesto del elemento web

Establezca una versión de datos para esta entrada preconfigurada. Esto es opcional y se puede usar en los casos en los que el SPPKG se actualiza independientemente del código (por ejemplo, hospedado en una red CDN). Los elementos web pueden leer este valor para obtener compatibilidad con versiones anteriores con propiedades predeterminadas obsoletas.

Capacidad de usar tareas y middleware en Microsoft Graph v3

A partir de esta versión, los desarrolladores pueden instalar para hacer @microsoft/microsoft-graph-client referencia a tareas o middleware desde el SDK, por ejemplo, LargeFileUploadTask. SPFx externalizará automáticamente la dependencia y la cargará desde la red CDN.

Nota:

Consulte Capacidad de comprobar las versiones admitidas para comprobar qué versión del SDK de MS Graph se va a instalar.

MSGraphClientFactory ahora permite pasar Options el parámetro al inicializar el cliente. También contiene un nuevo método getClientWithMiddleware para inicializar el cliente con middleware. Los desarrolladores también pueden obtener la instancia de cliente de MS Graph mediante la MSGraphClientV3.client propiedad . Esta instancia se puede usar para llamar a tareas de MS Graph, como la carga de archivos grandes.

La carpeta EULA se ha quitado de los módulos

La carpeta EULA se ha quitado de los módulos. La información de licencia ya está disponible aquí. Este cambio ha reducido el tamaño de todos los módulos SPFx cargados durante el scaffolding.

Capacidad de comprobar las versiones admitidas de MS Graph y el SDK de Teams

.yo-rc.json ahora el archivo contiene sdksVersions la propiedad . Esta propiedad contiene la lista de versiones admitidas de MS Graph y el SDK de Teams.

Parámetro quietDeps para SASS

Ahora los desarrolladores pueden establecer quietDeps la propiedad en en config\sass.json advertencias de desuso silenciosas de las dependencias.

Capacidad de representar ACE de forma asincrónica

De forma similar a los elementos web, el desarrollador de ACE puede especificar si la extensión de tarjeta se representa de forma asincrónica.

/* BaseAdaptiveCardExtension */
protected get isRenderAsync(): boolean {
  return false;
}

public renderCompleted(didUpdate: boolean): void { /* ... */ }

Vista de tarjeta de imagen de extensión de tarjeta adaptable para tener alt texto para accesibilidad

Al agregar una nueva propiedad imageAltText opcional para IImageCardParameters , se agregará alt el atributo text al elemento html de la imagen.

Nuevas propiedades de contexto del personalizador de formularios

Valores de los campos de elemento de lista

El contexto del personalizador de formularios para editar y mostrar formularios ahora contiene los valores de los campos de elemento de lista en formato estándar odata .

IFormCustomizerContext.item?: IListItem;

Configuración de formato JSON de formulario de lista

El contexto del personalizador de formulario proporciona información sobre el formato JSON del formulario de lista aplicado. Use contentType la propiedad para acceder a la configuración.

IFormCustomizerContext.contentType.ClientFormCustomFormatter: string | undefined;

Eliminación de la compatibilidad con NodeJS v12 y v14

Node.js v12 & v14 ya no se admiten. SPFx v1.16 requiere Node.js v16.

Nota:

Node.js compatibilidad con v18 está programada para la primera mitad del año natural de 2023.

Versión preliminar de características y funcionalidades

Las siguientes características siguen en estado de versión preliminar como parte de la versión 1.16 y no deben usarse en producción. Estamos pensando en publicarlos oficialmente como parte de la próxima versión 1.17.

Acciones principales del elemento web

Las acciones principales permiten a los desarrolladores agregar acciones personalizadas a la barra de comandos del elemento web. La característica es similar a los controles del panel de propiedades, pero se basa en un enfoque de interfaz de usuario más limpio.

Nota:

Acciones principales se publica como versión preliminar como parte de la versión 1.16.

Acciones principales

Para agregar acciones principales, los desarrolladores pueden usar el getTopActionsConfiguration método .

BaseWebPart.getTopActionsConfiguration(): ITopActions | undefined;

ITopActions interface define la configuración de acciones principales.

export type ActionConfiguration = IPropertyPaneField<any>;

export interface ITopActions {
  readonly topActions: ActionConfiguration[];
  onExecute(actionName: string, newValue: any): void;
}

Nota:

Aunque el tipo de configuración de acción superior es IPropertyPaneField<any> actualmente solo se admiten botones y grupos de opciones. Esto significa que puede usar PropertyPaneChoiceGroup(...) y PropertyPaneButton(...)o especificar sus propias configuraciones que se resolverán en IPropertyPaneField<IPropertyPaneChoiceGroupProps> y IPropertyPaneField<IPropertyPaneButtonProps>

Consulte más detalles sobre la guía de nivel de código en el artículo siguiente.

Avisos de desuso

  • Paquete en desuso @microsoft/office-ui-fabric-react-bundle . Use @fluentui/react en su lugar.
  • Context.sdks.microsoftTeams.context en desuso. Use context.sdks.microsoftTeams.teamJs.app.getContext en su lugar.

Problemas corregidos

Esta es una lista de problemas específicos corregidos en torno a SharePoint Framework desde la versión pública anterior.

período de tiempo de August-November

  • #8146 - Personalizador de aplicaciones SPFX interrumpe vínculos anónimos para archivos PDF
  • #8266:SPFx 1.15: el personalizador de formularios no funciona en Ver historial
  • #8272 - SPFx 1.15: obtención de un error cuando se usa el formulario personalizado para ver el elemento de lista existente en modo clásico
  • #8279: nuevos iconos en entornos de producción
  • #8301: error al volver a visitar la aplicación ?app=portals de Teams personalizada
  • #8372 : Aplicación de permisos en el personalizador de formularios
  • #8379 : SPFx ListViewCommandSet - this.context.listView.selectedRows es incorrecto en las listas agrupadas
  • #8467 : botones (onClick eventos) en BaseDialog que ya no funcionan: conjunto de comandos ListView
  • #8483 - Paneles de propiedades de elementos web multipágina: la paginación no funciona según lo esperado, lo que impide que los usuarios accedan a las páginas.
  • #8484: se interrumpe el panel de propiedades del elemento web al usar React y office-ui-fabric-react en la etiqueta de campo del panel de propiedades.
  • n.º 8482: React error de coincidencia de versión que provoca un error en las extensiones de lista de SPFX en O365
  • #8487: Actualización de SharePoint React 17 que provoca el error "Llamada de enlace no válida" en el elemento web de SPFx
  • #7324 : la licencia de SPFx no permite el uso comercial
  • #8331 : mecanismo para versionar preconfiguredEntries en el manifiesto
  • #8510- Error de React repentino de SPFx minificado #321
  • #8496: React error de coincidencia de versión hace que el panel de propiedades no se muestre.