Opened 13 years ago
Last modified 8 years ago
#126 accepted enhancement
sharing and permissions — at Initial Version
Reported by: | Caleb Davis | Owned by: | Caleb Davis |
---|---|---|---|
Priority: | minor | Milestone: | |
Component: | programming | Keywords: | longterm pumpio large |
Cc: | Odin Hørthe Omdal (Velmont), Elrond, Christopher Allan Webber, Caleb, Davis | Parent Tickets: |
Description
There is a mapping between the items in your collection and the individuals allowed to view them. Those are permissions. We'll begin implementing these by assigning each media entry an array of authorized viewers, listed by username. Eventually, these could be openids for federation, but that's beyond the scope of this ticket. Because writing a list each time you submit an item would give us the blues, we'll have a default list editable by the user. That list of users will be used to populate the permissions array on the item. Now, you may not always want the default list, so it's important to make it easy to specify which of your 10 million fans get to see your cat with whip cream on its head. For that, each user will be able to maintain groups of individuals. These groups can be given any name. Suggestions would be friends, family, etc. Those will be enabled by default but can be removed in favor of other group names. So, when creating an item, you see an array of labels representing your default sharing profile. It could be as simple as 'everyone', or as complex as you like. Modify the sharing labels by adding or removing individual names, or group names. Individuals and groups can also be added to specifically exclude, but let's save that for a future ticket. When you submit the item the labels are interpreted and converted to individuals for the item's permissions array. When called upon for viewing, the item looks up the viewer in its permissions array and allows viewing or coyly stays hidden, depending on whether the viewer gets to see the item. This should apply for every view - galleries, thumbnails, etc. The fun part is that the groups the user maintains may be flagged as private. This means you don't have to pull your hair out trying to be political about who gets to be in which group. Chris's example is great - :: SmoothBro might not show off his "saturday night swingers" group publicly because maybe he doesn't even want people to know about that, esp his parents. Breathe in. Breathe out. Explore the space! This ticket does not cover notifications, only viewing permissions.
Note:
See TracTickets
for help on using tickets.