akirk / friends

A social network between WordPresses. Privacy focused, by itself a self-hosted RSS++ reader with notifications.
https://wpfriends.at/
GNU General Public License v2.0
81 stars 14 forks source link

[Feature Request] BuddyPress integration #253

Open EmJotGeh opened 1 year ago

EmJotGeh commented 1 year ago

I could imagine that Friends would be a good integration and enhancement into the Community Builder.

akirk commented 1 year ago

Interesting, since I don't know BuddyPress too well, do you have more specific ideas on how such an integration could work?

lordmatt commented 11 months ago

I would love some BuddyPress interaction. What I can imagine and what is possible differs wildly. Anything that can extend socialness for users or create connections between BuddyPress sites would be most welcome.

lordmatt commented 7 months ago

I've been giving some thought as to how Friends and BuddyPress could integrate. I keep running up against the same issue - Friends is single-user and BuddyPress is multi-user. However, there are ways BuddyPress could still work with Friends.

Idea 1: Create an add-on that would allow BuddyPress users to friend Friend users with whatever the exact API/flow is for that process. This would extend BuddyPress into the Friends network expanding both. I'm pretty sure that ActivityPub could likewise connect BuddyPress users and the Fediverse and this would likely satisfy those who want a multi-user version. It would just be a matter of connecting the BuddyPress user Activity Timelines into the Friends/ActivityPub network. This would be a whole new BP plugin.

Idea 2: Makes public BP user and BP group timelines discoverable by Friends public timelines already have RSS feeds - /members/<username>/activity/feed/ is the format for the public user feeds. This requires no changes to BuddyPress and a simple discovery plugin on Friends. If we wanted something more like the other ideas, this would be a good foundation for further enhancements.

Idea 3: A BuddyPress plugin that allows users to add Friends subscription into their subscribed activity feed. Consider enabling friend requests (much like in idea 1) between the two - call it "other friends" on the BP side. The BP side would likely need quite a bit of work.

Idea 4: A BP plugin that works with the Groups feature. Groups can have "create a blog", "add a forum", or "add an external blog" depending on other plugins. We could have an option that says something like, "this group represents a WP-Friend". I suggest a separate plugin to external blogs because it does not get particularly frequent updates. This would pretty much just be an RSS feed subscription tied to the group. A little ActivityPub magic and we'd sync replies, comments, likes, etc. and updates back and forth. This has the advantage of not needing a huge amount of fresh code and the technology is mostly just RSS. I quite like this idea. Pairs nicely with idea 2.