ruto on Nostr: ...
ActivityStreamのActivityは、「私はこれをしました」という表明とサーバに対して「これをしなさい」という指令の2種類の意味がある。
https://www.w3.org/TR/activitystreams-core/#activitiesActivityPubの仕様でその辺りの扱いがどうなってるのかよくわからない。
例えば、CreateがoutboxにPOSTされたとき、objectは次のような可能性があるはず。
- idのないObject
- そのサーバに既に保管されているObjectのIDを持つObject
- そのサーバに保管されているObjectへのリンク
- 外部サーバに保管されているObjectのIDを持つObject
- 外部サーバに保管されているObjectへのリンク
- 外部サーバに保管されている非Object(画像など)へのリンク
あるいはこれらが混ざった配列である可能性もある。
これらについて、次のような処理のいずれかが考えられるが、仕様では定められていないように思える。
- 副作用無しでそのまま転送する。
- エラーにする。
- ローカルにオブジェクトを作成して転送する。
あと、Activityのactorや宛先をobjectのattributedToや宛先にコピーすべきと書かれているけど、既存オブジェクトへのリンクであった場合はどうすべきかとか。
https://www.w3.org/TR/activitypub/#create-activity-outboxPublished at
2023-09-09 09:30:15Event JSON
{
"id": "c2deed84e38ca723a55c4457c9b6fbd11e6c83854fd800f344cda692fb74a1c2",
"pubkey": "2888961a564e080dfe35ad8fc6517b920d2fcd2b7830c73f7c3f9f2abae90ea9",
"created_at": 1694251815,
"kind": 1,
"tags": [],
"content": "ActivityStreamのActivityは、「私はこれをしました」という表明とサーバに対して「これをしなさい」という指令の2種類の意味がある。https://www.w3.org/TR/activitystreams-core/#activities\nActivityPubの仕様でその辺りの扱いがどうなってるのかよくわからない。\n\n例えば、CreateがoutboxにPOSTされたとき、objectは次のような可能性があるはず。\n\n- idのないObject\n- そのサーバに既に保管されているObjectのIDを持つObject\n- そのサーバに保管されているObjectへのリンク\n- 外部サーバに保管されているObjectのIDを持つObject\n- 外部サーバに保管されているObjectへのリンク\n- 外部サーバに保管されている非Object(画像など)へのリンク\n\nあるいはこれらが混ざった配列である可能性もある。\n\nこれらについて、次のような処理のいずれかが考えられるが、仕様では定められていないように思える。\n\n- 副作用無しでそのまま転送する。\n- エラーにする。\n- ローカルにオブジェクトを作成して転送する。\n\nあと、Activityのactorや宛先をobjectのattributedToや宛先にコピーすべきと書かれているけど、既存オブジェクトへのリンクであった場合はどうすべきかとか。\nhttps://www.w3.org/TR/activitypub/#create-activity-outbox",
"sig": "ebf21cf7af8f5ff908f47d9de00a0c5da0316cf90701190ee1ad04ebcf467e11f40a78120e245cb9c8f4da39af5c1435d7b2bc1bdbc5c646a568c4f8efed081f"
}