- add model for filtering tables

Kaimbacher 2023-04-14 12:58:10 +02:00
parent d6783cfd19
commit 0e3657616e
2 changed files with 26 additions and 11 deletions

@ -13,23 +13,38 @@ The database model used by TETHYS is based on a relational database model. The m
The database model used by TETHYS is designed to be flexible and extensible, allowing for the addition of new tables and fields as needed to support different types of digital resources.
# TETHYS ACL Tables
# TETHYS Database Model
![title](./tethys_acl.png)
TETHYS provides an Access Control List (ACL) system that is used to manage users, user roles and permissions.
<br />
## The ACL tables used by TETHYS are:
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.
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.
* 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 in TETHYS. 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.
* 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.
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.
* 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.
documents: This table stores information about the datasets that are managed by the system. Each dataset is assigned a unique identifier (publish_id) and the table includes fields for the embargo date, publication date, creation date update date and other metadata associated with the resource. Information to titles, authors, contributors, files and file checksums are stored in extra related tables (see next chapter [related tables](#dataset-related-tables)).
* 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.
## Dataset related tables :
* documents: This table stores information about the datasets that are managed by the system. Each dataset is assigned a unique identifier (publish_id) and the table includes fields for the embargo date, publication date, creation date update date and other metadata associated with the resource. Information to titles, authors, contributors, files and file checksums are stored in extra related tables (see next chapter [related tables](#dataset-related-tables)).
<br />
<br />
## Dataset tables for filtering:
Many research repositories allow you to filter content based on specific criteria. For example, you may be able to filter by publication date, author, contributor, title, abstract, keyword or spatially via coverage. This can be helpful if you are looking for a specific type of resource or trying to narrow down your search results. TETHYS also organizes content into collections based on specific themes or topics. Collections can be a great way to quickly find relevant resources and may be curated by experts in the field.
![title](./tethys_filter.png)
* datset_abstract: This table stores all the descriptions to an uploaded dataset. Allowed values for an abstract type are: 'Abstract', 'Methods', 'Series_information', 'Technical_info', 'Translated' and 'Other'.
* datset_titles: This table stores all the titles to an uploaded dataset. Allowed values for a title type are: 'Main', 'Sub', 'Alternative', 'Translated' and 'Other'.
* dataset_subjects with pivot table link_dataset_subjects: This table stores all the keywords.

BIN
tethys_filter.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 239 KiB