Чем поле ActivityStreams в поле "Действия" отличается от поля "аудитория"?

Спецификация ActivityStreams объясняет разницу между to, cc, bto, а также bcc в разделе 5.1. Но есть также audience свойство, определяемое как:

один или несколько объектов, представляющих общую совокупность объектов, для которых объект может считаться релевантным.

Чем это отличается от "к" и "куб"? В частности, как это влияет на доставку ActivityPub?

1 ответ

Решение

Ответ можно найти в списке выпусков спецификации ActivityPub, в этом комментарии Джеймса М Снелла:

audience используется для таргетинга.

Например, предположим, что у меня есть активность, которую все в моей компании должны видеть в своих лентах активности, но только определенные конкретные люди должны быть уведомлены, в результате я получу что-то вроде:

{
  //...//
  "audience": {
    "type": "Organization",
    "id": "http://example.org",
    "name": "My Organization"
  },
  "to": ["http://jane.example.org", "http://joe.example.org"],
  "cc": ["http://sally.example.org"]
}

Здесь audience свойство обеспечивает охват всей аудитории, в то время как to а также cc поля идентифицируют конкретных людей в пределах этой аудитории, которые должны быть уведомлены более непосредственно о деятельности.

После этого обсуждения спецификация была обновлена. См. Таргетинг на аудиторию и, в частности, в пар. 5.1.1 есть еще некоторые уточнения по его использованию:

Мероприятия редко бывают изолированными. Часто несколько отдельных действий будут выполняться в аналогичном контексте или аудитории. Например, сотрудники, работающие над общим проектом, могут выполнять несколько связанных действий в процессе достижения какой-либо цели. Такие действия могут быть логически сгруппированы, используя context собственности, и ограничены определенной аудиторией, используя audience имущество.

В следующем примере (Пример 144):

{
 "@context": "https://www.w3.org/ns/activitystreams",
 "summary": "Activities in Project XYZ",
 "type": "Collection",
 "items": [
   {
     "summary": "Sally created a note",
     "type": "Create",
     "id": "http://activities.example.com/1",
     "actor": "http://sally.example.org",
     "object": {
      "summary": "A note",
       "type": "Note",
       "id": "http://notes.example.com/1",
       "content": "A note"
     },
     "context": {
       "type": "http://example.org/Project",
       "name": "Project XYZ"
     },
     "audience": {
       "type": "Group",
       "name": "Project XYZ Working Group"
     },
     "to": "http://john.example.org"
   },
   {
     "summary": "John liked Sally's note",
     "type": "Like",
     "id": "http://activities.example.com/1",
     "actor": "http://john.example.org",
     "object": "http://notes.example.com/1",
     "context": {
       "type": "http://example.org/Project",
       "name": "Project XYZ"
     },
     "audience": {
       "type": "Group",
       "name": "Project XYZ Working Group"
     },
     "to": "http://sally.example.org"
   }
 ]
}
Другие вопросы по тегам