diff --git a/DataArchitectureDiagram.md b/DataArchitectureDiagram.md index 23f941f..79ed0f5 100644 --- a/DataArchitectureDiagram.md +++ b/DataArchitectureDiagram.md @@ -1,6 +1,29 @@ +

Data Architecture Diagram

+ ![Image](./data_diagram.drawio.svg) -# Discovery and access systems +# 1. Data Sources +TETHYS collects and manages scanned geological maps, spatial data sets, and other types of research outputs. +The general guideline for publishing research data (manual, p. 11-2) is providing information on how to prepare data sources for deposit (helpful for depositors and repository staff): +* the types of file formats that are acceptable, +* what kind of data can be included in the research data repository, +* the file upload limits, +* what CC licenses can be used, +* the strategy for deleting datasets, +* how to handle the use of external research data, +* the required use of keywords +* Note that the uploaded data will be reviewed. + +# 2. Metadata Schema +The **Metadata format guidelines** (manual, p. 8-10) on the other hand, provides information on the specific types of metadata that should be included with the data. This may include information on the format and structure of the metadata, as well as the types of information that should be included. Tethys RDR is using three metadata standards (**Dublin Core, DataCite and ISO10130**) as well as one descriptive metadata element (dataset type). The dataset type is one of the following metadata elements: Analysis, Measurements, Monitoring, Remote Sensing, Geographic Information System (GIS), Models, and Mixed Type. + +# 3. Storage Infrastructure +This is the physical or virtual infrastructure used to store the data and metadata in the repository. By using **PostgreSQL**, TETHYS is able to manage large volumes of metadata and provide fast and secure access to this information. The data files are stored on an **Ubuntu file server** with **ext4**partition. + +# 4. Data processing and curation workflows +... + +# 5. Discovery and access systems TETHYS supports data discovery in various ways ## TETHYS REST API @@ -9,6 +32,36 @@ which allows repository staff to interact with the Tethys system and retrieve me * **metadata API**: e.g.: [metadata for dataset 209](https://tethys.at/api/dataset/200) * **file download**: e.g. [file for dataset 209: api/file/download/1009](https://www.tethys.at/api/file/download/1009) -## Solr Search Index -## Tethys Frontend \ No newline at end of file + +## Tethys Frontend +The datasets can always be found through the Data Frontend, https://tethys.at/search, browsing by subject, author, language or year, or by searching the metadata fields title, author or keyword. To enhance the discoverability of the datasets, TETHYS RDR stimulates adding as many metadata and other relevant documentation as possible. + +## Solr Search Index + All visible metadata and some metadata extracted from data files are indexed and searchable by Solr. + + ## DataCite DOI Fabrica + Tethys Repository assigns a DOI for each published dataset. + Therefore the datasts are also accessible via DOI Fabrica: e.g. https://doi.datacite.org/dois/10.24341%2Ftethys.200 + +# 6. Authentication and authorization systems: +TETHYS provides an Access Control List (ACL) system that is used to manage users, user roles and permissions. +![title](./tethys_acl.png) +* accounts: This table stores information about the users of the system. Each user is assigned a unique identifier, and the table includes fields for the user's name, email address, and timestamps. + +* roles: This table stores information about the roles that are available in your application. Each role has a unique identifier and a name that describes the role. TETHYS is using the following rules: + * admin role: for editing user accounts, roles and permissions + * submitter role: Submitters submit original research datasets. Submitters are responsible for ensuring that their submissions meet the repository's guidelines and standards. + * editor role: TETHYS editors are responsible for overseeing the content and quality of the research repository. They review submissions to ensure they meet the repository's standards and may provide feedback to submitters. They may also work with reviewers to ensure that submissions are evaluated fairly. + * reviewer role: Reviewers are responsible for evaluating submissions to the research repository. They may be assigned specific submissions to review, and they provide feedback on the quality and relevance of the research. Reviewers typically have expertise in the field related to the research and may be asked to provide a written report or score to help the editor make a decision about whether to accept or reject the submission. + + +* permissions: This table stores information about the permissions that are available for the roles. Each permission has a unique identifier, a name that describes the permission, and a short code that represents the permission. + +* role_has_permissions: This table stores the relationship between roles and permissions. Each row in this table represents a role that has been granted a specific permission. + +* link_account_roles: This table stores the relationship between users (Accounts) and roles. Each row in this table represents a user that has been assigned a specific role. + + + # 7. Preservation systems + ....