activitypub icon indicating copy to clipboard operation
activitypub copied to clipboard

Relaxing the requirement for OrderedCollection to always be reverse-chronological?

Open trwnh opened this issue 2 years ago • 5 comments

Per ActivityPub Section 5:

An OrderedCollection MUST be presented consistently in reverse chronological order.

This has come up a few times, and it seems like the requirement is misstated compared to the intention. I have heard it said that the intention was that only the OrderedCollection properties defined in ActivityPub are subject to this requirement. If this is indeed the case, then this should be reflected in the spec, perhaps by an errata.

Miscellaneous points of contention

  • If OrderedCollection is no longer mandated to be "reverse chronological order", then how does a consumer know that the order is reverse chronological?
  • More generally: How might "reverse chronological order" be declared? In most cases, insertion time is not a property of the object. Sorting by published in descending order would open up the possibility of setting a date in the far future which is effectively pinned to the top of the list.
  • Even more generally: How might any ordering be declared? This is probably something that could be addressed by an FEP, and I think there is at least one FEP that is tangential to this: FEP-5bf0 - Collection sorting and filtering https://socialhub.activitypub.rocks/t/fep-5bf0-collection-sorting-and-filtering/3095 but there's plenty of room to specify further mechanisms for dealing with collections.

trwnh avatar Jun 15 '23 03:06 trwnh

What is the value of an OrderedCollection's order if the order is not known by consumers?

bobwyman avatar Jun 28 '23 16:06 bobwyman

There was never any intention for this requirement to apply to any other collections besides the ones defined in section 5 ("Collections"). The full paragraph is as follows:

Note that some of these collections are specified to be of type OrderedCollection specifically, while others are permitted to be either a Collection or an OrderedCollection. An OrderedCollection MUST be presented consistently in reverse chronological order.'

I believe the correct fix for this problem is to add an Errata item that makes it clear that only these collections are affected, and collections defined in other vocabularies, including extensions, are not required to use this ordering. However, as @bobwyman notes, the ordering in those other vocabularies should be specified in their documentation.

evanp avatar Jun 28 '23 16:06 evanp

@trwnh I added a proposed erratum here:

https://www.w3.org/wiki/ActivityPub_errata/Proposed

The text is:

Section 5 says, in part An OrderedCollection MUST be presented consistently in reverse chronological order. This requirement only applies to the collections defined in Section 5, namely: inbox, outbox, followers, following, liked, likes, shares. Collections defined in other vocabularies, including extensions, are not subject to this requirement and can be unordered or ordered by other criteria.

We'll open this up for conversation in the SocialCG meeting to make it an official erratum.

evanp avatar Jun 28 '23 16:06 evanp

This issue has been mentioned on SocialHub. There might be relevant details there:

https://socialhub.activitypub.rocks/t/fep-5bf0-collection-sorting-and-filtering/3095/8

ap-socialhub avatar Jun 28 '23 16:06 ap-socialhub

This issue has been mentioned on SocialHub. There might be relevant details there:

https://socialhub.activitypub.rocks/t/socialcg-hybrid-meeting-during-tpac-2023/3498/2

ap-socialhub avatar Sep 12 '23 06:09 ap-socialhub

This was accepted.

evanp avatar Aug 02 '24 17:08 evanp