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

Implement groups #6278

Open
Flaburgan opened this issue Jul 31, 2015 · 34 comments
Open

Implement groups #6278

Flaburgan opened this issue Jul 31, 2015 · 34 comments

Comments

@Flaburgan
Copy link
Member

@Flaburgan Flaburgan commented Jul 31, 2015

This issue is a meta issue to summarize what we have to do to have a group feature inside diaspora*.

  • Refactor diaspora* core to use the federation gem. We need to first stabilize the federation before modifying it to include big feature like this one.
  • Write specifications

@Flaburgan
Copy link
Member Author

@Flaburgan Flaburgan commented Jul 31, 2015

#5558 was describing an hacky approach to implement groups. It should be closed in favor of this issue.

@naught101
Copy link

@naught101 naught101 commented Sep 23, 2015

Yay. This is the number one feature missing for Diaspora to be useful for me and many others I know. +50 :)

@soulchainer
Copy link

@soulchainer soulchainer commented Nov 16, 2015

+10 for this. I also think this is a main feature that Diaspora is lacking.

@pkillnine
Copy link

@pkillnine pkillnine commented Jan 23, 2016

+1

1 similar comment
@yogiks
Copy link

@yogiks yogiks commented Feb 23, 2016

👍

@GildedHonour
Copy link

@GildedHonour GildedHonour commented Apr 29, 2016

are all of these issues with the label "bounty" on? can I implement one?

@denschub
Copy link
Member

@denschub denschub commented Apr 29, 2016

You can work on any issue you like. However, please note that this is quite a big deal, especially since you'll be needed to work on the federation code as well, which is currently getting a complete overhaul. if you really feel strong about starting with this issue, start with writing an spec to your idea and get feedback on that ideas before writing any code or a lot of effort may be wasted. :)

@GildedHonour
Copy link

@GildedHonour GildedHonour commented Apr 29, 2016

I see. And the bounties are paid?

@denschub
Copy link
Member

@denschub denschub commented Apr 29, 2016

As soon as your pull request is merged and someone in the core team confirms it, yes.

@ksamak
Copy link

@ksamak ksamak commented Jul 9, 2016

+1

@NuclearTicTac
Copy link

@NuclearTicTac NuclearTicTac commented Jul 9, 2016

+10,000 I have about 300 people that want to get off of Facebook. Even a pod-local version would be awesome! OF course, I understand the essence of Diaspora is federating across pods. I will spread word of this method of funding this feature. Thanks to all who contribute to Diaspora - devs and non-devs alike! :)

@dcapeletti
Copy link

@dcapeletti dcapeletti commented Jul 26, 2016

Thank you for building this wonderful social network. What is the status of implementation of the groups? 0%, 10%, 50%, 80%, 100%

@SuperTux88
Copy link
Member

@SuperTux88 SuperTux88 commented Jul 26, 2016

0%, because AFAIK nobody started implementing it.

@deavmi
Copy link

@deavmi deavmi commented Aug 11, 2016

I'd love groups.

@BirchWind
Copy link

@BirchWind BirchWind commented Aug 31, 2016

To confirm, is this https://www.bountysource.com/issues/25215034-implement-groups the most current/relevant place to be promoting if we want to contribute financially to this happening?

@naught101
Copy link

@naught101 naught101 commented Sep 1, 2016

Yes, that is the correct bounty.

@MirceaKitsune
Copy link

@MirceaKitsune MirceaKitsune commented Mar 10, 2017

I completely support this feature! The lack of a group system stands out immediately, and there's no easy way to find or create communities that can interact without it.

Note that my suggestion #7360 and a groups system might have to take one another into account. In case profile synchronization across pods is an idea that may be accepted, groups might have to be treated as either part of the owner's profile or as separate entities.

@jjoe
Copy link

@jjoe jjoe commented Mar 26, 2017

Instead of thinking of groups as a 'modified user', try thinking of it as a modified hashtag page.

I first made this suggestion in 2011. I'll try again. If you could post public to no aspects... Viewable on your profile and on the pages of any hashtags used, but your aspects wouldn't see it on their stream unless they were following one of the tags... that would almost be a public group. And with a group aspect, you could make it a private one.

@naught101
Copy link

@naught101 naught101 commented Mar 26, 2017

Wouldn't it be better to consider it a shared aspect then?

@SuperTux88
Copy link
Member

@SuperTux88 SuperTux88 commented Mar 27, 2017

"modified hashtag page" wouldn't work, since the group needs a home-pod and hashtags don't have that. The home-pod is needed for discovery and managing the "shared aspect" and federate to all members ... or something like this.

@Francewhoa
Copy link

@Francewhoa Francewhoa commented Apr 23, 2017

I'm also interested in a group feature with Diaspora*. I would be happy to contribute documentation and testing.

@Francewhoa
Copy link

@Francewhoa Francewhoa commented Apr 23, 2017

I was searching the Diaspora* documentation about how to create a group. I found that related answer. So it's indeed not yet possible to create groups with Diaspora*. But it's a planned new feature. And all contributions are welcome.

Copy of that answer

Are aspects like 'groups'?
No. Sharing in diaspora* is asymmetrical. This means that the people you have placed in an aspect may not have placed you or each other into an equivalent aspect in their accounts, and may not be sharing with each other at all. For an aspect to work as a group, each member would have to be connected to every other member and to have placed every other member into one aspect. Group functionality is not something that diaspora*'s software supports at the moment, and it would be difficult for anyone to run an effective group using aspects. We do hope to add group functionality in the future, so watch this space!

@goobertron
Copy link

@goobertron goobertron commented Apr 23, 2017

That 'answer' is really no more than part of an explanation of what aspects are, and how they work, for non-technical users with no knowledge of how Diaspora works. It doesn't touch on how to implement groups. (I know; I wrote it, and I have little technical knowledge myself.)

But thanks @Francewhoa for offering to help develop a groups feature. It'll be wonderful to get work started on this important missing feature.

@jjoe
Copy link

@jjoe jjoe commented Apr 25, 2017

Shared aspects are only needed for a private group. Each group member would have to put all the other group members in their own group aspect. Maybe a feature that could do that automatically would be useful, if that is possible.
But for a public group-like feature, hashtags might suffice, if they could be kept from appearing on the stream of all your contacts, and only appear to people following the tag.
There are problems with facebook groups. Admins can have too much power. Groups and pages impose an organizational structure on the participants. They are not conducive to antiauthoritarian, decentralized, horizontal groups. So we don't want to replicate fb groups and pages too closely. We need functionality but I recommend keeping words like decentralized and distributed in mind and think outside the box. Groups should be able to decide for themselves how they want to be organized.
I hope this is helpful. I have been on diaspora since before there was either a like or reshare button. I made many suggestions to the original 4 devs, some of which they implemented. But i know nothing about coding and can only imagine the logistical issues involved.

@goobertron
Copy link

@goobertron goobertron commented Apr 25, 2017

Here's the place to post ideas relating to the groups feature: https://discourse.diasporafoundation.org/t/feature-discussion-groups/122

@thinslice
Copy link

@thinslice thinslice commented Jun 12, 2018

This is the feature that will make open source be able to replace Facebook.

@ghost
Copy link

@ghost ghost commented Nov 3, 2018

@Flaburgan Any1 claiming the bounty currently? We are interested in taking this bounty.

@goobertron
Copy link

@goobertron goobertron commented Nov 3, 2018

@LemonAndroid no one has stated that they are actively working on this at the moment. Before starting, however, it would be worth contacting 'ty kayn' who posted in this Discourse comment that they want to work on it. (You can sign up to our Discourse instance with a Github account or your diaspora* ID, so no need to create a new account to do so.)

It would also be worth reading that discussion first to see what different thoughts and agreements there have been about how to implement this feature, and to explain how you propose to build this before you start work so that others can comment on your proposals.

It would be great if you'd make this available to diaspora*!

@goobertron
Copy link

@goobertron goobertron commented Jan 11, 2019

@LemonAndroid, any update? Are you still planning to work on this feature?

@Maalarius
Copy link

@Maalarius Maalarius commented Feb 7, 2019

It'd be really nice if some devs wanted to focus their attention on this for a bit. This is a feature that's been requested for several years, the only thing holding it back is dev attention :(

@eZii-jester-data
Copy link

@eZii-jester-data eZii-jester-data commented Sep 15, 2019

Any progress on this issue?

I'd like to include into my first batch of "1-month bounty sprint"-program.

There is one bounty from Nextcloud that I already planned on doing, so I would join this bounty into the equation if no one else is working on it already.

I'm planning to tackle those in October.

@Flaburgan
Copy link
Member Author

@Flaburgan Flaburgan commented Sep 16, 2019

Nobody is currently working on that task.

@eZii-jester-data
Copy link

@eZii-jester-data eZii-jester-data commented Sep 20, 2019

ok, I'll try to include it in my Octobre batch

@us3r1d
Copy link

@us3r1d us3r1d commented Nov 12, 2019

Since I don't see any spec proposed yet, here is what I'd like to see for a Groups feature:

  • treated like a user, in that the group would have a home pod, and any posts to the group would be sent to that pod for redistribution; this would keep responsibility for the group's functioning clearly defined
  • local/federated flag, to allow pods who want guaranteed privacy to keep a group restricted to local users if they want that
  • open/closed flag, to control whether membership requires approval by a group owner on the group's home pod
  • free/moderated flag, to control whether posting requires approval by a group owner on the group's home pod

The communication flow for subscribing to a group would be:

  • user searches for a group using an interface like the current search-for-user interface
  • user clicks on a subscribe button
  • subscribe request message is sent to the group's home pod
  • [optional] group owner receives notification of pending requests and approves or denies
  • response message is sent to the user's home pod and displayed to the user

The communication flow for posting to a group would be:

  • when creating a post, a user's groups are added to the current public/aspects pulldown
  • posts created with a group as the recipient are forwarded to that group's home pod
  • [optional] group owner receives notification of pending post and approves or denies
  • the pod forwards the post to the home pods of all group members

This spec should keep the feature's initial implementation a simple as possible, while keeping it flexible enough to be an effective replacement for Yahoo or facebook style groups (which I have to admit is my interest in it ;-)

@jhass jhass removed the bounty label Jun 19, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
You can’t perform that action at this time.