---
title: "Common fields"
manual: "TCA Reference"
version: "13.4"
permalink: "https://docs.typo3.org/permalink/t3tca:fields-common@13.4"
source: "BestPractises/CommonFields.rst"
modified: "2026-09-15T18:49:03+00:00"
---

# Common fields

## Mandatory fields

If a table has a TCA definition, TYPO3 will automatically create the following fields:

-   **`uid`**

    An auto-incrementing unique identifier. This field is the table key
    and is used as a reference in relationships between records.

-   **`pid`**

    The `uid` field of the parent page. A record is situated on its parent page.
    If this value is 0 the record is not connected to a page.

These fields are not defined anywhere else in the TCA configuration. It is
not possible to use other names for these fields.

## Fields used by convention

> [!WARNING]
> It is possible to change the names of the following fields, but it is
> strongly discouraged. Doing so breaks convention and may lead to compatibility
> issues with third party extensions.
>
> All the fields mentioned below are added to the database automatically. You do
> not need to define these fields in `ext_tables.sql` and doing so may lead to
> problems later on. You only need to configure the fields in the TCA php files.

## Soft delete

-   **`deleted`**

    This field enables soft delete in records. Configure it
    by setting [ctrl->delete](https://docs.typo3.org/permalink/t3tca:ctrl-reference-delete@13.4):

    **EXT:my_extension/Configuration/TCA/tx_myextension_domain_model_something.php**

    ```php
    <?php

    return [
      'ctrl' => [
        'delete' => 'deleted',
        // ...
      ],
    ];

    ```

    > [!WARNING]
    > If you do not configure this field, records will be hard deleted.
    > The backend DataHandler and Extbase will automatically execute
    > (hard) `DELETE` statements.

    The `deleted` field is not visible in backend forms. It is
    handled separately by the DataHandler and therefore does not need to be
    defined in the `columns` section.

## Enablecolumns

> [!NOTE]
> **Changed in version 13.3**
>
> The column definitions for these settings are
> [auto-created](https://docs.typo3.org/permalink/t3tca:ctrl-auto-created-columns@13.4).
> See also [Migration](https://docs.typo3.org/permalink/t3tca:ctrl-reference-enablecolumns-migration@13.4).

-   **`hidden`**

    This field enables soft hiding of records. Configure it
    by setting [ctrl->enablecolumns->disabled](https://docs.typo3.org/permalink/t3tca:ctrl-reference-enablecolumns@13.4):

    **EXT:my_extension/Configuration/TCA/tx_myextension_domain_model_something.php**

    ```php
    <?php

    return [
      'ctrl' => [
        'enablecolumns' => [
          'disabled' => 'hidden',
        ],
        // ...
      ],
      'palettes' => [
        'visibility' => [
          'showitem' => 'hidden',
        ],
      ],
      'types' => [
        0 => [
          'showitem' => '
                    --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:general,
                        [...],
                    --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:access,
                        --palette--;;visibility,
                ',
        ],
      ],
    ];

    ```

-   **`starttime` and `endtime`**

    These fields can enable records at a starttime and disable them at
    an endtime. Configure them
    by setting [ctrl->enablecolumns->starttime or endtime](https://docs.typo3.org/permalink/t3tca:ctrl-reference-enablecolumns@13.4):

    **EXT:my_extension/Configuration/TCA/tx_myextension_domain_model_something.php**

    ```php
    <?php

    return [
      'ctrl' => [
        'enablecolumns' => [
          'disabled' => 'hidden',
          'starttime' => 'starttime',
          'endtime' => 'endtime',
        ],
        // ...
      ],
      'palettes' => [
        'access' => [
          'showitem' => 'starttime, endtime',
        ],
        'visibility' => [
          'showitem' => 'hidden',
        ],
      ],
      'types' => [
        0 => [
          'showitem' => '
                    --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:general,
                        [...],
                    --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:access,
                        --palette--;;visibility,
                        --palette--;;access,
                ',
        ],
      ],
    ];

    ```

-   **`fe_group`**

    This field defines which field is used for access control. Configure it
    by setting [ctrl->enablecolumns->fe_group](https://docs.typo3.org/permalink/t3tca:ctrl-reference-enablecolumns@13.4):

    **EXT:my_extension/Configuration/TCA/tx_myextension_domain_model_something.php**

    ```php
    <?php

    return [
      'ctrl' => [
        'enablecolumns' => [
          'fe_group' => 'fe_group',
        ],
        // ...
      ],
      'palettes' => [
        'access' => [
          'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.access',
          'showitem' => '
                    fe_group,
                ',
        ],
      ],
      'types' => [
        0 => [
          'showitem' => '
                    --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:general,
                        [...],
                    --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:access,
                        --palette--;;access,
                ',
        ],
      ],
    ];

    ```

> [!WARNING]
> These fields that enable records ("enable fields") are only respected in the frontend if you
> use the correct queries and Extbase repository settings in your extension code.
> See [Enablecolumns / enablefields usage](https://docs.typo3.org/permalink/t3tca:enablefields-usage@13.4) for more information.

## Manual sorting in the backend

-   **`sorting`**

    This field is used to sort records in the backend. Configure it
    by setting [ctrl->sortby](https://docs.typo3.org/permalink/t3tca:ctrl-reference-sortby@13.4):

    **EXT:my_extension/Configuration/TCA/tx_myextension_domain_model_something.php**

    ```php
    <?php

    return [
      'ctrl' => [
        'sortby' => 'sorting',
      ],
    ];

    ```

> [!WARNING]
> **Attention**
>
> The sortby field contains an integer and is managed by the DataHandler. It
> should not be defined in the [Field definitions (columns)](https://docs.typo3.org/permalink/t3tca:columns@13.4) section in a TCA file. The value of this
> field can be changed at any time by the DataHandler.
>
> Use [default_sortby](https://docs.typo3.org/permalink/t3tca:ctrl-reference-default-sortby@13.4) if you want to
> sort by a field that belongs to the domain.

## Fields managed by the DataHandler

The following fields are automatically set when a record is written by the
[DataHandler](https://docs.typo3.org/m/typo3/reference-coreapi/13.4/en-us/ApiOverview/DataHandler/Database/Index.html#datahandler-basics). They should never be
displayed in backend forms or explicitly set. They do not need to be defined
in the [Field definitions (columns)](https://docs.typo3.org/permalink/t3tca:columns@13.4) section of the TCA.

**EXT:my_extension/Configuration/TCA/tx_myextension_domain_model_something.php**

```php
<?php

return [
  'ctrl' => [
    'tstamp' => 'tstamp',
    'crdate' => 'crdate',
    'origUid' => 't3_origuid',
    // ...
  ],
];

```

-   **`tstamp`**

    This field is automatically updated to the current timestamp
    when the record is updated or saved in the DataHandler.

    It can be configured by setting [ctrl->tstamp](https://docs.typo3.org/permalink/t3tca:ctrl-reference-tstamp@13.4).

-   **`crdate`**

    This field is automatically set to the current timestamp
    if the record is created by the DataHandler.

    It can be configured by setting [ctrl->crdate](https://docs.typo3.org/permalink/t3tca:ctrl-reference-crdate@13.4).

-   **`t3_origuid`**

    Field name containing the uid of the original record if a
    record is created as a copy or new version of another record.

    It can be configured by setting [ctrl->origUid](https://docs.typo3.org/permalink/t3tca:ctrl-reference-origuid@13.4).
