Passer au contenu principal

Jutro Digital Platform Innsbruck

Jutro Digital Platform (JDP) fait l'objet d'une mise à disposition générale dans la version Innsbruck, car le programme d'accès anticipé a été fructueux au cours des deux versions précédentes. Vous trouverez ci-dessous des détails sur les nouveautés de chacun des blocs de construction de JDP.

Nouveautés du correctif Jutro 10.0.10​

Problèmes résolus et améliorations​

Les problèmes suivants ont été résolus dans le correctif 10.0.10 :

ID
Description
JUT-21683Le comportement de déconnexion pour les clients d'authentification Okta et OIDC a été amélioré.
JUT-22215La connexion n'est plus déclenchée automatiquement dans le client d'authentification Okta pour les pages qui ne nécessitent pas d'authentification.
JUT-21714Le champ main du package @jutro/eslint-config pointe maintenant vers l'entrée correcte.
JUT-21946La bibliothèque okta-auth-js a été mise à jour vers la version 7.8.1.
JUT-21934eslint-config n'utilise plus un ancien package esm, ce qui posait des problèmes avec Node 22.
JUT-21785Mise à jour de la dépendance webpack vers la version 5.95.0 dans @jutro/cli-app.

Nouveautés du correctif Jutro 10.0.9​

Client d'authentification Okta​

L'authentification Okta est désormais prise en charge dans le package @jutro/auth.

Pour activer Okta, définissez JUTRO_AUTH_USE_NATIVE_OKTA_CLIENT=true dans votre environnement. L'utilisation du client d'authentification Okta est similaire au client générique, à l'exception des différences de comportement suivantes :

  1. Connexion silencieuse simplifiée et flux de fenêtres contextuelles d'authentification.
    Un mécanisme personnalisé (response-mode: okta_post_message) est utilisé pour transmettre les jetons actualisés d'un iframe/popup masqué à la fenêtre principale. Par conséquent, aucune route d'application n'est chargée. Cela signifie que les variables JUTRO_AUTH_SILENT_LOGIN_PATH et JUTRO_AUTH_SILENT_REDIRECT_PATH sont obsolètes.

  2. Mémoire sous forme de stockage de jeton. Il n'existe pas d'option Service Worker. La mémoire pour le stockage des jetons est l'option la plus sécurisée disponible dans le client Okta natif. Il existe deux différences dans le comportement de l'application :

    1. Chaque fois qu'une page est ouverte ou actualisée, un flux de connexion complet est initié pour obtenir des jetons. L'utilisateur verra un chargeur et des modifications de /auth/callback dans la navigation de son navigateur pendant une courte période.
    2. Il n'y a pas de synchronisation, chaque onglet utilise ses propres jetons.
  3. Aucun paramètre supplémentaire. Une déconnexion à l'aide du client natif Okta ignore les paramètres supplémentaires de JUTRO_AUTH_LOGOUT_QUERY_EXTRAS.

Pour en savoir plus sur l'utilisation du client Okta natif, reportez-vous à la page Documents sur l'authentification.

Si vous avez utilisé l'ancien package d'authentification natif Okta de la version 8.12 ou antérieure, reportez-vous aux étapes de migration du client d'authentification pour en savoir plus sur ses différences.

Obsolescence de la version 18 de Node​

Warning: À partir du 30 avril 2025, vous ne pourrez plus créer de nouvelles applications sur Node 18. Ce produit arrive en fin de vie et ne bénéficiera pas des mises à jour de sécurité.

L'exécution de versions obsolètes peut exposer votre application à des vulnérabilités.

Vous pouvez migrer des applications existantes vers Node 22 jusqu'au 30 septembre 2025. Mettez à jour toutes les applications dès que possible.

La maintenance de Node 18 s'est terminée en avril 2025 et ne bénéficiera plus d'aucun support au-delà de cette date. L'utilisation de Node 18 dans Jutro est obsolète et il est recommandé de passer à Node 22.6.0 ou ultérieur.

Pour effectuer une migration, procédez comme suit :

  • Mettez à jour le champ engines dans votre package.json :
  "engines": {
"node": ">=22.6.0 < 23",
"npm": ">=10.8.2 "
}
  • Si vous utilisez NVM pour gérer les versions de Node, vous devez mettre à jour votre fichier .nvmrc vers v22.6.0.
  • Installez Node.js v22.6.0 (et si vous n'êtes pas un utilisateur NVM, supprimez l'ancienne version).
  • Mettez à jour tous les tests d'unité qui utilisent Intl (Node.js v22 est mis à jour en fonction de la dernière version d'Intl).
  • Supprimez node-sass de votre package.json et ajoutez "sass": "1.81.0" à la place.
    • Si vous rencontrez des problèmes avec "sass": "1.81.0", essayez plutôt d'utiliser "sass": "1.77.8".

Pour vérifier si votre application fonctionne toujours avec une version plus récente de Node.js (par exemple, sur les pipelines TeamCity), procédez comme suit :

  • Mettez à jour le champ engines dans votre package.json :
  "engines": {
"node": ">=22.6.0 < 23",
"npm": ">=10.8.2 "
}
  • Supprimez node-sass de votre package.json et ajoutez "sass": "1.81.0" à la place.
    • Si vous rencontrez des problèmes avec "sass": "1.81.0", essayez plutôt d'utiliser "sass": "1.77.8".
Warning: Problème connu

Une modification du processus de traduction dans Node 22 entraîne le remplacement d'un caractère espace par une espace insécable étroite unicode. Cela peut entraîner l'échec des tests d'unité, car cela ne correspond pas au modèle d'expression régulière \s.

Note: Webpack 4 ne prend pas en charge Node 22 ; l'utilisation de Node 22 nécessite une mise à jour vers Webpack 5.
Note: Différentes versions de Node.js dans des environnements locaux et CI peuvent entraîner un comportement incohérent des tests d'unités pour les composants qui utilisent Intl.

Problèmes résolus et améliorations​

Les problèmes suivants ont été résolus dans le correctif 10.0.9 :

ID
Description
JUT-21453La redirection de connexion ne respectait pas routerBasename.
JUT-21543Dans le client d'authentification générique, la déconnexion ne mettait pas fin à la session de façon cohérente.
JUT-21448L'adoption du client Okta natif dans EnterpriseEngage n'était pas prise en charge.
JUT-20881Un utilisateur non attribué s'est vu refuser l'accès et n'a pas vu d'erreur dans le MFE d'un iframe.
JUT-20972Active l'utilisation du client Okta à partir de la version 10.0+.
JUT-21541La déconnexion du client Okta natif d'authentification ne fonctionnait pas correctement.
JUT-20929L'application s'ouvrait dans la fenêtre contextuelle au lieu de s'ouvrir dans le shell.
JUT-20192La déconnexion ne mettait pas fin à la session de façon cohérente.
JUT-21348Mise à jour de okta-auth-js vers la version 7.7.1 qui résout un problème survenant avec les renouvellements de jetons.
JUT-20902Mise à jour de @axa-fr/oidc-client vers la dernière version sur toutes les versions à partir de 10.0.x.
JUT-21177La liste déroulante DropdownSelectField et TypeaheadMultiSelectField d'un micro front-end dans ModalNext était affichée derrière la fenêtre modale.
JUTSDK-1560Existence d'un problème lorsque BC et CM dans initSDK doivent être transmis manuellement à backendURL.
JUT-20884La mise à jour de Jutro de la version 8.13.2 à la version 10.0.3 provoquait l'échec du test d'unité dans plusieurs composants.
JUT-20970L'ancienne validation ne fonctionnait pas lorsque la visibilité des champs basculait.
JUT-21226Le composant de chargeur du micro front-end n'a pas pu être remplacé.
JUT-19975Existence d'un problème lorsque location.state n'était pas défini lors de la transmission de variables dans le micro front-end.
JUT-21149Une erreur d'authentification survenait lors de la déconnexion et de la connexion si l'utilisateur avait ouvert 3 onglets.
JUT-21272Existence d'un problème lorsque le micro front-end était redirigé dans le test d'unité après avoir basculé vers Node 22.

Nouveautés du correctif Jutro 10.0.8​

Problèmes résolus et améliorations​

Les problèmes suivants ont été résolus dans le correctif 10.0.8 :

  • Résolution du problème suivant : les paramètres JUTRO_AUTH_LOGIN_QUERY_EXTRAS n'étaient pas ajoutés pour autoriser les appels provenant d'une connexion silencieuse. De ce fait, un utilisateur ProducerEngage inactif était dirigé vers l'écran de connexion Guidewire Hub au lieu de l'écran de connexion IdP.
  • Résolution d'un problème où un iframe indépendant auth ne fonctionnait pas si l'iframe était multisite.
  • Résolution d'un problème où les tests échouaient parce qu'aucune fenêtre modale n'était présente dans l'arborescence d'accessibilité.

Nouveautés du correctif Jutro 10.0.7​

Problèmes résolus et améliorations​

Le problème suivant a été résolu dans le correctif 10.0.7 :

  • Un utilisateur ProducerEngage inactif était dirigé vers l'écran de connexion Guidewire Hub au lieu de l'écran de connexion du fournisseur d'identité.

Nouveautés du correctif Jutro 10.0.6​

Problèmes résolus et améliorations​

Les problèmes suivants ont été résolus dans le correctif 10.0.6 :

  • devDependencies declarations supprimé des fichiers package.json avant la publication pour éviter la génération de tickets faux-positifs.
  • Résolution d'un problème où la langue était définie par défaut sur l'anglais lorsque Globalization Store était activé.
  • Résolution d'un problème où un wrapper QuickView était créé pour chaque déclaration d'un composant QuickView. Cela rompait la disposition de la grille dans un plan où plus de deux QuickViews étaient en place.
  • Résolution d'un problème de délai d'expiration où GCH était redirigé vers une page Okta indiquant « 429 Trop de demandes » s'il restait inactif trop longtemps.
  • Résolution du problème suivant : certaines pages ouvertes avec window.open() étaient fermées automatiquement après la connexion.
  • Résolution d'un problème où les mises à niveau Jutro échouaient en raison de l'absence du module core-js.
  • Résolution d'un problème d'affichage où les en-têtes d'affichage rapide étaient bloqués par la barre/l'en-tête supérieur dans Guidewire Cloud Platform.

Nouveautés du correctif Jutro 10.0.5​

Problèmes résolus et améliorations​

Les problèmes suivants ont été résolus dans le correctif 10.0.5 :

  • Un problème d'accessibilité a été résolu lorsque certains rôles aria doivent contenir des éléments enfants particuliers
  • Nettoyage du dossier de l'icône de l'application et modification de la façon dont la propriété overrides est transmise dans le composant éjecté de l'interface utilisateur et lors du nettoyage après l'éjection.
  • Correction de la façon dont CurrencyInput traite la valeur null afin de renvoyer une valeur claire au lieu d'une erreur
  • Correction d'un problème où l'utilisation de FileUploadField avec userEvent dans la version 14 entraînait l'interruption des tests
  • Correction d'un problème de délai d'expiration du micro front-end qui provoquait une erreur même lorsque l'iframe était chargé correctement
  • Correction de la façon dont multiple-combobox et multiple-select traitent les valeurs nulles pour présenter une valeur claire au lieu d'une erreur
  • Modification de la façon dont NumberInput traite les valeurs nulles gérées pour unifier l'API des parties NumberInput, Stepper et Amount de Currency
  • Modification de la façon dont phone-number-input traite les valeurs nulles pour présenter une valeur claire au lieu d'une erreur
  • Résolution d'une erreur dans le SDK en supprimant un modificateur de la génération de risque
  • Résolution d'un problème pour clarifier la description de la configuration de routage du SDK
  • Résolution d'un problème avec les produits visualisés et installés où la génération de schémas portant les mêmes noms créait des problèmes de génération

Nouvelles fonctionnalités 10.0.5​

  • Pour les applications micro front-end, CSS est désormais disponible pour les fenêtres modales personnalisées

Nouveautés du correctif Jutro 10.0.3​

Problèmes résolus et améliorations​

Les problèmes suivants ont été résolus dans le correctif 10.0.3 :

  • Les jetons de conception liés aux polices ne s'appliquaient pas correctement à tous les composants de la liste déroulante. Les listes déroulantes autonomes n'utilisaient pas la bonne police.
  • Résolution d'un problème où l'opacité était appliquée deux fois sur certains éléments de champ.
  • Résolution d'un problème avec un scénario dans lequel une fonction de validation de groupe de garanties ne validait pas la bonne garantie.
  • Le composant PhoneInput avait un rendu différent de celui de la conception dans Figma. Par conséquent, l'utilisateur ne pouvait pas copier la valeur du champ. Ce problème a été résolu.
  • Un problème où une configuration supplémentaire était définie en utilisant setConfiguration à l'intérieur d'un micro-frontend, et était ensuite perdue lorsque le micro-frontend final était chargé, a été résolu.
  • Les problèmes liés à l'utilisation d'infobulles avec des composants hérités ou à la transmission directe de la propriété de référence ont été résolus.
  • Un problème où des composants help étaient retirés de componentMap et n'étaient pas rendus lorsqu'ils étaient utilisés dans la configuration du plan, a été résolu.

Jutro Design System 10.0.3​

Jutro Design System 10.0.3 introduit des composants remaniés, qui sont structurés différemment de leurs prédécesseurs. Cette version contient également des obsolescences. Reportez-vous à Jutro Design System 10.0 pour en savoir plus sur ces modifications.

Bibliothèques d'interface utilisateur JDP 10.0.3​

Jutro Digital Platform offre aux développeurs une expérience de développement soignée avec des configurations prédéfinies et des fonctionnalités transversales. Ces fonctions d'aide sont disponibles sous forme de bibliothèques d'interface utilisateur JavaScript réutilisables pour vous aider à créer rapidement des expériences uniques pour le secteur des assurances IARD sur Guidewire Cloud. Cette version apporte un nouveau client d'authentification générique, des améliorations dans les modules micro front-end, et bien plus encore. Pour en savoir plus, reportez-vous à la section Développement dans la documentation JDP.

Jutro Web Apps​

Jutro Web Apps est une application de gestion qui fait partie de JDP. Elle permet de créer des applications Jutro à partir de modèles de démarrage, ainsi que de supprimer et de gérer des applications. Elle est disponible depuis une nouvelle vignette Jutro Web Apps dans Guidewire Cloud Home.

Avec Jutro Web Apps, les développeurs peuvent créer et tester rapidement des applications Web d'assurance IARD disposant de multiples fonctionnalités. Ils peuvent déployer ces applications sur Guidewire Cloud Platform (GWCP) en libre-service total. Tout cela avec des interactions minimales avec les équipes d'assistance de Guidewire.

Les sections suivantes présentent certaines des fonctionnalités offertes par Jutro Web Apps.

Vue unifiée de toutes les applications de votre locataire​

  • Jutro Web Apps est livré avec une page d'accueil qui affiche une vue filtrable de toutes les applications créées au sein du locataire
  • Une page de paramètres d'application est également disponible pour vous permettre de gérer les configurations d'application, telles que :
    • Groupes d'utilisateurs définis par un fournisseur d'identité pour contrôler l'accès à l'application
    • Accès aux applications InsuranceSuite
    • Enregistrement de domaine personnalisé pour les applications dans les environnements de préproduction et de production
    • Création d'une Allowlist IP pour gérer l'accès à l'application pendant les tests
    • Sélection simplifiée d'InsuranceSuite dans le formulaire de déploiement

Pour en savoir plus, consultez la documentation de Jutro Web Apps.

Fonctionnalités de déploiement​

  • Construction et déploiement automatiques de l'application vers GWCP après sa création initiale
  • Les liens Bitbucket, TeamCity et Déploiements d'applications sont désactivés si l'application est en état d'échec ou de suppression
  • Une vue rapide qui affiche le statut actuel des limites telles qu'elles s'appliquent aux applications créées et promues
  • Messages d'erreur traduisibles sur les déploiements quickview-
  • Plusieurs branches déployées peuvent être affichées dans le tableau de déploiement
  • Choix d'URL stable/unique sur la page Déploiements

Pour en savoir plus, consultez la section Déploiements modifiables et non modifiables.

Test d'application Web Jutro E2E (de bout en bout) :​

En tant que développeur assureur, vous pouvez maintenant exécuter des tests E2E sur votre application Jutro. Les tests E2E vous permettent de vérifier que votre application fonctionne de bout en bout, de l'interface utilisateur jusqu'aux intégrations avec InsuranceSuite. Cela garantit que votre application fonctionne encore même lorsque vous apportez des modifications.

Pour en savoir plus, consultez Test E2E.

Interface de ligne de commande de la plate-forme Jutro 10.0.3​

L'interface de ligne de commande de la plate-forme Jutro (Jutro Platform CLI) est un outil unifié basé sur des plug-ins vous permettant de gérer vos applications Jutro. L'interface de ligne de commande de la plate-forme Jutro propose des commandes telles que generate et validate, que vous pouvez exécuter directement à partir de l'interface elle-même ou à partir de la version intégrée installée dans n'importe quelle application Jutro.

Pour en savoir plus, consultez la documentation de l'interface de ligne de commande Jutro.

Modifications apportées à la commande generate:i18n​

Le fichier de traduction par défaut créé n'est plus la traduction anglaise src/i18n/en.json. Il s'agit maintenant d'un fichier de traduction de modèle src/i18n/lang.json qui peut être utilisé comme base pour traduire votre application dans d'autres langues.

Modèles d'application Jutro 10.0.3​

JDP propose plusieurs modèles d'applications comme des applications Jutro prêtes à l'emploi avec un code standard. Ce code inclut des composants, des exemples de pages, des mises en page et des styles fournis dans un référentiel de développement avec un pipeline CI/CD défini sur Guidewire Cloud pour lancer le développement d'applications Web. Pour rn savoir plus, reportez-vous à la documentation sur les modèles.

Trois types de modèles sont disponibles :

  • Des modèles de démarrage, qui sont des applications shell React vides contenant seulement les éléments de base tels que l'en-tête et le pied de page, sont conçus pour lancer le processus de création d'une nouvelle application.
  • Des modèles de formation qui permettent aux développeurs de se familiariser avec le fonctionnement des modèles.
  • Des modèles qui répondent à un besoin métier spécifique. Il peut s'agir de modules micro front-end ou d'applications Jutro autonomes que vous pouvez utiliser dans vos propres applications ou dans d'autres applications Guidewire (y compris les applications Digital).

Pour en savoir plus, reportez-vous à la documentation sur les types de modèle.

SDK Digital 10.0.3​

Le SDK Digital est spécialement conçu pour fonctionner avec InsuranceSuite Cloud API et faciliter votre interaction avec elles. Vous pouvez générer votre SDK Digital sur mesure au sein de votre propre application, en fonction de votre ou vos lignes métier. Pour ce faire, utilisez l'interface de ligne de commande Jutro en fonction de vos définitions de Open API spécifiques des Cloud API et de la liste des schémas exposés dans InsuranceSuite.

Pour en savoir plus, reportez-vous aux notes de version du SDK Digital.

Nouveautés du correctif Jutro 10.0.2​

Problèmes résolus et améliorations​

Bibliothèques d'interface utilisateur Jutro​

Vous pouvez maintenant configurer une propriété allow pour les modules micro front-end d'iframe. Cela permet d'activer diverses fonctionnalités du navigateur comme geolocation, clipboard-write, et camera.

Les problèmes suivants ont été résolus dans le correctif 10.0.2 :

  • Les propriétés integrateJutro et integrateRouter ne fonctionnaient pas correctement dans les modules micro front-end iframe.
  • Résolution d'une problématique liée à l'utilisation du composant Breadcrumb à l'intérieur d'un micro front-end. Lorsqu'un lien dans le Breadcrumb avait une redirection, cette redirection ne fonctionnait pas comme prévu, car elle était transmise à window.history dans le mauvais ordre.
  • Lorsqu'un lien dans un micro front-end était ouvert dans un nouvel onglet ou que l'adresse du lien en était extraite, le nom de base du micro front-end défini par un shell n'était pas inclus dans le lien.
  • Les routes micro front-end imbriquées ne fonctionnaient pas correctement lorsqu'elles étaient intégrées dans une application shell.
  • La langue/locale sélectionnée n'était pas extraite du magasin de globalisation en dehors de React, elle renvoyait la langue/locale par défaut (en_US) à la place.

Nouveautés du correctif Jutro 10.0.1​

Problèmes résolus et améliorations​

Interface de ligne de commande Jutro​

La commande jutro validate:linters échouait lorsque l'application ne contenait pas de fichiers de métadonnées.

Jutro Design System​

  • La position du composant Select était incorrecte lors du rendu.
  • Une marge supplémentaire en bas de la liste d'options DropdownSelectField a été supprimée.
  • Plusieurs problèmes de spécificité CSS dans les composants ont été résolus.
  • Les problèmes de micro front-end suivants ont été résolus :
    • Un problème avec la résolution de l'emplacement initial pour les modules micro front-end profondément imbriqués
    • Il n'était pas possible d'utiliser d'invites dans un micro front-end
    • Le composant QuickViewProvider avait des positions différentes lorsqu'il était utilisé dans une application autonome et dans une application micro front-end
    • La page était bloquée lorsque le SDK était utilisé avec l'authentification activée
  • Prévention d'une erreur d'actualisation des jetons d'authentification lorsque plusieurs onglets étaient ouverts
  • La nouvelle gestion des erreurs a été définie lorsque l'utilisateur n'est pas attribué à une application
  • Un problème avec le filtrage TableView a été résolu

Nouveautés de Jutro Digital Platform version Innsbruck​

Obsolescences​

Cette version comporte des éléments obsolètes. Un certain nombre de packages sont désormais des anciens packages. Consultez notre page sur les obsolescences pour en savoir plus.

Nouveau package @jutro/legacy​

Un nouveau package @jutro/legacy a été introduit dans cette version. Il contient des composants obsolètes qui sont toujours disponibles mais que vous devrez mettre à jour dans la déclaration import pour continuer à les utiliser.

Pour en savoir plus, reportez-vous à la section sur les anciens packages.

Utilisation d'anciens composants avec des métadonnées​

Si vous utilisez des métadonnées au lieu de JSX, vous devez utiliser la nouvelle fonction configureLegacyComponentMap pour continuer à utiliser les composants du package @jutro/legacy.

La fonction configureLegacyComponentMap a été ajoutée par un codemod au fichier dans lequel la fonction startApp est appelée pour toutes les applications qui ont la dépendance @jutro/uiconfig dans package.json. Cette fonction enregistre les composants hérités qui ont été déplacés vers le package @jutro/legacy pour l'utilisation des métadonnées.

Warning: Lors de l'exécution de tests d'unité basés sur des métadonnées, vous devez ajouter configureLegacyComponentMap manuellement avant d'exécuter les cas de test associés. Si vous ne le faites pas, vous risquez de générer des erreurs It is missing correct "component" or "datatype" properties dans les tests d'unité.
beforeAll(configureLegacyComponentMap);

Packages déplacés vers jutro/legacy​

Les packages suivants sont désormais des anciens packages et sont obsolètes. Leurs chemins d’importation ont été mis à jour pour refléter la modification :

Importation du package d'origineImportation héritée
@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

Pour en savoir plus sur l'obsolescence des packages @jutro/datatable et @jutro/lab-preview-dataview, consultez les sections respectives Obsolescence du package Datatable et Obsolescence du package DataView.

Composants hérités​

Les composants suivants sont désormais des anciens composants et sont marqués comme obsolètes. Ils ont été déplacés vers le package @jutro/legacy, de sorte que leurs chemins d’importation doivent être mis à jour pour refléter la modification.

Composants hérités de @jutro/components​

Importation du package d'origineImportation de package héritéListe des composants du package
import {'component'} from '@jutro/components'import {'component'} from '@jutro/legacy/components'Accordion
BreakpointTracker
Collapse
Container
CurrencyField
CheckboxField
DropdownSelectField

FileUploadField

(y compris les crochets useFileUpload et useMultipleFileUpload)

Footer
FooterCopyright
FooterNavBar
FooterNavLink
FooterText
FooterContext
StickyFooter
HeaderActions
HelpElement
HelpLink
HelpParagraph
HelpPopover
IntlPhoneNumberField
LogoTitle
PhoneNumberField
TextAreaField
TextField
TypeaheadMultiSelectField
Composants d'aide obsolètes​

Comme indiqué ci-dessus, plusieurs composants liés à l'aide ont été déclarés obsolètes : HelpHeading, HelpLink, HelpParagraph, HelpPopover et HelpElement. Vous pouvez les remplacer par vos propres composants d'aide personnalisés. Si vous souhaitez continuer à utiliser les anciens composants, vous pouvez les importer depuis @jutro/legacy/components, puis les placer dans votre mappage de composants pour le plan.

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

Composants hérités de @jutro/router​

Importation du package d'origineImportation de package héritéListe des composants du package
import {'component'} from '@jutro/router'import {'component'} from '@jutro/legacy/router'ApplicationHeader
RouteTracker
SubApplicationHeader

Composants hérités de @jutro/wizard-next​

Importation du package d'origineImportation de package héritéListe des composants du package
import {'component'} from '@jutro/wizard-next'import {'component'} from '@jutro/legacy/wizard-next'ScrollToError

Composants hérités de @jutro/floorplan​

Importation du package d'origineImportation de package héritéListe des composants du package
import {'component'} from '@jutro/floorplan'import {'component'} from '@jutro/legacy/floorplan'AppFloorPlan
Note: Un nouveau composant AppFloorPlan remplace le composant obsolète. Pour en savoir plus, reportez-vous à Nouvelle sélection d'API de plan

Nouveaux composants​

Certains composants ont été déclarés obsolètes et remplacés. Certains des nouveaux composants sont structurés différemment de leurs prédécesseurs. Vous devrez peut-être ajuster les propriétés partout où le composant est appelé. Vous trouverez ci-dessous une liste des composants et de leurs remplacements :

Composant obsolèteNouveau composant
AccordionAccordion
CheckboxFieldCheckbox
CheckboxGroupFieldCheckboxGroup
CurrencyFieldCurrencyInput
InputFieldTextInput
IntlPhoneNumberFieldPhoneNumberInput
PhoneNumberFieldPhoneNumberInput
TextAreaFieldTextArea
DropdownSelectSelect ou MultipleSelect
TypeaheadMultiSelectCombobox ou MultiCombobox

Les composants obsolètes sont importés depuis @jutro/legacy/components et les nouveaux composants sont tous disponibles à partir de @jutro/components.

Composants et fonctions supprimés​

  • @jutro/platform/getMessageService et @jutro/platform/MessageInterface. Utilisez TranslatorProvider ou useTranslator de @jutro/locale comme alternative
  • AnimationGroup
  • ColorSwatch
  • FieldSkeleton
  • Footer
  • FormSkeleton
  • GlobalizationProvider
  • HeaderActions
  • HelpElement
  • HelpPopover
  • JsonForm
  • LiveRegion
  • LinkSkeleton
  • LogoTitle
  • Main
  • MapTooltipContent
  • MenuSkeleton
  • PageHead
  • PageLayout. Utilisez GridLayout, Grid et Flex comme alternative
  • PanelLayout. Utilisez GridLayout, Grid et Flex comme alternative
  • PrivateRoute
  • ResponsiveElement
  • SchemaValidator
  • SkipNav
  • StickyFooter
  • TabbedContainer. Utilisez TabSet comme alternative
  • TableSkeleton

Dépendance de routeur facultative​

La dépendance @jutro/router et ses dépendances homologues telles que history et react-router-dom sont désormais facultatives pour les packages de composants. Pour certains composants, il est toutefois nécessaire de l'ajouter aux dépendances de votre application afin de pouvoir l'utiliser. La liste suivante de composants nécessite l'ajout de @jutro/router :

ComposantImporter depuis
DropdownMenuAvatarContent@jutro/components
InlineNotification@jutro/components
LanguageSelector@jutro/components
PopoverContainer@jutro/components
ToastProvider@jutro/components

Dépendance d'authentification facultative​

La dépendance @jutro/auth est désormais facultative pour les packages @jutro/router et @jutro/components. Pour certains composants, il est toutefois nécessaire de l'ajouter aux dépendances de votre application afin de pouvoir l'utiliser. La liste suivante de composants nécessite l'ajout de @jutro/auth :

ComposantImporter depuis
ApplicationRoot@jutro/app
Avatar@jutro/components
DropdownMenuAvatar@jutro/components
DropdownMenuAvatarContent@jutro/components
AppFloorPlan@jutro/floorplan
MicroFrontEnd@jutro/micro-frontends
SecureRoute@jutro/router

Client d'authentification Okta supprimé​

Le client d'authentification Okta qui était obsolète dans la version 8.13.2 a été supprimé. Utilisez plutôt le nouveau client d'authentification générique.

TreeView​

Le composant TreeView ne figure plus dans l'aperçu du test. Pour en savoir plus sur ce composant, reportez-vous à la documentation TreeView.

Packages Hot loader supprimés​

@hot-loader/react-dom et react-hot-loader sont automatiquement supprimés des dépendances des applications.

Nouvelle API de plan​

Le composant AppFloorPlan n'accepte plus les propriétés componentMap, callbackMap ou classNameMap. La propriété floorPlans est toujours prise en charge, mais la valeur acceptée est remplacée par un objet JS au lieu de json de métadonnées.

  • Chaque className doit être un nom de module CSS.
  • Chaque rappel (render* , on*) doit être une fonction au lieu d'une chaîne.
  • routes[].component doit être un composant au lieu d'une chaîne.
  • Suppression de header.helpPopoverItems qui accepte les métadonnées de l'interface utilisateur.
  • Ajout de propriété de rendu header.renderHelpPopoverItems.
  • Suppression de propriété footer qui accepte les métadonnées de l'interface utilisateur.
  • Ajout de propriété renderFooter.

L'ancienne version de AppFloorPlan se trouve dans @jutro/legacy/floorplan, mais elle est obsolète et vous devez effectuer une mise à jour manuelle vers la nouvelle API.

Suppression de PromptService​

Jutro ne contient plus de PromptService.

Auparavant, vous deviez configurer une invite via PromptService dans votre projet :

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

Par la suite, pas nécessairement dans le même fichier, vous faisiez ce qui suit :

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

Supprimer tous les usages de PromptService, et transmettre promptProps à routeConfirmationModal directement, comme ceci :

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

Troisième argument de la fonction start​

Le troisième argument (scriptAttributes) pour la fonction start de micro front-end a été supprimé. Transmettez plutôt l'argument de la fonction startApp comme la propriété mfeData dans le deuxième argument de la fonction start.

Exemple de migration :

avant
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
);
};
aprè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,
});
};

Suppression de fonctions @jutro/uiconfig​

Outre l'obsolescence du package et son déplacement vers le package hérité (@jutro/uiconfig est désormais disponible en tant que @jutro/legacy/uiconfig), les fonctions suivantes de @jutro/uiconfig ont été supprimées :

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

LocaleService​

Le service de paramètres régionaux qui était obsolète dans la version 8.13.2 a été supprimé. Utilisez plutôt la nouvelle g11nStore API.

Variable d'environnement REACT_APP_JUTRO_AUTH_GENERIC_CLIENT​

La variable REACT_APP_JUTRO_AUTH_GENERIC_CLIENT, qui a été introduite lorsque l'ancien et le nouveau client d'authentification étaient disponibles, a été supprimée, car elle n'est plus utilisée. Si vous l'avez toujours dans votre projet, vous pouvez la supprimer.

Amélioration du chargement de style pour les micro front-ends​

Avant cette version, les CSS appliqués aux micro front-ends pouvaient potentiellement modifier le style de l'application shell ou d'autres micro front-ends. Cette version introduit une nouvelle façon de charger les styles pour les micro front-ends afin que cela ne se produise pas.

Les éléments suivants ont été modifiés :

  • Les styles CSS pour les micro front-ends incluent désormais le nom du micro front-end dans les sélecteurs. Par exemple, .my-micro-frontend .my-class.
  • L'application shell encapsule le micro front-end avec un composant qui ajoute le nom du micro front-end en tant que catégorie.

Autres packages déclassés​

Les packages suivants sont déclassés dans la version 10.0 et ne sont plus disponibles dans Jutro :

  • @jutro/overrides
  • @jutro/lab-preview-html-metadata-loader
  • @jutro/lab-preview-metadata-converter
  • @jutro/storybook-preset
  • @jutro/e2e-tests : le package est maintenant appelé @jutro/lab-preview-test-e2e

Les fonctions ou API suivantes sont désactivées dans la version 10.0 et ne sont plus disponibles dans Jutro :

  • La fonction textWasTranslated du package @jutro/test.

Prise en charge de React 18​

Note: Mise à niveau recommandée

Cette nouvelle fonctionnalité deviendra la fonctionnalité par défaut dans la prochaine version majeure de Jutro. Nous vous encourageons à commencer à utiliser cette nouvelle fonctionnalité et à en tirer profit dès que possible.

Ajout officiel de la prise en charge de React 18.2.0. Toutes les applications fonctionnant avec React 17 peuvent être mises à jour pour utiliser React 18.2.0.

Enzyme n'est plus pris en charge lorsque vous utilisez React 18. React 17 est toujours pris en charge par les packages Jutro.

Tous les tests d'unité utilisant Enzyme doivent être migrés vers React Testing Library (RTL).

Toutes les nouvelles applications créées à l'aide de l'interface de ligne de commande avec le jutro-app-template utiliseront React 18 par défaut.

Note importante concernant les versions :

  • Pour les utilisateurs de TypeScript : @types/react doit rester sur la version 17.0.24 et ne pas être mis à niveau à la version 18
Warning: Lorsque vous utilisez React 18, vous devez utiliser Webpack 5. Webpack 4 n'est pas pris en charge.

Composant de table​

Le composant Table n'est plus obsolète.

Composants obsolètes​

Les composants obsolètes sont désormais clairement marqués comme obsolètes sur la page correspondante du site Web de la documentation.

Mises à jour du micro front-end​

L'API du micro front-end a été améliorée et remaniée. Pour en savoir plus sur les fonctionnalités du micro front-end, consultez la documentation sur le micro front-end.

Correctifs de bogues​

  • Résolution d'un problème où les éléments DropdownSelectField et TypeaheadMultiSelectField apparaissaient derrière la fenêtre modale dans un micro front-end
  • Suppression des messages de validation pour les champs qui n'étaient pas visibles
  • Résolution d'un problème qui empêchait le chargeur par défaut du micro front-end d'être remplacé lorsque le micro front-end était intégré
  • Résolution d'un problème où une erreur d'authentification apparaissait pour les utilisateurs qui se connectaient ou se déconnectaient s'ils avaient trois onglets ou plus de la même application ouverts
  • Résolution d'un problème qui empêchait la transmission du paramètre JUTRO_AUTH_LOGIN_QUERY_EXTRAS lors d'une connexion silencieuse.
  • Résolution d'un problème où les fenêtres modales n'étaient pas présentes dans l'arborescence d'accessibilité.
  • Résolution d'un problème qui retardait l'application des styles aux composants QuickView.
  • Résolution d'un problème qui entraînait l'expiration des tentatives de connexion avec authentification silencieuse.
  • Résolution d'un problème qui empêchait les micro front-ends iframe d'ouvrir plusieurs fenêtres contextuelles lors de l'authentification.
  • Résolution d'un problème où location.state n'était pas défini lors du passage de variables dans les modules micro front-end.
  • Résolution d'un problème qui provoquait la défaillance des styles modaux.
  • Résolution d'un problème où les utilisateurs agents inactifs étaient redirigés vers un écran de connexion incorrect.
  • Résolution d'un problème avec les micro front-ends où les en-têtes QuickView étaient parfois masqués.
  • Résolution d'un problème où les fenêtres ouvertes par programmation qui n'étaient pas déclenchées par la logique d'intégration de l'authentification étaient fermées automatiquement.
  • Résolution d'un problème où le client d'authentification renvoyait une page blanche au lieu d'une page d'erreur lorsqu'une erreur OIDC se produisait.
  • Résolution d'un problème où la présence de plus de deux composants QuickView dans un plan perturbait la disposition de la grille.
  • Résolution d'un problème où les modifications CSS personnalisées appliquées aux éléments d'un conteneur d'affichage rapide ne s'affichaient pas.
  • Résolution d'un problème où les modules micro front-end continuaient à afficher d'anciennes données lorsque celles-ci étaient modifiées dans l'application parent.
  • Résolution d'un problème où les fenêtres modales personnalisées dans les modules micro front-end n'avaient pas de CSS ni de nom de catégorie.
  • Résolution d'un problème qui empêchait les liens d'un micro front-end ouverts dans un autre onglet du navigateur de fonctionner.
  • Résolution d'un problème où des paramètres de configuration supplémentaires créés à l'aide de setConfiguration étaient réinitialisés lorsqu'un micro front-end était complètement chargé.
  • Résolution d'un problème où les paramètres de globalisation du micro front-end n'étaient pas mis à jour lorsque l'application shell mettait à jour ses paramètres.
  • Résolution d'un problème où le composant micro front-end router écoutait les modifications history et modifiait les barres de navigation de la page.
  • Résolution d'un problème où les noms de base du shell n'étaient pas ajoutés aux liens créés au sein d'un micro front-end.
  • Résolution d'un problème où les rappels n'étaient pas correctement passés dans les micro front-ends iframe.
  • Résolution d'un problème où les styles du micro front-end n'étaient pas appliqués correctement lorsque le shell utilisait un ancien algorithme de classement CSS.
  • Résolution d'un problème où, si vous utilisiez une application shell avec React 18 et un micro front-end avec React 17, l'erreur createRoot not found apparaissait, même si vous aviez défini useLegacyReact.
  • Résolution d'un problème où, si l'application shell utilisait le nouveau mécanisme d'authentification, et que le micro front-end utilisait l'ancien mécanisme d'authentification, le micro front-end ne recevait pas le jeton d'authentification.

Problèmes résolus et améliorations​

ID
Description
JUT-21543Résolution d'un problème de déconnexion multionglets pour les micro front-ends.
JUT-15669Résolution d'un problème où le composant DatePicker n'affichait pas le format correct.
JUT-21226Résolution d'un problème où un loaderComponent ne pouvait pas être remplacé.
JUT-21543Ajout d'un indicateur allowMultiTabLogin manquant au fichier OidcTrustedDomains.
JUT-20192Définition de isPending sur true lorsque le flux de déconnexion est en cours d'exécution.
JUT-22156Ajout de @types/loader-utils à devDeps dans jutro-toolset-react-app.
S/OAjout du package emojis-list utilisé par loader-utils pour les résolutions.
JUT-22156Ajout de postcss-scss aux résolutions et déplacement de postcss dans jutro-app.
JUT-21794Ajout de résolution pour braces 3.0.3.
JUT-21801Ajout de résolution pour rollup 2.79.2.
JUT-21783Ajout de résolution pour @babel/traverse 7.25.7.
JUT-21799Ajout de résolution pour axios 0.28.0.
JUT-22077Ajout de résolution pour cookie 0.7.1.
JUT-21788Ajout de résolution pour ejs 3.1.10.
JUT-21805Ajout de résolution pour express 4.20.0.
JUT-21793Ajout de résolution pour micromatch 4.0.8.
JUT-21796Déplacement de la version testcafe vers 1.18.6.
JUT-22156Suppression de loader-utils des résolutions dans jutro-app.
JUT-21946Mise à niveau de @okta/okta-auth-js vers la version 7.8.1.
JUT-21177Mise à jour de z-index pour DropdownSelectField.
JUT-20970Suppression des messages de validation pour les champs qui ne sont pas visibles.
JUT-21785Mis à jour de Webpack vers 5.95.0 dans @jutro/toolset-react-app.
JUT-21272Correction du test d'unité de redirection du micro front-end.

Problèmes connus​

Remplacements de style ApplicationHeader​

Les remplacements CSS de ApplicationHeader peuvent cesser de fonctionner en raison de problèmes de spécificité du sélecteur.

Pour résoudre ce problème, augmentez la spécificité de vos sélecteurs CSS.

Vous pouvez par exemple dupliquer le nom de la catégorie. Si vous importez des modules de style dans vos composants comme suit :

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

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

et que vos remplacements de style ressemblent à ceci :

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

Remplacez le nom de la catégorie par :

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

Réactualisations supplémentaires​

Si votre application utilise des modules micro front-end, il peut y avoir des réactualisations supplémentaires ou inattendues dans les applications enfants. Ces réactualisation peuvent déclencher des useEffects et des appels au backend supplémentaires.

Cela survient généralement lorsque l'utilisateur :

  • redimensionne la fenêtre
  • fait défiler la page
  • effectue un zoom avant et arrière sur la page

Ne s'agissant pas d'un problème critique, il sera corrigé dans une prochaine version.

Malheureusement, il n'existe pas de solution de contournement pour le moment.

Modification d'emplacements de style dans les modules micro front-end​

Nous avons modifié la façon dont les modules micro front-end chargent les fichiers CSS pour éviter tout partage de style inattendu entre des modules micro front-end (en savoir plus). Cela peut modifier la façon dont vos styles personnalisés sont appliqués et modifier l'apparence de votre application.

Pour résoudre ce problème, vous pouvez définir la variable d'amélioration suivante :

REACT_APP_USE_LEGACY_MFE_CSS_ORDERING=true

Entrées dans .gitignore concaténant avec src/i18n/lang.json​

Problème : il est possible que vous rencontriez des problèmes lorsque les entrées nouvellement ajoutées à .gitignore sont concaténées avec l'entrée pour src/i18n/lang.json.

Solution : assurez-vous que l'entrée src/i18n/lang.json comporte une nouvelle ligne après, afin que l'entrée qui la suit soit correctement placée sur une nouvelle ligne.

Les modifications apportées au schéma de métadonnées entraînent des échecs des tests d'unité pour plusieurs composants (JUT-20884)​

Problème : en raison de modifications apportées au schéma de métadonnées entre les versions 8.13.x et 10.x.x de Jutro, les tests d'unités échouent pour certains composants, tels que PhoneNumberField, GenericColumn et d'autres. Le problème se produit lors de la mise à jour de la version 8.13.x vers la version 10.x.x.

**Solution **: Guidewire est au courant de ce problème.

Intégration de micro front-ends authentifiés dans des applications shell autres que Jutro​

Problème : l'intégration de micro front-ends authentifiés dans certaines applications shell autres que Jutro se heurte à de nouvelles limitations en raison des modifications introduites dans Google Chrome v115+. Dans les cas où le micro front-end est intégré à l'aide d'un iframe ou d'un SDK et qu'il dispose de sa propre authentification (par exemple, si l'intégration de l'authentification est désactivée sur l'application shell, mais que le micro front-end nécessite que l'utilisateur soit authentifié), dans l'idéal, les deux applications doivent s'exécuter sur le même site (par exemple, localhost:3000 et localhost:3001). Pour en savoir plus sur les différences entre same-site (même site) et same-origin (même origine), consultez cet article. Si l'application shell et l'application micro front-end sont hébergées sur des sites différents, les mécanismes de sécurité du navigateur peuvent causer des problèmes. Lorsque l'application shell et l'application micro front-end sont hébergées sur des sites différents, l'application micro front-end et son clone dans la fenêtre contextuelle s'exécutent avec des instances complètement isolées de Service Workers, qui ne peuvent pas communiquer les uns avec les autres. Bien que les Service Workers fonctionnent toujours dans cet environnement, le manque de communication entre ces instances isolées peut provoquer un comportement inattendu dans le micro front-end.

Solution : il n'existe pas de solution, mais nous vous recommandons vivement de vous assurer que les deux applications sont exécutées sur le même site, conformément aux recommandations des fournisseurs de navigateurs officiels. Si cela n'est pas possible, une solution moins sécurisée est disponible pour les versions 10.0.8+, 10.3.4+, 10.7.1+ et 10.9.0+ de Jutro.

Dans ce cas, vous devez définir la variable JUTRO_AUTH_ALLOW_SESSION_STORAGE_FOR_CROSS_SITE_IFRAMES sur true. Cette modification permet au stockage de session de stocker des jetons d'authentification.

Les jetons d'authentification peuvent parfois expirer​

Problème : en raison de modifications apportées au fonctionnement du client d'authentification OIDC, le flux d'actualisation des jetons d'authentification peut parfois échouer car le délai a expiré.

Solution : il est recommandé d'appliquer le dernier correctif qui résout le problème, ainsi que de tester le comportement de chargement de l'application authentifiée et de renouvellement de session avec des connexions plus lentes, par exemple une connexion Internet mobile.

Les modules d'écoute window.onmessage globale peuvent parfois s'exécuter de manière incorrecte​

Problème : les versions antérieures de Jutro s'appuyaient sur une fonctionnalité OIDC qui utilisait les remplacements de la méthode globale window.onmessage pour configurer les modules d'écoute de messages. Une logique personnalisée peut parfois interférer avec cela, provoquant des problèmes avec cette fonctionnalité.

Solution : il existe deux solutions :

  • Modifiez le remplacement personnalisé de l'application pour utiliser window.addEventListener('message', listener) à la place.
  • Appliquez le dernier correctif Jutro, qui résout le problème

L'API SDK de Okta n'est plus fiable pour une utilisation directe​

Problème : en raison de la modification des clients d'authentification introduite dans Jutro 10, l'API du client d'authentification de Jutro ne peut plus être utilisée de manière fiable avec l'API SDK de Otka.

Solution : il est recommandé que les applications n'utilisent que les API du client d'authentification de Jutro. Toutes les limitations que le client d'authentification peut avoir par rapport au SDK d'Okta doivent être discutées avec l'équipe Jutro sous forme de demande de fonctionnalité de client d'authentification.

La connexion silencieuse doit être configurée et est obligatoire​

Problème : en raison des différences de configuration entre le client d'authentification Okta et le client d'authentification OIDC générique, toute application migrant vers le client d'authentification générique nécessite une configuration supplémentaire pour activer le mécanisme d'actualisation des jetons appelé « connexion silencieuse ».

Solution : pour en savoir plus sur la configuration du mécanisme, cliquez ici.

Mise à jour de la version Webpack (JUT-21785)​

Problème : lors de la création d'une application Jutro, vous pouvez rencontrer des erreurs si webpack se trouve dans la liste des dépendances.

Solution : les erreurs peuvent être liées à votre version de webpack. Si votre version de webpack n'est pas 5.95.0, essayez de mettre à jour cette version et de reconstruire l'application.

Erreur de bibliothèque Cheerio​

Lors de l'exécution de la commande npm install, un problème se produit, qui entraîne le message d'erreur suivant :

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"}

Pour résoudre cette erreur :

  1. Ajoutez ce qui suit à votre fichier package.json :
"overrides": {
"cheerio": "1.0.0-rc.12"
}
  1. Réexécuter npm install
Note: Si vous rencontrez d'autres erreurs lors de l'exécution de la commande npm install, supprimez votre fichier package-lock.json et le dossier node_modules avant de réessayer.

Navigateurs pris en charge​

  • Navigateurs Chrome et basés sur Chromium (testés avec Chrome v110)
  • Firefox (testé avec v107)
  • Safari (testé avec v15.6)
  • Tablette et mobile (iOS Safari + Android Chrome, mêmes versions que ci-dessus)

Dépendances tierces​

  • Version Node : 18.14.2 < 19 || >= 22.6.0 < 23
  • NPM version: >= 9.5.0
  • Version de React : 18.2.0
On this page