I'm working on a new fedi server, and wanted to build on top of existing ActivityPub C2S API, rather than creating my own API.
I was looking through some of the specs for ideas. One of the things I want to have is similar to Mastodon lists but more hierarchical, and I was trying to think of a good way to represent this. The lists should be an OrderedCollection
, but I'm thinking about discovery. Basically, I want an easy way for the client to discover these user-defined lists in an AP-conformant way.
So, on the actor object, there's this field that MAY be included:
streams: A list of supplementary Collections which may be of interest.
I think this is probably what I need, but this isn't very specific about how this field is formatted. And I've never seen this used in the wild. I'm not sure if this is a simple array of URLs to Collections, or a Collection of Collections, or perhaps an object of key/value pairs with the values being links to the Collections.
@[email protected] says on ActivityPub Primer:
This property is not widely implemented. There is not a clear way to filter the list of Collections according to what a client application may need. For example, a client application that wants to show contact lists to the user would not have an easy way to find only contact lists in
streams
. A client application that wants to show photo albums to the user would not have an easy way to find only photo albums instreams
.
He suggests using extensions, in lieu of streams
, but since it's not clear exactly how this property is to be used, I'm not sure if this would be insufficient for my needs or not.
Does anybody have any more insight into this field and how to use it?
@[email protected] @[email protected] #AskFediverse #AskFedi
@danjones000 @dan don't use `streams`. We need an extension for this. I'm happy to work on it with you.