Skip to content

Commit 3a62f51

Browse files
rename Conductor > Quickstart (#415)
1 parent ecc7de1 commit 3a62f51

File tree

11 files changed

+205
-314
lines changed

11 files changed

+205
-314
lines changed

markdown/documentation/guides/administration/indexmapping.md

Lines changed: 26 additions & 42 deletions
Large diffs are not rendered by default.

markdown/documentation/guides/administration/introduction.md

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,24 +2,21 @@
22
title: Administration Guides
33
---
44

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.
66

77
**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/).
88

99
<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>
1010

1111
**Overview:** This guide covers basic administration tasks associated with setting up and maintaining an Overture platform. Topics covered include:
1212

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
1414

15+
- **[Index Mappings](/documentation/guides/administration/indexmapping/):** Understand what Index mappings are and how to configure them
1516

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
1718

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-
<Note title="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+
<Note title="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>
2320

2421
# Getting Started
2522

@@ -30,7 +27,7 @@ If you do not have an Overture platform deployed, you can use our docker compose
3027
**1. Clone the Quickstart repository**
3128

3229
```bash
33-
git clone https://github.com/overture-stack/conductor.git
30+
git clone -b quickstart https://github.com/overture-stack/prelude.git
3431
```
3532

3633
**2. Launch the platform by running the appropriate command for your operating system:**

markdown/documentation/guides/administration/modelling.md

Lines changed: 24 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
---
22
title: Configuring your data model
33
---
4+
45
# Schema Validation and Submission
56

67
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
3839
There are many different type values available in JSON schema, here is a list of commonly used in JSON type values definitions:
3940

4041
- `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`
4243
- `integer` Integer values (`16`, `0`, `-20`)
43-
- `boolean` Boolean values (`true` or `false`)
44+
- `boolean` Boolean values (`true` or `false`)
4445
- `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
4849

4950
**JSON Schema can also include various additional constraints:**
5051

@@ -64,7 +65,7 @@ There are many different type values available in JSON schema, here is a list of
6465
"required": ["field1", "field2"]
6566
```
6667

67-
**Array Constraints:** Allows setting minimum (minItems) and maximum (maxItems) array lengths
68+
**Array Constraints:** Allows setting minimum (minItems) and maximum (maxItems) array lengths
6869

6970
```JSON
7071
"field3": {
@@ -103,7 +104,7 @@ In the context of Song here is a basic schema, it requires at a minimum, an `ana
103104
}
104105
}
105106
}
106-
```
107+
```
107108

108109
<details>
109110

@@ -121,37 +122,32 @@ In the context of Song here is a basic schema, it requires at a minimum, an `ana
121122

122123
- `properties` are the fields that the schema expects. In this example, the schema expects an `experiment` field.
123124

124-
125125
---
126126

127127
</details>
128128
<br></br>
129129

130130
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:
131131

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"
140139
}
141140
```
142141

143142
- In this example, the schema named `basicSchemaExample` is used to validate the data submission
144143

145-
146144
- 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
147145

148-
149146
- 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
150147

151-
152148
## Detailed Examples
153149

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.
155151

156152
**Required Fields**
157153

@@ -165,7 +161,7 @@ Here, our Schema dictates that `"donor"`, `"specimen"`, `"workflow"`, and `"expe
165161
"required": ["donor", "specimen", "workflow", "experiment"],
166162
"properties": { ...
167163
```
168-
164+
169165
**Enum, Types, and Patterns**
170166

171167
Within `workflow`, we can see the use of `propertyNames`, `enum`, `required fields`, `types` and `regex patterns`
@@ -194,29 +190,25 @@ Within `workflow`, we can see the use of `propertyNames`, `enum`, `required fiel
194190
"enum": ["GRCh37", "GRCh38_hla_decoy_ebv", "GRCh38_Verily_v1"]
195191
},
196192
```
193+
197194
<details>
198195

199196
<summary><b>Click here for a detailed breakdown</b></summary>
200197

201198
<br></br>
202199

203-
204200
- `workflow` Defines an object containing properties related to workflow.
205201

206-
207202
- `propertyNames` Limits the allowed property names within workflow to those listed
208203

209-
210204
- `required` specifies that `workflowName`, `genomeBuild`, and `inputs` must be present within the workflow object
211205

212-
213206
- `type` indicates that workflow is an object type and therefore contains nested key value pairs
214207

215-
216208
- `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.
217209

218-
219210
- `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+
220212
---
221213

222214
</details>
@@ -266,7 +258,6 @@ The JSON Schema below is a simplified workflow property made to show to usage of
266258

267259
- `"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`).
268260

269-
270261
- `"maxItems": 2` You can include up to two complete sets of inputs in a single submission.
271262

272263
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
298289
},
299290
```
300291

301-
302292
<details>
303293

304294
<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
307297

308298
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`.
309299

310-
311300
- If `vitalStatus` is `"Deceased"`, then the submission must include `causeOfDeath` and `survivalTime`.
312301

313-
314302
- If `vitalStatus` is `"Alive"`, then there are no additional requirements needed.
315303

316-
317304
- `const` is a validation keyword that specifies that a property's value must exactly match for the submission to be considered valid
318305

319306
---
@@ -338,7 +325,6 @@ Null values can provide flexibility by allowing a property to be explicitly null
338325
]
339326
```
340327

341-
342328
<details>
343329

344330
<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
378364

379365
<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).
380366
</Note>
381-
382367

383368
# Updating the Schema
384369

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.
386371

387372
## Using the Swagger UI
388373

@@ -394,18 +379,17 @@ To update the schema using the Swagger UI:
394379

395380
![Entity](./assets/swagger_register_schema.png 'register new schema')
396381

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.
398383

399384
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`
400385

401386
- **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`.
402387

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**.
405389

406390
![Accessing an API Key](../submission/assets/apikeys.png 'Accessing an API Key')
407391

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.
409393

410394
<Note title="Verifying Schemas">
411395
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>
@@ -429,4 +413,4 @@ curl -X POST "https://localhost:8080/schemas" -H "accept: */*" -H "Authorization
429413

430414
`-d '{ ... }'` is the data to be sent with the POST request. This is the JSON payload defining the schema.
431415

432-
<Note title="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+
<Note title="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

Comments
 (0)