TYPO3 v15 dev-main snapshot ()

This commit is contained in:
2026-08-10 22:31:14 +02:00
commit ff4622ba97
138 changed files with 9045 additions and 0 deletions
+73
View File
@@ -0,0 +1,73 @@
.. include:: /Includes.rst.txt
.. _bar-chart-widget:
================
Bar Chart Widget
================
.. php:namespace:: TYPO3\CMS\Dashboard\Widgets
Widgets using this class will show a bar chart with the provided data.
This kind of widgets are useful if you want to show some statistics of for example
historical data.
.. php:class:: TYPO3\CMS\Dashboard\Widgets\BarChartWidget
.. _bar-chart-widget-example:
Example
-------
.. code-block:: yaml
:caption: Excerpt from EXT:dashboard/Configuration/Services.yaml
services:
dashboard.widget.sysLogErrors:
class: 'TYPO3\CMS\Dashboard\Widgets\BarChartWidget'
arguments:
$dataProvider: '@TYPO3\CMS\Dashboard\Widgets\Provider\SysLogErrorsDataProvider'
$buttonProvider: '@TYPO3\CMS\Dashboard\Widgets\Provider\SysLogButtonProvider'
$options:
refreshAvailable: true
tags:
- name: dashboard.widget
identifier: 'sysLogErrors'
groupNames: 'systemInfo'
title: 'LLL:EXT:dashboard/Resources/Private/Language/locallang.xlf:widgets.sysLogErrors.title'
description: 'LLL:EXT:dashboard/Resources/Private/Language/locallang.xlf:widgets.sysLogErrors.description'
iconIdentifier: 'content-widget-chart-bar'
height: 'medium'
width: 'medium'
.. _bar-chart-widget-options:
Options
-------
.. include:: Options/RefreshAvailable.rst.txt
.. _bar-chart-widget-dependencies:
Dependencies
------------
.. confval:: $dataProvider
:type: :php:`\TYPO3\CMS\Dashboard\Widgets\ChartDataProviderInterface`
:name: bar-chart-widget-dataProvider
To add data to a Bar Chart widget, you need to have a DataProvider that implements
the interface :php-short:`\TYPO3\CMS\Dashboard\Widgets\ChartDataProviderInterface`.
See :ref:`graph-widget-implementation` for further information.
.. confval:: $buttonProvider
:type: :php:`\TYPO3\CMS\Dashboard\Widgets\ButtonProviderInterface`
:name: bar-chart-widget-buttonProvider
Optionally you can add a button with a link to some additional data.
This button should be provided by a ButtonProvider that implements the interface
:php-short:`\TYPO3\CMS\Dashboard\Widgets\ButtonProviderInterface`.
See :ref:`adding-buttons` for further info and configuration options.
+72
View File
@@ -0,0 +1,72 @@
.. include:: /Includes.rst.txt
.. _cta-button-widget:
=================
CTA Button Widget
=================
.. php:namespace:: TYPO3\CMS\Dashboard\Widgets
.. php:class:: TYPO3\CMS\Dashboard\Widgets\CtaWidget
Widgets using this class will show a CTA (=Call to action) button to easily go to
a specific page or do a specific action. You can add a button to the widget by
defining a button provider.
You can use this kind of widget to link to for example a manual or to an important
website that is used a lot by the users.
.. _cta-button-widget-example:
Example
-------
.. code-block:: yaml
:caption: Excerpt from EXT:dashboard/Configuration/Services.yaml
services:
dashboard.widget.docGettingStarted:
class: 'TYPO3\CMS\Dashboard\Widgets\CtaWidget'
arguments:
$buttonProvider: '@dashboard.buttons.docGettingStarted'
$options:
text: 'LLL:EXT:dashboard/Resources/Private/Language/locallang.xlf:widgets.documentation.gettingStarted.text'
tags:
- name: dashboard.widget
identifier: 'docGettingStarted'
groupNames: 'documentation'
title: 'LLL:EXT:dashboard/Resources/Private/Language/locallang.xlf:widgets.documentation.gettingStarted.title'
description: 'LLL:EXT:dashboard/Resources/Private/Language/locallang.xlf:widgets.documentation.gettingStarted.description'
iconIdentifier: 'content-widget-text'
height: 'small'
.. _cta-button-widget-options:
Options
-------
.. include:: Options/RefreshAvailable.rst.txt
.. confval:: text
:name: cta-button-text
:type: string
:Example: `LLL:EXT:dashboard/Resources/Private/Language/locallang.xlf:widgets.documentation.gettingStarted.text`
Adds an optional text to the widget to give some more background information
about what a user can expect when clicking the button.
You can either enter a normal string or a translation string.
.. _cta-button-widget-dependencies:
Dependencies
------------
.. confval:: $buttonProvider
:type: :php:`\TYPO3\CMS\Dashboard\Widgets\ButtonProviderInterface`
:name: cta-button-buttonProvider
Provides the actual button to show within the widget.
This button should be provided by a ButtonProvider that implements the interface
:php-short:`\TYPO3\CMS\Dashboard\Widgets\ButtonProviderInterface`.
See :ref:`adding-buttons` for further info and configuration options.
@@ -0,0 +1,70 @@
.. include:: /Includes.rst.txt
.. _doughnut-chart-widget:
=====================
Doughnut Chart Widget
=====================
.. php:namespace:: TYPO3\CMS\Dashboard\Widgets
.. php:class:: TYPO3\CMS\Dashboard\Widgets\DoughnutChartWidget
Widgets using this class will show a doughnut chart with the provided data.
This kind of widgets are useful if you want to show the relational proportions
between data.
.. _doughnut-chart-widget-example:
Example
-------
.. code-block:: yaml
:caption: Excerpt from EXT:dashboard/Configuration/Services.yaml
services:
dashboard.widget.typeOfUsers:
class: 'TYPO3\CMS\Dashboard\Widgets\DoughnutChartWidget'
arguments:
$dataProvider: '@TYPO3\CMS\Dashboard\Widgets\Provider\TypeOfUsersChartDataProvider'
$options:
refreshAvailable: true
tags:
- name: dashboard.widget
identifier: 'typeOfUsers'
groupNames: 'systemInfo'
title: 'LLL:EXT:dashboard/Resources/Private/Language/locallang.xlf:widgets.typeOfUsers.title'
description: 'LLL:EXT:dashboard/Resources/Private/Language/locallang.xlf:widgets.typeOfUsers.description'
iconIdentifier: 'content-widget-chart-pie'
height: 'medium'
.. _doughnut-chart-widget-options:
Options
-------
.. include:: Options/RefreshAvailable.rst.txt
.. _doughnut-chart-widget-dependencies:
Dependencies
------------
.. confval:: $dataProvider
:type: :php:`\TYPO3\CMS\Dashboard\Widgets\ChartDataProviderInterface`
:name: doughnut-chart-widget-dataProvider
To add data to a Bar Chart widget, you need to have a DataProvider that implements
the interface :php-short:`\TYPO3\CMS\Dashboard\Widgets\ChartDataProviderInterface`.
See :ref:`graph-widget-implementation` for further information.
.. confval:: $buttonProvider
:type: :php:`\TYPO3\CMS\Dashboard\Widgets\ButtonProviderInterface`
:name: doughnut-chart-widget-buttonProvider
Optionally you can add a button with a link to some additional data.
This button should be provided by a ButtonProvider that implements the interface
:php-short:`\TYPO3\CMS\Dashboard\Widgets\ButtonProviderInterface`.
See :ref:`adding-buttons` for further info and configuration options.
+17
View File
@@ -0,0 +1,17 @@
.. include:: /Includes.rst.txt
.. _widgets:
=======
Widgets
=======
The following section will provide information for all provided widgets.
For each widget an example registration will be provided,
together with all configuration options.
.. toctree::
:glob:
:titlesonly:
*Widget
+58
View File
@@ -0,0 +1,58 @@
.. include:: /Includes.rst.txt
.. _list-widget:
===========
List Widget
===========
.. php:namespace:: TYPO3\CMS\Dashboard\Widgets
.. php:class:: TYPO3\CMS\Dashboard\Widgets\ListWidget
Widgets using this class will show a simple list of items provided by a data
provider.
.. _list-widget-example:
Example
-------
.. code-block:: yaml
:caption: Excerpt from EXT:dashboard/Configuration/Services.yaml
services:
dashboard.widget.testList:
class: 'TYPO3\CMS\Dashboard\Widgets\ListWidget'
arguments:
$dataProvider: '@Vendor\Ext\Widgets\Provider\TestListWidgetDataProvider'
$options:
refreshAvailable: true
tags:
- name: dashboard.widget
identifier: 'testList'
groupNames: 'general'
title: 'List widget'
description: 'Description of widget'
iconIdentifier: 'content-widget-list'
height: 'large'
width: 'large'
.. _list-widget-options:
Options
-------
.. include:: Options/RefreshAvailable.rst.txt
.. _list-widget-dependencies:
Dependencies
------------
.. confval:: $dataProvider
:type: :php:`\TYPO3\CMS\Dashboard\Widgets\NumberWithIconDataProviderInterface`
:name: list-widget-dataProvider
This class should provide the items to show.
This data provider needs to implement the
:php-short:`\TYPO3\CMS\Dashboard\Widgets\NumberWithIconDataProviderInterface`.
@@ -0,0 +1,84 @@
.. include:: /Includes.rst.txt
.. _number-widget:
=======================
Number With Icon Widget
=======================
.. php:namespace:: TYPO3\CMS\Dashboard\Widgets
.. php:class:: TYPO3\CMS\Dashboard\Widgets\NumberWithIconWidget
Widgets using this class will show a widget with a number, some additional
text and an icon.
This kind of widgets are useful if you want to show some simple stats.
.. _number-widget-example:
Example
-------
.. code-block:: yaml
:caption: Excerpt from EXT:dashboard/Configuration/Services.yaml
services:
dashboard.widget.failedLogins:
class: 'TYPO3\CMS\Dashboard\Widgets\NumberWithIconWidget'
arguments:
$dataProvider: '@TYPO3\CMS\Dashboard\Widgets\Provider\NumberOfFailedLoginsDataProvider'
$options:
title: 'LLL:EXT:dashboard/Resources/Private/Language/locallang.xlf:widgets.failedLogins.title'
subtitle: 'LLL:EXT:dashboard/Resources/Private/Language/locallang.xlf:widgets.failedLogins.subtitle'
icon: 'content-elements-login'
refreshAvailable: true
tags:
- name: dashboard.widget
identifier: 'failedLogins'
groupNames: 'systemInfo'
title: 'LLL:EXT:dashboard/Resources/Private/Language/locallang.xlf:widgets.failedLogins.title'
description: 'LLL:EXT:dashboard/Resources/Private/Language/locallang.xlf:widgets.failedLogins.description'
iconIdentifier: 'content-widget-number'
.. _number-widget-options:
Options
-------
.. include:: Options/RefreshAvailable.rst.txt
.. confval:: title
:type: string
:name: number-widget-title
:Example: `LLL:EXT:dashboard/Resources/Private/Language/locallang.xlf:widgets.failedLogins.title`
The main title that will be shown in the widget as an explanation of the shown number.
You can either enter a normal string or a translation string.
.. confval:: subtitle
:type: string
:name: number-widget-subtitle
:Example: `LLL:EXT:dashboard/Resources/Private/Language/locallang.xlf:widgets.failedLogins.subtitle`
The optional subtitle that will give some additional information about the number and title.
You can either enter a normal string or a translation string.
.. confval:: icon
:type: string
:name: number-widget-icon
The icon-identifier of the icon that should be shown in the widget.
You should register your icon with the :ref:`t3coreapi:icon`.
.. _number-widget-dependencies:
Dependencies
------------
.. confval:: $dataProvider
:type: :php:`\TYPO3\CMS\Dashboard\Widgets\NumberWithIconDataProviderInterface`
:name: number-widget-dataProvider
This class should provide the number to show.
This data provider needs to implement the
:php-short:`\TYPO3\CMS\Dashboard\Widgets\NumberWithIconDataProviderInterface`.
@@ -0,0 +1,9 @@
.. confval:: refreshAvailable
:type: boolean
:default: :yaml:`false`
:noindex:
Boolean value, either :yaml:`false` or :yaml:`true`.
Provides a refresh button to backend users to refresh the widget.
If the option is omitted :yaml:`false` is assumed.
+128
View File
@@ -0,0 +1,128 @@
.. include:: /Includes.rst.txt
.. _rss-widget:
==========
RSS Widget
==========
.. versionchanged:: 14.0
The RSS widget was extended to support Atom feeds (commonly used by GitHub,
GitLab, and other platforms)
.. php:namespace:: TYPO3\CMS\Dashboard\Widgets
.. php:class:: TYPO3\CMS\Dashboard\Widgets\RssWidget
Widgets using this class will show a list of items of the configured RSS feed
or Atom feed.
The "RSS Widget" supports both RSS and Atom feeds via automatic detection.
Widget instances are fully configurable with custom labels, feed URLs, and
display limits. Each widget can be configured independently, allowing multiple
feeds of different formats on the same dashboard
Automatic caching ensures optimal performance with configurable cache lifetimes.
.. contents::
.. _rss-widget-usage:
Usage of the RSS Widget in the dashboard
----------------------------------------
You can use this kind of widget to show your own RSS feed
or Atom feed.
#. Navigate to the dashboard where you want to add the widget
#. Click "Add widget" and select the RSS widget
#. Click the settings (cog) icon to customize the widget
#. Configure the feed URL (RSS or Atom), limit, and label as needed
#. Save the configuration to apply changes
.. _rss-widget-format:
Feed format support
-------------------
The RSS widget now supports both feed formats:
**RSS Feeds:**
Item titles
Displayed as clickable links
Publication dates
Used for sorting entries (newest first)
Descriptions
Displayed as entry content (HTML tags stripped)
**Atom Feeds:**
Entry titles
Displayed as clickable links
Publication dates
Used for sorting entries (newest first)
Content/Summary
Displayed as entry description (HTML tags stripped)
Author information
Name, email, and URL when provided in the feed
.. _rss-widget-example:
Example for RSS widget with Atom feed
-------------------------------------
.. literalinclude:: _codesnippets/_rsswidget-services.yaml
:caption: EXT:my_extension/Configuration/Services.yaml
.. _rss-widget-options:
Options
-------
.. include:: Options/RefreshAvailable.rst.txt
The following options are available via :yaml:`services.dashboard.widget.t3news.arguments.$options`:
.. confval:: label
:type: string
:name: rss-widget-label
* Custom title for the widget instance
* Optional field that defaults to the widget's default title
.. confval:: feedUrl
:type: string
:name: rss-widget-feedUrl
Defines the URL or file providing the RSS Feed.
This is read by the widget in order to fetch entries to show.
.. confval:: lifeTime
:type: int
:name: rss-widget-lifeTime
:Default: `43200`
Defines how long to wait, in seconds, until fetching RSS Feed again.
.. confval:: limit
:type: int
:name: rss-widget-limit
:Default: `5`
Defines how many RSS items should be shown.
.. _rss-widget-dependencies:
Dependencies
------------
.. confval:: $buttonProvider
:type: :php:`\TYPO3\CMS\Dashboard\Widgets\ButtonProviderInterface`
:name: rss-widget-buttonProvider
Provides an optional button to show which is used to open the source of RSS data.
This button should be provided by a ButtonProvider that implements the interface
:php-short:`\TYPO3\CMS\Dashboard\Widgets\ButtonProviderInterface`.
See :ref:`adding-buttons` for further info and configuration options.
@@ -0,0 +1,28 @@
services:
# Button provider for external link
dashboard.buttons.github_releases:
class: 'TYPO3\CMS\Dashboard\Widgets\Provider\ButtonProvider'
arguments:
$title: 'View all releases'
$link: 'https://github.com/TYPO3/typo3/releases'
$target: '_blank'
# RSS widget with Atom feed URL
dashboard.widget.github_releases:
class: 'TYPO3\CMS\Dashboard\Widgets\RssWidget'
arguments:
$buttonProvider: '@dashboard.buttons.github_releases'
$options:
feedUrl: 'https://github.com/TYPO3/typo3/releases.atom'
lifeTime: 43200
limit: 10
tags:
- name: dashboard.widget
identifier: 'github_releases'
groupNames: 'general'
title: 'LLL:EXT:my_extension/Resources/Private/Language/locallang.xlf:widgets.github_releases.title'
description: 'LLL:EXT:my_extension/Resources/Private/Language/locallang.xlf:widgets.github_releases.description'
iconIdentifier: 'content-widget-rss'
height: 'large'
width: 'medium'