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

Clarify whether "Actor Objects" properties are Functional #290

Closed
cjslep opened this issue Jan 17, 2018 · 5 comments
Closed

Clarify whether "Actor Objects" properties are Functional #290

cjslep opened this issue Jan 17, 2018 · 5 comments

Comments

@cjslep
Copy link

cjslep commented Jan 17, 2018

The additional properties added to the ActivityStream types in the Actor Objects section does not explicitly mark any of them as functional. There is also no indication whether this is intentional.

The default guidance from the ActivityStreams properties section is:

Properties marked as being "Functional" can have only one value. Items not marked as "Functional" can have multiple values.

This affects the following properties:

  • inbox
  • outbox
  • following
  • followers
  • liked
  • streams
  • preferredUsername
  • endpoints
  • proxyUrl
  • oauthAuthorizationEndpoint
  • oauthTokenEndpoint
  • provideClientKey
  • signClientKey
  • sharedInbox
@gobengo
Copy link

gobengo commented May 3, 2023

I interpret any property not explicitly labeled functional as not being functional

@evanp
Copy link
Collaborator

evanp commented May 3, 2023

We reviewed this ticket. I've updated the Primer on the W3C wiki to cover best practices for publishers and consumers to deal with array values in these properties.

https://www.w3.org/wiki/ActivityPub/Primer/Cardinality_of_properties

With that documentation, I think this issue is closed.

@evanp evanp closed this as completed May 3, 2023
@snarfed
Copy link

snarfed commented May 3, 2023

+1, thanks for this:

A guideline for implementers:

  • Publishers should not include array values for these properties, since there is no way for a consumer to decide which value to choose.
  • Consumers should be able to process a property with an array value, and should choose an array element to process, or process all. Note that this is poorly-defined behaviour!

Notably, AP logic and behavior depends on some of these values in nontrivial ways, eg inbox and especially sharedInbox. We could maybe infer reasonable behavior for some, eg deliver to all inboxes as @gobengo mentioned verbally, but multiple sharedInbox values is less clear.

@melvincarvalho
Copy link

Publishers should not include array values for these properties

@evanp Could you clarify what is meant by "these properties"? Which properties specifically?

@snarfed
Copy link

snarfed commented May 4, 2023

@melvincarvalho I expect he meant all of the Actor properties mentioned in the original issue description ^.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants