Saltar al contenido principal

Jutro Digital Platform Innsbruck

Jutro Digital Platform (JDP) está disponible de forma generalizada en Innsbruck, después de completar correctamente un programa de acceso anticipado en las dos versiones anteriores. A continuación, encontrará detalles sobre las novedades de cada uno de los componentes fundamentales de JDP.

Novedades del parche 10.0.10 de Jutro​

Mejoras y problemas solucionados​

Los siguientes problemas se resolvieron en el parche 10.0.10:

ID
Descripción
JUT-21683Se mejoró el comportamiento de cierre de sesión para los clientes de autenticación Okta y OIDC.
JUT-22215El inicio de sesión ya no se activa automáticamente en el cliente de autenticación Okta para las páginas que no requieren autenticación.
JUT-21714El campo main en el paquete @jutro/eslint-config ahora apunta a la entrada correcta.
JUT-21946La biblioteca okta-auth-js se actualizó a la versión 7.8.1.
JUT-21934eslint-config ya no utiliza un paquete antiguo esm, que causaba problemas con el nodo 22.
JUT-21785Se actualizó la dependencia de Webpack a la versión 5.95.0 en @jutro/cli-app.

Novedades del parche 10.0.9 de Jutro​

Cliente de autenticación de Okta​

Ahora se admite la autenticación de Okta en el paquete @jutro/auth.

Para habilitar Okta, establezca JUTRO_AUTH_USE_NATIVE_OKTA_CLIENT=true en su entorno. El uso del cliente de autenticación de Okta es igual que el cliente genérico, excepto por los siguientes cambios de comportamiento:

  1. Inicio de sesión silencioso y flujo emergente de autenticación simplificados.
    Utiliza un mecanismo personalizado (response-mode: okta_post_message) para pasar los tokens actualizados desde un iframe o ventana emergente ocultos a la ventana principal. Como resultado, no carga ninguna ruta de aplicación. Esto significa que las variables JUTRO_AUTH_SILENT_LOGIN_PATH y JUTRO_AUTH_SILENT_REDIRECT_PATH son obsoletas.

  2. La memoria es el almacenamiento de tokens. No hay una opción de service worker. La memoria para el almacenamiento de tokens es la opción más segura en el cliente nativo de Okta. Hay dos diferencias en el comportamiento de la aplicación:

    1. Cada vez que se abre o actualiza una página, se inicia un flujo de inicio de sesión completo para obtener tokens. El usuario verá un cargador y /auth/callback cambia en la navegación de su navegador durante un breve período.
    2. No hay sincronización, cada pestaña usa sus propios tokens.
  3. No hay parámetros adicionales. El cierre de sesión con el cliente nativo de Okta ignora los parámetros adicionales de JUTRO_AUTH_LOGOUT_QUERY_EXTRAS.

Para obtener más información sobre el uso del cliente nativo de Okta, consulte la página de documentos de autenticación.

Si ha utilizado el paquete de autenticación nativo de Okta heredado desde la versión 8.12 o anteriores, consulte los pasos para migración del cliente de autenticación para obtener detalles sobre en qué difiere.

Obsolescencia de la versión 18 del nodo​

Warning: A partir del 30 de abril de 2025, no podrá crear nuevas aplicaciones en el nodo 18. Está llegando al final de su vida útil y no recibirá actualizaciones de seguridad.

Es posible que la ejecución de versiones obsoletas exponga la aplicación a vulnerabilidades.

Puede migrar aplicaciones existentes al nodo 22 hasta el 30 de septiembre de 2025. Actualice todas las aplicaciones lo antes posible.

El mantenimiento del nodo 18 finaliza en abril de 2025 y no recibirá asistencia técnica después de esa fecha. El uso del nodo 18 en Jutro queda obsoleto y se recomienda actualizar al nodo 22.6.0 o uno posterior.

Para migrar, haga lo siguiente:

  • Actualice el campo engines en su package.json a:
  "engines": {
"node": ">=22.6.0 < 23",
"npm": ">=10.8.2 "
}
  • Si usa NVM para administrar versiones del nodo, debe actualizar su archivo .nvmrc a v22.6.0.
  • Instale Node.js v22.6.0 (y si no es usuario de NVM, elimine la versión anterior).
  • Actualice las pruebas unitarias que utilizan Intl (Node.js v22 se actualiza de acuerdo con la última versión de Intl).
  • Elimine node-sass de su package.json y agregue "sass": "1.81.0" en su lugar.
    • Si tiene problemas con "sass": "1.81.0", intente usar "sass": "1.77.8" en su lugar.

Para comprobar si la aplicación sigue funcionando con una versión más reciente de Node.js (por ejemplo, en las canalizaciones de TeamCity), haga lo siguiente:

  • Actualice el campo engines en su package.json a:
  "engines": {
"node": ">=22.6.0 < 23",
"npm": ">=10.8.2 "
}
  • Elimine node-sass de su package.json y agregue "sass": "1.81.0" en su lugar.
    • Si tiene problemas con "sass": "1.81.0", intente usar "sass": "1.77.8" en su lugar.
Warning: Problema conocido

Un cambio en el proceso de traducción en el nodo 22 hace que un carácter de espacio sea reemplazado por un espacio Unicode estrecho de no separación. Esto puede dar lugar a pruebas unitarias fallidas, ya que no coincide con el patrón regex \s.

Note: Webpack 4 no es compatible con el nodo 22; el uso del nodo 22 requiere la actualización a Webpack 5.
Note: Las diferentes versiones de Node.js en entornos locales y de CI pueden llevar a un comportamiento incoherente de las pruebas unitarias para los componentes que utilizan Intl.

Mejoras y problemas solucionados​

Los siguientes problemas se resolvieron en el parche 10.0.9:

ID
Descripción
JUT-21453La redirección de inicio de sesión no respetaba routerBasename.
JUT-21543En el cliente de autenticación genérico, el cierre de sesión no finalizaba la sesión de manera coherente.
JUT-21448No se admitía la adopción de clientes nativos de Okta en EnterpriseEngage.
JUT-20881Al usuario sin asignar se le denegaba el acceso y no veía ningún error en el MFE de iframe.
JUT-20972Habilita el uso del cliente Okta hasta la versión 10.0+.
JUT-21541El cierre de sesión del cliente nativo de autenticación de Okta no funcionaba de manera coherente.
JUT-20929La aplicación se abría en una ventana emergente, en lugar de en un shell.
JUT-20192El cierre de sesión no finalizaba la sesión de manera coherente.
JUT-21348Se actualizó okta-auth-js a 7.7.1, lo que solucionó un problema con las renovaciones de tokens.
JUT-20902Se actualizó @axa-fr/oidc-client a la última versión en todas las versiones desde la 10.0.x.
JUT-21177El menú desplegable DropdownSelectField y TypeaheadMultiSelectField en ModalNext de un microfrontend se renderizaba detrás de la ventana modal.
JUTSDK-1560Había un problema donde BC y CM en initSDK se debe pasar manualmente a backendURL.
JUT-20884La actualización de Jutro de 8.13.2 a 10.0.3 causó fallas en los casos de pruebas unitarias en varios componentes.
JUT-20970La validación antigua no funcionaba cuando se alternaba la visibilidad de los campos.
JUT-21226El componente cargador de microfrontend no se podía invalidar.
JUT-19975Existía un problema por el que location.state no se definía al pasar variables dentro del microfrontend.
JUT-21149Un error de autenticación aparecía durante el cierre y el inicio de sesión cuando el usuario abría 3 pestañas.
JUT-21272Había un problema por el que el microfrontend se redirigía en la prueba unitaria después de cambiar al nodo 22.

Novedades del parche 10.0.8 de Jutro​

Mejoras y problemas solucionados​

Los siguientes problemas se resolvieron en el parche 10.0.8:

  • Se solucionó un problema por el que los parámetros JUTRO_AUTH_LOGIN_QUERY_EXTRAS no se agregaban para autorizar llamadas que se originaban desde el inicio de sesión silencioso. Esto provocaba que un usuario inactivo de ProducerEngage era llevado a la pantalla de inicio de sesión de Guidewire Hub, en lugar de a la pantalla de inicio de sesión de su IdP.
  • Se corrigió un problema por el que un iframe auth independiente no funcionaba si el iframe era multisitio.
  • Se solucionó un problema por el que las pruebas fallaban porque no había un modal en el árbol de accesibilidad.

Novedades del parche 10.0.7 de Jutro​

Mejoras y problemas solucionados​

El siguiente problema se resolvió en el parche 10.0.7:

  • Un usuario inactivo de ProducerEngage era llevado a la pantalla de inicio de sesión de Guidewire Hub, en lugar de a la pantalla de inicio de sesión de su IdP.

Novedades del parche 10.0.6 de Jutro​

Mejoras y problemas solucionados​

Los siguientes problemas se resolvieron en el parche 10.0.6:

  • Se eliminó devDependencies declarations de los archivos package.json antes de la publicación para evitar la generación de tickets falsos positivos.
  • Se solucionó un problema por el que el idioma cambiaba al inglés predeterminado cuando Globalization Store estaba habilitado.
  • Se solucionó un problema por el que se creaba un encapsulador QuickView para cada declaración de un componente QuickView. Esto rompía la composición y disposición de cuadrícula en un plano de planta en el que había más de dos QuickViews.
  • Se solucionó un problema de tiempo de espera por el que GCH redirigía a una página de Okta con el mensaje “429: demasiadas solicitudes” si quedaba inactivo durante demasiado tiempo.
  • Se resolvió un problema por el que algunas páginas que se abrían con window.open() se cerraban automáticamente después del inicio de sesión.
  • Se solucionó un problema por el que las actualizaciones de Jutro fallaban debido a que faltaba el módulo core-js.
  • Se resolvió un problema de visualización por el que los encabezados de vista rápida eran bloqueados por la barra superior o el encabezado en Guidewire Cloud Platform.

Novedades del parche 10.0.5 de Jutro​

Mejoras y problemas solucionados​

Los siguientes problemas se resolvieron en el parche 10.0.5:

  • Se solucionó un problema de accesibilidad por el que ciertos roles de aria debían incluir elementos secundarios específicos.
  • Se ha limpiado la carpeta del ícono de la aplicación y se ha cambiado la forma de pasar la propiedad overrides en el componente expulsado de la interfaz de usuario y en la limpieza posterior a la expulsión.
  • Se corrigió cómo CurrencyInput maneja el valor null para devolver un valor claro en lugar de un error.
  • Se solucionó un problema por el que el uso de FileUploadField rompía pruebas cuando se usaba con userEvent en la versión 14.
  • Se solucionó un problema de tiempo de espera agotado de microfrontend por el que se arrojaba un error incluso cuando el iframe se cargaba correctamente.
  • Se corrigió la forma en que multiple-combobox y multiple-select manejaban los valores nulos para que presentaran un valor claro en lugar de un error.
  • Se modificó la manera en que NumberInput manejaba los valores nulos para unificar la API de NumberInput, Stepper y Amount parte de Currency.
  • Se modificó la manera phone-number-input en que maneja los valores nulos para que presentara un valor claro en lugar de un error
  • Se corrigió un error en el SDK al quitar un modificador de la generación de riesgo.
  • Se corrigió un problema para aclarar la descripción de la configuración de enrutamiento del SDK.
  • Se solucionó un problema con los productos visualizados e instalados en el que la generación de esquemas con los mismos nombres creaba problemas con la generación.

Nuevas características 10.0.5​

  • En el caso de las aplicaciones microfrontend, CSS ahora está disponible para el modal personalizado.

Novedades del parche 10.0.3 de Jutro​

Mejoras y problemas solucionados​

Los siguientes problemas se resolvieron en el parche 10.0.3:

  • Los tokens de diseño relacionados con fuentes no se aplicaban correctamente a todos los componentes menús desplegables. Los menús desplegables independientes no adoptaban la fuente correcta.
  • Se resolvió un problema por el que la opacidad se aplicaba dos veces a algunos elementos del campo.
  • Se resolvió una situación en la que una función de validación de grupo de cobertura no validaba la cobertura correcta.
  • El componente PhoneInput se renderizaba de manera diferente al diseño en Figma. Como resultado, el usuario no podía copiar el valor del campo. Esto se resolvió.
  • Se resolvió un problema por el que se establecía una configuración adicional mediante el uso de setConfiguration en un microfrontend que, luego, se perdía cuando se cargaba el microfrontend final.
  • Se han resuelto los problemas al utilizar descripciones emergentes con componentes heredados o al pasar la propiedad ref directamente.
  • Se resolvió un problema por el que los componentes help se eliminaban de componentMap y no se renderizaban cuando se usaban planos de planta en la configuración.

Jutro Design System 10.0.3​

Jutro Design System 10.0.3 presenta componentes refactorizados, que están estructurados de manera diferente a sus predecesores. Esta versión también contiene elementos obsoletos. Consulte Jutro Design System 10.0 para obtener más detalles acerca de estos cambios.

Bibliotecas de interfaz de usuario de JDP 10.0.3​

Jutro Digital Platform ofrece una experiencia de desarrollador seleccionada con configuraciones predefinidas y funcionalidad transversal. Estas funciones de ayuda están disponibles como bibliotecas de interfaz de usuario JavaScript reutilizables para ayudarle a crear experiencias únicas para la industria de seguros de propiedades y accidentes en Guidewire Cloud a gran velocidad. Esta versión incluye un nuevo cliente de autenticación genérica, mejoras en microfrontends y más. Para obtener más información, consulte la sección Desarrollo en la documentación de JDP.

Jutro Web Apps​

Jutro Web Apps es una aplicación de administración que forma parte de JDP. Permite la creación de aplicaciones de Jutro desde plantillas de inicio, además de la eliminación y la administración de aplicaciones, y está disponible a través de un mosaico de Jutro Web Apps homónimo en Guidewire Cloud Home.

Con Jutro Web Apps, los desarrolladores pueden crear, compilar y probar rápidamente aplicaciones web de seguros de propiedades y accidentes con muchas funciones. Pueden implementar estas aplicaciones en Guidewire Cloud Platform (GWCP) de una manera completa y de autogestionada. Todo esto es posible con una interacción mínima con los equipos de asistencia de Guidewire.

Las siguientes secciones contienen aspectos destacados de algunas de las características que ofrece Jutro Web Apps.

Vista unificada en todas las aplicaciones del inquilino​

  • Jutro Web Apps tiene una página de inicio que muestra una vista filtrable de todas las aplicaciones creadas dentro del inquilino
  • También cuenta con una página de configuración de la aplicación que le permite administrar configuraciones de aplicaciones como estas:
    • Grupos de usuarios con IdP definido para controlar el acceso a la aplicación.
    • Acceso a las aplicaciones de InsuranceSuite.
    • Registro de dominio personalizado para aplicaciones en entornos de preproducción y producción.
    • Creación de listas de IP permitidas para administrar el acceso a la aplicación durante las pruebas.
    • Selección simplificada de InsuranceSuite en el formulario de implementación.

Para obtener más información, consulte la documentación de Jutro Web Apps.

Capacidades de implementación​

  • Compilación e implementación automáticas de la aplicación en GWCP después de su creación inicial.
  • Los enlaces de BitBucket, TeamCity y las implementaciones de aplicaciones se deshabilitan si la aplicación está en estado de error o de eliminación.
  • Vista rápida que muestra el estado actual de los límites según se aplican a las aplicaciones creadas y ascendidas.
  • Mensajes de error traducibles en implementaciones de vista rápida.
  • Se pueden mostrar varias ramas implementadas en la tabla de implementación.
  • Opción de URL estable/única en la página Implementaciones.

Para obtener más información, consulte Implementaciones mutable e inmutable.

Pruebas E2E (de extremo a extremo) de Jutro Web App:​

En calidad de desarrollador de aseguradora, ahora puede ejecutar pruebas E2E en su aplicación de Jutro. El uso de pruebas E2E le permite validar que su aplicación funciona de principio a fin, desde la interfaz de usuario hasta las integraciones con InsuranceSuite. Esto garantiza que su aplicación aún funciona, incluso cuando realiza cambios.

Para obtener más información, consulte Pruebas E2E.

CLI de la plataforma de Jutro 10.0.3​

La interfaz de línea de comandos de la plataforma de Jutro (CLI de la plataforma de Jutro) es una herramienta unificada basada en plugins para administrar sus aplicaciones de Jutro. La CLI de la plataforma de Jutro ofrece comandos como generate y validate, que se pueden ejecutar directamente desde la propia CLI o desde la versión incrustada instalada en cualquier aplicación de Jutro.

Para obtener más información, consulte la documentación sobre Jutro CLI.

Cambios en el comando generate:i18n​

El archivo predeterminado de traducción creado ya no es la traducción al inglés src/i18n/en.json. Ahora es un archivo de traducción de plantilla src/i18n/lang.json que se puede utilizar como base para traducir su aplicación a otros idiomas.

Plantillas de aplicaciones de Jutro 10.0.3​

JDP ofrece varias plantillas de aplicaciones: aplicaciones de Jutro listas para usar con un código modelo. Este código incluye componentes, páginas de ejemplo, disposiciones y composiciones, y estilos que se proporcionan en un repositorio de desarrollo junto con una canalización de CI/CD definida en GWCP para impulsar el desarrollo de su aplicación web. Para obtener más información, consulte la documentación sobre las plantillas.

Hay tres tipos de plantillas:

  • Plantillas de inicio, que son aplicaciones shell de React vacías con solo el andamiaje, como el encabezado y el pie de página, diseñadas para iniciar el proceso de creación de una nueva aplicación.
  • Plantillas de capacitación, que ofrecen a los desarrolladores una mejor idea de cómo funcionan las plantillas.
  • Plantillas que resuelven una necesidad específica del negocio. Pueden ser microfrontends o aplicaciones independientes de Jutro que usted puede consumir en sus propias aplicaciones o en otras aplicaciones de Guidewire (incluidas las aplicaciones de Digital).

Para obtener más información, consulte la documentación sobre los tipos de plantillas.

SDK de Digital 10.0.3​

El SDK de Digital está diseñado específicamente para funcionar con las Cloud API de InsuranceSuite y facilitar la interacción con ellas. Puede generar su SDK de Digital a medida dentro de su propia aplicación, en función de sus líneas de negocio. Para ello, utilice Jutro CLI, en función de sus definiciones específicas de la API abierta de Cloud API y de la lista de esquemas expuestos en InsuranceSuite.

Para obtener más información, consulte las notas de la versión del SDK de Digital.

Novedades del parche 10.0.2 de Jutro​

Mejoras y problemas solucionados​

Bibliotecas de interfaz de usuario de Jutro​

Ahora puede configurar una propiedad allow para microfrontends de iframe. Esto permite habilitar varias características del navegador, tales como geolocation, clipboard-write y camera.

Los siguientes problemas se resolvieron en el parche 10.0.2:

  • Las propiedades integrateJutro y integrateRouter no funcionaban correctamente en los microfrontends de iframe.
  • Se resolvió un caso extremo relacionado con el componente Breadcrumb utilizado dentro de un microfrontend. Cuando un enlace en Breadcrumb tenía una redirección, esta redirección no funcionaba como se preveía, ya que se enviaba a window.history en el orden incorrecto.
  • Cuando se abría un enlace en un microfrontend de una nueva pestaña o se tomaba la dirección del enlace desde él, el nombre base del microfrontend establecido por un shell no se incluía en el enlace.
  • Las rutas de microfrontend anidadas no funcionaban correctamente cuando se incrustaban dentro de una aplicación shell.
  • El idioma o la configuración regional seleccionados no se extraían del almacén de globalización fuera de React; en su lugar, se devolvía el idioma/configuración regional predeterminados (en_US).

Novedades del parche 10.0.1 de Jutro​

Mejoras y problemas solucionados​

Jutro CLI​

El comando jutro validate:linters fallaba cuando la aplicación no contenía ningún archivo de metadatos.

Jutro Design System​

  • La posición del componente Select no era correcta en la renderización.
  • Se eliminó un margen adicional en la parte inferior de la lista de opciones DropdownSelectField.
  • Se resolvieron varios problemas de especificidad de CSS en los componentes.
  • Se resolvieron los siguientes problemas de microfrontend:
    • Un problema con la resolución de ubicación inicial para microfrontends anidados profundamente.
    • El uso de avisos (Prompt) dentro de un microfrontend no funcionaba.
    • El componente QuickViewProvider tenía diferentes posiciones cuando se utilizaba en una aplicación independiente y en una microfrontend.
    • La página se bloqueaba cuando el SDK se usaba con la autenticación habilitada.
  • Se evitó un error con la actualización del token de autenticación cuando había varias pestañas abiertas.
  • Se definió un nuevo manejo de errores cuando el usuario no está asignado a una aplicación.
  • Se resolvió un problema con el filtrado de TableView.

Novedades en Jutro Digital Platform Innsbruck​

Elementos obsoletos​

Hay elementos obsoletos en esta versión. Varios paquetes ahora son paquetes heredados. Consulte nuestra página sobre elementos obsoletos para obtener más información.

Nuevo paquete @jutro/legacy​

Se ha introducido un nuevo paquete @jutro/legacy en esta versión. Contiene componentes obsoletos que aún están disponibles, pero deberá actualizar la instrucción import para continuar usándolos.

Para obtener más información, consulte la sección Paquete heredado.

Uso de componentes heredados con metadatos​

Si utiliza metadatos en lugar de JSX, debe utilizar la nueva función configureLegacyComponentMap para seguir utilizando los componentes desde el paquete @jutro/legacy.

La función configureLegacyComponentMap se agregó mediante un codemod al archivo donde se llama a la función startApp para todas las aplicaciones que tengan la dependencia @jutro/uiconfig en package.json. Esta función registra los componentes heredados que se movieron al paquete @jutro/legacy para el uso de metadatos.

Warning: Cuando se ejecutan pruebas unitarias basadas en metadatos, debe agregar configureLegacyComponentMap manualmente antes de los casos de prueba asociados. De lo contrario, es probable que se generen errores It is missing correct "component" or "datatype" properties en las pruebas unitarias.
beforeAll(configureLegacyComponentMap);

Paquetes trasladados a jutro/legacy​

Los siguientes paquetes ahora son paquetes heredados y quedaron obsoletos. Sus rutas de importación se actualizaron para reflejar el cambio:

Importación del paquete originalImportación heredada
@jutro/address@jutro/legacy/address
@jutro/contract@jutro/legacy/contract
@jutro/dataview@jutro/legacy/dataview
@jutro/datatable@jutro/legacy/datatable
@jutro/lab-preview-dataview@jutro/legacy/lab-preview-dataview
@jutro/quick-view@jutro/legacy/quick-view
@jutro/services@jutro/legacy/services
@jutro/uiconfig@jutro/legacy/uiconfig
@jutro/uimetadata@jutro/legacy/uimetadata

Encontrará más detalles sobre la obsolescencia de los paquetes @jutro/datatable y @jutro/lab-preview-dataview en las secciones Obsolescencia de paquetes de tabla de datos y Obsolescencia del paquete de DataView, respectivamente.

Componentes heredados​

Los siguientes componentes ahora son heredados y están marcados como obsoletos. Se han movido al paquete @jutro/legacy, por eso, sus rutas de importación deben actualizarse para reflejar el cambio.

Componentes heredados desde @jutro/components​

Importación del paquete originalImportación del paquete heredadoLista de componentes en el paquete
import {'component'} from '@jutro/components'import {'component'} from '@jutro/legacy/components'Accordion
BreakpointTracker
Collapse
Container
CurrencyField
CheckboxField
DropdownSelectField

FileUploadField

(incluyendo los ganchos useFileUpload y useMultipleFileUpload)

Footer
FooterCopyright
FooterNavBar
FooterNavLink
FooterText
FooterContext
StickyFooter
HeaderActions
HelpElement
HelpLink
HelpParagraph
HelpPopover
IntlPhoneNumberField
LogoTitle
PhoneNumberField
TextAreaField
TextField
TypeaheadMultiSelectField
Componentes de ayuda obsoletos​

Como se indicó antes, varios componentes relacionados con la ayuda han quedado obsoletos: HelpHeading, HelpLink, HelpParagraph, HelpPopover y HelpElement. Puede reemplazarlos por sus propios componentes de ayuda personalizados. Si desea seguir utilizando los componentes antiguos, puede importarlos desde @jutro/legacy/components a su mapa de componentes para el plano de planta.

import { HelpHeading, HelpParagraph, HelpLink } from '@jutro/legacy/components';
import { AppFloorPlan } from '@jutro/legacy/floorplan';
// ...
export const componentMap = {
HelpHeading,
HelpParagraph,
HelpLink,
};
// ...
<AppFloorPlan
componentMap={componentMap}
// ...
/>;

Componentes heredados desde @jutro/router​

Importación del paquete originalImportación del paquete heredadoLista de componentes en el paquete
import {'component'} from '@jutro/router'import {'component'} from '@jutro/legacy/router'ApplicationHeader
RouteTracker
SubApplicationHeader

Componentes heredados desde @jutro/wizard-next​

Importación del paquete originalImportación del paquete heredadoLista de componentes en el paquete
import {'component'} from '@jutro/wizard-next'import {'component'} from '@jutro/legacy/wizard-next'ScrollToError

Componentes heredados desde @jutro/floorplan​

Importación del paquete originalImportación del paquete heredadoLista de componentes en el paquete
import {'component'} from '@jutro/floorplan'import {'component'} from '@jutro/legacy/floorplan'AppFloorPlan
Note: Un nuevo componente AppFloorPlan reemplaza al obsoleto. Consulte la sección Nueva API de planos de planta para obtener más información.

Componentes nuevos​

Algunos componentes han quedado obsoletos y fueron reemplazados. Algunos de los componentes nuevos están estructurados de manera diferente a sus predecesores. Es posible que tenga que ajustar las propiedades dondequiera que se llame el componente. La siguiente lista contiene los componentes y sus reemplazos:

Componente obsoletoComponente nuevo
AccordionAccordion
CheckboxFieldCheckbox
CheckboxGroupFieldCheckboxGroup
CurrencyFieldCurrencyInput
InputFieldTextInput
IntlPhoneNumberFieldPhoneNumberInput
PhoneNumberFieldPhoneNumberInput
TextAreaFieldTextArea
DropdownSelectSelect o MultipleSelect
TypeaheadMultiSelectCombobox o MultiCombobox

Los componentes obsoletos se importan desde @jutro/legacy/components y los componentes nuevos están disponibles desde @jutro/components.

Componentes y funciones eliminados​

  • @jutro/platform/getMessageService y @jutro/platform/MessageInterface. Utilice TranslatorProvider o useTranslator desde @jutro/locale como alternativa
  • AnimationGroup
  • ColorSwatch
  • FieldSkeleton
  • Footer
  • FormSkeleton
  • GlobalizationProvider
  • HeaderActions
  • HelpElement
  • HelpPopover
  • JsonForm
  • LiveRegion
  • LinkSkeleton
  • LogoTitle
  • Main
  • MapTooltipContent
  • MenuSkeleton
  • PageHead
  • PageLayout. Utilice GridLayout, Grid y Flex como alternativas
  • PanelLayout. Utilice GridLayout, Grid y Flex como alternativas
  • PrivateRoute
  • ResponsiveElement
  • SchemaValidator
  • SkipNav
  • StickyFooter
  • TabbedContainer. Utilice TabSet como alternativa
  • TableSkeleton

Dependencia del enrutador opcional​

La dependencia @jutro/router y sus dependencias de pares como history y react-router-dom ahora son opcionales para los paquetes de componentes. Sin embargo, ciertos componentes requieren que esto se agregue a las dependencias de la aplicación para utilizarlos. La siguiente lista de componentes requiere que se agregue @jutro/router:

ComponenteImportar desde
DropdownMenuAvatarContent@jutro/components
InlineNotification@jutro/components
LanguageSelector@jutro/components
PopoverContainer@jutro/components
ToastProvider@jutro/components

Dependencia de autenticación opcional​

La dependencia @jutro/auth ahora es opcional para los paquetes @jutro/router y @jutro/components. Sin embargo, ciertos componentes requieren que esto se agregue a las dependencias de la aplicación para utilizarlos. La siguiente lista de componentes requiere que se agregue @jutro/auth:

ComponenteImportar desde
ApplicationRoot@jutro/app
Avatar@jutro/components
DropdownMenuAvatar@jutro/components
DropdownMenuAvatarContent@jutro/components
AppFloorPlan@jutro/floorplan
MicroFrontend@jutro/micro-frontends
SecureRoute@jutro/router

Cliente de autenticación de Okta eliminado​

Se eliminó el cliente de autenticación de Okta que había quedado obsoleto en la versión 8.13.2. Utilice el nuevo cliente de autenticación genérica en su lugar.

TreeView​

El componente TreeView ya no está en la vista previa de laboratorio. Para obtener más información sobre este componente, consulte la documentación de TreeView.

Se eliminaron los paquetes de carga en caliente​

@hot-loader/react-dom y react-hot-loader se eliminan automáticamente de las dependencias de las aplicaciones.

Nueva API de planos de planta​

El componente AppFloorPlan ya no acepta las propiedades componentMap, callbackMap ni classNameMap. La propiedad floorPlans aún es compatible, pero el valor aceptado se cambia por un objeto JS, en lugar de json de metadatos.

  • Cada className debe ser un nombre de módulo CSS.
  • Cada devolución de llamada (render*, on*) debe ser una función, en lugar de un string.
  • routes[].component debe ser un componente, en lugar de un string.
  • Se eliminó header.helpPopoverItems, que acepta metadatos de la interfaz de usuario.
  • Se añadió la propiedad de renderización header.renderHelpPopoverItems.
  • Se eliminó la propiedad footer, que acepta metadatos de la interfaz de usuario.
  • Se añadió la propiedad renderFooter.

La versión anterior de AppFloorPlan se puede encontrar en @jutro/legacy/floorplan, sin embargo, está obsoleta y debe actualizar a la nueva API manualmente.

Se eliminó PromptService​

Jutro ya no contiene un PromptService.

Anteriormente, usted configuraba un mensaje a través de PromptService en algún lugar de su proyecto:

PromptService.push('prompt-name', promptProps);

Más tarde, no necesariamente en el mismo archivo, hacía esto:

routeConfirmationModal('prompt-name', promptCallback, modalEmitter);

Elimine todos los usos de PromptService y pase promptProps a routeConfirmationModal directamente, de la siguiente manera:

// PromptService is removed
routeConfirmationModal(promptProps, promptCallback, modalEmitter);

Tercer argumento de la función start​

Se eliminó el tercer argumento (scriptAttributes) para la función de microfrontend start. En su lugar, pase el argumento de la función startApp como propiedad mfeData en el segundo argumento de la función start.

Ejemplo de migración:

antes
src/startApp.js
import { start } from '@jutro/micro-frontends';
import messages from './app/App.messages';

export const startApp = (scriptAttributes) => {
start(
Jutro,
{
appName: messages.appName,
appDescription: messages.appDescription,
},
scriptAttributes
);
};
después
src/startApp.js
import { start } from '@jutro/micro-frontends';
import messages from './app/App.messages';

export const startApp = (mfeData) => {
start(Jutro, {
appName: messages.appName,
appDescription: messages.appDescription,
mfeData: mfeData,
});
};

Funciones @jutro/uiconfig eliminadas​

Además de que el paquete quedó obsoleto y se lo trasladó al paquete heredado (@jutro/uiconfig ahora está disponible como @jutro/legacy/uiconfig), se eliminaron las siguientes funciones de @jutro/uiconfig:

  • generateUIFromSchema()
  • extractSubSchema()
  • useJsonSchema()

LocaleService​

Se eliminó el servicio de configuración regional que había quedado obsoleto en 8.13.2. Utilice la nueva API de g11nStore en su lugar.

Variable de entorno REACT_APP_JUTRO_AUTH_GENERIC_CLIENT​

La variable REACT_APP_JUTRO_AUTH_GENERIC_CLIENT, que se introdujo cuando los clientes de autenticación antiguos y nuevos estaban disponibles, se ha eliminado, porque ya no se usa. Si aún la tiene en su proyecto, puede eliminarla.

Carga de estilo mejorada para microfrontends​

Antes de esta versión, el CSS aplicado a microfrontends podía cambiar el estilo de la aplicación shell u otros microfrontends. Esta versión presenta una nueva forma de cargar estilos para microfrontends que evita que esto suceda.

Lo siguiente ha cambiado:

  • Los estilos de CSS para microfrontends ahora incluyen el nombre de microfrontend en los selectores. Por ejemplo, .my-micro-frontend .my-class.
  • La aplicación shell encapsula el microfrontend con un componente que agrega el nombre del microfrontend como una clase.

Otros paquetes retirados​

Los siguientes paquetes se retiraron en la versión 10.0 y ya no están disponibles en Jutro:

  • @jutro/overrides
  • @jutro/lab-preview-html-metadata-loader
  • @jutro/lab-preview-metadata-converter
  • @jutro/storybook-preset
  • @jutro/e2e-tests; el paquete ahora se llama @jutro/lab-preview-test-e2e

Las siguientes funciones o API se retiraron en la versión 10.0 y ya no están disponibles en Jutro:

  • La función textWasTranslated del paquete @jutro/test.

Compatibilidad con React 18​

Note: Vale la pena actualizar la versión

Esta nueva función será la predeterminada en la próxima versión principal de Jutro. Le recomendamos que comience a usar la nueva función y obtenga los beneficios lo más pronto posible.

Se agregó compatibilidad oficial para React 18.2.0. Todas las aplicaciones que se ejecutan con React 17 se pueden actualizar para usar React 18.2.0.

Enzyme ya no es compatible cuando se usa React 18. React 17 todavía es compatible con los paquetes de Jutro.

Todas las pruebas unitarias que utilicen Enzyme se deben migrar a React Testing Library (RTL).

Todas las aplicaciones nuevas creadas con la CLI con jutro-app-template usarán React 18 de forma predeterminada.

Nota importante sobre las versiones:

  • Para usuarios de TypeScript: @types/react debe seguir siendo 17.0.24 y no actualizarse a 18.
Warning: Cuando utilice React 18, debe usar Webpack 5. Webpack 4 no es compatible.

Componente tabla​

El Table componente ha dejado de ser obsoleto.

Componentes obsoletos​

Los componentes obsoletos ahora están claramente marcados como tales en la página de componentes correspondiente del sitio web de la documentación.

Actualizaciones de microfrontend​

Se mejoró y refactorizó la API del microfrontend. Para obtener más información sobre las características del microfrontend, consulte la documentación sobre microfrontend.

Correcciones de errores​

  • Se solucionó un problema por el que los elementos DropdownSelectField y TypeaheadMultiSelectField aparecían detrás de la ventana modal en un microfrontend.
  • Se eliminaron mensajes de validación para los campos que no eran visibles.
  • Se solucionó un problema que impedía que el cargador predeterminado del microfrontend se invalidara cuando el microfrontend estaba incrustado.
  • Se solucionó un problema por el que aparecía un error de autenticación para los usuarios que iniciaban o cerraban sesión si tenían abiertas tres o más pestañas de la misma aplicación.
  • Se solucionó un problema que impedía que el parámetro JUTRO_AUTH_LOGIN_QUERY_EXTRAS se pasara durante el inicio de sesión silencioso.
  • Se solucionó un problema por el que los modales no estaban presentes en el árbol de accesibilidad.
  • Se solucionó un problema que retrasaba la aplicación de estilos a los componentes QuickView.
  • Se solucionó un problema que hacía que se agotara el tiempo de espera de los intentos de inicio de sesión de autenticación silenciosa.
  • Se solucionó un problema que hacía que los microfrontends de iframe abrieran varias ventanas emergentes durante la autenticación.
  • Se solucionó un problema por el que location.state no se definía al pasar variables dentro de los microfrontends.
  • Se solucionó un problema que causaba que los estilos de modales se rompieran.
  • Se solucionó un problema por el que los usuarios del agente inactivo eran redirigidos a la pantalla de inicio de sesión incorrecta.
  • Se solucionó un problema con los microfrontends que causaba que los encabezados de QuickView ocasionalmente se ocultaran.
  • Se solucionó un problema por el cual las ventanas abiertas mediante programación que no eran activadas por la lógica de integración de autenticación se cerraban automáticamente.
  • Se solucionó un problema por el que el cliente de autenticación devolvía una página en blanco, en lugar de una página de error, cuando ocurría un error de OIDC.
  • Se solucionó un problema por el que más de dos componentes QuickView de un plano de planta rompían la composición y disposición de cuadrícula.
  • Se solucionó un problema por el que los cambios de CSS personalizados aplicados a elementos en un contenedor de vista rápida no se mostraban.
  • Se solucionó un problema por el que los microfrontends aún mostraban datos antiguos cuando los datos cambiaban en la aplicación principal.
  • Se solucionó un problema por el que los modales personalizados en microfrontends no tenían CSS ni nombres de clase.
  • Se solucionó un problema por el que los enlaces desde un microfrontend que se abrían en una pestaña del navegador independiente no funcionaban.
  • Se solucionó un problema por el cual la configuración adicional creada con setConfiguration se restablecía cuando un microfrontend estaba completamente cargado.
  • Se solucionó un problema por el cual la configuración de globalización de microfrontend no se actualizaba cuando la aplicación shell actualizaba su configuración.
  • Se solucionó un problema por el cual el componente router de microfrontend escuchaba los cambios de history y modificaba las rutas de navegación de la página.
  • Se solucionó un problema por el que los nombres base de shell no se agregaban a los enlaces creados dentro de un microfrontend.
  • Se solucionó un problema por el que las devoluciones de llamada no se pasaban de la manera correcta en microfrontends de iframe.
  • Se solucionó un problema por el que los estilos de microfrontend no se aplicaban correctamente cuando el shell usaba un algoritmo de ordenamiento CSS antiguo.
  • Se solucionó un problema por el que, si usaba una aplicación shell con React 18 y un microfrontend con React 17, recibía un error que indicaba createRoot not found, incluso si configuraba useLegacyReact.
  • Se solucionó un problema por el cual, si la aplicación shell usaba el nuevo mecanismo de autenticación y el microfrontend usaba el mecanismo de autenticación anterior, el microfrontend no recibía el token de autenticación.

Mejoras y problemas solucionados​

ID
Descripción
JUT-21543Se solucionó un problema con el cierre de sesión de varias pestañas para microfrontends.
JUT-15669Se solucionó un problema por el que el componente DatePicker no mostraba el formato correcto.
JUT-21226Se solucionó un problema por el que no se podía invalidar un loaderComponent.
JUT-21543Se agregó el indicador allowMultiTabLogin que faltaba al archivo OidcTrustedDomains.
JUT-20192Establece isPending en true cuando se ejecuta el flujo de cierre de sesión.
JUT-22156Se agregó @types/loader-utils a devDeps en jutro-toolset-react-app.
N/CSe agregó el paquete emojis-list que es utilizado por loader-utils para resoluciones.
JUT-22156Se agregó postcss-scss a resoluciones y aumentó postcss en jutro-app.
JUT-21794Se agregó una resolución para braces 3.0.3.
JUT-21801Se agregó una resolución para rollup 2.79.2.
JUT-21783Se agregó una resolución para @babel/traverse 7.25.7.
JUT-21799Se agregó una resolución para axios 0.28.0.
JUT-22077Se agregó una resolución para cookie 0.7.1.
JUT-21788Se agregó una resolución para ejs 3.1.10.
JUT-21805Se agregó una resolución para express 4.20.0.
JUT-21793Se agregó una resolución para micromatch 4.0.8.
JUT-21796Se aumentó la versión de testcafe a 1.18.6.
JUT-22156Se eliminó loader-utils de las resoluciones en jutro-app.
JUT-21946Se actualizó @okta/okta-auth-js a la versión 7.8.1.
JUT-21177Se actualizó el índice z para DropdownSelectField.
JUT-20970Se eliminaron mensajes de validación para los campos que no eran visibles.
JUT-21785Se actualizó Webpack a 5.95.0 en @jutro/toolset-react-app.
JUT-21272Se corrigió la prueba unitaria de redireccionamiento de microfrontend.

Problemas conocidos​

Invalidaciones de estilo de ApplicationHeader​

Las invalidaciones CSS de ApplicationHeader podrían dejar de funcionar debido a problemas con la especificidad del selector.

Para solucionar este problema, aumente la especificidad de los selectores de CSS.

Por ejemplo, puede duplicar el nombre de la clase. Si importa módulos de estilo en sus componentes de la siguiente manera:

my-component.js
import styles from './my-styles.module.scss';

<ApplicationHeader className={styles.myClass} />;

Y sus invalidaciones de estilo se ven así:

my-styles.module.scss
.myClass {
background-color: red;
}

Cambie el nombre de la clase por:

my-styles.module.scss
.myClass.myClass {
background-color: red;
}

Rerenderizadores adicionales​

Si su aplicación usa microfrontends, es posible que haya nuevas renderizaciones adicionales o inesperadas en las aplicaciones secundarias. Estos rerenderizadores pueden activar useEffects y llamadas adicionales al backend.

Esto suele suceder cuando el usuario:

  • cambia el tamaño de la ventana;
  • se desplaza por la página;
  • se acerca y se aleja de la página.

Este no es un problema crítico y se solucionará en una versión futura.

Desafortunadamente, no hay soluciones temporales en este momento.

Invalidaciones de estilo modificadas en microfrontends​

Cambiamos la forma en que los microfrontends cargan CSS para evitar el intercambio inesperado de estilos entre microfrontends (más información). Esto puede cambiar la forma en que se aplican los estilos personalizados y la apariencia de la aplicación.

Para solucionar esto, puede configurar la siguiente variable de mejora:

REACT_APP_USE_LEGACY_MFE_CSS_ORDERING=true

Entradas en .gitignore que se concatenan con src/i18n/lang.json​

Problema: Es posible que se encuentre con problemas donde las entradas recién agregadas a .gitignore se concatenan con la entrada para src/i18n/lang.json.

Solución temporal: Asegúrese de que la entrada src/i18n/lang.json tenga una nueva línea después de ella, de modo que la entrada que le sigue se coloque correctamente en una nueva línea.

Los cambios en el esquema de metadatos dan como resultado fallas en las pruebas unitarias para varios componentes (JUT-20884)​

Problema: Debido a los cambios en el esquema de metadatos entre las versiones 8.13.x y 10.x.x de Jutro, las pruebas unitarias fallan para ciertos componentes, como PhoneNumberField, GenericColumn y otros. El problema ocurre cuando se actualiza de la versión 8.13.x a la 10.x.x.

Solución temporal: Guidewire está al tanto del problema.

Incrustación de microfrontends autenticados en aplicaciones shell que no son de Jutro​

Problema: La incrustación de microfrontends autenticados en algunas aplicaciones shell que no son de Jutro enfrenta nuevas limitaciones debido a los cambios introducidos en Google Chrome v115+. En los casos en los que el microfrontend está integrado mediante iframe o SDK y tiene su propia autenticación (por ejemplo, si la integración de autenticación está deshabilitada en la aplicación shell, pero el microfrontend requiere que el usuario se autentique), lo ideal es que ambas aplicaciones se ejecuten en el mismo sitio (por ejemplo, localhost:3000 y localhost:3001). Para obtener más información sobre las diferencias entre el mismo sitio y el mismo origen, consulte este artículo. Si la aplicación shell y la aplicación microfrontend se alojan en sitios diferentes, los mecanismos de seguridad del explorador pueden causar problemas. Cuando la aplicación shell y la aplicación microfrontend se alojan en sitios diferentes, la aplicación microfrontend y su clon en la ventana emergente se ejecutan con instancias completamente aisladas de service workers, que no pueden comunicarse entre sí. Aunque los service workers siguen funcionando en este entorno, la falta de comunicación entre estas instancias aisladas puede provocar un comportamiento inesperado en el microfrontend.

Solución temporal: No hay una solución temporal, pero recomendamos encarecidamente asegurarse de que ambas aplicaciones se ejecuten en el mismo sitio, de acuerdo con las recomendaciones oficiales de los proveedores de navegadores. Si eso no es posible, existe una solución temporal menos segura para las versiones 10.0.8+, 10.3.4+, 10.7.1+ y 10.9.0+ de Jutro.

En este caso, debe establecer la variable JUTRO_AUTH_ALLOW_SESSION_STORAGE_FOR_CROSS_SITE_IFRAMES en true. Este cambio permite que el almacenamiento de sesiones sirva de almacenamiento de tokens de autenticación.

En ocasiones, los tokens de autenticación pueden caducar​

Problema: Debido a los cambios en la forma de funcionamiento del cliente de autenticación OIDC, en ocasiones, se puede producir un error en el flujo de actualización del token de autenticación al alcanzar el límite de tiempo de espera.

Solución temporal: Se recomienda adoptar el último parche que soluciona el problema, así como realizar pruebas del comportamiento de carga y renovación de sesiones de la aplicación autenticada a través de conexiones más lentas, por ejemplo, Internet móvil.

En ocasiones, los agentes de escucha globales window.onmessage pueden ejecutarse incorrectamente​

Problema: Las versiones anteriores de Jutro se basaban en una funcionalidad de OIDC que aprovechaba las invalidaciones window.onmessage del método global para configurar los agentes de escucha de mensajes. Cierta lógica personalizada puede interferir con esto y provocar errores en la funcionalidad.

Solución temporal: Hay dos soluciones temporales:

  • Modifique la invalidación personalizada de la aplicación para utilizar window.addEventListener('message', listener) en su lugar.
  • Adopte el último parche de Jutro, que soluciona el problema.

La API del SDK de Okta ya no es confiable para uso directo​

Problema: Debido al cambio en los clientes de autenticación introducido en Jutro 10, la API del cliente de autenticación de Jutro ya no puede tener un uso mixto confiable con la API del SDK de Okta.

Solución temporal: Se recomienda que las aplicaciones solo usen las API del cliente de autenticación de Jutro y cualquier limitación que el cliente de autenticación pueda tener en comparación con el SDK de Okta debe analizarse con el equipo de Jutro como una solicitud de característica del cliente de autenticación.

El inicio de sesión silencioso debe configurarse y es obligatorio​

Problema: Debido a las diferencias en la configuración entre el cliente de autenticación Okta y el cliente de autenticación OIDC genérico, cualquier aplicación que migre al cliente de autenticación genérico necesita una configuración adicional para habilitar el mecanismo de actualización de tokens conocido como “inicio de sesión silencioso”.

Solución temporal: Encontrará información sobre cómo configurar el mecanismo aquí.

Versión actualizada de Webpack (JUT-21785)​

Problema: Cuando compila una aplicación de Jutro, puede encontrarse con errores si Webpack está en la lista de dependencias.

Solución temporal: Los errores pueden estar relacionados con su versión de Webpack. Si su versión de Webpack no es 5.95.0, intente actualizar a esa versión y vuelva a compilar la aplicación.

Error de la biblioteca Cheerio​

Al ejecutar el comando npm install, se produce un problema que da como resultado el siguiente mensaje de error:

npm ERR! notsup Not compatible with your version of node/npm: cheerio@1.0.0
npm ERR! notsup Required: {"node":">=18.17"}
npm ERR! notsup Actual: {"npm":"9.5.0","node":"v18.14.2"}

Para resolver este error:

  1. Agregue lo siguiente a su archivo package.json:
"overrides": {
"cheerio": "1.0.0-rc.12"
}
  1. Ejecute npm install de nuevo.
Note: Si encuentra más errores al ejecutar el comando npm install, elimine su archivo package-lock.json y la carpeta node_modules antes de volver a intentarlo.

Navegadores compatibles​

  • Chrome y navegadores basados en Chromium (probados en Chrome v110)
  • Firefox (probado en v107)
  • Safari (probado en v15.6)
  • Tablet y dispositivo móvil (iOS Safari + Android Chrome mismas versiones que arriba)

Dependencias de terceros​

  • Versión del nodo: 18.14.2 < 19 || >= 22.6.0 < 23
  • Versión de NPM: >= 9.5.0
  • Versión de React: 18.2.0
On this page