-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathNOTES.txt
More file actions
313 lines (260 loc) · 8.38 KB
/
Copy pathNOTES.txt
File metadata and controls
313 lines (260 loc) · 8.38 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
Notes:
ui notes 20220415
add min width to license list.
labels add padding to get away from slot
padding between sections, list 2 and three to create visual hierachry.
separte content bewteen
tight 1,1,1
connect
downdown menu in function should be a plus button.
by default down.
software.
protocol nodata has an extra container
====
ECRR documents:
The examples are in:
assets/examples/(tools/dataset/org)
Base starter files will be in
* assets/basefiles/(tools...)
The jsonld schemas, and url are javacript code, so that are not in assets, but are in schema/
Controled Vocabualries
https://docs.google.com/spreadsheets/d/1ykxgdeDjBzcTc1y64CuyaS2PhDuUtLuO5AFUehwhxDs/edit#gid=0
submitted forms:
https://docs.google.com/spreadsheets/d/1rCtWCCy51PLlpFkcG9oOVQZnIB75RwMK9nZxbZIYXIU/edit#gid=694164158
Line 29 has the specications for each resource type
https://docs.google.com/spreadsheets/d/1jUmP9aC9M5nRvw8iiiLo94D_NfIvtlFFMgYItLmlSyI/edit#gid=172544203
resource description from regisry project:
This will help check that we have all the fields for a resource:
https://docs.google.com/spreadsheets/d/1W3GXxVuATqsqJVc8UGTWbLd3iXsgQNxCnnLxB77LnPc/edit#gid=631743946
Thoughts:
* could have two entry points:
1. a simple mostly single entry form
2. omplete add elements as array form.
Codebase:
https://jsonforms.io/
More specifically: The vuetify components:
https://jsonforms-vuetify-renderers.netlify.app/#/
Errors when Creating forms:
==
Initial data and modified schema need to match, or you may see an error about an object
* Is it an array? Some things are strings, but should be arrays
* just remove it.
Schema changes:
===
Error:
no schema with key or ref
Solution:
Remove the"$schema": "http://json-schema.org/draft-04/schema#"
===
Arrays;
zappping oneOf
"alternateName": {
"title": "alternate name for resource",
"description": "other names, abbreviations, languages, by which the resource might be known. If names are provided in a non-English language, please suffix a language identifier using the '@' delimiter and an ISO-639-1 two letter language code, e.g. Forme universelle binaire de l'OMM@fr. Separate entries with a pipe ('|') character",
"oneOf": [
{"type": "string"},
{
"type": "array",
"items": {"type": "string"}
}
]
},
becomes:
"alternateName": {
"title": "alternate name for resource",
"description": "other names, abbreviations, languages, by which the resource might be known. If names are provided in a non-English language, please suffix a language identifier using the '@' delimiter and an ISO-639-1 two letter language code, e.g. Forme universelle binaire de l'OMM@fr. Separate entries with a pipe ('|') character",
"type": "array",
"items": {"type": "string"}
},
====
DEFAULT VALUES
"identifier_type":
{
"type": "object",
"properties": {
"@type": {"type": "string", "const": "PropertyValue", "default": "PropertyValue"},
"value": {"type": "string"},
"propertyID": {"type": "string",
"enum": ["DATACITEURL", "PERLURL","DOIURL"],
"default":"DOIURL"},
"name": {"type": "string",
"enum": ["DATACITE", "DOI","OTHER"],
"default":"DOI"}
}
}
You can hide fields using options:details
{
"label": "Identifier",
"type": "Control",
"scope": "#/properties/@id",
"options": {
"showUnfocusedDescription": true,
"readonly": true,
"elementLabelProp": "value",
"detail" : {
"type": "HorizontalLayout",
"elements": [
{
"label": "Indentifier",
"type": "Control",
"scope": "#/properties/value"
},
{
"label": "Type",
"type": "Control",
"scope": "#/properties/propertyID"
},
{
"label": "PropertyName",
"type": "Control",
"scope": "#/properties/name"
}
]
}
}
},
====
FEILD NOT RENDERING:
"type":"string" is needed
FAILS
"@type": {
"enum": [
"Person",
"Organization"
],
"default":"Person"
},
WORKS
"@type": { "type": "string",
"enum": [
"Person",
"Organization"
],
"default":"Person"
},
FAILS:
"items": {
"enum": [
"CreativeWork",
"SoftwareApplication",
"Product"
]
}
WORKS:
"items": { "type": "string",
"enum": [
"CreativeWork",
"SoftwareApplication",
"Product"
]
}
JUST EXAMPLES:
"@type": {"type": "string", "const": "PropertyValue",},
==== Properties fill in when a value is added
If on the value is needed, and other fields are constants, then use a details to hide the other field
SCHEMA
"ecrro:ECRRO_0000600": {
"type": "object",
"description": "primary publication-- a text citation to one or more publications about the resource; separated by pipe ('|') characters",
"properties": {
"@type": {"type": "string", "const": "PropertyValue", "default":"PropertyValue"},
"propertyID": {"type": "string", "const": "ecrro:ECRRO_0000600", "default": "ecrro:ECRRO_0000600"},
"name": {
"type": "string",
"default": "primary publication"
},
"value": {"type": "string"}
}
},
BASIC UISCHEMA
{
"type": "Control",
"label": "1.1.1.1 Primary Publication",
"scope": "#/properties/ecrro:ECRRO_0000600",
"options": {
"showUnfocusedDescription": true
}
}
FINAL UISCHEMA:
{
"type": "ShowGroup",
"label": "Add Primary Publication",
"elements": [
{
"type": "Control",
"label": "1.1.1.1 Primary Publication",
"scope": "#/properties/ecrro:ECRRO_0000600",
"options": {
"showUnfocusedDescription": true,
"detail" : {
"type": "HorizontalLayout",
"elements": [
{
"label": "Value",
"type": "Control",
"scope": "#/properties/value"
},
]
}
}
}
]
},
This will appear in the JSONLD
"ecrro:ECRRO_0000600":
{
"value":
"ddd",
"@type":
"PropertyValue",
"propertyID":
"ecrro:ECRRO_0000600",
"name":
"primary publication"
}
====
List of "OBJECTS":
use oneOf:
"license": {
"title": "legal statement of conditions for use and access",
"type": "array",
"uniqueItems": true,
"items": {
"oneOf": [
{
"title": "License 1",
"const": {
"@type": "CreativeWork"
,
"name": "License 1",
"url": "use if CreativeWork or URL; if use url, the value is a string"
}
},
{
"title": "License 2",
"const": {
"@type": "CreativeWork",
"name": "License 2",
"url": "use if CreativeWork or URL; if use url, the value is a string"
}
}
]
}
},
## FLATTENING #######
We will use code to save an retrieve to 'flatten/unflatten' the additional properties field.
will keep a log in flatten.txt
use this to flatten/unflatten fields
using additionalProperties with an achor reference or a one of reference does not work.
1) additional properties is not rendering defaults.
They clobber each other since they are in a anyOf
notes for:
ecrro:ECRRO_0000600
//#/definitions/additionalProperty_type/anyOf/3/type
//#/definitions/additionalProperty_type/anyOf/3/properties/propertyID/const
//#/definitions/additionalProperty_type/anyOf/5/$anchor
// "scope": "#/properties/additionalProperty/items/#ECRRO_0000600",
//#/properties/additionalProperty/items/$ref
// "scope": "#/properties/additionalProperty/items/anyOf/5/", // works
// "scope": "https://example.com/schemas/properties/additionalProperty/items/anyOf/#ECRRO0000600", //fails
"scope": "#/properties/ecrro:ECRRO_0000600",