Notas de la versión de SharePoint Framework v1.7
Esta es probablemente la versión más importante de las nuevas características que hemos tenido desde la versión preliminar original (o quizás la versión preliminar de las extensiones).
Liberado: 8 de noviembre del 2018
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.
Actualización de proyectos de v1.6 a v1.7
- En el archivo package.json del proyecto, identifique todos los paquetes SPFx v1.6. Para cada paquete de SPFx:
Desinstale el paquete de v1.6 existente:
npm uninstall @microsoft/{spfx-package-name}@1.6
Instale el paquete de v 1.7 actualizado:
npm install @microsoft/{spfx-package-name}@1.7.0 --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
Datos dinámicos
Para la característica Datos dinámicos, hemos realizado una serie de mejoras en el trabajo de GA (disponibilidad general).
- Conectar componentes de SharePoint Framework utilizando datos dinámicos
- Muestra de elemento web del lado cliente con datos dinámicos en 1.7
Configuración del autor
La mayor parte de las adiciones entre la versión preliminar para desarrolladores y la GA están en torno al panel de propiedades. Se han introducido diferentes tipos de clases para admitir esto, entre los que se incluyen
IPropertyPaneConditionalGroup
, que permite que aparezcan grupos diferentes basados en alguna condiciónIDynamicDataSharedPropertyConfiguration
,IDynamicDataSharedPropertyFilters
,IDynamicDataSharedSourceConfiguration
,IDynamicDataSharedSourceFilters
,IPropertyPaneDynamicFieldSetProps
, que se pueden usar para crear controles en el panel de propiedades que permiten a los autores elegir un origen de datos dinámico y una propiedad.- Hemos dejado de usar (y se quitará completamente en una versión futura) la interfaz
IPropertyPaneDynamicTextFieldProps
de la versión preliminar para desarrolladores y la funciónPropertyPaneDynamicTextField
que era la forma rápida y desfasada de editar una propiedad dinámica. - Hemos actualizado la interfaz de
IWebPartPropertiesMetadata
para permitir que un desarrollador declare las propiedades del elemento web como dinámicas, lo que nos permite crear los objetosDynamicProperty
automáticamente en el momento de la creación del elemento web.
Datos subyacentes
En el lado de los datos subyacentes, el DynamicDataSourceManager
ahora expone el sourceId
del origen de datos (útil en la depuración). Un origen de datos ahora puede proporcionar una getAnnotatedPropertyValue
devolución de llamada que se usará para mostrar cadenas localizadas y datos de ejemplo al usuario final. Por último, al llamar al DynamicProperty
objeto para obtener el valor actual de una propiedad, puede llamar a , que devuelve una sola propiedad, o , que devolverá una matriz. Esto resulta útil cuando un origen de datos determinado puede devolver uno o varios objetos (por ejemplo, los elementos seleccionados de un elemento web de lista) y siempre desea admitir varias propiedades. En ambos escenarios, el marco se asegurará de obtener un único objeto o una matriz, independientemente de lo que exponga el origen de datos subyacente. Esto puede ser útil si va a crear un elemento web (por ejemplo, una tarjeta de contactos), que siempre espera mostrar una sola persona. Puede hacer que el autor elija el usuario actual del origen de datos de contexto, o puede hacer que el usuario elija el autor del elemento seleccionado de un elemento web de lista. Como desarrollador, solo tiene que llamar a property.tryGetValue()
y siempre obtendrá un valor único (o no definido).
Compilación de los orígenes de datos
El primer origen de datos integrado es el origen de datos de contexto de página. Es una versión simplificada del objeto PageContext actual, que devuelve elementos como el usuario actual, la lista, el sitio, etc. A continuación se mostrarán otros orígenes de datos (como el elemento web de lista o biblioteca de documentos).
Soporte técnico de SharePoint Server 2019
Cuando el destino es 2019, obtiene el conjunto de características público/GA del producto 2019. Este es el código público/GA de v.1.4.1 de SharePoint Framework
SPFx para pestañas de Teams (versión preliminar para desarrolladores)
Ahora puede crear soluciones de pestañas de Microsoft Teams con SPFx. Todas las herramientas de compilación, empaquetado, hospedaje, CDN y autenticación siguen siendo las mismas. Ahora hay una propiedad disponible en el objeto de contexto llamado microsoftTeams
que expone el objeto SDK de Teams. Desde allí, si la solución se hospeda como una aplicación de Teams, tendrá acceso al objeto de contexto completo de Teams, que contiene elementos como el nombre del equipo, el identificador, el canal, etc. Simplemente cargue localmente un archivo teamsApp.zip con el manifiesto que proporcionamos en el proyecto generado por Yeoman.
- Documentos: creación de las pestañas de Microsoft Teams con SharePoint Framework
- Tutorial: crear la pestaña de Microsoft Teams con SharePoint Framework
Aplicaciones basadas en Teams en SharePoint (versión preliminar para desarrolladores)
Si ha creado una solución de pestaña de Teams hospedada por el proveedor, ahora puede cargar la solución directamente en el catálogo de aplicaciones de SharePoint y la pestaña estará disponible como un elemento web. El SDK de teams más reciente tiene un objeto de contexto de SharePoint disponible que proporciona el mismo objeto PageContext al que tiene acceso en SharePoint (la versión inicial del SDK de Teams lo ha escrito como cualquiera, una versión futura del SDK tendrá la interfaz completa. Sin embargo, el objeto será el mismo). Para mejorar la experiencia, puede hospedar esta aplicación hospedada por el proveedor en la nueva característica de Aplicaciones de página completa.
Aplicaciones de página completa (Versión preliminar del desarrollador)
Una cosa que se ha solicitado durante bastante tiempo es la capacidad de crear aplicaciones de página completa en SPFx. Creemos que tenemos una solución mejor, que consiste en crear un diseño de página que hospede un único elemento web que abarque toda el área de contenido de la página. Cosas como la navegación y el encabezado siguen existiendo, y siguen el formulario y el estilo del resto del sitio (por lo que una página de aplicación en un sitio de comunicaciones no tendrá navegación restante, mientras que una página de aplicación en un sitio de grupo sí). En el futuro, a medida que las extensiones se expandan y permitan otras personalizaciones, esas personalizaciones se transferirán. Esto significa que, como desarrollador, solo tiene que centrarse en el contenido y no realizar un montón de trabajo para intentar que la página de la aplicación se parezca a todas las demás páginas del sistema, controlar la navegación de página rápida, controlar los personalizadores de aplicaciones, etc. Hay una propiedad en el objeto BaseWebPartContext
denominada formFactor
que le indicará si sabe si es de tamaño completo o estándar. Para crear una página de la aplicación, vea aquí.
Elementos web aislados de dominio (versión preliminar para desarrolladores)
Desde el principio de SPFx, siempre hemos indicado que los iFrame tienen un propósito, pero que la solución principal no los necesitaba. Ahora que el marco ha madurado, es el momento de desbloquear los escenarios en los que los iFrame eran importantes, es decir, cuando se necesita un nivel de permisos diferente para un elemento web que para el resto de la página/arrendamiento. Para compilar en la característica API web de v.1.6, establezca la propiedad isDomainIsolated
en el archivo package-solution.json tp true. Al hacerlo, todos los elementos web de la solución se ejecutarán en un dominio independiente con su propio conjunto de permisos. El marco controlará la creación del iFrame, pasando los datos de un lado a otro para permitir que el panel de propiedades funcione correctamente, etc. Los permisos de esta solución se administran en la misma página de administración en la que se administran los permisos de SPFx para el resto de arrendamiento. En esta versión preliminar para desarrolladores, no se admiten los datos dinámicos entre elementos web de la página principal y un elemento web aislado de dominio.
ListSubscriptions en el explorador (versión preliminar para desarrolladores)
El paquete @microsoft/sp-list-subscription recién publicado le permite registrarse para eventos del explorador cuando se actualiza una biblioteca subyacente. Proporcione la información de la biblioteca y una función de devolución de llamada, y cuando se actualice la biblioteca, se llamará a la devolución de llamada.
- Suscribirse a notificaciones de lista
- Ejemplo de código que muestra cómo funcionan ListSubscriptions
Cambios en esta versión
Hemos rediseñado los eventos del ciclo de vida de ContentPlaceholder. Ahora, cada vez que cree un marcador de posición de contenido, se realizará correctamente. Sin embargo, si la página actual no tiene un lugar para el marcador de posición, el marcador de posición no se representará. Una vez que el usuario navegue a una página que admita el marcador de posición (o la asistencia con marcador de posición se habilite en la página después de crear PlaceholderContent), la mostraremos. Una nueva propiedad en el objeto PlaceholderContent, isVisible
le indicará si se muestra el marcador de posición. Además, cuando cambie la visibilidad de los marcadores de posición, llamaremos a un método en el ApplicationCustomizer
llamado onPlaceholdersChanged()
. Si desea recibir una notificación de estos cambios, puede invalidar el método.
Hemos realizado un par de métodos en el SPComponentLoader
público. getManifests()
devolverá la lista de manifiestos que el cargador conoce y loadComponentById
cargará un componente por identificador desde el servidor si aún no está cargado (y se lo devolverá).
Desuso y elementos quitados en esta versión
- Se ha quitado la compatibilidad con Node.js v6 en esta versión.
- Se quitó el uso anteriormente en desuso de MSGraphClient de @microsoft/sp-client-preview. Debe usar la versión de disponibilidad general de la versión 1.6 que se encuentra en el paquete @microsoft/sp-http .