La propagation est le mécanisme qui permet de propager une grille de permission, depuis la grille courante, vers les grilles "enfants". Il y a pour ce faire on aura 2 types de propagation proposer dans la dropdown de propagation:
Propager sur les ressources
ici on ne fait que gérer le delta (différence) entre une grille parente et ses enfants C'est le comportement par défaut, et si vous n'êtes pas sûr de savoir quoi faire, ce comportement est le plus "safe".
- Propagation avec ajout de droits
- Propagation avec suppression de droits
Propager et écraser
Cette propagation prend "la photo" de la grille que vous modifiez et propage exactement la même grille à tous les enfants, donc si vous aviez défini des droits spécifiques sur certains medias d'une collection, ce système est potentiellement dangereux puisqu'il écrasera tout ce qui se trouve en dessous de lui pour reproduire la grille parente.
La non propagation
Dans certains cas assez précis, il peut être nécessaire de ne pas vouloir propager les permissions.
Cela veut dire qu'on ne propagera pas les droits aux enfants. Le use case le plus courant est le suivant:
Je veux donner les droits d'accès à une seule collection parmis beaucoup d'autres collections
La marche à suivre sera donc la suivante:
- Donner le droit d'accès sur la ressource library et "propager" ce scope.
- Enlever le droit d'accès sur la RootCollection et "propager" ce scope aux enfants.
- Rendre la collection X privé en enlevant le scope "accès".
- Retourner dans la RootCollection et donner le droit d'accès mais ne "pas propager" ce scope.
POURQUOI ? Parce que si on propage on rend toutes les collections publics, et si on ne donne pas le droit d'accès à la root collection, on ne peut pas accéder à la lib.