You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: markdown/documentation/guides/administration/introduction.md
+6-9Lines changed: 6 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,24 +2,21 @@
2
2
title: Administration Guides
3
3
---
4
4
5
-
**These guides are for** anyone seeking information on configuring and using Overture as their platforms's foundation. We will walk you through the essential information for configuring it.
5
+
**These guides are for** anyone seeking information on configuring and using Overture as their platforms's foundation. We will walk you through the essential information for configuring it.
6
6
7
7
**You will need** Docker, we recommend using Docker Desktop version `4.32.0` or higher. If you already have Docker installed, please ensure it's up to date. For more information see, [Dockers website here](https://www.docker.com/products/docker-desktop/).
8
8
9
9
<Warning>**Note:** Ensure enough resources get allocated to Docker. We recommend a minimum CPU limit of `8`, memory limit of `8 GB`, swap of `2 GB`, and virtual disk limit of `64 GB`. You can access these settings by selecting the **cog wheel** found on the top right of the Docker desktop app and selecting **resources** from the left panel. **If you already have docker desktop installed be ensure you are on version 4.32.0 or higher**.</Warning>
10
10
11
11
**Overview:** This guide covers basic administration tasks associated with setting up and maintaining an Overture platform. Topics covered include:
12
12
13
-
-**[Updating the Data Model](/documentation/guides/administration/modelling/):** Learn how to update your data model to reflect your data requirements
13
+
-**[Updating the Data Model](/documentation/guides/administration/modelling/):** Learn how to update your data model to reflect your data requirements
14
14
15
+
-**[Index Mappings](/documentation/guides/administration/indexmapping/):** Understand what Index mappings are and how to configure them
15
16
16
-
-**[Index Mappings](/documentation/guides/administration/indexmapping/):**Understand what Index mappings are and how to configure them
17
+
-**[Search Portal Customization](/documentation/guides/administration/portalcustomization/):**Learn how to customize how data is displayed in your front-end data facets and table components
17
18
18
-
19
-
-**[Search Portal Customization](/documentation/guides/administration/portalcustomization/):** Learn how to customize how data is displayed in your front-end data facets and table components
20
-
21
-
22
-
<Notetitle="Help us make our guides better">If you can't find what you're looking for please reach out to us on our Slack channel linked on the top right of your screen or by email at [email protected]</Note>
19
+
<Notetitle="Help us make our guides better">If you can't find what you're looking for please reach out to us on our Slack channel linked on the top right of your screen or by email at [email protected]</Note>
23
20
24
21
# Getting Started
25
22
@@ -30,7 +27,7 @@ If you do not have an Overture platform deployed, you can use our docker compose
Copy file name to clipboardExpand all lines: markdown/documentation/guides/administration/modelling.md
+24-40Lines changed: 24 additions & 40 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,7 @@
1
1
---
2
2
title: Configuring your data model
3
3
---
4
+
4
5
# Schema Validation and Submission
5
6
6
7
Data administrators can configure custom data submission validations for Song by creating and submitting Song schemas. These schemas act as blueprints for validating submissions, ensuring that every piece of data adheres to the requirements specified by the administrators. This validation process guarantees that all essential fields are included and that the data within these fields conforms to the designated data types or permitted value sets.
@@ -38,13 +39,13 @@ The following schema defines any data submission using the `analysisType` of `ex
38
39
There are many different type values available in JSON schema, here is a list of commonly used in JSON type values definitions:
39
40
40
41
-`string` Textual data e.g., "a word"
41
-
-`number` Numeric data (integer or float), e.g. `-5`, `10`, `-5.8`, `10.2`
42
+
-`number` Numeric data (integer or float), e.g. `-5`, `10`, `-5.8`, `10.2`
42
43
-`integer` Integer values (`16`, `0`, `-20`)
43
-
-`boolean` Boolean values (`true` or `false`)
44
+
-`boolean` Boolean values (`true` or `false`)
44
45
-`object` Key-value pairs where keys are strings and values can be any type
45
-
-`array` Ordered lists of items, which can contain any data type
46
-
-`enum`A fixed set of values.
47
-
-`null`Represents a null value
46
+
-`array` Ordered lists of items, which can contain any data type
47
+
-`enum` A fixed set of values.
48
+
-`null` Represents a null value
48
49
49
50
**JSON Schema can also include various additional constraints:**
50
51
@@ -64,7 +65,7 @@ There are many different type values available in JSON schema, here is a list of
64
65
"required": ["field1", "field2"]
65
66
```
66
67
67
-
**Array Constraints:**Allows setting minimum (minItems) and maximum (maxItems) array lengths
68
+
**Array Constraints:** Allows setting minimum (minItems) and maximum (maxItems) array lengths
68
69
69
70
```JSON
70
71
"field3": {
@@ -103,7 +104,7 @@ In the context of Song here is a basic schema, it requires at a minimum, an `ana
103
104
}
104
105
}
105
106
}
106
-
```
107
+
```
107
108
108
109
<details>
109
110
@@ -121,37 +122,32 @@ In the context of Song here is a basic schema, it requires at a minimum, an `ana
121
122
122
123
-`properties` are the fields that the schema expects. In this example, the schema expects an `experiment` field.
123
124
124
-
125
125
---
126
126
127
127
</details>
128
128
<br></br>
129
129
130
130
The `analysisType` is defined in data submissions to Song. This field informs Song which data model the submission should be validated against. Below is an example of a mock data submission:
131
131
132
-
133
-
```JSON
134
-
{
135
-
"studyId": "MICR-CA",
136
-
"analysisType": {
137
-
"name": "basicSchemaExample"
138
-
},
139
-
"experiment": "myNewExperiment"
132
+
```JSON
133
+
{
134
+
"studyId": "MICR-CA",
135
+
"analysisType": {
136
+
"name": "basicSchemaExample"
137
+
},
138
+
"experiment": "myNewExperiment"
140
139
}
141
140
```
142
141
143
142
- In this example, the schema named `basicSchemaExample` is used to validate the data submission
144
143
145
-
146
144
- The `analysisType` field specifies that the submission should adhere to the `basicSchemaExample` model, ensuring that all required fields, such as `experiment`, are present and correctly formatted
147
145
148
-
149
146
- The field `studyId` comes from and is required by Songs base schema and is used to identify what group this collection of data belongs to
150
147
151
-
152
148
## Detailed Examples
153
149
154
-
Let's break down some more complex schema examples. We will pull from a reference schema that can be found [here](https://github.com/overture-stack/conductor/blob/develop/guideMaterials/dataAdministration/SONG-schema.json). In the following sections, we will provide snippets of this schema along with explainations of the structure, function, and any embedded logic.
150
+
Let's break down some more complex schema examples. We will pull from a reference schema that can be found [here](https://github.com/overture-stack/quickstart/blob/develop/guideMaterials/dataAdministration/SONG-schema.json). In the following sections, we will provide snippets of this schema along with explainations of the structure, function, and any embedded logic.
155
151
156
152
**Required Fields**
157
153
@@ -165,7 +161,7 @@ Here, our Schema dictates that `"donor"`, `"specimen"`, `"workflow"`, and `"expe
<summary><b>Click here for a detailed breakdown</b></summary>
200
197
201
198
<br></br>
202
199
203
-
204
200
- `workflow` Defines an object containing properties related to workflow.
205
201
206
-
207
202
- `propertyNames` Limits the allowed property names within workflow to those listed
208
203
209
-
210
204
- `required` specifies that `workflowName`, `genomeBuild`, and `inputs` must be present within the workflow object
211
205
212
-
213
206
- `type` indicates that workflow is an object type and therefore contains nested key value pairs
214
207
215
-
216
208
- `workflowName` Requires a string (`"type": "string"`) that matches the specified regex pattern (`"pattern": ^[a-zA-Z][a-zA-Z0-9 _\\-]+[a-zA-Z0-9]+$`). This ensures it starts with a letter, allows alphanumeric characters, spaces, underscores, and hyphens, and ends with alphanumeric characters.
217
209
218
-
219
210
- `genomeBuild` requires a string (`"type": "string"`) that can only be one of the specified values (`"enum": ["GRCh37", "GRCh38_hla_decoy_ebv", "GRCh38_Verily_v1"]`).
211
+
220
212
---
221
213
222
214
</details>
@@ -266,7 +258,6 @@ The JSON Schema below is a simplified workflow property made to show to usage of
266
258
267
259
- `"minItems": 1,` If you submit data according to this schema then you must include at least one complete set of inputs (A complete set consists of `analysisType`, `normalAnalysisId`, and `tumourAnalysisId`).
268
260
269
-
270
261
- `"maxItems": 2` You can include up to two complete sets of inputs in a single submission.
271
262
272
263
The `minItems` and `maxItems` constraints apply to the number of these sets (or arrays) within the inputs array, not to the individual fields within each set.
@@ -298,7 +289,6 @@ The Schema segment below demonstrates the usage of conditional if, and then logi
298
289
},
299
290
```
300
291
301
-
302
292
<details>
303
293
304
294
<summary><b>Click here for a detailed breakdown</b></summary>
@@ -307,13 +297,10 @@ The Schema segment below demonstrates the usage of conditional if, and then logi
307
297
308
298
This conditional schema structure allows for dynamic validation based on the value of `vitalStatus`, ensuring that `causeOfDeath` and `survivalTime` are only required when `vitalStatus` is `Deceased`.
309
299
310
-
311
300
- If `vitalStatus` is `"Deceased"`, then the submission must include `causeOfDeath` and `survivalTime`.
312
301
313
-
314
302
- If `vitalStatus` is `"Alive"`, then there are no additional requirements needed.
315
303
316
-
317
304
- `const` is a validation keyword that specifies that a property's value must exactly match for the submission to be considered valid
318
305
319
306
---
@@ -338,7 +325,6 @@ Null values can provide flexibility by allowing a property to be explicitly null
338
325
]
339
326
```
340
327
341
-
342
328
<details>
343
329
344
330
<summary><b>Click here for a detailed breakdown</b></summary>
@@ -378,11 +364,10 @@ Here, `"minimum": 0` ensures that `treatmentDuration` can only accept non-negati
378
364
379
365
<Note title="Want to learn more?">If you want to learn more about JSON schema take a look at the following [JSON Schema guide](https://json-schema.org/understanding-json-schema).
380
366
</Note>
381
-
382
367
383
368
# Updating the Schema
384
369
385
-
You can update Song schemas using the Song servers Swagger UI or using curl commands.
370
+
You can update Song schemas using the Song servers Swagger UI or using curl commands.
386
371
387
372
## Using the Swagger UI
388
373
@@ -394,18 +379,17 @@ To update the schema using the Swagger UI:
394
379
395
380

396
381
397
-
2. **Select *Try it out* and input your API key and Schema:** enter your authorization token in the authorization field (Bearer {API-Key}), and place your new schema inside the request field.
382
+
2. **Select _Try it out_ and input your API key and Schema:** enter your authorization token in the authorization field (Bearer {API-Key}), and place your new schema inside the request field.
398
383
399
384
API Keys are brokered by Keycloak and accessible when logged in to the Stage UI. For the Overture QuickStart, Stage can access from `localhost:3000`
400
385
401
386
- **Login through the Stage UI** by selecting login from the top right. Default credentials when using the Overture QuickStart will be username `admin` and password `admin123`.
402
387
403
-
404
-
- **Generate a new API token** by selecting **Profile and Token** from your user drop down found on the top right of the Stage UI, select **Generate New Token**.
388
+
- **Generate a new API token** by selecting **Profile and Token** from your user drop down found on the top right of the Stage UI, select **Generate New Token**.
405
389
406
390

407
391
408
-
3. **Select Execute:** expected responses as well as response codes and descriptions, are conviently documented within Swagger-UI.
392
+
3. **Select Execute:** expected responses as well as response codes and descriptions, are conviently documented within Swagger-UI.
409
393
410
394
<Note title="Verifying Schemas">
411
395
To verify your schema has successfully been added, you can use the `GET` **ListAnalysisTypes** endpoint found under the Schema dropdown. If updating a pre-existing schema, use the `GET` **GetAnalysisTypeVersion** endpoint.</Note>
`-d '{ ... }'` is the data to be sent with the POST request. This is the JSON payload defining the schema.
431
415
432
-
<Notetitle="Whats Next?">With your data model updated, we next need to ensure we configure an accurate index mapping to help enable our downstream search and portal UI components</Note>
416
+
<Notetitle="Whats Next?">With your data model updated, we next need to ensure we configure an accurate index mapping to help enable our downstream search and portal UI components</Note>
0 commit comments