--- tags: doc --- # Raccourcis de collection ## Existant ### Back - 1 feature toggle: `'linked-views'` - 1 type de collection: `ViewType.linked` - 1 $action de collection pour le front: `link-view` - 1 route dans bee-library-api pour créer un raccourci de collection ``` POST library/:dstLibId/view/:parentViewId/linked-view { sourceLibId: string; sourceViewId: string; } ``` - Prise en compte dans le parcours des collections - https://gitlab.bbuzcloud.com/cpos/cpos/-/blob/master/bee-library/bee-library-service/src/lib/services/view/ViewWalker.ts#L75 - :warning: il manque une adaptation pour le chargement progressif des collections - les sous-collections du raccourci de collection remontent comme des collections standards - Prise en compte dans la récupération des médias d'une collection - tous les médias ont une propriété `ownerLibId`, c'est en comparant cette propriété avec le libId courant qu'on traite ces médias comme des raccourcis ou non - cf. https://gitlab.bbuzcloud.com/cpos/cpos/-/blob/master/bee-library/bee-library-service/src/lib/services/view/ViewService.ts#L277 - **app-tests** qui résument le comportement actuel: https://gitlab.bbuzcloud.com/cpos/cpos/-/blob/master/packages/apis/bee-application-tests/src/library-api/specs/CollectionSpec.ts#L553 #### Droits ![](https://i.imgur.com/YQX3BP8.png) - le raccourci est une nouvelle collection qui permet de pointer vers la collection source - le raccourci est une entité appartenant à la lib courante - les permissions sur le raccourci sont indépendantes des permissions sur la collection source - l'utilisateur a les mêmes droits sur les sous-collections (qui ne sont pas dupliquées), que ce soit dans la lib source ou dans la lib courante du raccourci :arrow_right: il faudrait se renseigner auprès des Mnms pour comprendre comment les permissions peuvent s'appliquer dans ces conditions ### Front Si c'est un raccourci de collection: - on ajoute l'action au clic-droit **Aller au hub d'origine** - on affiche une "hub card" dans le media display ![](https://i.imgur.com/NEx6ip5.png) ### Divers - le renommage du raccourci n'affecte que le raccourci ## Problèmes - Rien ne fonctionne concernant les sous-collections du raccourci ### Référence circulaire 1. Depuis la lib A je crée un raccourci de viewA et je le place dans viewB de la lib B 2. Depuis la lib B je crée un raccourci de viewB et je le place dans viewA de la lib A ``` libA └── viewA └── viewB from libB └── viewA from libA └── viewB from libB ```