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

Channel shared between users #699

Open
bristow opened this issue Jun 22, 2018 · 30 comments
Open

Channel shared between users #699

bristow opened this issue Jun 22, 2018 · 30 comments

Comments

@bristow
Copy link

bristow commented Jun 22, 2018

We are an french public administration, and it will very useful if we can have a videos channels shared between few users of our instances.

I don't think it's possible right now...

Thanks 👍

@therahedwig
Copy link

Yes, this would be super helpful! For Krita it would mean we could have multiple people worry about the videos that go into a Krita channel without having to juggle accounts like we have to do for some social media, or the opposite, having to sent around heavy video files while the only thing it needs to do is to be sent to the peertube instance.

@Chocobozzz Chocobozzz changed the title Channel shared between users ? Channel shared between users Jun 24, 2018
@BigMayo
Copy link

BigMayo commented Jul 11, 2019

This would be very useful for the way we are using peertube in a community.
We have multiple users that would want to contribute different channels based on interests and groups/tasks.

@alcalyn
Copy link
Contributor

alcalyn commented Oct 2, 2019

It would be useful, and am wondering few things:

  • Permissions

Is a simple permission system, like just give ability to some account to add(/remove ?) video on my channel is enough,

or do you need a more grained permission system like choose which account can:
- add, edit, remove a video
- edit or remove channel
- add or remove accounts to the channel, and manage permissions

  • Account channels

How shared account should be displayed on the account page that displays channels ? Should it appears like a regular channel, or in an other section "Shared channels" ?

  • Channel page

Also it will modify the channel page, we could display all the accounts that are managing the channel

@mpfaff
Copy link

mpfaff commented Jul 2, 2020

Are there any plans for this? I'd really appreciate a fine grained permission system in PeerTube, so that some users can only view a channel, while others can upload to it.

@1000i100
Copy link
Contributor

1000i100 commented Jul 2, 2020

My use-case :
I manage video contents for some clients, so i need acces and they also do to be as autonomous as they can/want.

I don't need fine permission managment, sharing admin acces to a channel is enouth for my use-case.

@ghost
Copy link

ghost commented Jul 2, 2020

I could see this issue going hand in hand with this other issue #2841

@test2a
Copy link
Contributor

test2a commented Jul 6, 2020

facebook pages have had fine grained permissions for a long time.
https://www.facebook.com/help/289207354498410/
Having some control over permissions would be very helpful for this feature. suppose i want to add someone who can help moderate comments or edit tags and such but not upload videos on the channel or i want to give someone else permission to upload videos to the channel

@tassoman
Copy link

tassoman commented Oct 8, 2020

I think, to make the feature simpler, in first instance would be useful if the channel creator can add/remove users himself.
Users gains the ability to add/edit/remove all the videos in the channel. (every action can be moderated/allowed by the creator)
I know for sure another bunch of public administrations interested on this feature, joined to LDAP/SAML2 plugin.

The need is to avoid the users being be the publicly owners of the video, the video should be credited to the channel itself.
Or the video owner should be just the channel creator.

@test2a
Copy link
Contributor

test2a commented Oct 22, 2020

@tassoman that sounds reasonable enough to start with. as a channel "creator", you allow other users to work on videos. fine grained permissions can be later added which should not be much difficult. as #2841 issue exists, that would be helpful for teams in the long run. For federation, we could keep the creator as the "channel owner" and that would be distributed across activitypub but internally we could have many users,non public facing or public.

Edit: my response in issue #3335

We should implement permissions logic. This would be beneficial for all sorts of cases like this.

In moderation, you could have dozens of comment janitors who could moderate comments only. Same as many other roles that are present in various services. Some users could moderate video reports. Some would get permission to ban users. Some could be allowed to modify the federation.. there is a lot of things that a moderator can do today but because this power is sudo all, many administrators fear abuse. Giving certain permissions only would be helpful in this case.

In the present case, a channel owner could give "edit" permission or "upload" or "delete" to someone and this issue would be solved. This way if I give "full" permissions to someone and have them delete me, that should do the trick. The display part would be easily solvable later.

Just my two cents.

@kontrollanten
Copy link
Contributor

I've the same use case as @1000i100 ; we're some users that want the same permissions to upload content to a channel. Our workaround right now is to have a Youtube channel that we're uploading to, then we've a cron job that runs PeerTube CLI to import the Youtube video. Pretty ugly, but it does the work.

What needs to be done to add this feature? Are there any big changes that needs to be done in the already existing data structures or functionality?

@stevenroose
Copy link

Is there any indication this is on the agenda? :) I'd also like to have this feature.

@rigelk
Copy link
Collaborator

rigelk commented Mar 2, 2021

It's not planned anytime soon

@svenzimmermann
Copy link

Would also be necessary for our use cases. We should have different uploaders in one channel. Also other users in the peer group should be able to review and edit the videos before they can be published. Tassoman's suggestion would be a good solution.
That would also solve the problem that when a user leaves, all their content and channels are automatically gone.

@kimsible
Copy link
Contributor

kimsible commented Jun 5, 2021

It's very sad to not include this feature in the 2021 roadmap, really it is asked by lots of instances... and since 2018, what kind of difficulties do you encounter @rigelk @Chocobozzz ? Federation ?

Collaborations channels is something very common now, unfortunately, the tool does not follow this, alternatively, we create a common account and we share a password, it's really bad for security and very inconvenient.

As I understood in discussions with Frama the last year, the 2021 roadmap ought to be focus on creators. New channels and accounts appearance follow this path. Why not this feature ? This may be one of the most important tool for creators.

Really, if this is just a question of time, Frama must rely on community for this, and if the community cannot achieve this, tips would be very welcomed from @Chocobozzz as you are the most indicated to bring useful and precious practices on the PeerTube source code.

At last there are other features linked to this one asked the last year like the ownership channel transfer #1417 (some times duplicated) since 2018 too.

Hope my words will pay attention in the good way and encourage community to not be afraid to propose PRs.

@rigelk
Copy link
Collaborator

rigelk commented Jun 5, 2021

IMHO even without taking into account federation for this feature, we have intermediary roadblocks to clear. The RBAC system in use is one such roadblock that comes to mind: it limits access to ressources based on roles or being the owner, when we would need something more flexible.

A "quickfix" would be to have multiple owners, but arguably the AC system should be made more flexible first, otherwise we just implement a circumvention of our access control system for that specific use case.

@kimsible
Copy link
Contributor

kimsible commented Jun 5, 2021

IMHO even without taking into account federation for this feature, we have intermediary roadblocks to clear. The RBAC system in use is one such roadblock that comes to mind: it limits access to ressources based on roles or being the owner, when we would need something more flexible.

A "quickfix" would be to have multiple owners, but arguably the AC system should be made more flexible first, otherwise we just implement a circumvention of our access control system for that specific use case.

Thanks for this details @rigelk , maybe we can just have multiple authors (accounts) able to be mentioned displayed bellow the video next to the owner account for the case of collaborations and the main account publishing the video stays the owner. A simple input like the keywords but for authors may be used. It would be a first step before changing the AC system, that I understand may take one more year (so let's be optimistic, maybe in the 2022 roadmap ?).

One last question, this PR #1417 about ownership channel transfer is also blocked for the same reason ?

@rigelk
Copy link
Collaborator

rigelk commented Jun 5, 2021

maybe we can just have multiple authors (accounts) able to be mentioned displayed bellow the video next to the owner account for the case of collaborations and the main account publishing the video stays the owner. A simple input like the keywords but for authors may be used.

From what I understand, this is not related to access but just some added metadata to videos. So, not only can it be implemented before, but also after we come up with a implementation for the current issue.

One last question, this PR #1417 about ownership channel transfer is also blocked for the same reason ?

What PR? As for the issue you link, it is not blocked by a not enough fine-grained access control system. IMHO it is "mostly" a question of having the proper UX since the channel actor stays the smae. We have already some example of UX with the video transfer, but that would need a serious factorization to have it for channels.

@kimsible
Copy link
Contributor

kimsible commented Jun 5, 2021

From what I understand, this is not related to access but just some added metadata to videos. So, not only can it be implemented before, but also after we come up with a implementation for the current issue.

A new issue can be created for this ? by the way I meant mentioning multiple accounts both for a video and for a channel.

What PR?

Sorry, I actually meant issue.

As for the issue you link, it is not blocked by a not enough fine-grained access control system. IMHO it is "mostly" a question of having the proper UX since the channel actor stays the smae. We have already some example of UX with the video transfer, but that would need a serious factorization to have it for channels.

Oh yes we discussed a little bit about it on Framacolibri the last year (forgot which subject).
Maybe a stupid question but, channels transfer could proposed with a CLI tool, it would be firstly a request for admins, as I suppose implementing first this on the server side could be easier than the client ?

@kontrollanten
Copy link
Contributor

IMHO even without taking into account federation for this feature, we have intermediary roadblocks to clear. The RBAC system in use is one such roadblock that comes to mind: it limits access to ressources based on roles or being the owner, when we would need something more flexible.

@rigelk have you thought of (or planned) any other access control system? Do you know any similar platform with an architecture that we would fit our needs? I'd be glad to help with the development, but it's not a typical feature that an one man army will solve in a PR.

@tutle
Copy link

tutle commented Mar 3, 2022

Hello, it's a basic and essential function when some people want to share the admin of a channel (association, editing, commercial).
It's implemented in most of video platform but seems not be possible in peertube.
I really need this, any plugin or possibility ?
Not to be capable to manage a collaborative administration on peertube seems unreal...
I was starting to use more and more peertube but this problem block my enthusiasm .
Ready for a financial contribution as I'm not enough expert.
Sincerely and thanks for this amazing job.

@pastoweb
Copy link

My 2 cents: this feature and a more fine permission system are indeed necessary.
Multiple users being able to manage or just publish on a channel would be essential for me.
Ready for financial contribution too

@KvaGram
Copy link

KvaGram commented Jun 12, 2022

I just learned of Peertube. I am unsure if it can ever compete with youtube, but I want to give it a shot.
I share a youtube brand account with a few friends. We upload videos related to each other. It is convenient how every video ends up at the same youtube channel that way. Still it is annoying to have to swap account when uploading videos.
Peertube can improve on that by allowing for shared channels.

@pprw
Copy link

pprw commented Nov 13, 2022

I just upvoted this feature. We also have the need of shared channels. I understand the complexity. Maybe a simple implementation could be to simply allow different users to upload into the same channel. Each user will be owner of his videos.

Aside of specific needs, IMHO it would be a good thing to promote collaborative creation. It would be another way to offer something different from Youtube (which is centered on individuals).

@RokeJulianLockhart
Copy link

YouTube has this ability. You should investigate how access to Google Business Accounts is delegated to separate Google accounts. Its permission system is already adequately comprehensive.

@biowilli
Copy link

biowilli commented May 2, 2023

I am thinking about to implement a channel permission system for Peertube. Here is a proposal:
As a user you could define permissions for each channel, such as who can upload, edit or delete videos.

We introduce two roles:

  • channel-admin

permissions: is assigned automatically to the creator of the channel and s:he can add users with moderator permissions to each channel

  • channel-moderator

permissions: edit or delete videos within that channel

As a channel-admin of a Peertube channel, I should be able to specify which users can upload videos, who can edit and delete videos to the channel. I should also be able to easily change the permissions for a channel at any point from the channel settings.
As a channel-moderator of a Peertube channel, I want to be able to upload, edit or delete videos within that channel.

We would need a table with a relation user - channel and add the role for each user. This results in the following extension of the database model:

ER-Extension

id: Unique ID for each authorisation
channelId: ID of the channel for which the authorisation is valid.
accountId: ID of the account to which the permission is granted.
permission: Type of permission

@pastoweb
Copy link

pastoweb commented May 8, 2023

I am thinking about to implement a channel permission system for Peertube. Here is a proposal: As a user you could define permissions for each channel, such as who can upload, edit or delete videos.

We introduce two roles:

  • channel-admin

permissions: is assigned automatically to the creator of the channel and s:he can add users with moderator permissions to each channel

  • channel-moderator

permissions: edit or delete videos within that channel

As a channel-admin of a Peertube channel, I should be able to specify which users can upload videos, who can edit and delete videos to the channel. I should also be able to easily change the permissions for a channel at any point from the channel settings. As a channel-moderator of a Peertube channel, I want to be able to upload, edit or delete videos within that channel.

We would need a table with a relation user - channel and add the role for each user. This results in the following extension of the database model:

ER-Extension

id: Unique ID for each authorisation channelId: ID of the channel for which the authorisation is valid. accountId: ID of the account to which the permission is granted. permission: Type of permission

Sounds good, hope chocobozz will consider adding it to the main platform. Are you going to release it as a plugin?

@biowilli
Copy link

biowilli commented May 11, 2023

I will implement a PoC in peertube core. I think it isn't possible as a plugin :) @pastoweb

@kontrollanten
Copy link
Contributor

I will implement a PoC in peertube core. I think it isn't possible as a plugin :) @pastoweb

How is it going, @biowilli ? This feature would be much appreciated!

Regarding your proposal of permission model, I think channel-admin and channel-moderator should be able to remove comments as well? I think that a channel owner can do this today. There’s also description, banner, avatar and playlists that should have shared permissions as well.

@biowilli
Copy link

How is it going, @biowilli ? This feature would be much appreciated!

Progress on my end has unfortunately been minimal :(

@kpideas
Copy link

kpideas commented May 4, 2024

+1 this would be an amazing feature.

For a start, it would be great even if we can just allow multiple users posting videos on Shared Channels. More advanced Channel management can come later.

I was checking the database schema. "videoChannel table has accountId field which is the primary user who created that channel. Maybe we could introduce a new string/varchar field to capture comma separated account ids who has the rights to post videos on that channel?

So that on the Publish screen, the channel drop down can have self created channels and the channels where the current user has been granted permissions?

and On channel page we can have list of secondary users like labels.

Of course creating a child table and doing proper relationships is better way, was just thinking a quick win. Even with child table solutions proposed above, we could probably start with allowing multiple users to post videos on shared channels and more advanced channel admin features can come later?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests