Support the project

If you appreciate what the Tesseract project does for you, consider donating to it.

Standardized Data Structures

The full concept of Standardized Data Structures is described in the Tesseract manual. A short example can be found below to give an idea of what they look like and why they are useful.

Let's consider the following SQL query:

SELECT pages.uid, pages.title, tt_content.uid, tt_content.header FROM pages LEFT JOIN tt_content ON = pages.uid

When performed in a usual situation, the result would look something like:

ArrayA typical recordset as returned by the database

Executing such a query via the Data Query component instead will result in a "recordset"-type Standardized Data Structure which will look like this:

ArrayA recordset-type SDS

As can be seen, a number of meta data is added to the resulting structure, in particular the number of records returned.

However the main point is that the data has been re-structured. Instead of being a flat structure, the JOINed records (in this case the tt_content records) are stored as sub-arrays to their respective parent (i.e. the page those records appear in). This makes it extremely convenient for the Data Consumers to handle, allowing for loops on the records from the main table and nested loops on their children elements.


Standardized Data Structures (SDS) ensure that all Tesseract components can interact with each other, because there are only few data formats that they need to be able to handle.

There are two SDS types, plus a separate structure for Data Filters. See the "tesseract" manual for more details.