Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Song Changelog #38

Open
codello opened this issue Aug 20, 2023 · 0 comments
Open

Song Changelog #38

codello opened this issue Aug 20, 2023 · 0 comments
Labels
proposal A Karman feature proposal status/draft A proposal that is still being drafted

Comments

@codello
Copy link
Contributor

codello commented Aug 20, 2023

What feature do you want to propose?

It would be interesting to track changes to songs systematically. This could be done via Song a Activity or a Song Change type that lists the full history of a song's development.

Why does Karman need this feature?

Maintaining a clean library is hard. Having a way to track errors to the point in time where they were introduced can help get a clear picture of the most helpful contributors.

How do users access the feature?

Users would open a song in the frontend. They could then access a listing of all changes to a song. Maybe there could even be a possibility of reverting the changes.

Describe alternatives you've considered

It is currently unclear what kinds of activities are relevant and whether all activities should live in the same resource (database table). Some possible other activities are:

  • When a song is sung
  • Adding and removing to a and from playlists

Alternatively a simple "changed at" and "changed by" field can solve many of the relevant problems. However this does not offer the possibility to restore a previous version of a song.

Additional context

It is not the goal of this proposal to provide extensive backup capabilities. Especially changes to media files should not be tracked in a way that would require significant amounts of storage.

Implementation Considerations

Currently the concept is as follows:

  • A database table SongChanges (or maybe SongActivities).
  • Fields like referenced song, changed at, changed field, previous value, new value(?), music patch
  • Changes to Music fields are stored in Patch format and also returned by the API in this format.
  • Simulatneous changes are identified by multiple rows with the same changed at value.
@codello codello added proposal A Karman feature proposal status/draft A proposal that is still being drafted labels Aug 20, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
proposal A Karman feature proposal status/draft A proposal that is still being drafted
Projects
None yet
Development

No branches or pull requests

1 participant