org.anthers.comment

anthers.org

Documentation

A comment somebody wrote about a work, a post, or another comment. It lives in the commenter's own repository, which is the honest answer to who wrote it: the words are theirs, they travel with them, and they go when the commenter goes. A comment whose subject is another comment is a REPLY — the distinction is hierarchy rather than kind, so there is one record type and not two. A service displaying these may decline to show one; it cannot unsay it.

main record

A comment somebody wrote about a work, a post, or another comment. It lives in the commenter's own repository, which is the honest answer to who wrote it: the words are theirs, they travel with them, and they go when the commenter goes. A comment whose subject is another comment is a REPLY — the distinction is hierarchy rather than kind, so there is one record type and not two. A service displaying these may decline to show one; it cannot unsay it.

Record Key tid Timestamp-based ID

Properties

subject ref #subject Required

No description available.

text string Required

What the commenter wrote. Plain text, never markup, so that every consumer can render it safely without a sanitizer — which is also how Anthers itself stores and renders a comment. Required and never empty: a comment with nothing in it is not a comment. The limit is deliberately well above what Anthers itself accepts, because a length limit can never be raised once published — new data must stay valid under the old schema — so a limit set to today's product rule would become tomorrow's ceiling.

maxLength: 250000 bytesmaxGraphemes: 25000 graphemes
View raw schema
{
  "description": "A comment somebody wrote about a work, a post, or another comment. It lives in the commenter's own repository, which is the honest answer to who wrote it: the words are theirs, they travel with them, and they go when the commenter goes. A comment whose subject is another comment is a REPLY — the distinction is hierarchy rather than kind, so there is one record type and not two. A service displaying these may decline to show one; it cannot unsay it.",
  "key": "tid",
  "record": {
    "properties": {
      "subject": {
        "ref": "#subject",
        "type": "ref"
      },
      "text": {
        "description": "What the commenter wrote. Plain text, never markup, so that every consumer can render it safely without a sanitizer — which is also how Anthers itself stores and renders a comment. Required and never empty: a comment with nothing in it is not a comment. The limit is deliberately well above what Anthers itself accepts, because a length limit can never be raised once published — new data must stay valid under the old schema — so a limit set to today's product rule would become tomorrow's ceiling.",
        "maxGraphemes": 25000,
        "maxLength": 250000,
        "type": "string"
      }
    },
    "required": [
      "subject",
      "text"
    ],
    "type": "object"
  },
  "type": "record"
}
subject object

What this record is about, named by the address of a record on the network. An OBJECT rather than a bare string, deliberately: a published field's type can never change, so a bare address would close the door on ever carrying anything beside it — a content identifier pinning the subject to one version being the obvious candidate. What KIND of thing the subject is needs no field of its own, because the collection segment of the address already says it.

Properties

uri string at-uri Required

The address of the record this is about. Version pinning is deliberately absent rather than forgotten: a work's listing is rewritten whenever its creator edits the title or the description, so a subject pinned to the version that existed on the day would come to point at something gone, through no act of the person who wrote this.

View raw schema
{
  "description": "What this record is about, named by the address of a record on the network. An OBJECT rather than a bare string, deliberately: a published field's type can never change, so a bare address would close the door on ever carrying anything beside it — a content identifier pinning the subject to one version being the obvious candidate. What KIND of thing the subject is needs no field of its own, because the collection segment of the address already says it.",
  "properties": {
    "uri": {
      "description": "The address of the record this is about. Version pinning is deliberately absent rather than forgotten: a work's listing is rewritten whenever its creator edits the title or the description, so a subject pinned to the version that existed on the day would come to point at something gone, through no act of the person who wrote this.",
      "format": "at-uri",
      "type": "string"
    }
  },
  "required": [
    "uri"
  ],
  "type": "object"
}

Lexicon Garden

@