From 50ab1a450dc10217c68ac6831fbf51625b2a6b5b Mon Sep 17 00:00:00 2001 From: ata Date: Wed, 21 Sep 2022 10:10:27 +0200 Subject: [PATCH 01/15] yarn is not normally part of built modules in any OS and needs installation, so should be added as dependency --- quickstart.md | 1 + 1 file changed, 1 insertion(+) diff --git a/quickstart.md b/quickstart.md index 1caa54c8..2393ef5e 100644 --- a/quickstart.md +++ b/quickstart.md @@ -12,6 +12,7 @@ If you want to know more about Zendro or a detailed explanation on how to set up * [NodeJS](https://nodejs.org/en/) version 14+ is required. * [docker](https://docs.docker.com/get-docker/) * [docker-compose](https://docs.docker.com/compose/install/#install-compose) + * [yarn](https://www.npmjs.com/package/yarn)

* * * From 6c51c519674707200f091c7c049a8fd4ca5edd80 Mon Sep 17 00:00:00 2001 From: ata Date: Wed, 21 Sep 2022 13:45:46 +0200 Subject: [PATCH 02/15] hyperlink for googles's material design --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0d30a10b..facfb139 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ # Zendro -Zendro is a software tool to quickly create a data warehouse tailored to your specifications. You tell Zendro what the structure of your data is, in the form of models, and where the data is or shall be stored. Zendro will then automatically create two standardized interfaces for your data models. Both interfaces provide access to the standard CRUD, create, read, update, and delete functions, available for each of the defined data models. One of the two interfaces is an intuitive graphical browser based single page application implemented in Google's standard material design. The other is an exhaustive application programming interface built with Facebook's efficient GraphQL framework, enabling a connection to your data warehouse from any programming language or data analysis pipeline with utmost ease, simply by sending HTTP requests to your GraphQL server. Data can be distributed over several databases and servers without losing the relationships between your data records, even if they are not stored in the same place. +Zendro is a software tool to quickly create a data warehouse tailored to your specifications. You tell Zendro what the structure of your data is, in the form of models, and where the data is or shall be stored. Zendro will then automatically create two standardized interfaces for your data models. Both interfaces provide access to the standard CRUD, create, read, update, and delete functions, available for each of the defined data models. One of the two interfaces is an intuitive graphical browser based single page application (SPA) implemented in Google's standard [material design](https://material.io/). The other is an exhaustive application programming interface (API) built with Facebook's efficient GraphQL framework, enabling a connection to your data warehouse from any programming language or data analysis pipeline with utmost ease, simply by sending HTTP requests to your GraphQL server. Data can be distributed over several databases and servers without losing the relationships between your data records, even if they are not stored in the same place. Zendro consists of two main components, backend and frontend. The backend component has its [base project](https://github.com/ScienceDb/graphql-server) and a [code generator](https://github.com/ScienceDb/graphql-server-model-codegen). The frontend of SPA (Single Page Application) also has its [base project](https://github.com/ScienceDb/single-page-app) and a [code generator](https://github.com/ScienceDb/single-page-app-codegen). See the guides below on how to use Zendro. From 1935c1bc10212896ac07b2fbea07a192e807a308 Mon Sep 17 00:00:00 2001 From: ata Date: Wed, 21 Sep 2022 13:58:24 +0200 Subject: [PATCH 03/15] line 11 moved to continue on line 8 and text on line 9 reformulated --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index facfb139..e1dddf60 100644 --- a/README.md +++ b/README.md @@ -5,10 +5,10 @@ Zendro is a software tool to quickly create a data warehouse tailored to your specifications. You tell Zendro what the structure of your data is, in the form of models, and where the data is or shall be stored. Zendro will then automatically create two standardized interfaces for your data models. Both interfaces provide access to the standard CRUD, create, read, update, and delete functions, available for each of the defined data models. One of the two interfaces is an intuitive graphical browser based single page application (SPA) implemented in Google's standard [material design](https://material.io/). The other is an exhaustive application programming interface (API) built with Facebook's efficient GraphQL framework, enabling a connection to your data warehouse from any programming language or data analysis pipeline with utmost ease, simply by sending HTTP requests to your GraphQL server. Data can be distributed over several databases and servers without losing the relationships between your data records, even if they are not stored in the same place. -Zendro consists of two main components, backend and frontend. The backend component has its [base project](https://github.com/ScienceDb/graphql-server) and a [code generator](https://github.com/ScienceDb/graphql-server-model-codegen). The frontend of SPA (Single Page Application) also has its [base project](https://github.com/ScienceDb/single-page-app) and a [code generator](https://github.com/ScienceDb/single-page-app-codegen). -See the guides below on how to use Zendro. +Zendro consists of two main components, backend and frontend. The backend component has its [base project](https://github.com/ScienceDb/graphql-server) and a [code generator](https://github.com/ScienceDb/graphql-server-model-codegen). The frontend component (SPA) also has its [base project](https://github.com/ScienceDb/single-page-app) and a [code generator](https://github.com/ScienceDb/single-page-app-codegen). All of the component repositories mentioned here are also pinned under find Zendro-dev on [github](https://github.com/Zendro-dev). +The following instructions will show you how to use Zendro. + -Also find Zendro-dev on [github](https://github.com/Zendro-dev). If you have any questions or comments, please don't hesitate to contact us via an issue [here](https://github.com/Zendro-dev/Zendro-dev.github.io/issues). Tag your issue as a question and we will try to answer as quick as possible. From ce9be219e9b23feb1389cebccbd1b1644f838dc8 Mon Sep 17 00:00:00 2001 From: ata Date: Wed, 21 Sep 2022 14:00:32 +0200 Subject: [PATCH 04/15] line 13 moved under how to guides --- README.md | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index e1dddf60..55e73fac 100644 --- a/README.md +++ b/README.md @@ -8,10 +8,6 @@ Zendro is a software tool to quickly create a data warehouse tailored to your sp Zendro consists of two main components, backend and frontend. The backend component has its [base project](https://github.com/ScienceDb/graphql-server) and a [code generator](https://github.com/ScienceDb/graphql-server-model-codegen). The frontend component (SPA) also has its [base project](https://github.com/ScienceDb/single-page-app) and a [code generator](https://github.com/ScienceDb/single-page-app-codegen). All of the component repositories mentioned here are also pinned under find Zendro-dev on [github](https://github.com/Zendro-dev). The following instructions will show you how to use Zendro. - - -If you have any questions or comments, please don't hesitate to contact us via an issue [here](https://github.com/Zendro-dev/Zendro-dev.github.io/issues). Tag your issue as a question and we will try to answer as quick as possible. - [

](quickstart.md) [

](setup_root.md) @@ -25,6 +21,8 @@ If you have any questions or comments, please don't hesitate to contact us via a * [How to setup Authentication / Authorization](oauth.md). A concise guide on how to use and setup the Zendro authorization / authentication services. * [API documentation](api_root.md). +If you have any questions or comments, please don't hesitate to contact us via an issue [here](https://github.com/Zendro-dev/Zendro-dev.github.io/issues). Tag your issue as a question and we will try to answer as quick as possible. + ### REPOSITORIES: * [GraphQL server](https://github.com/ScienceDb/graphql-server) From 14aba58cc37df67e06bd8db3dc6028b24d6a06ce Mon Sep 17 00:00:00 2001 From: ata Date: Wed, 21 Sep 2022 14:06:06 +0200 Subject: [PATCH 05/15] line 8 hyperlink changed from being on github to Zednro-dev --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 55e73fac..f68e63f5 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ Zendro is a software tool to quickly create a data warehouse tailored to your specifications. You tell Zendro what the structure of your data is, in the form of models, and where the data is or shall be stored. Zendro will then automatically create two standardized interfaces for your data models. Both interfaces provide access to the standard CRUD, create, read, update, and delete functions, available for each of the defined data models. One of the two interfaces is an intuitive graphical browser based single page application (SPA) implemented in Google's standard [material design](https://material.io/). The other is an exhaustive application programming interface (API) built with Facebook's efficient GraphQL framework, enabling a connection to your data warehouse from any programming language or data analysis pipeline with utmost ease, simply by sending HTTP requests to your GraphQL server. Data can be distributed over several databases and servers without losing the relationships between your data records, even if they are not stored in the same place. -Zendro consists of two main components, backend and frontend. The backend component has its [base project](https://github.com/ScienceDb/graphql-server) and a [code generator](https://github.com/ScienceDb/graphql-server-model-codegen). The frontend component (SPA) also has its [base project](https://github.com/ScienceDb/single-page-app) and a [code generator](https://github.com/ScienceDb/single-page-app-codegen). All of the component repositories mentioned here are also pinned under find Zendro-dev on [github](https://github.com/Zendro-dev). +Zendro consists of two main components, backend and frontend. The backend component has its [base project](https://github.com/ScienceDb/graphql-server) and a [code generator](https://github.com/ScienceDb/graphql-server-model-codegen). The frontend component (SPA) also has its [base project](https://github.com/ScienceDb/single-page-app) and a [code generator](https://github.com/ScienceDb/single-page-app-codegen). All of the component repositories mentioned here are also pinned under find [Zendro-dev](https://github.com/Zendro-dev). The following instructions will show you how to use Zendro. [

](quickstart.md) From 6c45be03b9d851695dc019b99d229058d915d920 Mon Sep 17 00:00:00 2001 From: ata Date: Wed, 21 Sep 2022 14:08:48 +0200 Subject: [PATCH 06/15] line 20, under how to guides, changed from 'How to query and extract data' to 'How to query and extract data using R' --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f68e63f5..490a430d 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ The following instructions will show you how to use Zendro. * [How to define data models: for non-developers](non-developer_documentation.md). A brief, illustrated guide of data model specifications, data formatting and data uploading options, aimed at data modelers or managers to facilitate collaboration with developers. * [How to setup a distributed cloud of zendro nodes](ddm.md). A brief guide, aimed at software developers and system administrators, on how to use Zendros distributed-data-models. * [How to use Zendro command line interface (CLI)](zendro_cli.md). A tutorial of Zendro CLI, aimed at software developers. -* [How to query and extract data](fromGraphQlToR.html). A concise guide on how to use the Zendro API from R to extract data and perform queries, aimed at data managers or data scientists. +* [How to query and extract data using R](fromGraphQlToR.html). A concise guide on how to use the Zendro API from R to extract data and perform queries, aimed at data managers or data scientists. * [How to setup Authentication / Authorization](oauth.md). A concise guide on how to use and setup the Zendro authorization / authentication services. * [API documentation](api_root.md). From 107d8927e40398d50d0504079572ba0e8ce09d0e Mon Sep 17 00:00:00 2001 From: ata Date: Wed, 21 Sep 2022 14:11:40 +0200 Subject: [PATCH 07/15] under author affiliations auticon should start with a capital letter --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 490a430d..164ea04f 100644 --- a/README.md +++ b/README.md @@ -39,7 +39,7 @@ Francisca Acevedo1, Vicente Arriaga1, Katja Dohm3 Date: Wed, 21 Sep 2022 14:14:52 +0200 Subject: [PATCH 08/15] punctuations and brackets added only on How-To Guides section --- README.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 164ea04f..ffaf4f9e 100644 --- a/README.md +++ b/README.md @@ -13,12 +13,12 @@ The following instructions will show you how to use Zendro. [

](setup_root.md) ### HOW-TO GUIDES: -* [How to define data models: for developers](setup_data_scheme.md). Detailed technical specifications on how to define data models for Zendro, aimed at software developers and system administrators. -* [How to define data models: for non-developers](non-developer_documentation.md). A brief, illustrated guide of data model specifications, data formatting and data uploading options, aimed at data modelers or managers to facilitate collaboration with developers. -* [How to setup a distributed cloud of zendro nodes](ddm.md). A brief guide, aimed at software developers and system administrators, on how to use Zendros distributed-data-models. -* [How to use Zendro command line interface (CLI)](zendro_cli.md). A tutorial of Zendro CLI, aimed at software developers. -* [How to query and extract data using R](fromGraphQlToR.html). A concise guide on how to use the Zendro API from R to extract data and perform queries, aimed at data managers or data scientists. -* [How to setup Authentication / Authorization](oauth.md). A concise guide on how to use and setup the Zendro authorization / authentication services. +* [How to define data models (for developers): ](setup_data_scheme.md). Detailed technical specifications on how to define data models for Zendro, aimed at software developers and system administrators. +* [How to define data models (for non-developers): ](non-developer_documentation.md). A brief, illustrated guide of data model specifications, data formatting and data uploading options, aimed at data modelers or managers to facilitate collaboration with developers. +* [How to setup a distributed cloud of zendro nodes: ](ddm.md) A brief guide, aimed at software developers and system administrators, on how to use Zendros distributed-data-models. +* [How to use Zendro command line interface (CLI): ](zendro_cli.md) A tutorial of Zendro CLI, aimed at software developers. +* [How to query and extract data using R: ](fromGraphQlToR.html) A concise guide on how to use the Zendro API from R to extract data and perform queries, aimed at data managers or data scientists. +* [How to setup Authentication / Authorization: ](oauth.md) A concise guide on how to use and setup the Zendro authorization / authentication services. * [API documentation](api_root.md). If you have any questions or comments, please don't hesitate to contact us via an issue [here](https://github.com/Zendro-dev/Zendro-dev.github.io/issues). Tag your issue as a question and we will try to answer as quick as possible. From a9fe80f11213085c696ea78ff4f9fd45dd83734c Mon Sep 17 00:00:00 2001 From: ata Date: Wed, 21 Sep 2022 14:29:26 +0200 Subject: [PATCH 09/15] capitalization of letter on line 78,133 and 316 --- setup_data_scheme.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/setup_data_scheme.md b/setup_data_scheme.md index d0a2a614..d7267be2 100644 --- a/setup_data_scheme.md +++ b/setup_data_scheme.md @@ -75,7 +75,7 @@ name | Type | Description It's important to notice that when a model involves a foreign key for the association, this key should be explicitly written into the attributes field of the given local model. Although, foreign keys will be available for the user only as readable attributes, for editing this attributes we offer the possibility as part of the API, please see [this](api_graphql.md#extra-mutation-fields-to-update-or-create-associations) section for more info. To store to-many associations (many-to-many or one-to-many) via foreign keys Zendro offers to store the foreign keys in arrays. In this case the model will have an array attribute which will store ids from the associated records. -#### single-end foreign keys +#### Single-end foreign keys Storing the foreign keys on a single end of the association means that only one of the two associated data-models holds the foreign-key attribute. Storing the keys in that way guarantees fast write actions and avoids error prone operations of writing multiple records to update any association. It also requires less storage space, but can become slow to read and search, especially in a distributed context, where the associated records could be distributed over multiple servers. To define single-end foreign key associations the following arguments need to be added: @@ -130,7 +130,7 @@ Examples: } } ``` -#### paired-end foreign keys +#### Paired-end foreign keys Storing the association via paired-end foreign keys means that both associated data-models contain a reference (foreign key) to the associated records. Storing the keys in that way guarantees read and search efficiency, especially in a distributed context, at the cost of time and storage-space when handling write actions. Since the keys are stored at both ends the information needs to be updated at both ends as well, which is slower and more prone to errors. Many-to-many associations can be stored via paired-end associations. In this case both models will hold an array attribute which will store ids from the associated records. These two attributes will be described in the association as `sourceKey` and `targetKey`. @@ -313,7 +313,7 @@ Example: ``` -### generic associations +### Generic associations To generate a generic association the `generic` implementation type can be used. This will genereate code stubs in the models for the user specific implementation of resolving the management of the association. ### Differences between backend and Frontend (GUI) From 1fb9c11cfe2cbde6351c6c68776477b8db118d5d Mon Sep 17 00:00:00 2001 From: ata Date: Wed, 21 Sep 2022 14:32:12 +0200 Subject: [PATCH 10/15] line 10 I am not sure but I suggest to replace should with can --- setup_data_scheme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup_data_scheme.md b/setup_data_scheme.md index d7267be2..532443d9 100644 --- a/setup_data_scheme.md +++ b/setup_data_scheme.md @@ -7,7 +7,7 @@ # Data Models -For each one of the data sets that you want to include in the project you will need to describe the data model. This description should include its relations or associations with any other model. The description should be placed in a json file following the [json specs](#json-specs) for this purpose. You will need to store all these json files in a single folder. Another limitation is that each model should have a unique name independently of its type. From now on, in this document, we will assume that all json files for each one of your data models will be stored in the directory `/your-path/json-files` +For each one of the data sets that you want to include in the project you will need to describe the data model. This description can include its relations or associations with any other model. The description should be placed in a json file following the [json specs](#json-specs) for this purpose. You will need to store all these json files in a single folder. Another limitation is that each model should have a unique name independently of its type. From now on, in this document, we will assume that all json files for each one of your data models will be stored in the directory `/your-path/json-files` ## JSON Specs From 8439b39fef0e59228d09c202e4941c54b67f546d Mon Sep 17 00:00:00 2001 From: ata Date: Wed, 21 Sep 2022 14:36:24 +0200 Subject: [PATCH 11/15] line 10 in the last sentence in the Data Models section, i think it should be 'folder' instead of 'document' --- setup_data_scheme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup_data_scheme.md b/setup_data_scheme.md index 532443d9..0b21061b 100644 --- a/setup_data_scheme.md +++ b/setup_data_scheme.md @@ -7,7 +7,7 @@ # Data Models -For each one of the data sets that you want to include in the project you will need to describe the data model. This description can include its relations or associations with any other model. The description should be placed in a json file following the [json specs](#json-specs) for this purpose. You will need to store all these json files in a single folder. Another limitation is that each model should have a unique name independently of its type. From now on, in this document, we will assume that all json files for each one of your data models will be stored in the directory `/your-path/json-files` +For each one of the data sets that you want to include in the project you will need to describe the data model. This description can include its relations or associations with any other model. The description should be placed in a json file following the [json specs](#json-specs) for this purpose. You will need to store all these json files in a single folder. Another limitation is that each model should have a unique name independently of its type. From now on, in this folder, we will assume that all json files for each one of your data models will be stored in the directory `/your-path/json-files` ## JSON Specs From c3f077d6bbb41d2fa87a9534beaefe318122cb1a Mon Sep 17 00:00:00 2001 From: ata Date: Wed, 21 Sep 2022 14:43:04 +0200 Subject: [PATCH 12/15] Section JSON Specs, line 14,16,20,21,23,24 changing the word 'model' to 'data model' --- setup_data_scheme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup_data_scheme.md b/setup_data_scheme.md index 0b21061b..f4d67a65 100644 --- a/setup_data_scheme.md +++ b/setup_data_scheme.md @@ -11,7 +11,7 @@ For each one of the data sets that you want to include in the project you will n ## JSON Specs -Each json file describes one and only one model. However, one model can reference another model using the associations mechanism described below. +Each json file describes one and only one data model. However, one model can reference another model using the associations mechanism described below. For a complete description of each model we need to specify the following fields in the json file: From 7d4aef38b38a12467bad13d3af72a4e1bb92f0ae Mon Sep 17 00:00:00 2001 From: ata Date: Wed, 21 Sep 2022 15:00:21 +0200 Subject: [PATCH 13/15] Section JSON Specs, line 4 added the missing table of contents' --- setup_data_scheme.md | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/setup_data_scheme.md b/setup_data_scheme.md index f4d67a65..3241eaa8 100644 --- a/setup_data_scheme.md +++ b/setup_data_scheme.md @@ -2,26 +2,35 @@
# Table of Contents -* TOC -{:toc} - +- [Table of Contents](#table-of-contents) +- [Data Models](#data-models) + - [JSON Specs](#json-specs) + - [Supported Data Types](#supported-data-types) + - [Associations Spec](#associations-spec) + - [The Resolver Layer and the Model Layer](#the-resolver-layer-and-the-model-layer) + - [The code generator at work](#the-code-generator-at-work) + - [Authorization-checks and record limits](#authorization-checks-and-record-limits) + - [Pagination types](#pagination-types) + - [Custom Validator Function for AJV](#custom-validator-function-for-ajv) + - [Data Loader](#data-loader) + # Data Models For each one of the data sets that you want to include in the project you will need to describe the data model. This description can include its relations or associations with any other model. The description should be placed in a json file following the [json specs](#json-specs) for this purpose. You will need to store all these json files in a single folder. Another limitation is that each model should have a unique name independently of its type. From now on, in this folder, we will assume that all json files for each one of your data models will be stored in the directory `/your-path/json-files` ## JSON Specs -Each json file describes one and only one data model. However, one model can reference another model using the associations mechanism described below. +Each json file describes one and only one data model. However, one data model can reference another data model using the associations mechanism described below. -For a complete description of each model we need to specify the following fields in the json file: +For a complete description of each data model we need to specify the following fields in the json file: Name | Type | Description ------- | ------- | -------------- -*model* | String | Name of the model (it is recommended to use snake_case naming style to obtain nice names in the auto-generated GraphQL API). The string here can not contain spaces. -*model_name_in_storage* | String | The name of the model in the storage itself. E.g the table-name in relation dbs, the collection in mongodb, the node in neo4j, etc. By default Zendro uses the lowercase pluralized *model* property. +*model* | String | Name of the data model (it is recommended to use snake_case naming style to obtain nice names in the auto-generated GraphQL API). The string here can not contain spaces. +*model_name_in_storage* | String | The name of the data model in the storage itself. E.g the table-name in relation dbs, the collection in mongodb, the node in neo4j, etc. By default Zendro uses the lowercase pluralized *model* property. *database* | String | Name of the database connection as a key defined in [`data_models_storage_config.json`](https://github.com/Zendro-dev/graphql-server/blob/master/config/data_models_storage_config.json). If this field is not defined, the database connection used will be `default-`. -*storageType* | String | Type of storage where the model is stored. So far can be one of:
  • __sql__ for local relational databases supported by [sequelize](#http://docs.sequelizejs.com/) such as PostgreSql/MySql etc.
  • __generic__ for any database that your project would connect remotely.
  • __zendro\_server__ for models stored in any other instance created with zendro-tools.
  • __cassandra__ for local cassandra databases supported by datastax node [cassandra-driver](https://docs.datastax.com/en/developer/nodejs-driver/4.6/). Refer to [cassandra storageType documentation](cassandra_storageType.md) for cassandra specific restrictions.
-*url* | String | This field is only mandatory for __zendro\_server__ stored models. Indicates the url where the zendro server storing the model is runnning. +*storageType* | String | Type of storage where the data model is stored. So far can be one of:
  • __sql__ for local relational databases supported by [sequelize](#http://docs.sequelizejs.com/) such as PostgreSql/MySql etc.
  • __generic__ for any database that your project would connect remotely.
  • __zendro\_server__ for data models stored in any other instance created with zendro-tools.
  • __cassandra__ for local cassandra databases supported by datastax node [cassandra-driver](https://docs.datastax.com/en/developer/nodejs-driver/4.6/). Refer to [cassandra storageType documentation](cassandra_storageType.md) for cassandra specific restrictions.
+*url* | String | This field is only mandatory for __zendro\_server__ stored data models. Indicates the url where the zendro server storing the data model is runnning. *attributes* | Object | The key of each entry is the name of the attribute and there are two options for the value . It can be either a string indicating the type of the attribute or an object where the user indicates the type of the attribute(in the _type_ field) together with an attribute's description (in the _description_ field). See the [table](#supported-data-types) below for allowed types. Example of option one: ```{ "attribute1" : "String", "attribute2: "Int" }``` Example of option two: ``` { "attribute1" : {"type" :"String", "description": "Some description"}, "attribute2: "Int ``` *associations* | Object | The key of each entry is the name of the association and the value should be an object describing the corresponding association. See [Associations Spec](#associations-spec) section below for details. *indices* | [String] | Names of attributes for generating corresponding indices. From 7126931269007d9533fe38996ea04f1c998fb8a2 Mon Sep 17 00:00:00 2001 From: ata Date: Wed, 21 Sep 2022 15:02:48 +0200 Subject: [PATCH 14/15] Section JSON Specs, line 4 added the missing table of contents' --- setup_data_scheme.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/setup_data_scheme.md b/setup_data_scheme.md index 3241eaa8..25748007 100644 --- a/setup_data_scheme.md +++ b/setup_data_scheme.md @@ -2,7 +2,6 @@
# Table of Contents -- [Table of Contents](#table-of-contents) - [Data Models](#data-models) - [JSON Specs](#json-specs) - [Supported Data Types](#supported-data-types) @@ -13,7 +12,7 @@ - [Pagination types](#pagination-types) - [Custom Validator Function for AJV](#custom-validator-function-for-ajv) - [Data Loader](#data-loader) - + # Data Models For each one of the data sets that you want to include in the project you will need to describe the data model. This description can include its relations or associations with any other model. The description should be placed in a json file following the [json specs](#json-specs) for this purpose. You will need to store all these json files in a single folder. Another limitation is that each model should have a unique name independently of its type. From now on, in this folder, we will assume that all json files for each one of your data models will be stored in the directory `/your-path/json-files` From 02bc5d392cf15995b10f510d65483ed0d90448aa Mon Sep 17 00:00:00 2001 From: ata Date: Tue, 27 Sep 2022 14:32:59 +0200 Subject: [PATCH 15/15] I guess keyIn refers to the target model --- non-developer_documentation.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/non-developer_documentation.md b/non-developer_documentation.md index 128a8c46..bd918ffe 100644 --- a/non-developer_documentation.md +++ b/non-developer_documentation.md @@ -44,7 +44,7 @@ To translate the conceptual diagram into JSON, we need follow the [JSON specific "reverseAssociation": "taxon_information", // The name of the reverse association defined in the specimen model "target": "specimen", "targetKey": "specimen_id", - "keyIn": "taxon", + "keyIn": "specimen", "targetStorageType": "sql", "label": "common_name", },