Skip to content
Snippets Groups Projects
Forked from funkwhale / funkwhale
6442 commits behind the upstream repository.
per-user-libraries 2.26 KiB
Todo:

- upload utilisateur
- gestion des doublons ? Si piste uploadée deux fois, on fait quoi:
    - On rajoute un lien entre la piste existante et la bibliothèque de l'utilisateur
    - L'utilisateur peut forcer l'upload de SA piste
- Comment on gère l'affichage : une piste peut ne pas être jouable
- more tests about:
    - replacing
    - deletion
    - permissions

- un utilisateur envoie une piste:
    - pas de problème: au pire les métadonnées ne sont pas bonnes mais ce n'est pas très grave
    - on incite à tagguer avec picard / musicbrainz
    - en cas de conflit (piste sans tag, mais le nom de l'artiste existe avec un ID musicbrainz, par exemple):
      on fournit à l'utilisateur le choix (binder à l'artiste musicbrainz), ou créer un artiste séparé
      on peut aussi tenter des trucs plus intelligents à base de matching sur les noms de pistes, mais dans un second temps

- Un créateur envoie une piste:
    - il crée un profil avec son nom d'artiste, des liens vers ses différents profils (youtube, etc).
    - on peut lui fournir un snippet à inclure sur ses profils "Funkwhale: http://creator.url" pour servir à valider
    - les instances fédérées pourront donc faire la vérification elles-mêmes
    - à l'upload, il a un formulaire spécial ou il déclare bien être le créateur des pistes et avoir les droits
    - on ne tente pas d'être smart : il faut que les données soient fiables et éditables par le créateur avant publication !


Jour 2:

- on bind les fichiers aux bibliothèques
- on ne dédoublonne pas, trop compliqué
- en fédé, quand on scanne, on crée les track files, du coup plus besoin d'import manuel
- dans le script de migration, gérer le cas dess trucs importés via la fédé


Todo:

- tester le remplacement
- skipper les tracks qui sont déjà dans une autre bibliothèque
- gestion d'erreur plus poussée
- gérer les radios
- tester permission sur la fédé
- tester qu'on ne sert que les bibliothèques locales
- virer au maximum la logique custom pour les acteurs systèmes
- utiliser le vrai champs durée d'activitystream pour l'audio
- shared inbox url
- vue pour servir les bibliothèques:

- logique de scan:
    - pouvoir lancer, mettre en pause, interrompre un scan
    - avoir des infos sur le déroulement du scan