Open DanFluture275 opened 1 month ago
L'idée est de faire au plus simple pour la première version, avec dans l'idée de refactor tout ça dans le cadre de l'évolution plus générale du modèle du bouquet.
group
dans le modèle DatasetProperties
string
quand il est renseigné, qui vaut le nom du regroupementMap
ou un Object
qui regroupe les DatasetProperties
par group
Limites connues de la structure :
DatasetProperties
du group
au renommage d'un regroupementexport interface DatasetProperties {
title: string
purpose: string
uri: string | null
id: string | null
availability: Availability
group?: string
// those are "local" properties, not stored on data.gouv.fr
remoteDeleted?: boolean
remoteArchived?: boolean
}
@at-github @narduin @streino WDYT?
Re clone : pas de difficulté particulière, au moment de la préparation du clone, on garde les attributs group
renseignés dans le bouquet original.
Dans le cas d'une liste de suggestions de regroupements, il faudra parcourir chaque DatasetProperties ? Est-ce que ça ne vaudrait pas le coup d'avoir une telle liste dans le bouquet, et dans le dataset un moyen pour faire la liaison ?
LGTM.
@at-github on aura déjà créé la structure par group à ce stade, et donc utilisable pour la liste de suggestions, non ?
Dans le cas d'une liste de suggestions de regroupements, il faudra parcourir chaque DatasetProperties ? Est-ce que ça ne vaudrait pas le coup d'avoir une telle liste dans le bouquet, et dans le dataset un moyen pour faire la liaison ?
Effectivement c'est l'alternative, mais ça nécessite de traiter un modèle un peu plus complexe (relationnel simulé dans du JSON) et je ne suis pas sûr que ça apporte beaucoup plus vs le modèle flat.
Re la liste, comme disait @streino, ça sera effectivement les clés du Map
calculé pour l'affichage, donc pas de sujet là-dessus AMHA.
C'est très clair.
Avec le stockage du group dans le DatasetProperties
, ça permettra quand même à un dataset d'être utilisé et groupé dans différents bouquets et différents regroupements ?
@narduin Bonne question !
Un DatasetProperties
est une jointure entre un bouquet et un jeu de données.
Si on veut utiliser le même jeu de données dans différents bouquets, pas de problème : les DatasetProperties
associés sont parfaitement indépendants.
Si on veut utiliser plusieurs fois le même jeu de données dans le même bouquet et dans des regroupements différents, pas de problème : on crée deux DatasetProperties
avec deux groupes différents (et potentiellement des libellés et description différents) et le même id
(mauvais nommage, c'est l'id du jeu de données). Ce sont deux facteurs différents et indépendants.
Si on veut utiliser plusieurs fois le même jeu de données dans le même bouquet et dans le même regroupement, pas de problème : idem ci-dessus mais avec le même groupe. Ce sera bizarre dans le cas où tout est identique (groupe, libellé, description, jeu de données), mais d'un point de vue usager ça ne devrait pas arriver et on a le même comportement aujourd'hui si on ajoute plusieurs fois le même jeu de données à un bouquet. C'est l'ordre dans la liste qui fait et fera foi pour identifier un DatasetProperties
.
Dites-moi si je me trompe :-)
En utilisant les principes du modèle de données actuels (infos stockées dans les extras du bouquet), ajouter la notion de regroupements de facteurs, avec les propriétés suivantes :
Todo :