Identification des fonctionnalités à éviter dans Lightning Experience
Objectifs de formation
Une fois cette unité terminée, vous pourrez :
- Mentionner au moins deux composants à éviter sur les pages utilisées dans Lightning Experience.
- Identifier trois fonctionnalités de Lightning Experience pour lesquelles vous ne pouvez pas utiliser de pages ou de composants Visualforce.
Identification des fonctionnalités à éviter dans Lightning Experience
Il y a un petit nombre de composants Visualforce dont nous déconseillons l’utilisation sur des pages ouvertes dans Lightning Experience. De plus, quelques fonctionnalités de Visualforce répondent différemment lorsqu’elles sont utilisées dans Lightning Experience. Enfin, il y a quelques emplacements de Lightning Experience où vous ne pouvez pas utiliser de pages ou d’applications Visualforce ou sur lesquels ces pages pourraient ne pas fonctionner normalement.
Lightning Experience continue à évoluer et à se développer et nous espérons pouvoir raccourcir cette liste au fil du temps.
L'en-tête et le menu de navigation de Lightning Experience ne peuvent pas être supprimés
Les pages Visualforce, lorsqu’elles sont exécutées dans Lightning Experience, utilisent toujours l’affichage classique de l’interface utilisateur de Lightning Experience. Il est impossible de supprimer ou de modifier l'en-tête ou la barre latérale de Lightning Experience. Plus particulièrement, les attributs showHeader et sidebar de <apex:page> n’ont aucun effet sur les pages Visualforce lorsque celles-ci sont affichées dans Lightning Experience.
Cela est normal. Les applications affichées dans Lightning Experience sont des applications Lightning Experience. Si vous avez besoin d'une interface totalement personnalisée pour votre application, vous devrez l'exécuter dans Salesforce Classic.
L'en-tête et la barre latérale de Salesforce Classic sont toujours supprimés
L'en-tête et la barre latérale standard de Salesforce Classic sont toujours supprimés pour les pages affichées dans Lightning Experience. Plus particulièrement, les attributs showHeader et sidebar de <apex:page> n’ont aucun effet sur les pages Visualforce lorsqu’elles sont affichées dans Lightning Experience.
Les pages agissent comme si les attributs showHeader et sidebar de <apex:page> étaient définis sur « false ».
<apex:relatedList> et listes associées sur liste noire
Un certain nombre de listes associées ne sont pas prises en charge dans Lightning Experience. Celles-ci sont « sur liste noire », ce qui signifie qu’il est tout simplement impossible de les utiliser. Comme vous pouvez l’imaginer, ces mêmes listes associées sont mises sur liste noire dans Visualforce à l’aide de la balise <apex:relatedList>.
Consultez la rubrique « Accès aux données et aux vues : Fonctionnalités différentes ou non disponibles dans Lightning Experience » dans l’aide en ligne pour en savoir plus sur les listes associées non prises en charge dans Lightning Experience.
Évitez <apex:iframe>
Même s’il est possible d’utiliser <apex:iframe> sur une page Visualforce dans Lightning Experience, nous vous recommandons de l’éviter.
Les pages Visualforce sont intégrées à leur propre iframe lorsqu’elles sont affichées dans Lightning Experience. Comme nous l’indiquons longuement dans Exploration du conteneur d’applications Visualforce, l’impact sur le fonctionnement des pages est important. L'ajout d'un niveau supplémentaire à la structure de l'iframe augmente la complexité de l'environnement.
Vous pouvez gérer cette complexité si vous comprenez les iframes et leur incidence sur le DOM et le code JavaScript. Cependant, il est difficile de déboguer des iframes imbriqués si vous n’avez pas l’habitude de les utiliser. Pour cette raison, nous conseillons d’éviter d’employer cette balise sur les pages utilisées dans Lightning Experience.
Non, vraiment, ne définissez pas directement window.location
Vous trouverez sûrement que nous nous répétons, mais cela est important. Si le code JavaScript de votre page définit directement la variable window.location, ceci ne fonctionnera pas lorsque la page sera affichée dans Lightning Experience. Vous devez modifier le code de cette page pour qu’elle fonctionne dans Lightning Experience.
Pour en savoir plus, reportez-vous à l’unité Gestion de la navigation.
sforce.one n’est pas exclusif à Salesforce Mobile
L’objet utilitaire JavaScript sforce.one est disponible pour les pages Visualforce dans l’application Salesforce et dans Lightning Experience. Si la présence de l’objet sforce.one vous permet de dire si votre page est exécutée dans un environnement mobile ou de bureau, vous devrez actualiser votre code.
Utilisez l'une des méthodes documentées pour différencier les environnements Salesforce Classic, application Salesforce et Lightning Experience. Les techniques prises en charge sont disponibles dans Visualforce, Apex, et JavaScript.
Pour obtenir toutes les informations, consultez l’unité Partage des pages Visualforce entre Classic et Lightning Experience.
Changements concernant les remplacements d'actions
Le changement le plus important qui pourrait être difficile à contourner serait la manière dont Visualforce remplace les actions standard dans Lightning Experience, qui diffère légèrement par rapport à Salesforce Classic. Tout remplacement de l'action de liste d'objets ne sera pas accessible dans Lightning Experience.
Il y a six actions standard que vous pouvez remplacer pour la plupart des objets standard et tous les objets personnalisés dans Salesforce Classic :
- Onglet d'objet
- Liste d'objets
- Vue d'enregistrement
- Modification d'enregistrement
- Création d'enregistrement
- Suppression d'enregistrement
Dans Lightning Experience, les deux premières actions ont été regroupées dans une page : la page d'accueil d'objet. La page d’accueil d’objet, ainsi que certains éléments de l’onglet d’objet, comme les éléments récents, est similaire à la liste d’objets. D’autres éléments, comme les rapports ou les outils, ont été déplacés dans d’autres parties de l’interface utilisateur.
Indépendamment des réglages de l'interface utilisateur de votre organisation, aussi bien l'onglet que la liste d'objets acceptent les remplacements dans Configuration. Le fait de remplacer l'action de l'onglet d'objet remplace la page d'accueil d'objet dans Lightning Experience, comme attendu.
Cependant, dans Lightning Experience, l'action de .liste d'objets n'est pas accessible dans l'interface utilisateur, il n'y a donc pas de possibilité de la déclencher. Si votre organisation a remplacé l'action de liste d'objets pour tous les objets, cette fonctionnalité ne sera pas disponible lors de l'utilisation de Lightning Experience. Si ce remplacement comporte des fonctionnalités essentielles, vous devrez trouver un autre moyen de les rendre disponibles.
Ce tableau énumère les actions standard que vous pouvez remplacer pour un objet dans Configuration, ainsi que l'action remplacée dans les trois différentes expériences utilisateur.
Remplacement dans Configuration | Salesforce Classic | Lightning Experience | Application Salesforce |
---|---|---|---|
Onglet | onglet d'objet | page d'accueil d'objet | rechercher |
Une liste | liste d'objets | n/a | page d'accueil d'objet |
Afficher | vue d'enregistrement | page d'accueil d'enregistrement | page d'accueil d'enregistrement |
Modifier | modification d'enregistrement | modification d'enregistrement | modification d'enregistrement |
Nouveau | création d'enregistrement | création d'enregistrement | création d'enregistrement |
Supprimer | suppression d'enregistrement | suppression d'enregistrement | suppression d'enregistrement |
Ressources