Support the project

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

03.04.2012

Some more changes ahead

François Suter

A new version of Tesseract is slated for release in a couple of weeks. It again contains some API changes. This means that all extensions should be updated in one go upon the next release. The changes themselves affect only developers who have created custom Tesseract components. Read the details below if that is your case.

The main change is the handling of the empty data structures. There are several cases where an empty data structure is created. For example when a filter turns out to be empty and the option "If filter empty: Display nothing" was checked in a displaycontroller element. There was a flaw in the way this process was handled which could lead to the wrong table name appearing in the empty structure (for the full details, please refer to the related Forge entry). The controller is no longer supposed to create the empty structure itself. Instead it should delegate that task to the relevant Data Provider, which knows about its own tables. Following this change, method initEmptyDataStructure() was removed from the Data Provider's interface. Instead it is now part of the base class and its visibility is protected. Controllers thus cannot call it directly anymore. They call setEmptyDataStructureFlag() instead and the Data Provider has to take care about creating an empty structure when its getDataStructure() method is called.

Another minor change was the removal of method tx_tesseract_utilities::wrapMessage(), which was obsolete after the introduction of flash messages in the TYPO3 Core (since version 4.3.0, which is the minimum required by the whole Tesseract framework anyway). If your custom component relied on this method, please change it to use flash messages instead.