id.sifa.profile.presentation

sifa.id

Schema Diff

+8 -2

From

CID
bafyreidre23aepi...
Indexed At
2026-08-06 14:52 UTC
View this version

To

CID
bafyreidmupmz4ko...
Indexed At
2026-09-05 16:00 UTC
View this version

Compatibility Analysis

Backward Compatible

Backward compatible. 2 non-breaking changes.

Non-Breaking Changes (2)
  • AddedVertex AddedVertex { vertex_id: "id.sifa.profile.presentation:body.isPrimary" }
  • AddedEdge AddedEdge { src: "id.sifa.profile.presentation:body", tgt: "id.sifa.profile.presentation:body.isPrimary", kind: "prop", name: Some("isPrimary") }

Migration Guidance

Added Elements

  • AddedVertex { vertex_id: "id.sifa.profile.presentation:body.isPrimary" }

Additional Notes

  • Non-breaking: AddedEdge { src: "id.sifa.profile.presentation:body", tgt: "id.sifa.profile.presentation:body.isPrimary", kind: "prop", name: Some("isPrimary") }
1 1
{
2 2
  "$type": "com.atproto.lexicon.schema",
3 3
  "defs": {
4 4
    "duration": {
5 5
      "description": "A presentation length in minutes: a fixed value (minMinutes only) or a range (minMinutes to maxMinutes).",
6 6
      "properties": {
7 7
        "maxMinutes": {
8 8
          "description": "Upper bound in minutes when the length is offered as a range. Omit for a fixed length.",
9 9
          "minimum": 1,
10 10
          "type": "integer"
11 11
        },
12 12
        "minMinutes": {
13 13
          "description": "Length in minutes, or the lower bound when the length is offered as a range.",
14 14
          "minimum": 1,
15 15
          "type": "integer"
16 16
        }
17 17
      },
18 18
      "required": [
19 19
        "minMinutes"
20 20
      ],
21 21
      "type": "object"
22 22
    },
23 23
    "main": {
24 24
      "description": "Record representing a single reusable presentation (the content), distinct from the occasions on which it is delivered.",
25 25
      "key": "tid",
26 26
      "record": {
27 27
        "properties": {
28 28
          "coverImage": {
29 29
            "accept": [
30 30
              "image/png",
31 31
              "image/jpeg",
32 32
              "image/webp"
33 33
            ],
34 34
            "description": "Optional cover image for the presentation. Rendered as the talk-page hero and OpenGraph image. Max 2 MB, PNG, JPEG, or WebP.",
35 35
            "maxSize": 2000000,
36 36
            "type": "blob",
37 37
            "x-skos:exactMatch": [
38 38
              "schema:image",
39 39
              "foaf:depiction"
40 40
            ]
41 41
          },
42 42
          "createdAt": {
43 43
            "description": "Client-declared timestamp when this record was originally created.",
44 44
            "format": "datetime",
45 45
            "type": "string"
46 46
          },
47 47
          "description": {
48 48
            "description": "Description or abstract of the presentation.",
49 49
            "maxGraphemes": 5000,
50 50
            "maxLength": 50000,
51 51
            "type": "string",
52 52
            "x-skos:exactMatch": [
53 53
              "bibo:abstract",
54 54
              "schema:abstract"
55 55
            ]
56 56
          },
57 57
          "duration": {
58 58
            "description": "Typical length of the presentation, a fixed value or a range, in minutes.",
59 59
            "ref": "#duration",
60 60
            "type": "ref",
61 61
            "x-skos:narrowMatch": [
62 62
              "schema:timeRequired"
63 -
            ]
63 +
            ],
64 +
            "x-skos:note": "The lexicon models a range; schema:timeRequired is a single ISO 8601 duration."
64 65
          },
65 66
          "intendedAudiences": {
66 67
            "description": "Intended audiences for this presentation, open text (e.g. 'Engineering leaders', 'Beginners').",
67 68
            "items": {
68 69
              "maxGraphemes": 100,
69 70
              "maxLength": 1000,
70 71
              "type": "string"
71 72
            },
72 73
            "maxLength": 20,
73 74
            "type": "array",
74 75
            "x-skos:closeMatch": [
75 76
              "schema:audience"
76 77
            ]
77 78
          },
79 +
          "isPrimary": {
80 +
            "description": "Whether this is the user's primary talk, surfaced in profile Highlights. Only reusable talks (not one-off sessions) may be primary.",
81 +
            "type": "boolean"
82 +
          },
78 83
          "links": {
79 84
            "description": "Canonical links for this content, such as slides or a recording.",
80 85
            "items": {
81 86
              "ref": "id.sifa.defs#presentationLink",
82 87
              "type": "ref"
83 88
            },
84 89
            "maxLength": 20,
85 90
            "type": "array"
86 91
          },
87 92
          "title": {
88 93
            "description": "Title of the presentation.",
89 94
            "maxGraphemes": 300,
90 95
            "maxLength": 3000,
91 96
            "minLength": 1,
92 97
            "type": "string",
93 98
            "x-skos:exactMatch": [
94 99
              "dcterms:title",
95 100
              "schema:name"
96 101
            ]
97 102
          },
98 103
          "writeupRef": {
99 104
            "description": "Optional reference to a long-form write-up of this presentation (a pub.leaflet.document or site.standard.document holding video, transcript, or article).",
100 105
            "ref": "id.sifa.defs#externalRecordRef",
101 106
            "type": "ref",
102 107
            "x-skos:closeMatch": [
103 108
              "dcterms:isReferencedBy",
104 109
              "schema:subjectOf"
105 110
            ]
106 111
          }
107 112
        },
108 113
        "required": [
109 114
          "title",
110 115
          "createdAt"
111 116
        ],
112 117
        "type": "object"
113 118
      },
114 119
      "type": "record",
115 120
      "x-skos:closeMatch": [
116 121
        "bibo:Slideshow",
117 122
        "schema:PresentationDigitalDocument"
118 -
      ]
123 +
      ],
124 +
      "x-skos:note": "Neither term carries the \"reusable, deliverable more than once\" semantics of the Sifa record."
119 125
    }
120 126
  },
121 127
  "description": "A reusable presentation: the content a person presents (a talk, workshop, poster, or demo), independent of any single occasion on which it is delivered. Delivered at one or more id.sifa.profile.presentationDelivery occasions.",
122 128
  "id": "id.sifa.profile.presentation",
123 129
  "lexicon": 1
124 130
}

Compare Other Versions

Lexicon Garden

@