Skip to content

Commit

Permalink
Add new schematic parameters data_model_labels, annotation_keys, and …
Browse files Browse the repository at this point in the history
…table_column_names to README (#159)

Signed-off-by: Anthony Williams <[email protected]>
  • Loading branch information
afwillia authored Mar 5, 2024
1 parent 8407f56 commit 0063485
Showing 1 changed file with 34 additions and 32 deletions.
66 changes: 34 additions & 32 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,57 +1,59 @@
# Project configurations for the [Data Curator App](github.com/sage-Bionetworks/data_curator)

The file [tenants.json](tenants.json) controls which DCCs appear in DCA. It contains a json object `tenants` which holds one json object per DCC. Each DCC object requires:\
The file [tenants.json](tenants.json) controls which DCCs appear in DCA. It contains a json object `tenants` which holds one json object per DCC. Each DCC object requires:

- `name`: The name of the DCC to appear in the DCA selection menu\
- `synapse_asset_view`: The synapse ID of the DCCs fileview for DCA. Must include "syn"\
- `config_location`: Filepath to the DCC's DCA config file. More details below.\
- `name`: The name of the DCC to appear in the DCA selection menu
- `synapse_asset_view`: The synapse ID of the DCCs fileview for DCA. Must include "syn"
- `config_location`: Filepath to the DCC's DCA config file. More details below.

Each DCC will have its own directory to store configuration files. At minimum it will have [dca_config.json](demo/dca_config.json). This file can be validated against [schemas/dca_config.schema.json](schemas/dca_config.schema.json). At the top level it contains three json objects, `dcc`, `dca`, and `schematic`.\
Each DCC will have its own directory to store configuration files. At minimum it will have [dca_config.json](demo/dca_config.json). This file can be validated against [schemas/dca_config.schema.json](schemas/dca_config.schema.json). At the top level it contains three json objects, `dcc`, `dca`, and `schematic`.

`dcc` contains various configurations about your DCC and data model:\
`dcc` contains various configurations about your DCC and data model:

- `name` - name of DCC in dropdown menu
- `synapse_asset_view` - synapse ID of asset view.
- `data_model_url` - data model URL (**RAW** github file).
- `data_model_info` - URL to a description of the data model, such as release notes.
- `template_menu_config_file` - URL to DCA template dropdown file.
- `logo_location` - URL to logo file.
- `logo_link` - link to DCC website.
- `dcc_help_link` - link for users to find help about DCA.
- `portal_help_link` - link for users to find help about their portal.
- `name`: name of DCC in dropdown menu
- `synapse_asset_view`: synapse ID of asset view.
- `data_model_url`: data model URL (**RAW** github file).
- `data_model_info`: URL to a description of the data model, such as release notes.
- `template_menu_config_file`: URL to DCA template dropdown file.
- `logo_location`: URL to logo file.
- `logo_link`: link to DCC website.
- `dcc_help_link`: link for users to find help about DCA.
- `portal_help_link`: link for users to find help about their portal.

`dca` contains DCA-specific customizations:\
`dca` contains DCA-specific customizations:

- `use_compliance_dashboard` - `TRUE` or `FALSE`. Only FALSE currently supported. Data compliance dashboard.
- `primary_col` - center header color hex code.
- `secondary_col` - right header color hex code.
- `sidebar_col` - left header color hex code.
- `use_compliance_dashboard`: `TRUE` or `FALSE`. Only FALSE currently supported. Data compliance dashboard.
- `primary_col`: center header color hex code.
- `secondary_col`: right header color hex code.
- `sidebar_col`: left header color hex code.

`schematic` contains several objects for passing parameters to schematic commands:\
`schematic` contains several objects for passing parameters to schematic commands:

- `global`

- `data_model_labels`: `class_label` or `display_label` [Schema labelling option](https://sagebionetworks.jira.com/wiki/spaces/SCHEM/pages/3089498257/How+to+Define+Display+Name+Labeling)

- `manifest_generate`

- `output_format`-`excel`or`google_sheets\`. [Schemtic manifest get ption](https://sage-schematic.readthedocs.io/en/develop/cli_reference.html#schematic-manifest-get).
- `use_annotations` - `TRUE` or `FALSE`. [Schemtic manifest get option](https://sage-schematic.readthedocs.io/en/develop/cli_reference.html#schematic-manifest-get).
- `output_format`: `excel`or`google_sheets`. [Schemtic manifest get option](https://sage-schematic.readthedocs.io/en/develop/cli_reference.html#schematic-manifest-get).
- `use_annotations`: `TRUE` or `FALSE`. [Schemtic manifest get option](https://sage-schematic.readthedocs.io/en/develop/cli_reference.html#schematic-manifest-get).

- `model_validate`

- `restrict_rules` - `TRUE` or `FALSE`. [Schematic model validate and submit option](https://sage-schematic.readthedocs.io/en/develop/cli_reference.html#schematic-model-validate).
- `restrict_rules`: `TRUE` or `FALSE`. [Schematic model validate and submit option](https://sage-schematic.readthedocs.io/en/develop/cli_reference.html#schematic-model-validate).

- `model_submit`

- `use_schema_labels` - `TRUE` or `FALSE`. [Schematic model submit option](https://sage-schematic.readthedocs.io/en/develop/cli_reference.html#schematic-model-submit).
- `table_manipulation` - `replace` or `upsert`. [Schematic model submit option](https://sage-schematic.readthedocs.io/en/develop/cli_reference.html#schematic-model-submit).
- `manifest_record_type` - One of `table_and_file`, `file_only` , `file_and_entities` or `table_file_and_entities`. [Schematic model submit option](https://sage-schematic.readthedocs.io/en/develop/cli_reference.html#schematic-model-submit).
- `hide_blanks` - `TRUE` or `FALSE`. [Schematic model submit option](https://sage-schematic.readthedocs.io/en/develop/cli_reference.html#schematic-model-submit).
- `table_column_names`: `class_label`, `display_label`, or `display_name` [Schema labelling option](https://sagebionetworks.jira.com/wiki/spaces/SCHEM/pages/3089498257/How+to+Define+Display+Name+Labeling)
- `annotation_keys`: `class_label` or `display_label` [Schema labelling option](https://sagebionetworks.jira.com/wiki/spaces/SCHEM/pages/3089498257/How+to+Define+Display+Name+Labeling)
- `table_manipulation`: `replace` or `upsert`. [Schematic model submit option](https://sage-schematic.readthedocs.io/en/develop/cli_reference.html#schematic-model-submit).
- `manifest_record_type`: One of `table_and_file`, `file_only` , `file_and_entities` or `table_file_and_entities`. [Schematic model submit option](https://sage-schematic.readthedocs.io/en/develop/cli_reference.html#schematic-model-submit).
- `hide_blanks`: `TRUE` or `FALSE`. [Schematic model submit option](https://sage-schematic.readthedocs.io/en/develop/cli_reference.html#schematic-model-submit).

Each DCC also needs a template configuration file. This controls which data types are accessible to users and if they contain record-based or file-based data. It can be generated by hand or automatically from a data model using the [dca-template-config-action github action](https://github.com/Sage-Bionetworks/dca-template-config-action). See an [example workflow in a data model repo](https://github.com/Sage-Bionetworks/data-models/blob/main/.github/workflows/create-template-config.yml). This json file can be validated against [schemas/dca_template_config.schema.json](schemas/dca_template_config.schema.json). The top level of the file needs a json array of objects named `manifest_schemas`. Each object in the array requires:
Each DCC also needs a template configuration file. This controls which data types are accessible to users and if they contain record-based or file-based data. It can be generated by hand or automatically from a data model using the [dca-template-config-action github action](https://github.com/Sage-Bionetworks/dca-template-config-action). See an [example workflow in a data model repo](https://github.com/Sage-Bionetworks/data-models/blob/main/.github/workflows/create-template-config.yml). This json file can be validated against [schemas/dca_template_config.schema.json](schemas/dca_template_config.schema.json). The top level of the file needs a json array of objects named `manifest_schemas`. Each object in the array requires the strings:

- `display_name`: Display name of the data type
- `schema_name`: Name of the schema
- `type`: record or file
- `project_scope`: Array of Synapse IDs for cross manifest validation. Optional.

Project scope is only needed for data types that use cross manifest validation. In most cases it can be ommitted.

See our [example dca_template_config.json](https://github.com/Sage-Bionetworks/data-models/blob/main/dca-template-config.json)

0 comments on commit 0063485

Please sign in to comment.