Skip to content

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
    • Help
    • Support
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
funkwhale
funkwhale
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
    • Cycle Analytics
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Charts
  • Issues 100
    • Issues 100
    • List
    • Boards
    • Labels
    • Milestones
  • Merge Requests 3
    • Merge Requests 3
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
    • Charts
  • Packages
    • Packages
    • Container Registry
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Charts
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • funkwhale
  • funkwhalefunkwhale
  • Issues
  • #689

Closed
Open
Opened Jan 30, 2019 by Eliot Berriot@eliotberriot💬9 of 9 tasks completed9/9 tasks
  • Report abuse
  • New issue
Report abuse New issue

[EPIC] Audio metadata update

This issue will help keep a track of the progress made around the awaited "metadata update" feature.

Related issue: #556 (closed), #504 (closed), #metadata

Use case

As a user, when I upload a file, I want to be able to update track information (adding an album cover, fixing a typo in the title, linking to third-party services, etc.)

As an admin, I want to be able to perform at least the same operations.

Constraints

  • Update should be broadcasted over federation, to keep consistency
  • Think about permissions. Not everyone can perform a metadata update on any entity. We'll probably limit this to instance admins and first uploaders of an artist/album/track
  • Implement this in small, backward compatible chunks to avoid the Big Long Lived Branch ™ problem

Associated tasks

  • Have a system-wide actor that can act on any object from the same instance (!577 (merged))
  • API/UI for metadata update (tracks done via !621 (merged), albums via !722 (merged)), artists via !722 (merged))
  • Store updates history to keep a record of editions on any given entity (!621 (merged))
  • Serve Upload, Track, Album, Artist ActivityPub representations (!632 (merged))
  • Broadcast/handle updates on federation (!713 (merged))
  • Logic to refetch remote entities (!723 (merged))
  • Federate Update on Track, Album and Artist (via !612 (merged), !721 (merged))
  • Admin UI to update and delete music entities (!715 (merged))
  • Admin UI to manage libraries and uploads (!724 (merged))

As you can see, the problem is complex, but it's possible to make small, iterative progress. Let's do this!

Edited Apr 19, 2019 by Eliot Berriot
Assignee
Assign to
0.19
Milestone
0.19
Assign milestone
Time tracking
None
Due date
None
8
Labels
Area: Backend Area: Frontend Area: Meta/Project Management Area: Moderation Component: Federation Component: Library Size: XL Type: New feature
Assign labels
  • View project labels
Reference: funkwhale/funkwhale#689