Michael
--
You received this message because you are subscribed to the Google Groups "diaspora-dev" group.
To post to this group, send email to diaspo...@googlegroups.com.
To unsubscribe from this group, send email to diaspora-dev...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/diaspora-dev?hl=en.
A few people expressed interest in doing this before, but to my
knowledge no one has actually done it. You'll be a pioneer!
I think this is about the right time. We're still working out changes
and additions to our protocol, though, so it's not completely stable,
but we'd love to work with you to see what another implementation
looks like.
> I have found these: https://github.com/diaspora/diaspora/wiki/Diaspora's-federation-protocol,
> https://github.com/diaspora/diaspora/wiki/Diaspora%27s-message-semantics
>
> Is this everything I would need to get started? Are these documents up
> to date?
They are up to date. I am not sure that's everything you need, though.
The best thing you could do is get started, and let us know if there
is other information you'd find useful. You can do that here, or in
the #diaspora-dev irc channel on freenode.
What language? We've ported the core communications to PHP for use in
Friendica. That's currently working well, though there are still a few
undocumented pieces we have to reverse engineer.
As far as specifics, I vaguely recall someone early on (a year ago?)
asking about re-implementation in PHP. There was a github project and
everything but I don't think it went anywhere.
Awesome. It would be great to have a pointer to that code within
friendica to put on the wiki, and also to know what the undocumented
parts are. So we can document them. :)
Agreed, this is the realm of Open Source, but really, the core
codebase could use all the help it can get. (Am I being too negative
here? :) )
Pistos
The project is at http://github.com/friendica/friendica
You can find the bulk of the Diaspora communications in include/diaspora.php
with some extra needed bits in include/crypto.php and the conversion
to/from bbcode to markdown in include/bb2diaspora.php
As far as documentation, I'm not sure anything has changed since I
discovered all kinds of mistakes in the protocol layers and updated the
wiki with that information. Most (but not all) of these issues were
fixed on "Federation Friday" a couple of months ago, but I don't believe
the documentation was updated.
But the documentation left off after describing status posts, comments,
likes and friending. There are several other types of messages -
profile updates
"conversations" used in private mail
signed retractions
photos
"activity-streams" photos (a bit of a misnomer I believe)
reshares - this is a real b*tch as it requires you to provide xml
copies of all your messages in D* format.
We have most of these working except private mail - whilst trying to
figure out once again what exact data gets signed, and we implemented
photos but found it only works one way, so there is something
undocumented about how these are supposed to work.
It isn't clear if public hashtag messages are sent to all sites (which
wouldn't scale) or whether there is a subscription or registration
mechanism and/or a new message type to send these around.
Cool, we need to add to this to the wiki. Volunteers?
> But the documentation left off after describing status posts, comments,
> likes and friending. There are several other types of messages -
>
> profile updates
> "conversations" used in private mail
> signed retractions
> photos
> "activity-streams" photos (a bit of a misnomer I believe)
> reshares - this is a real b*tch as it requires you to provide xml
> copies of all your messages in D* format.
>
> We have most of these working except private mail - whilst trying to
> figure out once again what exact data gets signed, and we implemented
> photos but found it only works one way, so there is something
> undocumented about how these are supposed to work.
Good to know. Yeah, that documentation is definitely insufficient. I
will try to reorganize it a bit after I finish the blog post I'm
working on about federation.
> It isn't clear if public hashtag messages are sent to all sites (which
> wouldn't scale) or whether there is a subscription or registration
> mechanism and/or a new message type to send these around.
Neither. Right now a hashtag message is only federated if someone on
another pod is following the user who posts it. Once that happens, if
the message is public, all users on the remote pod see it in their tag
stream. But *somebody* over there has to be following the poster in
order for it to be copied over.