# Tables

## Overview

Tables serve as individual modules to manage the research data for a particular category. Labii uses a table to keep track of one particular type of data. For instance, an experiment table can be used to keep track of all experimental notes. Depending on your research needs, you can add an unlimited number of tables to manage any type of data you require.

{% hint style="info" %}
These changes can only be made by Administrators.
{% endhint %}

{% embed url="<https://youtu.be/oWMfHFsfoH0>" %}

## List of tables

You can manage a list of tables by clicking **Settings** at the side menu and then select **Tables**.

![](/files/Tg4kcdUszNy9ej3i7V3g)

### Search tables

You can search tables by typing a keyword into the search bar in the **table list view**, and then clicking **Search**. The search results can always be cleared by clicking the **Clear** button.

### Filter tables

With the **Filter** function, you can limit the number of teams displayed. You can do that by clicking **Active tables** and then selecting a filter from the dropdown. Here are a list of filters:

* **All tables**. Filter to display all tables.
* **Active tables**. Filter to display the active tables.
* **Archived tables**. Filter to display the archived tables.

## Table detail

Click a table name to view the detail of the table.

The detailed view of a table comes with 5 tabs:

* Detail - the detail fields of the table.
* Columns - the columns of the table. Learn more [here](/admin-guide/tables/columns.md).
* Sections - the sections of the table. Learn more [here](/admin-guide/tables/sections.md).
* Filters - the filters of the table. Learn more [here](/admin-guide/tables/filters.md).

<figure><img src="/files/Cl59mxhxKUQlQyCQ50Ep" alt=""><figcaption></figcaption></figure>

### Table fields

Here is the list of fields for a particular table:

* **Overview**
  * **sid** - The SID of the table. Automatically generated by Labii. This ID cannot be changed once it has been created.
  * **updated\_by**
  * **date\_updated**
  * **date\_created**
* **Detail**
  * **name\_singular** (required) - Table name, in a singular format. Letters and Numbers only, no blanks.
  * **name\_plural** (required) - Table name, in plural format. Letters and Numbers only, no blanks.
  * **name\_system** - This name is used to identify system-specific tables and is automatically generated by Labii.
  * **icon** (required) - Table table icon.
  * **order** - The order to display the table
* **Unique ID**
  * **unique\_code** (Required) - The abbreviation term of a table name. The code must be at least 2 characters long and contain only uppercase letters. The unique\_code is used to generate the unique identifications (UID) of records.
  * **UID\_format** - You have the option to personalize the UID by specifying your preferred UID format, which by default consists of '{Unique Code}{RID}'.
  * **should\_support\_custom\_uid** - If true, users must supply their unique identifier (UID) for each record. This works well for reagents where you prefer to utilize the vendor's barcode as the UID.\
    Notes: Users must guarantee the uniqueness of the provided UID, as failure to do so will result in the newly created record replacing the existing one.
* **Name and Description**
  * **name\_display\_name** - The display name of the 'Name' field.
  * **name\_help\_text** - The description of the 'Name' field.
  * **name\_display\_format** - The format of the 'Name' field for the name serializer.\
    This field support variables. Discover additional information about the array of supportive variables on <https://docs.labii.com/api/variables>.\
    Note: Providing a value for this field will override the default name. Use {{NAME}} to include the original name.
  * **description\_display\_name** - The display name of the 'Description' field.
  * **description\_help\_text** - The description of the 'Description' field.
* **List view**
  * **default\_list\_view** - Default tab view when opening the list view.
  * **fields\_to\_display -** Select fields to display in the list view.
  * **ordering** - The ordering to display records in the list view.
  * **default\_filters** - Select the default filters to be included in the list view.
* **Detail view**
  * **default\_detail\_view** - Default tab view when opening a record.
  * **fields\_to\_display\_for\_detail** - Select fields to display in the detail view.
  * **should\_enable\_section\_complete\_action** - If enabled, each section of a record will include a 'Complete' button. Once a section is marked as complete, it will become read-only.
* **Form view**
  * **default\_add\_query -** The query meant for adding to the form. Use this function to restrict changes to the append query in the add form. This field support variables. Discover additional information about the array of supportive variables on <https://docs.labii.com/api/variables>
* Permissions
  * **teams\_can\_add** - Choose one or more teams to have add permission to this table. If you don't choose any team, all teams will have add permission to this table.
  * **should\_limit\_edit\_to\_owner** - If true, only the owner can edit their records, regardless of the permission settings at the project level.
  * **required\_certifications -** Please indicate the necessary certifications needed to add or modify entries in this table. If multiple certifications are required, please list them separated by commas.
* **Settings**
  * **minimum\_number\_of\_signers** - Number of signatories required. This number is set so that the document can only be signed when a minimum number of signers has been added. It defaults to 0.
  * **printer\_header -** Customize the header of the print page for the table. Use HTML code for formatting. If provided, the header from organization setting will be replaced. This field support variables. Discover additional information about the array of supportive variables on <https://docs.labii.com/api/variables>
* **metadata** - the list of metadata with labels and values
* **is\_archived** - Checking this box will archive the table. Archived tables are not available for use. Make sure no other column/section uses the table, it might break your system if one is archived. The Files table is always required and should not be archived.

## Add table

A new table can be added with the following methods:

* Add a new table at the table list view:
  1. Settings -> Tables
  2. Click "Add Table" and select "Add blank table"
  3. Fill in the required fields and click "Submit"

![](/files/wSEfAq1R2js5pha6iVRa)

### Add table from a template

Labii ELN & LIMS is a complicated system and requires specific training to get everything right. We are simplifying the configuration progress with table templates.

* Settings -> Tables
* Click "Add Table" and select "Add table from template"
* Choose a template
* Fill in the required fields and click "Submit"
* The newly created table will also create the corresponding columns, sections, filters, workflows at the same time

{% hint style="info" %}
Please always use a table template when creating a new table.
{% endhint %}

### Duplicate table

To create a table similar to the table already created:

* Settings -> Tables
* Click a table name
* Click "...Actions"
* Select "Duplicate" from the dropdown menu.
* Change the following fields and click submit:
  * Table Name Singular
  * Table Name Plural
  * Unique code

## Import tables

If you already have a list of tables and you would like to create in batch, use the "Import tables" function. To do that:

1. Prepare a sheet with the following fields.
2. Download/Save it as \*.tsv
3. Settings -> Tables
4. Click the "...Actions"
5. In the dropdown, select "Import"
6. Select the file you just prepared, click Submit
7. Match each field based on your document header
8. Click Submit button to import
9. Verify the final results

<table><thead><tr><th>icon</th><th>name_singular</th><th>name_plural</th><th>description</th><th>unique_code</th><th data-type="checkbox">should_add_from_form</th><th>default_view</th><th>order</th></tr></thead><tbody><tr><td>cloud</td><td>test</td><td>tests</td><td>This is a test</td><td>TT</td><td>true</td><td>overview</td><td>1</td></tr></tbody></table>

## Export tables

You can also export a list of tables for later use. To do that:

1. Settings -> Tables
2. Click the "...Actions"
3. In the dropdown, select "Export current page". Only the tables visible on the current page will be exported.
4. Select "Export all pages". This will download all tables and all fields.

## System tables

The system tables are the tables with name\_system setup and reserved with one particular function. Here is a list of system tables:

* **file** - The files table to store the uploaded files
* **workflow** - The workflow table to store the workflow details
* **step** - The workflow steps

{% hint style="info" %}
The fields of the system tables can not be changed.
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.labii.com/admin-guide/tables.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
