diff --git a/fep/7628/context.jsonld b/fep/7628/context.jsonld new file mode 100644 index 0000000..1e48706 --- /dev/null +++ b/fep/7628/context.jsonld @@ -0,0 +1,12 @@ +{ + "@context": { + "movedTo": { + "@id": "https://w3id.org/fep/7628#movedTo", + "@type": "@id" + }, + "copiedTo": { + "@id": "https://w3id.org/fep/7628#copiedTo", + "@type": "@id" + } + } +} diff --git a/fep/7628/fep-7628.md b/fep/7628/fep-7628.md index 3b5edf6..d095a95 100644 --- a/fep/7628/fep-7628.md +++ b/fep/7628/fep-7628.md @@ -9,7 +9,7 @@ discussionsTo: https://codeberg.org/fediverse/fep/issues/168 ## Summary -Migration of social graph from one [ActivityPub](https://www.w3.org/TR/activitypub/) server to another. +Migration of followers from one [ActivityPub][ActivityPub] actor to another. ## History @@ -25,11 +25,11 @@ The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "S ## Linked actors -One persona can be represented by one or more actors. Different actors are considered associated with one persona if they are **linked**. Possible ways to link actors: +One persona can be represented by one or more actors. Different actors are considered associated with one persona if and only if they are **linked**. Possible ways to link actors: - `alsoKnownAs` property of an actor object. This method is used by [Mastodon](https://docs.joinmastodon.org/user/moving/#aliases). -- [FEP-c390](https://codeberg.org/fediverse/fep/src/branch/main/fep/c390/fep-c390.md) identity proofs. Actors are linked if they have identity proofs with the same `subject` property. -- [rel-me](https://indieweb.org/rel-me) links. Actors are linked if their profile metadata contains verified rel-me links pointing to the same website. +- [FEP-c390][FEP-c390] identity proofs. Actors are linked if they have identity proofs with the same `subject` property. +- [rel-me][rel-me] links. Actors are linked if their profile metadata contains verified rel-me links pointing to the same website. ## Migration @@ -39,7 +39,7 @@ Among actors associated with a persona, there MUST be one **primary** actor. **M `Move` activity is used to notify other actors about the migration. It MUST have the following properties: -- `type`: the type of activity must be `Move`. +- `type`: the type of activity MUST be `Move`. - `actor`: the actor performing the migration. - `object`: the old primary actor ID. - `target`: the new primary actor ID. @@ -63,7 +63,8 @@ Example (activity subtype 1): "actor": "https://server1.example/users/alice", "object": "https://server1.example/users/alice", "target": "https://server2.example/users/alice", - "to": "https://server1.example/users/alice/followers" + "to": "https://www.w3.org/ns/activitystreams#Public", + "cc": "https://server1.example/users/alice/followers" } ``` @@ -77,7 +78,8 @@ Example (activity subtype 2): "actor": "https://server2.example/users/alice", "object": "https://server1.example/users/alice", "target": "https://server2.example/users/alice", - "to": "https://server2.example/users/alice/followers" + "to": "https://www.w3.org/ns/activitystreams#Public", + "cc": "https://server2.example/users/alice/followers" } ``` @@ -85,13 +87,36 @@ Example (activity subtype 2): If previous primary actor is deactivated after migration, it MUST have `movedTo` property containing the ID of the new primary actor. Publishers SHOULD NOT deliver activities to actor's inbox if `movedTo` property is present. -If it is not deactivated, `copiedTo` property MUST be used. +If previous primary actor is not deactivated, `copiedTo` property MUST be used. + +
The location of the new primary actor. The actor containing this property should be considered inactive.
+https://w3id.org/fep/7628#movedToThe location of the new primary actor.
+https://w3id.org/fep/7628#copiedTo