Task Center 

Extension key

taskcenter

Package name

friendsoftypo3/taskcenter

Version

12.1

Language

en

Author

TYPO3 contributors

License

This document is published under the Open Content License.

Rendered

Tue, 17 Mar 2026 15:33:06 +0000


The Task Center adds a module to the user's drop-down menu in the toolbar. It provides the framework into which other extensions hook, for example, the sys_action extension.

The functionality was part of the TYPO3 Core until TYPO3 v10.0, and moved into its own extension, receiving its own public repository.


Table of Contents:

Introduction 

What does it do? 

The Taskcenter is designed to be a place to manage all kind of tasks. It is especially useful for editors to have a central place of common activities in the TYPO3 backend. The tasks need to be implemented by other extensions, for example the system extension sys_actions & impexp.

Screenshots 

This is a view of the BE module's main screen. 5 different tasks are implemented in this example.

Example screenshot

The BE module with various tasks

Current state 

The extension has been part of TYPO3 Core for a very long time but never received much love. It may become more healthy if maintained as third party extension and has been extracted for this reason.

Installation 

The latest version can be installed via TER or via composer by running

composer require friendsoftypo3/taskcenter
Copied!

in a TYPO3 v10.0+ installation.

Administration 

As this extensions needs to be implemented by other extensions, it doesn't provide any additional information except the rendering of tasks.

Hide tasks 

It is possible to hide tasks from users by using the following TSconfig (User TSconfig):

taskcenter {
        <extension-key>.<task-class>= 0
}
Copied!

Be aware that the parts between the < and > need to be replace by the actual extension key and class name.

Developer's Guide 

The Taskcenter makes it very easy to create a new task item. Furthermore the implementations in the extensions sys_action and impexp but also in other extensions in the TER provide a good basis to learn by example.

Creating a new task 

Creating the task class 

This is the heart of a task. It is the code that actually does what the task is supposed to do. A task is represented by a PHP class that implements the interface \TYPO3\CMS\Taskcenter\TaskInterface:

namespace Foo\Bar\Task;
class DoSomething implements \TYPO3\CMS\Taskcenter\TaskInterface {
  public function getTask() {
            ...
  }
  public function getOverview() {
            ...
 }
}
Copied!

The 2 mentioned method must be implemented!

getTask()
The function getTask() is expected to perform the task logic and returns the content of the task.
getOverview()
The function getOverview() creates an optional menu of items or description which is rendered in the menu of tasks.

Autoloading 

The Taskcenter expects all task classes to be available with the TYPO3 autoloader. They thus must be declared in the ext\_autoload.php file of the extension that provides these classes. Again the ext\_autoload.php file of sys_action can be used as an example.

Declaring the task class 

As a last step, the task class must be declared so the Taskcenter knows of its existence. The declaration must be placed in the ext_tables.php file of the extension that provides the task. Let's look at the declaration of sys_action as an example:

$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['taskcenter']['sys_action']['tx_sysaction_task'] = array(
	'title' => 'LLL:EXT:sys_action/Resources/Private/Language/locallang_tca.xlf:sys_action',
	'description' => 'LLL:EXT:sys_action/Resources/Private/Language/locallang_csh_sysaction.xlf:.description',
	'icon' => 'EXT:sys_action/Resources/Public/Images/x-sys_action.png'
);
Copied!

The registration is made in the array $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['taskcenter']. A key is then used that corresponds to the task class (in bold above). Then come 3 parameters:

  • title : the name of the task. May use localized labels.
  • description : a text describing the task. It is displayed in the information screen of the BE module. May use localized labels.
  • icon : Path to an icon for the task.

Taskcenter API 

It is possible to refer to the Taskcenter from other extensions. Once a \TYPO3\CMS\Taskcenter\Controller\TaskModuleController object has been instantiated all of its public methods can be used. The PHPdoc of the methods should be enough to understand what each is to be used for. It would be excessive to describe them all here.

However a few deserve a special mention:

  • description(): This method is used to render a description including title and description.
  • renderListMenu(): This method is used to render a menu of sub items by a given array holding the following information: Title, Link, Path to an icon, description and a special description which is not using htmlspecialchars().

Contribution 

Feel free to submit any pull request, or add documentation, tests, as you please. We will publish a new version every once in a while, depending on the amount of changes and pull requests submitted.

License 

The extension is published under GPL v2+, all included third-party libraries are published under their respective licenses.

Authors 

Many contributors have been working on this area while this functionality was part of the TYPO3 Core. This package is now maintained by a loose group of TYPO3 enthusiasts inside the TYPO3 Community. Feel free to contact Benni Mack for any questions regarding "taskcenter".

Sitemap