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

Ability to connect Humhub instances with another ones (federated network) #3150

Open
petrk94 opened this issue May 20, 2018 · 45 comments
Open

Comments

@petrk94
Copy link

petrk94 commented May 20, 2018

Hello,
as already in the shown in the title, I got the idea from a friend to connect separate Humhub instances together, so it can work as a federated network.
Is that possible?

Were nice if it can be added on the Enhancement list

Thanks

@thecross-fr
Copy link

Hello,
By quickly reading Yii documentation, it does not seem possible to do federation with Yii framework.
If you want a federated social network, you should check Diaspora* and Friendica.
Personally, I use Humhub because it is not federated ^^.

@arnaud-jacquemin
Copy link

It would be great if HumHub implemented the decentralized social networking protocol ActivityPub.
The specification is a W3C recommendation, and it is already implemented by more than a dozen softwares (Nextcloud, Mastodon, Hubzilla, Peertube, Funkwhale, etc.)

@mkljczk
Copy link

mkljczk commented Sep 28, 2018

@arnaud-jacquemin it would be really nice
there are already some implementations of AP in PHP (and this library is work in progress)

@001101
Copy link

001101 commented Oct 3, 2018

That would definitely boost Humhub, which is still the best foss social network and with distributed hubs it could be THE beast!!

@hmhrex
Copy link

hmhrex commented Oct 11, 2018

The main reason I would love this is because I could host one for my family and a few friends, and be able to connect it with other families and their friends.

@petrk94
Copy link
Author

petrk94 commented Oct 11, 2018

I think it were nice if the federated network functionality is optional and can be activated over the admin backend. For small organizations or companies who use it, its not really a benefit to use this function.

@hmhrex
Copy link

hmhrex commented Oct 11, 2018

@petrk94 Definitely something that would need to be opt-in.

@miztizm
Copy link

miztizm commented Nov 20, 2018

would be cool! sounds great, the future will be decentralized and AI

@acheype
Copy link

acheype commented Aug 2, 2019

Sounds like a great feature to me. This would allow some posts to be communicated outside the organization's network or to receive posts from other networks.

@AlexM4H
Copy link

AlexM4H commented Dec 20, 2019

Hi forks,

is anyone working on an implementation of ActivityPub?

Who knows https://github.com/landrok/activitypub or https://github.com/pterotype-project/activitypub-php

@buddh4
Copy link
Contributor

buddh4 commented Jan 14, 2020

@AlexM4H would definetly be an option, we considered implementing activitypub but unfortunately we had not the time to do so yet.

@MountainMaster
Copy link

Would love to see ActivityPub implemented.

It would be a great benefit for business PR teams. Every funny or strong moment of intern communication could be a federated post with one click.

Also allow for federated company communication like shared slack channels.

@CarlSinclair
Copy link

The issue with this is that federated networks replicate the content across all nodes. They don't simply share links to it, they share copies of it. Meaning the original owner loses control over their content. They can delete/edit it but it would still exist on other nodes in its original form.

This could be disastrous for enterprise use or any private use. It should be a choice on a super admin level and also on the user level, at the time of publishing content and also after. A toggle on posts, like public/private, only for federation.

@luke-
Copy link
Contributor

luke- commented Sep 13, 2020

ActivityPub is a very interesting and there are really a lot of use cases for HumHub here.
Unfortunately I cannot say when we will find some time it.

If someone would like to work on it in the meantime, just let me know!

@mkljczk
Copy link

mkljczk commented Sep 14, 2020

@Carl2213 Of course features like federation on platforms that didn't use to be federated should be optional.
Support for Delete verb is implemented by virtually every ActivityPub implementation, so unless it's created not to reflect the deletions, deleted posts appear as deleted and get deleted from DB.

@CarlSinclair
Copy link

@mkljczk that's great, but I think it would also be important to give that choice to each user, so they can have control over their own posts and content.

@pwFoo
Copy link

pwFoo commented Jan 10, 2021

I like the federated network and won't move to a not federated social network. Waiting for activitypub feature.

@KarimChabrak
Copy link

It would be great to have federated nodes. We are using in coinsence.org humhub and we see that many associations and networks are reluctant to build something without having their own URL.

@DC7IA
Copy link

DC7IA commented May 28, 2021

I am actually suprised to find out that ActivityPub is not supported already.

I only found this issue because I wanted to find some details about using ActivityPub with Humhub. :D

@samuk
Copy link

samuk commented Jun 9, 2021

Is it just a case of installing and configuring this? https://github.com/landrok/activitypub how much work are we talking about?

@DC7IA
Copy link

DC7IA commented Aug 2, 2021

I have not implemented it, but others say it is not too difficult. 🤔

@samuk
Copy link

samuk commented Oct 22, 2022

@luke- If we did some work on this, assuming code quality was OK would you consider a pull request into the main Humhub branch?

@luke-
Copy link
Contributor

luke- commented Oct 22, 2022

@samuk Yes, that would be very interesting.

Ideally, this change would be implemented as a module. Presumably, however, changes to the core will still be necessary for this.

It would also be nice if you could involve us in the conception/design of the feature. Maybe we can then help with necessary parts like an OAuth2 server.

@timmwille
Copy link

This would change a lot within our network, we could better connect. I would love to test this early. 👍

@samuk
Copy link

samuk commented Nov 18, 2022

I did explore this and concluded adding ActivityPub directly to Humhub would be too expensive for us. (Estimated at ~30hrs work)

It's a shame given the explosion in Activitypub use https://trends.google.com/trends/explore?date=today%201-m&q=mastodon

I am however exploring whether https://github.com/assemblee-virtuelle/organigraph could be used as middleware to query the Humhub API and output ActivityPub. I'll update here if that seems viable.

I might be able to part-fund the work if it was of interest to other organisations who also had a budget to contribute.

@AlexM4H
Copy link

AlexM4H commented Nov 18, 2022

I might be able to part-fund the work if it was of interest to other organisations who also had a budget to contribute.

sounds interesting... @luke what do you think about it, should we take advantage of the Mastodon hype?

@luke-
Copy link
Contributor

luke- commented Nov 18, 2022

It is very interesting, indeed. We could possibly also part-fund the development. However, we first need a concept here.

@AlexM4H
Copy link

AlexM4H commented Nov 18, 2022

We should take a look on this tool (it uses the yii framework too) https://gitlab.adullact.net/pixelhumain/citizenToolKit

@samuk
Copy link

samuk commented Nov 21, 2022

Tumblr adding Activitypub: https://twitter.com/photomatt/status/1594577983028740096

@ArchBlood
Copy link
Contributor

We should take a look on this tool (it uses the yii framework too) https://gitlab.adullact.net/pixelhumain/citizenToolKit

Too old and uses the first version of Yii not second or third, so code compatibility issues could happen. 🤷🏻‍♂️

@AlexM4H
Copy link

AlexM4H commented Nov 22, 2022

It would also be nice if you could involve us in the conception/design of the feature. Maybe we can then help with necessary parts like an OAuth2 server.

Look at this https://github.com/chervand/yii2-oauth2-server

@luke-
Copy link
Contributor

luke- commented Nov 22, 2022

We already have a working OAuth2 server module in use. However, it is currently not public and not a full implementation.
For use in federation we would publish and maintain this module.

@samuk
Copy link

samuk commented Nov 22, 2022

I'd like to see the user being the Actor. They can opt in or out of federation. When user has opted in, all their public posts go to Activity pub.

@AlexM4H
Copy link

AlexM4H commented Nov 22, 2022

@luke- Do you want to post an official funding request for example on https://app.bountysource.com/teams/humhub?

BTW: For an implementation concept this mastodon thread could be useful mastodon/mastodon#1557

@luke-
Copy link
Contributor

luke- commented Nov 22, 2022

@AlexM4H No, currently not.

@samuk
Copy link

samuk commented Nov 22, 2022

There's also https://github.com/dariusk/rss-to-activitypub although of course we don't have RSS yet either.

@samuk
Copy link

samuk commented Nov 25, 2022

Given NGLnets historic interest and funding for the ActivityPub protocol: https://www.ngi.eu/blog/2022/11/24/how-ngi-supports-open-interoperable-decentralised-and-trust-based-internet-applications-through-fediverse-projects-like-mastodon/

I think Humhub GmbH might stand a good chance of getting ~10,000 euro if they were to complete the 1200 word application for the open call by 1/12/22 here: https://nlnet.nl/propose/

@marc-farre
Copy link
Collaborator

If Humhub implements ActivityPub, we could use the https://fedilab.app/ Android app to interact with Humhub (no iOs app...).
See other available apps for the Fediverse: https://joinfediverse.wiki/Apps

@mkljczk
Copy link

mkljczk commented Nov 27, 2022

@funkycram it's not related to implementing ActivityPub, as ActivityPub is usually only implemented for server to server communication. I don't think Fedilab supports ActivityPub C2S and it's definitely not worth implementing.

Mastodon client API can be implemented independently from federation support.

@marc-farre
Copy link
Collaborator

marc-farre commented Nov 28, 2022

@funkycram it's not related to implementing ActivityPub, as ActivityPub is usually only implemented for server to server communication. I don't think Fedilab supports ActivityPub C2S and it's definitely not worth implementing.

@mkljczk Thank you for the clarification. Indeed, I have no experience with AcitivityPub and it may be a mistake on my part. I thought that with AcitivityPub we could be part of the Fediverse and, as such, use Humhub via the Fedilab application.

@samuk samuk mentioned this issue Nov 28, 2022
@moedn
Copy link

moedn commented Dec 2, 2022

Looks like everybody wants that and we'd already have some heavy users 🔥

would be quite great feature to be able to connect the communities

so @luke- – where's the repo where we could get things started? :)

@samuk
Copy link

samuk commented Dec 2, 2022

AFAIK various explorations are taking place. I think it's at the research/resourcing stage rather than actually getting stuck in with code. Perhaps @luke- can say more about the current state of play.

@AlexM4H
Copy link

AlexM4H commented Dec 2, 2022

AFAIK various explorations are taking place. I think it's at the research/resourcing stage rather than actually getting stuck in with code. Perhaps @luke- can say more about the current state of play.

Not for coding at the current time, but for discussions on how we can implement it....

It would be a strong signal.

@luke-
Copy link
Contributor

luke- commented Dec 2, 2022

I have created a Space for discussions in our community here: https://community.humhub.com/s/activitypub/

However, there is no timeline and concept for the feature yet.

@marc-farre
Copy link
Collaborator

@srosset81 and me created a draft of specifications for the work we need to do to implement ActiviyPub in Humhub. I hope it can help to have an idea of what we need to do for a start.
It's here (you need to have an account and be a member of the space): https://community.humhub.com/content/perma?id=262310

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