How do we handle Groups (Reconciling FEP-400e and FEP-1b12)?

Yeah, pretty much.

Say you encounter an actor of type Group. You Follow the actor. You can’t expect it to behave in any one particular way, but it will generally behave in one of these ways:

  • It is a “normal” publishing actor. You will receive Create Object, Announce Object, Like Object, and so on.
  • It is a boost bot. You will receive Announce Object for any object sent to it, mentioning it, etc.
  • It is a 1b12 actor. You will receive Announce Activity, and other activities described in 1b12.
  • It is a Smithereen-style actor. There will be a wall property, and it will send out Add activities where the target is that wall. The Add.object will also have a target, and this will match the Add.target as per 400e.
  • Bonus: It is a context moderator. You will receive Add activities where the target is the object.context. It may also additionally be a “normal” publishing actor.

So for any given “post”, it might be a Create/Add/Announce/Announce-Create. This isn’t limited to Group actors, but it is most prevalent in Group actors because of the popular (erroneous) interpretation of Group as equivalent to Facebook Groups. One final thing to note is that “normal” publishing actors and context moderators may be any type, not just Group – there is no specific type dependency for these mechanisms, as they are the intended mechanisms.

Yup.

id: <object-1>
type: Note
attributedTo: <actor>
context: <context-1>
content: "I'm posting in a thread"

---

id: <object-2>
type: Note
attributedTo: <actor>
inReplyTo: <object-1>
context: <context-2>
content: "This post is in a different thread but still replying to the first"

---

id: <object-3>
type: Article
attributedTo: <actor>
inReplyTo: <object-1>
name: "Some Article"
summary: "In which I reply to a forum post with an entire blog post. This is not part of any context."
content: "<p>Lorem ipsum dolor sit amet...</p>"
2 Likes