id.sifa.profile.presentation
Schema Diff
+10 -0
Compatibility Analysis
Backward Compatible
Backward compatible. 2 non-breaking changes.
Non-Breaking Changes (2)
- AddedVertex AddedVertex { vertex_id: "id.sifa.profile.presentation:body.coverImage" }
- AddedEdge AddedEdge { src: "id.sifa.profile.presentation:body", tgt: "id.sifa.profile.presentation:body.coverImage", kind: "prop", name: Some("coverImage") }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "id.sifa.profile.presentation:body.coverImage" }
Additional Notes
- Non-breaking: AddedEdge { src: "id.sifa.profile.presentation:body", tgt: "id.sifa.profile.presentation:body.coverImage", kind: "prop", name: Some("coverImage") }
1
1
{
2
2
"id": "id.sifa.profile.presentation",
3
3
"defs": {
4
4
"main": {
5
5
"key": "tid",
6
6
"type": "record",
7
7
"record": {
8
8
"type": "object",
9
9
"required": [
10
10
"title",
11
11
"createdAt"
12
12
],
13
13
"properties": {
14
14
"links": {
15
15
"type": "array",
16
16
"items": {
17
17
"ref": "id.sifa.defs#presentationLink",
18
18
"type": "ref"
19
19
},
20
20
"maxLength": 20,
21
21
"description": "Canonical links for this content, such as slides or a recording."
22
22
},
23
23
"title": {
24
24
"type": "string",
25
25
"maxLength": 3000,
26
26
"minLength": 1,
27
27
"description": "Title of the presentation.",
28
28
"maxGraphemes": 300
29
29
},
30
30
"duration": {
31
31
"ref": "#duration",
32
32
"type": "ref",
33
33
"description": "Typical length of the presentation, a fixed value or a range, in minutes."
34
34
},
35
35
"createdAt": {
36
36
"type": "string",
37
37
"format": "datetime",
38
38
"description": "Client-declared timestamp when this record was originally created."
39
39
},
40
+
"coverImage": {
41
+
"type": "blob",
42
+
"accept": [
43
+
"image/png",
44
+
"image/jpeg",
45
+
"image/webp"
46
+
],
47
+
"maxSize": 2000000,
48
+
"description": "Optional cover image for the presentation. Rendered as the talk-page hero and OpenGraph image. Max 2 MB, PNG, JPEG, or WebP."
49
+
},
40
50
"writeupRef": {
41
51
"ref": "id.sifa.defs#externalRecordRef",
42
52
"type": "ref",
43
53
"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)."
44
54
},
45
55
"description": {
46
56
"type": "string",
47
57
"maxLength": 50000,
48
58
"description": "Description or abstract of the presentation.",
49
59
"maxGraphemes": 5000
50
60
},
51
61
"intendedAudiences": {
52
62
"type": "array",
53
63
"items": {
54
64
"type": "string",
55
65
"maxLength": 1000,
56
66
"maxGraphemes": 100
57
67
},
58
68
"maxLength": 20,
59
69
"description": "Intended audiences for this presentation, open text (e.g. 'Engineering leaders', 'Beginners')."
60
70
}
61
71
}
62
72
},
63
73
"description": "Record representing a single reusable presentation (the content), distinct from the occasions on which it is delivered."
64
74
},
65
75
"duration": {
66
76
"type": "object",
67
77
"required": [
68
78
"minMinutes"
69
79
],
70
80
"properties": {
71
81
"maxMinutes": {
72
82
"type": "integer",
73
83
"minimum": 1,
74
84
"description": "Upper bound in minutes when the length is offered as a range. Omit for a fixed length."
75
85
},
76
86
"minMinutes": {
77
87
"type": "integer",
78
88
"minimum": 1,
79
89
"description": "Length in minutes, or the lower bound when the length is offered as a range."
80
90
}
81
91
},
82
92
"description": "A presentation length in minutes: a fixed value (minMinutes only) or a range (minMinutes to maxMinutes)."
83
93
}
84
94
},
85
95
"$type": "com.atproto.lexicon.schema",
86
96
"lexicon": 1,
87
97
"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."
88
98
}