one potential change to this FEP is dependent on how Revisit the `https://www.w3.org/ns/activitystreams#Public` == `as:Public` == `Public` equivalence and guidance · Issue #404 · w3c/activitypub · GitHub gets resolved. if the addressing properties (to/cc/bto/bcc/audience) get changed from @type: @id
to @type: @vocab
, then this FEP might adopt a context document to map Authenticated
and/or AuthenticatedAgent
to the full IRI http://www.w3.org/ns/auth/acl#AuthenticatedAgent
. or it might not. i’m not sure which is best yet.
- if this change is not made:
- …then the full IRI is the only valid representation (since any term defined will not be expanded properly)
- if this change is made:
- if no shorthand term is defined:
- …then the full IRI is the only valid representation (since there is no shorthand term defined)
- if a shorthand term is defined:
- if the context is used:
- …then the compacted document will use the shorthand term (since the change was made and there is a shorthand term in the context used)
- if the context is not used:
- …then the compacted document will use the full IRI (since even though the change was made and the shorthand term was defined, that context was not used)
- if the context is used:
- if no shorthand term is defined:
so it seems like in most cases you would essentially only have to check for the full IRI, but in the event that the change is made + a term is defined + that context is used, plain JSON consumers will have to check for either/both the full IRI and also the shorthand term. for this reason i’m hesitant to define a term / make a context document asset for this FEP. it would be simpler/easier not to, and in some ways it would be replicating what is very likely a mistake or regretful approach of the current spec in regards to how it handles the Public
mapping. doubtless the whole issue of Public
== as:Public
== https://www.w3.org/ns/activitystreams#Public
would simply not exist had it never been tried – just check for the full IRI and nothing else, and you’re done.