id.sifa.profile.presentationDelivery
Schema Diff
+1 -1
Compatibility Analysis
Backward Compatible
No changes detected.
1
1
{
2
2
"$type": "com.atproto.lexicon.schema",
3
3
"defs": {
4
4
"main": {
5
5
"description": "Record representing a single occasion on which a presentation was delivered. This is the entry shown on a profile's activity timeline. At least one of presentationRef, title, or eventName is expected, enforced at the app layer.",
6
6
"key": "tid",
7
7
"record": {
8
8
"properties": {
9
9
"address": {
10
10
"description": "Structured delivery location. Sifa enforces ISO 3166-1 alpha-2 country codes at the app layer and surfaces country (for a flag) and locality (city); region, postalCode, and street are unused for deliveries. Takes precedence over the legacy location string when present.",
11
11
"ref": "community.lexicon.location.address",
12
12
"type": "ref",
13
13
"x-skos:exactMatch": [
14
14
"schema:location",
15
15
"event:place"
16
16
]
17
17
},
18
18
"coSpeakers": {
19
19
"description": "DIDs of co-speakers who presented alongside the author at this occasion. Any atproto account is allowed; hydrated to profile cards on read and linked to the co-speaker's Sifa profile.",
20
20
"items": {
21
21
"format": "did",
22
22
"type": "string"
23
23
},
24
24
"maxLength": 20,
25
25
"type": "array",
26
26
"x-skos:exactMatch": [
27
27
"schema:performer"
28
28
]
29
29
},
30
30
"createdAt": {
31
31
"description": "Client-declared timestamp when this record was originally created.",
32
32
"format": "datetime",
33
33
"type": "string"
34
34
},
35
35
"date": {
36
-
"description": "Calendar date of this delivery as YYYY-MM-DD (day only, no time). Future dates are allowed for upcoming deliveries. The day-only shape is enforced at the app layer. On the linked branch, derived from the event's startsAt in the event's own offset.",
36
+
"description": "Calendar date of this delivery as YYYY-MM-DD, or YYYY-MM or YYYY when the exact day or month is not known (no time). Future dates are allowed for upcoming deliveries. The shape is enforced at the app layer. On the linked branch, derived from the event's startsAt in the event's own offset, and always a full day.",
37
37
"maxLength": 10,
38
38
"type": "string",
39
39
"x-skos:exactMatch": [
40
40
"schema:startDate",
41
41
"event:time"
42
42
]
43
43
},
44
44
"eventName": {
45
45
"description": "Name of the event or venue. On the linked branch, hydrated from the calendar event's name.",
46
46
"maxGraphemes": 300,
47
47
"maxLength": 3000,
48
48
"type": "string",
49
49
"x-skos:closeMatch": [
50
50
"schema:superEvent",
51
51
"bibo:Conference"
52
52
]
53
53
},
54
54
"eventRef": {
55
55
"description": "Optional reference to a community.lexicon.calendar.event for this occasion. Display fields are hydrated live from the target by AT-URI, with the stored fields as a fallback when the target is unavailable.",
56
56
"ref": "id.sifa.defs#externalRecordRef",
57
57
"type": "ref"
58
58
},
59
59
"links": {
60
60
"description": "Links specific to this delivery, such as the recording of this occasion.",
61
61
"items": {
62
62
"ref": "id.sifa.defs#presentationLink",
63
63
"type": "ref"
64
64
},
65
65
"maxLength": 20,
66
66
"type": "array"
67
67
},
68
68
"location": {
69
69
"description": "Legacy free-text display location (city, country, or venue), retained for dual-read. Prefer the structured address field. On the linked branch, composed from the calendar event's structured locations.",
70
70
"maxGraphemes": 256,
71
71
"maxLength": 2560,
72
72
"type": "string"
73
73
},
74
74
"mode": {
75
75
"description": "Whether this delivery was in person, virtual, or hybrid. Stores the full community.lexicon.calendar.event mode token; absent means in person.",
76
76
"knownValues": [
77
77
"community.lexicon.calendar.event#inperson",
78
78
"community.lexicon.calendar.event#virtual",
79
79
"community.lexicon.calendar.event#hybrid"
80
80
],
81
81
"type": "string",
82
82
"x-skos:exactMatch": [
83
83
"schema:eventAttendanceMode"
84
84
],
85
85
"x-skos:note": "The community.lexicon.calendar.event known values are already one-to-one with the schema.org enumeration."
86
86
},
87
87
"presentationRef": {
88
88
"description": "Optional reference to the id.sifa.profile.presentation (the content) delivered here. When set, title, duration, and audiences are taken from it.",
89
89
"ref": "id.sifa.defs#externalRecordRef",
90
90
"type": "ref",
91
91
"x-skos:closeMatch": [
92
92
"bibo:presentedAt",
93
93
"schema:workPerformed"
94
94
]
95
95
},
96
96
"role": {
97
97
"description": "The presenter's role in this delivery. Open set; see id.sifa.defs#presentationRole.",
98
98
"knownValues": [
99
99
"id.sifa.defs#presenter",
100
100
"id.sifa.defs#panelist",
101
101
"id.sifa.defs#keynote",
102
102
"id.sifa.defs#workshop",
103
103
"id.sifa.defs#host"
104
104
],
105
105
"maxGraphemes": 64,
106
106
"maxLength": 640,
107
107
"type": "string",
108
108
"x-skos:closeMatch": [
109
109
"bibo:performer",
110
110
"schema:performer"
111
111
],
112
112
"x-skos:note": "No external vocabulary distinguishes presenter, panelist, keynote, workshop and host at this granularity."
113
113
},
114
114
"sameAs": {
115
115
"description": "The same session as recorded on another person's profile. Set when you keep your own entry for work someone else has also recorded, so consumers can tell the two describe one thing rather than showing it twice. Each side stays its own record: the other person cannot edit yours, and yours does not change theirs. Resolve by AT-URI, since they will keep editing their copy.",
116
116
"ref": "id.sifa.defs#externalRecordRef",
117
117
"type": "ref"
118
118
},
119
119
"status": {
120
120
"description": "Scheduling status of this delivery, typically hydrated from a linked calendar event. Stores the full community.lexicon.calendar.event status token. Consumers should surface cancelled and postponed states.",
121
121
"knownValues": [
122
122
"community.lexicon.calendar.event#scheduled",
123
123
"community.lexicon.calendar.event#cancelled",
124
124
"community.lexicon.calendar.event#postponed",
125
125
"community.lexicon.calendar.event#rescheduled",
126
126
"community.lexicon.calendar.event#planned"
127
127
],
128
128
"type": "string",
129
129
"x-skos:exactMatch": [
130
130
"schema:eventStatus"
131
131
],
132
132
"x-skos:note": "As with mode, already one-to-one with the schema.org enumeration."
133
133
},
134
134
"title": {
135
135
"description": "Fallback title for this delivery, used when no presentationRef is set.",
136
136
"maxGraphemes": 300,
137
137
"maxLength": 3000,
138
138
"type": "string",
139
139
"x-skos:exactMatch": [
140
140
"dcterms:title",
141
141
"schema:name"
142
142
]
143
143
}
144
144
},
145
145
"required": [
146
146
"createdAt"
147
147
],
148
148
"type": "object"
149
149
},
150
150
"type": "record",
151
151
"x-skos:closeMatch": [
152
152
"schema:Event",
153
153
"event:Event"
154
154
],
155
155
"x-skos:note": "BIBO models this relation as bibo:Slideshow bibo:presentedAt event:Event."
156
156
}
157
157
},
158
158
"description": "An occasion on which a person delivered a presentation: a specific talk, panel, workshop, or demo at an event. References the reusable id.sifa.profile.presentation content and, optionally, the calendar event.",
159
159
"id": "id.sifa.profile.presentationDelivery",
160
160
"lexicon": 1
161
161
}