From f44407c84c535b9cb7149f11aa5ee8f55a2bb6c9 Mon Sep 17 00:00:00 2001 From: silverpill Date: Mon, 12 May 2025 11:22:16 +0000 Subject: [PATCH] FEP-2277: Raise priority of VerificationMethod (#594) Reviewed-on: https://codeberg.org/fediverse/fep/pulls/594 Co-authored-by: silverpill Co-committed-by: silverpill --- fep/2277/fep-2277.md | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/fep/2277/fep-2277.md b/fep/2277/fep-2277.md index 2dce434..18a6248 100644 --- a/fep/2277/fep-2277.md +++ b/fep/2277/fep-2277.md @@ -28,14 +28,14 @@ Applications may use the `type` property to determine object's class, but that h [Activity Streams 2.0][ActivityStreams] standard defines [8 core object types](https://www.w3.org/TR/activitystreams-core/#model): -- Object -- Link -- Activity -- IntransitiveActivity -- Collection -- OrderedCollection -- CollectionPage -- OrderedCollectionPage +- `Object` +- `Link` +- `Activity` +- `IntransitiveActivity` +- `Collection` +- `OrderedCollection` +- `CollectionPage` +- `OrderedCollectionPage` The `Actor` type is also mentioned, but it is not a core type. @@ -43,12 +43,12 @@ Unfortunately, definitions provided in the specification are not precise. The la One way to divide objects into distinct classes is to look at their properties and their connections to other objects (indicated by their properties). This approach can be used to define 6 core types: -- Object -- Actor -- Activity (includes intransitive activities) -- Collection (includes collection pages) -- VerificationMethod -- Link +- `Object` +- `Actor` +- `Activity` (includes intransitive activities) +- `Collection` (includes collection pages) +- `VerificationMethod` +- `Link` The next section specifies an algorithm that classifies any ActivityPub object as one of these core types by analyzing object's shape. This technique is often referred to as [duck typing][DuckTyping]. @@ -56,8 +56,8 @@ The next section specifies an algorithm that classifies any ActivityPub object a The following algorithm can be used to determine the core type of the object: -1. If object has `href` property, return `Link`. 1. If object has `publicKeyPem` or `publicKeyMultibase` property, return `VerificationMethod`. +1. If object has `href` property, return `Link`. 1. If object has `inbox` and `outbox` properties, return `Actor`. 1. If object has `actor` property, return `Activity`. 1. If object has `items`, `orderedItems`, `totalItems`, `partOf`, `first`, `last`, `next`, `prev` or `current` property, return `Collection`.