---
# System prepended metadata

title: Raccourcis de collection
tags: [doc]

---

---
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
```
