id.sifa.profile.volunteering
Schema Diff
+7 -4
Compatibility Analysis
Backward Compatible
Backward compatible. 4 non-breaking changes.
Non-Breaking Changes (4)
- AddedVertex AddedVertex { vertex_id: "id.sifa.profile.volunteering:body.entityRef" }
- AddedEdge AddedEdge { src: "id.sifa.profile.volunteering:body", tgt: "id.sifa.profile.volunteering:body.entityRef", kind: "prop", name: Some("entityRef") }
- ConstraintRemoved ConstraintRemoved { vertex_id: "id.sifa.profile.volunteering:body.endedAt", sort: "format" }
- ConstraintRemoved ConstraintRemoved { vertex_id: "id.sifa.profile.volunteering:body.startedAt", sort: "format" }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "id.sifa.profile.volunteering:body.entityRef" }
Constraint Changes
- ConstraintRemoved ConstraintRemoved { vertex_id: "id.sifa.profile.volunteering:body.startedAt", sort: "format" }
- ConstraintRemoved ConstraintRemoved { vertex_id: "id.sifa.profile.volunteering:body.endedAt", sort: "format" }
Additional Notes
- Non-breaking: AddedEdge { src: "id.sifa.profile.volunteering:body", tgt: "id.sifa.profile.volunteering:body.entityRef", kind: "prop", name: Some("entityRef") }
1
1
{
2
2
"id": "id.sifa.profile.volunteering",
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
"organization",
11
11
"createdAt"
12
12
],
13
13
"properties": {
14
14
"role": {
15
15
"type": "string",
16
16
"maxLength": 2560,
17
17
"description": "Volunteer role or title.",
18
18
"maxGraphemes": 256
19
19
},
20
20
"cause": {
21
21
"type": "string",
22
22
"maxLength": 2560,
23
23
"description": "Cause area (e.g., 'Education', 'Environment', 'Health').",
24
24
"maxGraphemes": 256
25
25
},
26
26
"endedAt": {
27
27
"type": "string",
28
-
"format": "datetime",
29
-
"description": "End date. Omit if currently volunteering."
28
+
"description": "End date in YYYY-MM or YYYY-MM-DD format. Omit if currently volunteering."
30
29
},
31
30
"createdAt": {
32
31
"type": "string",
33
32
"format": "datetime",
34
33
"description": "Client-declared timestamp when this record was originally created."
35
34
},
35
+
"entityRef": {
36
+
"type": "string",
37
+
"format": "uri",
38
+
"description": "Portable, app-neutral identifier for the organization the user selected from a resolver dropdown: a Wikidata Q-ID URI (http://www.wikidata.org/entity/Q...), a ROR URI, or an LEI URI. Enables deterministic resolution to a canonical entity even before the organization claims an ATproto account. Absent for free-text entries."
39
+
},
36
40
"startedAt": {
37
41
"type": "string",
38
-
"format": "datetime",
39
-
"description": "Start date of the volunteer role."
42
+
"description": "Start date of the volunteer role in YYYY-MM or YYYY-MM-DD format."
40
43
},
41
44
"description": {
42
45
"type": "string",
43
46
"maxLength": 50000,
44
47
"description": "Description of volunteer activities and impact.",
45
48
"maxGraphemes": 5000
46
49
},
47
50
"organization": {
48
51
"type": "string",
49
52
"maxLength": 2560,
50
53
"minLength": 1,
51
54
"description": "Organization name.",
52
55
"maxGraphemes": 256
53
56
},
54
57
"organizationDid": {
55
58
"type": "string",
56
59
"format": "did",
57
60
"description": "DID of the organization's ATproto account, if one exists."
58
61
}
59
62
}
60
63
},
61
64
"description": "Record representing a single volunteer role."
62
65
}
63
66
},
64
67
"$type": "com.atproto.lexicon.schema",
65
68
"lexicon": 1,
66
69
"description": "A volunteer experience entry in the user's professional profile."
67
70
}