HomePower AppsLa fonctionnalité en cascade

La fonctionnalité en cascade

On oublie souvent les petites fonctionnalités qui peuvent se révéler bénéfiques lors du montage d’une application. Prenons par exemple, le moment où vous devez trouver le moyen de partager momentanément des enregistrements à quelqu’un de votre entreprise qui n’a pas les droits sur ces enregistrements. Sachez qu’avant de vous lancez dans un développement de code et de paramétrages de composants pour plusieurs heures, une de ces fonctionnalités oubliées (ou inconnues pour certains) est l’héritage en cascade.

Héritage en cascade

Qu’est-ce que l’héritage en cascade ? Il s’agit d’un comportement disponible sur les relations 1 à N et N à 1 entre tables du Dataverse rattaché aux événements de 5 actions: Supprimer, Attribuer, Partager, Annuler le partage et Apparenter à nouveau. Vous pouvez paramétrer ces 5 comportements selon vos besoins, soit en cascade complet, active ou propriétaire.

Pour les moins habitués, on appelle « Cascade » la propagation de l’action sur les enregistrements enfants de la relation. Prenons pour exemple, une table de « Demande de réservation » qui a une relation de 1 à N vers la table « Produit » et dont vous configurez le comportement de suppression en cascade. Cela signifie que, si vous supprimez l’enregistrement de « Demande de réservation », les enregistrements de « Produit » contenus dans la demande seront également supprimés.

Pour ce qui est de différents type de cascade:
-Tout en cascade: tous les enregistrements associés seront affectés
-Cascade active: tous les enregistrements associés avec le statut « Actif » seront affectés
-Cascade propriétaire: tous les enregistrements associés dont l’utilisateur qui fait l’opération est propriétaire seront affectés
-Sans mise en cascade: aucun enregistrement ne sera affecté.

Vous pouvez vous référer à la documentation de Microsoft à ce sujet ici: https://learn.microsoft.com/en-us/power-apps/developer/data-platform/configure-entity-relationship-cascading-behavior

Exemple de Partage

Un bon contexte pour un exemple d’utilisation reste le partage en cascade. Vous travaillez pour une entreprise qui gère ses dossiers via une application pilotée par modèle dans PowerPlatform. Vous désirez partager des enregistrements de « Fiche santé » à un collègue qui, normalement, ne peut consulter les enregistrements de cette table (mais qui a biensûr accès à l’application). Avec les bons privilèges attribués aux rôles des utilisateurs, lorsque vous vous trouvez dans un enregistrement, vous devriez avoir un bouton de partage au haut à gauche de votre écran.

Maintenant, vous pouvez cliquer sur « Gérer l’accès »:

Une fenêtre apparaîtra et vous pourrez sélectionner votre collègue afin de lui attribuer certains accès, tout dépendant des privilèges que vous disposez. Vous ne pourrez évidemment pas octroyer un rôle d’Écriture à votre collège si vous ne possédez pas ce privilège…

Ensuite, vous cliquez sur « Partager » au bas à droite et votre collège aura les privilèges sur les enregistrements ciblés. Vous n’avez qu’à faire l’opération inverse en désélectionnant les accès dans la fenêtre de partage afin de retirer ces accès.

Conclusion

Il ne s’agit que d’un simple exemple qui ouvre la porte sur un monde de possibilités sans grand développement ni pro code. Vous pouvez également imaginer plusieurs processus qui touchent l’attribution (changement de propriétaire), la suppression d’enregistrement ou même Apparenter à nouveau (c’est-à-dire lorsque vous changez la valeur du champ Rechercher de cette relation!)

C’est une configuration « in-the-box » simple à utiliser, extrêmement puissante et qui peut faire sauver un nombre d’heures incroyable de développement.

Bon développement!

Gabriel Gadoury
Gabriel Gadoury
Avec plus de 11 ans d'expérience en développement d'application d'envergure, d'automatisations et de formation. Je me spécialise maintenant en Power Platform depuis plus de 6 ans, offrant du soutien et des idées à la communauté pour la faire grandir, faire connaître Power Platform et repousser les limites de cette techno encore plus loin.