mirror of
https://github.com/koel/koel.git
synced 2026-04-25 08:46:00 +03:00
[GH-ISSUE #389] [REQUEST] Per-user media library (or multiple media path) #285
Labels
No labels
Authentication
Dependencies
Documentation
Feature Request
Flac
Help Wanted
Installation/Setup
Integration
Mobile
PR Welcome
Pending Release
Performance
Playlist
S3
Search
Sync
[Pri] Low
[Pri] Normal
[Status] Keep Open
[Status] Needs Author Reply
[Status] Needs Review
[Status] Stale
[Status] Will Implement
[Type] Blessed
[Type] Bug
[Type] Duplicate
[Type] Enhancement
[Type] Help Request
[Type] Question
[Type] Task
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/koel-koel#285
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @X-Ryl669 on GitHub (Aug 1, 2016).
Original GitHub issue: https://github.com/koel/koel/issues/389
Would it be possible to handle multiple media path (instead of a single path), and better to assert some permissions for each path ?
Basically, I've installed Koel on a NAS that's serving music folder for all my users (they are all different). There is a common music folder where the "most compatible" songs are stored.
Ideally, I would like to set up Koel on the "common" folder (that's accessible for all) and each user would also be granted access to his own music folder.
Right now, I can do that with symlinks in the common folder back to the users' folders, but it's not very clean (and I need as many symlinks as there are users, and to allow www-data to access their directory for reading)...
@X-Ryl669 commented on GitHub (Aug 10, 2016):
Oh, by the way, Koel's sync does not follow links initially, so this patch add the feature:
@X-Ryl669 commented on GitHub (Aug 17, 2016):
Here's how I intend to do it.
Unfortunately, this is going to change the database format a bit.
Right now, there is a single media path, that's stored in the "settings" table as a php's serialized value.
I don't think it's good to store PHP serialization in a DB field, so it should be changed anyway.
The idea would be to change the format of this table from:
to
This way, we can link a setting to a user (NULL for 'all users').
Then in the interface, we select the music path from the user current logged in for sync'ing (and all the music path that are common).
A change is also required for the songs themselves in the same style so each song is attached a user ID.
What do you think, is the the right way to start ?
@phanan commented on GitHub (Aug 18, 2016):
I have no plan to support this, at least not in the foreseeable future. Btw:
You're entitled to your opinions, but the technique is very commonly seen (e.g. WordPress). There's no good or bad here, it depends on what we want to do with the field. Until JSON data type is more widely supported, I'll stick with the current approach. Thanks.