Core Concepts
Understanding the fundamental concepts and terminology used in Cnidarity.
Overview
Cnidarity is built around a hierarchical structure of concepts that work together to create a flexible research data management system. Understanding these core concepts is essential for effectively using the platform:
- Workspaces: Top-level organizational units that contain projects.
- Projects: Research initiatives containing custom data models and records.
- Models: Custom data structures that define the types of research entities.
- Attributes: Fields that define the properties of each model.
- Records: Individual instances of data based on your models.
- Relationships: Connections between different models.
These concepts work together in a hierarchical structure:
Workspaces → Projects → Models → Records
↘ Attributes
↘ Relationships
Workspaces
Workspaces are the top-level organizational units in Cnidarity. They serve as containers for projects and help you organize your research efforts.
Key Characteristics
- Multi-workspace support: Users can belong to multiple workspaces and switch between them.
- Collaboration: Invite team members to your workspace with different permission levels.
- Organization: Group related projects under a single workspace for better management.
Use Cases
- Research departments or institutions
- Research labs or groups
- Multi-institutional collaborations
- Thematic research programs
Projects
Projects exist within workspaces and represent specific research initiatives or studies. Each project has its own set of data models, records, and team members.
Key Characteristics
- Subscription tiers: Each project is associated with a specific subscription tier that determines its capabilities.
- Team management: Projects can have their own set of team members, independent of workspace members.
- Custom models: Define unique data structures specific to each project's research needs.
Use Cases
- Individual research studies
- Ongoing data collection initiatives
- Specific experiments or field campaigns
- Publication-centered research
Organize your research logically by creating separate projects for distinct research initiatives. This keeps your data models focused and makes team management easier.
Models
Models are custom data structures that define the types of research entities you want to track in your project. Think of them as templates or schemas for your research data.
Key Characteristics
- Custom structure: Define models that match exactly what you need to track in your research.
- Attributes: Each model contains a set of attributes (fields) that define its properties.
- Relationships: Models can be connected to other models through defined relationships.
- Display settings: Configure how records of this model are displayed and sorted in the system.
Example Models
- Specimen: For tracking biological samples
- Experiment: For documenting experimental procedures
- Publication: For managing research papers
- Dataset: For organizing collected data
- Protocol: For standardizing research methods
Attributes
Attributes are the fields or properties that define the characteristics of a model. They determine what information is stored for each record.
Attribute Types
- Text: Single-line text fields for names, titles, identifiers, etc.
- Text Area: Multi-line text areas for descriptions, notes, and longer content.
- Number: Numeric values for quantities, measurements, and statistics.
- Date: For storing calendar dates and timestamps.
- Yes/No: Boolean values for true/false or yes/no data points.
- Select: Single selection from a predefined list of options.
- Multi Select: Multiple selections from a predefined list of options.
- Email: Specifically formatted for email addresses with validation.
- URL: For web addresses with proper formatting and validation.
Attribute Configuration
- Name and label: Identifier and display name for the attribute.
- Type: The data type selected when creating the attribute (cannot be changed after creation).
- Validation rules: Custom rules to ensure data quality and consistency.
- Field description: Brief explanation of the attribute's purpose.
- Field hint: Guidance text displayed to users during data entry.
Attribute types cannot be changed after creation. Ensure you select the appropriate type when designing your model to avoid having to recreate attributes and potentially lose data.
Records
Records are individual instances of data based on your models. They contain the actual research information stored in your project.
Working with Records
- Creation: Add new records through forms based on your model structure.
- Viewing: Browse records in table or card layouts.
- Editing: Update record values as your research progresses.
- Filtering: Search and filter records based on attribute values.
- Exporting: Download records in various formats (CSV, JSON, etc.).
Record Management
- Bulk operations: Perform actions on multiple records simultaneously.
- Sorting: Arrange records in a meaningful order to identify patterns.
- Relationships: Connect records to related data in other models.
- Import/Export: Transfer record data to and from external sources.
Each subscription tier has limits on the number of records you can create. Choose a tier that accommodates your research data volume.
Relationships
Relationships define connections between different models, allowing you to create a structured network of your research data.
Relationship Types
- One: A record can be related to exactly one record in another model. The related_records_limit is set to 1.
- Many: A record can be related to a specific number of records in another model. The related_records_limit is set to a number greater than 1.
- Unlimited: A record can be related to any number of records in another model. The related_records_limit is set to 0.
Using Relationships
- Data structure: Create logical connections that mirror real-world relationships.
- Navigation: Easily move between related records.
- Data integrity: Maintain consistency with required relationships and record limits.
- Display attributes: Configure which attributes from the related model should be displayed when viewing relationships.
When designing your data structure, sketch out the relationships between your models first, considering how many records should be related in each direction. This will help you create a more effective and intuitive system.