---
title: "Database Tables"
manual: "Kitodo.Presentation"
version: "dev-demo"
source: "Developers/Database.rst"
rendered: "2026-09-27T16:21:24+00:00"
---

# Database Tables {#database-tables}

This is a reference of all database tables defined by Kitodo.Presentation.

> [!TIP]
> This page is auto-generated. If you would like to edit it, please use doc-comments in the model class, COMMENT fields in `ext_tables.sql` if the table does not have one, or TCA labels. Then, you may re-generate the page by running `vendor/bin/typo3 kitodo:databaseDocsGenerate` from the composer-based TYPO3 install directory (not the Kitodo.Presentation source directory).

## tx_dlf_actionlog: Action protocol {#tx-dlf-actionlog-action-protocol}

Extbase domain model: `Kitodo\Dlf\Domain\Model\ActionLog`

(Basket Plugin) Action log for mails and printouts.

| Field | Description |
| --- | --- |
| **uid**  *integer* | The uid of the record. The uid is only unique in the context of the database table. |
| pid  *integer* | The id of the page the record is "stored". |
| crdate  *integer* |  |
| deleted  *smallint* |  |
| user_id  *integer* | *User ID* |
| file_name  *string* | *Filename* |
| count_pages  *integer* | *Page count* |
| name  *string* | *Name* |
| label  *string* | *Action protocol* |

## tx_dlf_basket: Basket {#tx-dlf-basket-basket}

Extbase domain model: `Kitodo\Dlf\Domain\Model\Basket`

(Basket Plugin) A basket that is bound to a frontend session.

| Field | Description |
| --- | --- |
| **uid**  *integer* | The uid of the record. The uid is only unique in the context of the database table. |
| pid  *integer* | The id of the page the record is "stored". |
| tstamp  *integer* |  |
| fe_user_id  *integer* | *FE user ID* |
| deleted  *smallint* |  |
| sys_language_uid  *integer* | *Language* |
| l18n_parent  *integer* | *Transl.Orig* |
| l18n_diffsource  *blob* |  |
| l10n_state  *text* |  |
| label  *string* | *Basket* |
| session_id  *string* | *Session ID* |
| doc_ids  *string* | *Document ID* |

## tx_dlf_collections: Collections {#tx-dlf-collections-collections}

Extbase domain model: `Kitodo\Dlf\Domain\Model\Collection`

Domain model of the 'Collection'.

| Field | Description |
| --- | --- |
| **uid**  *integer* | The uid of the record. The uid is only unique in the context of the database table. |
| pid  *integer* | The id of the page the record is "stored". |
| tstamp  *integer* |  |
| crdate  *integer* |  |
| cruser_id  *integer* |  |
| fe_cruser_id  *integer* | *Frontend User* |
| fe_admin_lock  *smallint* | *Disallow frontend editing?* |
| deleted  *smallint* |  |
| sys_language_uid  *integer* | *Language* |
| l18n_parent  *integer* | *Transl.Orig* |
| l18n_diffsource  *blob* |  |
| l10n_state  *text* |  |
| hidden  *smallint* | *Hide* |
| fe_group  *string* | *Access* |
| label  *string* | *Display Label* |
| index_name  *string* | *Index Name* |
| index_search  *text* | *Define (virtual) collection via Solr Query* |
| oai_name  *string* | *OAI-PMH Mapping* |
| description  *text* | *Description* |
| thumbnail  *string* | *Thumbnail* thumbnail |
| priority  *smallint* | *Priority* |
| documents  *integer* | *Documents* |
| owner  *integer* | *Owner* |
| status  *smallint* | *Status* |

## tx_dlf_documents: Documents {#tx-dlf-documents-documents}

Extbase domain model: `Kitodo\Dlf\Domain\Model\Document`

Domain model of the 'Document'.

| Field | Description |
| --- | --- |
| **uid**  *integer* | The uid of the record. The uid is only unique in the context of the database table. |
| pid  *integer* | The id of the page the record is "stored". |
| tstamp  *integer* | *Last Modified* |
| crdate  *integer* | *Created At* |
| cruser_id  *integer* |  |
| deleted  *smallint* |  |
| hidden  *smallint* | *Hide* |
| starttime  *integer* | *Start* |
| endtime  *integer* | *Stop* |
| fe_group  *string* | *Access* |
| prod_id  *string* | *Production Identifier* |
| location  *string* | *Location of METS file / IIIF manifest (URI)* |
| record_id  *string* | *Record Identifier* |
| opac_id  *string* | *OPAC/Local Identifier* |
| union_id  *string* | *Union Catalog/Foreign Identifier* |
| urn  *string* | *Uniform Resource Name (URN)* |
| purl  *string* | *Persistent Uniform Resource Locator (PURL)* |
| title  *text* | *Title* |
| title_sorting  *text* | *Title (Sorting)* |
| author  *string* | *Author* |
| year  *string* | *Year of Publication* |
| place  *string* | *Place of Publication* |
| thumbnail  *string* | *Thumbnail* |
| structure  *integer* | *Typ of Document* |
| partof  *integer* | *Part of ...* |
| volume  *string* | *Number of Volume* |
| volume_sorting  *string* | *Number of Volume (Sorting)* |
| license  *string* | *License* |
| terms  *string* | *Terms of Use* |
| restrictions  *string* | *Restrictions on Access* |
| out_of_print  *text* | *Out Of Print Works* |
| rights_info  *text* | *Rights Information* |
| collections  *integer* | *Collections* |
| mets_label  *text* | *METS @LABEL* |
| mets_orderlabel  *text* | *METS @ORDERLABEL* |
| owner  *integer* | *Owner* |
| solrcore  *integer* |  |
| status  *smallint* | *Status* |
| document_format  *string* | *METS or IIIF* |

## tx_dlf_formats: Data Formats {#tx-dlf-formats-data-formats}

Extbase domain model: `Kitodo\Dlf\Domain\Model\Format`

Configured data formats and namespaces like MODS, ALTO, IIIF etc.
They are referenced by `tx_dlf_metadataformat.encoded`.
The formats OAI, METS and XLINK are pre-defined.

Data formats are modeled after XML, though JSON may be used with a pseudo root and namespace.

For more information, see the documentation page on metadata.

| Field | Description |
| --- | --- |
| **uid**  *integer* | The uid of the record. The uid is only unique in the context of the database table. |
| pid  *integer* | The id of the page the record is "stored". |
| tstamp  *integer* |  |
| crdate  *integer* |  |
| cruser_id  *integer* |  |
| deleted  *smallint* |  |
| type  *string* | *Format Name (e.g. in METS)* Name of the type that is used to reference it. |
| root  *string* | *Root Element* The XML root element used by this format. |
| namespace  *string* | *Namespace URI* The XML namespace URI used by this format. |
| class  *string* | *Class Name* Fully qualified name of the PHP class that handles the format, or the empty string if no such class is configured. |

## tx_dlf_libraries: Libraries {#tx-dlf-libraries-libraries}

Extbase domain model: `Kitodo\Dlf\Domain\Model\Library`

A library institution with the following use cases:

-   Each `tx_dlf_document` is *owned* by exactly one `tx_dlf_library`. The
    owner is set on indexing, and it is shown in the metadata plugin. If no
    library is configured, the fallback library is named 'default'.
-   The OAI-PMH plugin has a configuration option `library` that is used to
    identify the OAI repository.

| Field | Description |
| --- | --- |
| **uid**  *integer* | The uid of the record. The uid is only unique in the context of the database table. |
| pid  *integer* | The id of the page the record is "stored". |
| tstamp  *integer* |  |
| crdate  *integer* |  |
| cruser_id  *integer* |  |
| deleted  *smallint* |  |
| sys_language_uid  *integer* | *Language* |
| l18n_parent  *integer* | *Transl.Orig* |
| l18n_diffsource  *blob* |  |
| l10n_state  *text* |  |
| label  *string* | *Name* |
| index_name  *string* | *Index Name* |
| website  *string* | *Website* |
| contact  *string* | *Contact* Contact email address of the library (used as `adminEmail` in responses to OAI `Identify` requests). |
| image  *string* | *Logo* image |
| oai_label  *string* | *Open Archives Interface (OAI) Label* The label that is used as `repositoryName` in responses to OAI `Identify` requests |
| oai_base  *string* | *Open Archives Interface (OAI) Base URL* OAI base URL used when harvesting the library via `kitodo:harvest`. |
| opac_label  *string* | *Online Public Access Catalog (OPAC) Label* |
| opac_base  *string* | *Online Public Access Catalog (OPAC) Base URL* |
| union_label  *string* | *Union Catalog Label* |
| union_base  *string* | *Union Catalog Base URL* |

## tx_dlf_mail: Email {#tx-dlf-mail-email}

Extbase domain model: `Kitodo\Dlf\Domain\Model\Mail`

(Basket Plugin) Recipient mail addresses for sending documents.

| Field | Description |
| --- | --- |
| **uid**  *integer* | The uid of the record. The uid is only unique in the context of the database table. |
| pid  *integer* | The id of the page the record is "stored". |
| deleted  *smallint* |  |
| sorting  *integer* |  |
| mail  *string* | *Address* |
| name  *string* | *Name* |
| label  *string* | *Email* |

## tx_dlf_metadata: Metadata {#tx-dlf-metadata-metadata}

Extbase domain model: `Kitodo\Dlf\Domain\Model\Metadata`

A metadata kind (title, year, ...) and its configuration for display and indexing.

| Field | Description |
| --- | --- |
| **uid**  *integer* | The uid of the record. The uid is only unique in the context of the database table. |
| pid  *integer* | The id of the page the record is "stored". |
| tstamp  *integer* |  |
| crdate  *integer* |  |
| cruser_id  *integer* |  |
| deleted  *smallint* |  |
| sys_language_uid  *integer* | *Language* |
| l18n_parent  *integer* | *Transl.Orig* |
| l18n_diffsource  *blob* |  |
| l10n_state  *text* |  |
| hidden  *smallint* | *Hide* |
| sorting  *integer* | Order (relative position) of this entry in metadata plugin and backend list. |
| label  *string* | *Display Label* |
| index_name  *string* | *Index Name* |
| format  *integer* | *Data Format* The formats that encode this metadata (local IRRE field to `tx_dlf_metadataformat`). |
| default_value  *string* | *Default Value* |
| wrap  *text* | *TypoScript-Wrap* |
| index_tokenized  *smallint* | *Tokenize in Search Index?* |
| index_stored  *smallint* | *Store in Search Index?* |
| index_indexed  *smallint* | *Index in Search Index?* |
| index_boost  *float* | *Field boost* |
| is_sortable  *smallint* | *Prepare for sorting?* |
| is_facet  *smallint* | *Prepare for faceting?* |
| is_listed  *smallint* | *Show in titledata/listview?* |
| index_autocomplete  *smallint* | *Use for search suggestion?* |
| status  *smallint* | *Status* |

## tx_dlf_metadataformat: Metadata Format {#tx-dlf-metadataformat-metadata-format}

Extbase domain model: `Kitodo\Dlf\Domain\Model\MetadataFormat`

This specifies a way how a metadata (`tx_dlf_metadata`) may be encoded in a specific data format (`tx_dlf_format`).

For instance, the title of a document may be obtained from either the MODS
title field, or from the TEIHDR caption. This is modeled as two `tx_dlf_metadaformat`
that refer to the same `tx_dlf_metadata` but different `tx_dlf_format`.

This contains the xpath expressions on the model 'Metadata'.

| Field | Description |
| --- | --- |
| **uid**  *integer* | The uid of the record. The uid is only unique in the context of the database table. |
| pid  *integer* | The id of the page the record is "stored". |
| tstamp  *integer* |  |
| crdate  *integer* |  |
| cruser_id  *integer* |  |
| deleted  *smallint* |  |
| l10n_state  *text* |  |
| parent_id  *integer* | UID of the `tx_dlf_metadata` that is encoded by this metadata entry. |
| encoded  *integer* | *Encoding* UID of the `tx_dlf_format` in which this metadata entry is encoded. |
| xpath  *string* | *XPath (relative to //dmdSec/mdWrap/xmlData/root and with namespace) or JSONPath (relative to resource JSON object)* XPath/JSONPath expression to extract the metadata (relative to the data format root). |
| xpath_sorting  *string* | *XPath / JSONPath for sorting (optional)* XPath/JSONPath expression to extract sorting variant (suffixed `_sorting`) of the metadata. |
| subentries  *integer* | *Metadata Subentries* |
| mandatory  *smallint* | *Mandatory field?* |

## tx_dlf_metadatasubentries: Metadata Subentries {#tx-dlf-metadatasubentries-metadata-subentries}

Extbase domain model: `Kitodo\Dlf\Domain\Model\MetadataSubentry`

This specifies a way how a metadatum (`tx_dlf_metadata`) may be encoded in a specific data format (`tx_dlf_format`).

For instance, the title of a document may be obtained from either the MODS
title field, or from the TEIHDR caption. This is modeled as two `tx_dlf_metadaformat`
that refer to the same `tx_dlf_metadata` but different `tx_dlf_format`.

This contains the xpath expressions on the model 'Metadata'.

| Field | Description |
| --- | --- |
| **uid**  *integer* | The uid of the record. The uid is only unique in the context of the database table. |
| pid  *integer* | The id of the page the record is "stored". |
| parent_id  *integer* |  |
| tstamp  *integer* |  |
| crdate  *integer* |  |
| cruser_id  *integer* |  |
| deleted  *smallint* |  |
| sys_language_uid  *integer* | *Language* |
| l18n_parent  *integer* | *Transl.Orig* |
| l18n_diffsource  *blob* |  |
| label  *string* | *Display Label* |
| index_name  *string* | *Index Name* |
| xpath  *string* | *XPath (relative to //dmdSec/mdWrap/xmlData/root and with namespace) or JSONPath (relative to resource JSON object)* |
| default_value  *string* | *Default Value* |
| wrap  *text* | *TypoScript-Wrap* |

## tx_dlf_printer: Printer {#tx-dlf-printer-printer}

Extbase domain model: `Kitodo\Dlf\Domain\Model\Printer`

(Basket Plugin) External printers for sending documents.

| Field | Description |
| --- | --- |
| **uid**  *integer* | The uid of the record. The uid is only unique in the context of the database table. |
| pid  *integer* | The id of the page the record is "stored". |
| deleted  *smallint* |  |
| print  *string* | *CLI command(##fileName##)* |
| label  *string* | *Label* |

## tx_dlf_relations {#tx-dlf-relations}

Pivot table for many-to-many relations between tables. In particular, this is used to match documents and collections by using ident=docs_colls.

| Field | Description |
| --- | --- |
| **uid**  *integer* |  |
| uid_local  *integer* |  |
| uid_foreign  *integer* |  |
| tablenames  *string* |  |
| sorting  *integer* |  |
| sorting_foreign  *integer* |  |
| ident  *string* | An identifier to describe which tables are matched. |

## tx_dlf_solrcores: Solr Cores {#tx-dlf-solrcores-solr-cores}

Extbase domain model: `Kitodo\Dlf\Domain\Model\SolrCore`

Cores on the application-wide Solr instance that are available for indexing.
They may be used, for example, as a parameter to the CLI indexing commands, and are referenced by `tx_dlf_document.solrcore`.
In particular, this holds the index name of the used Solr core.

| Field | Description |
| --- | --- |
| **uid**  *integer* | The uid of the record. The uid is only unique in the context of the database table. |
| pid  *integer* | The id of the page the record is "stored". |
| tstamp  *integer* |  |
| crdate  *integer* |  |
| cruser_id  *integer* |  |
| deleted  *smallint* |  |
| label  *string* | *Display Label* Label of the core that is displayed in the backend. |
| index_name  *string* | *Solr Core* The actual name of the Solr core. |

## tx_dlf_structures: Structures {#tx-dlf-structures-structures}

Extbase domain model: `Kitodo\Dlf\Domain\Model\Structure`

Domain model of 'Structure'.

| Field | Description |
| --- | --- |
| **uid**  *integer* | The uid of the record. The uid is only unique in the context of the database table. |
| pid  *integer* | The id of the page the record is "stored". |
| tstamp  *integer* |  |
| crdate  *integer* |  |
| cruser_id  *integer* |  |
| deleted  *smallint* |  |
| sys_language_uid  *integer* | *Language* |
| l18n_parent  *integer* | *Transl.Orig* |
| l18n_diffsource  *blob* |  |
| l10n_state  *text* |  |
| hidden  *smallint* | *Hide* |
| toplevel  *smallint* | *Toplevel Unit?* |
| label  *string* | *Display Label* |
| index_name  *string* | *Index Name* |
| oai_name  *string* | *OAI-PMH Mapping* |
| thumbnail  *integer* | *Get thumbnail from...* |
| status  *smallint* | *Status* |

## tx_dlf_tokens: Tokens {#tx-dlf-tokens-tokens}

Extbase domain model: `Kitodo\Dlf\Domain\Model\Token`

Resumption tokens for OAI-PMH interface.

| Field | Description |
| --- | --- |
| **uid**  *integer* | The uid of the record. The uid is only unique in the context of the database table. |
| pid  *integer* | The id of the page the record is "stored". |
| tstamp  *integer* | Timestamp of the token used to determine if it has expired. |
| token  *string* | The resumption token string. |
| options  *text* | Data that is used to resume the previous request. |
| ident  *string* | Originally an identifier for the kind of token ('oai'). Not used at the moment. |
