Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[TASK] Revise DataHandler introduction #4171

Merged
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
45 changes: 23 additions & 22 deletions Documentation/ApiOverview/DataHandler/Introduction/Index.rst
Original file line number Diff line number Diff line change
@@ -1,31 +1,32 @@
.. include:: /Includes.rst.txt
.. _tce-introduction:
.. include:: /Includes.rst.txt
.. _tce-introduction:
.. _datahandler-introduction:

============
Introduction
============


.. index::
pair: DataHandler; Database
pair: DataHandler; TCA
.. _tce-database:
.. index::
pair: DataHandler; Database
pair: DataHandler; TCA
.. _tce-database:
.. _datahandler-database:

Database
========

The TYPO3 Core engine is the class that handles *all* ***data***
*writing to database tables configured in $TCA*. In addition the
class handles **commands** such as copy, move, delete. It will handle
The DataHandler is the class that handles **all** :ref:`data <tce-data>`
writing to database tables configured in TCA. In addition the class handles
:ref:`commands <tce-commands>` such as copy, move, delete. It will handle
undo/history and versioning of records and everything will be logged
to the sys\_log. And it will make sure that write permissions are
evaluated correctly for the user trying to write to the database.
Generally, any processing specific option in the $TCA array is handled
to the :sql:`sys_log` table. It will make sure that write permissions are
evaluated correctly for the user trying to write to the database. Generally,
any processing specific option in the :php:`$GLOBALS['TCA']` array is handled
by DataHandler.

Using DataHandler for manipulation of the database content in the $TCA-configured
Using DataHandler for manipulation of the database content in the TCA-configured
tables guarantees that the data integrity of TYPO3 is
respected. This cannot be safely guaranteed if you write to $TCA-configured
respected. This cannot be safely guaranteed, if you write to TCA-configured
database tables directly. It will also manage the relations
to files and other records.

Expand All @@ -35,19 +36,19 @@ to evaluate against. This means you cannot use DataHandler from the
frontend scope. Thus writing to tables (such as a guestbook) will have
to be done from the frontend *without* DataHandler.

The features of the $TCA are described in the :ref:`TCA Reference <t3tca:start>`.

.. seealso::
The features of TCA are described in the :ref:`TCA Reference <t3tca:start>`.

.. index:: pair: DataHandler; Files
.. _tce-files:
.. index:: pair: DataHandler; Files
.. _tce-files:
.. _datahandler-files:

Files
=====

DataHandler also has a part for handling files. The file operations are
normally performed in the :guilabel:`File > Filelist` module where you can manage a
DataHandler can also handle files. The file operations are normally
performed in the :guilabel:`File > Filelist` module where you can manage a
directory on the server by copying, moving, deleting and editing files
and directories. The file operations are managed by two Core classes,
:php:`\TYPO3\CMS\Core\Utility\File\BasicFileUtility` and
:php:`\TYPO3\CMS\Core\Utility\File\ExtendedFileUtility`.

Loading