o-ba / custom_dashboard_widgets
Set of custom widgets for the new dashboard module. Let's start creating your own!
Installs: 39 048
Dependents: 1
Suggesters: 1
Security: 0
Stars: 6
Watchers: 2
Forks: 1
Open Issues: 3
Type:typo3-cms-extension
Requires
- php: >=8.0
- typo3/cms-core: ^12.4
- typo3/cms-dashboard: ^12.4
Requires (Dev)
- roave/security-advisories: dev-master
Suggests
- typo3/cms-extensionmanager: Needed for widget 'localExtensions'
- typo3/cms-scheduler: Needed for widget 'failedSchedulerTasks'
Replaces
- typo3-ter/custom_dashboard_widgets: 1.3.0
README
1. Introduction
This extension adds a set of widgets for the new dashboard module, available since TYPO3 v10.3.
It however only works with TYPO3 v10.4 and higher as the widget registration was reworked in this release.
Background
This extensions evolves from t3security_news_widget which is outdated as it uses the old way to register widgets and was however already implemented as a core widget with this patch.
2. Installation
Installation with Composer
If you are using a composer based TYPO3 project just run composer require o-ba/custom_dashboard_widgets
.
Installation from TER (TYPO3 Extension Repository)
You can download and install the extension in the extension manager module or download the ZIP file from typo3.org and upload it in the extension manager module.
First steps
After the installation switch to the dashboard module.
If you have not set any dashboard yet, TYPO3 will create two dashboards automatically, which are defined in the presets. The default dashboard, shipped by core and the custom dashboard including all custom widgets from this extension.
If you have already created some dashboards, simply create a new one by clicking the +
button in the dashboard
select tab bar and select Custom dashboard.
in the wizard. This will create the same dashboard mentioned before with
all widgets from this extension.
You can also add some custom widgets to already existing dashboards. This is explained in detail in the official documentation.
3. Further notice
This extension is intended as an example extension for
- adding custom widgets (including custom templates, custom stylesheets, ...)
- adding custom data providers,
- adding custom button providers,
- extending core API classes,
- adding custom widget groups,
- adding custom dashboard presets,
- adding TSconfig presets for backend users,
- and some more ...
You can find more information in the official documentation.
Important
The included widgets and data providers don't evaluate any permissions! Therefore most of the widgets shouldn't be activated for editors and only be used by admins.
Included widgets
extensionInformation
: Simple information widget with a custom template using an extended button providerfailedSchedulerTasks
: Displays failed tasks and links to the module by using the extended button providerrecentlyCreatedPages
: Displays a defined number of recently created pages with an edit linkrecentlyModifiedContent
: Displays a defined number of recently modified content with an edit linklocalExtensions
: Displays the amount of 3rd party extensions in the installationtypeOfPages
: Doughnut chart showing amount of pages per page typetypeOfContent
: Bar chart showing amount of contet elements per content typet3blog
: Listing of blog articles from typo3.comcontribute
: Information widget with information on how to contribute
Included DataProvider
ExtendedButtonProvider
: Extends the default button provider for an icon and the possibility to link to modulesFailedSchedulerTasksDataProvider
: A list data provider which fetches failed scheduler tasksListOfRecordsDataProvider
: Provides a list of records by a given table, limit and orderLocalExtensionsDataProvider
: Provides the number of local extensions present in the systemRecordsByTypeDataProvider
: Provides chart data containing the amount of records for each record type
Extended API classes
WidgetApi
: Added a larger set of colors and a shuffle option
Dependencies
Following widgets require additional TYPO3 packages which are suggested while installing this extension via composer.
failedSchedulerTasks
: Requirestypo3/cms-scheduler
localExtensions
: Requirestypo3/cms-extensionmanager
The mentioned widgets are configured through services.php
instead of services.yaml
to only make them available
if the required dependency is installed.
Screenshots
4. Credits
Icons used in this repository are made by Freepik from www.flaticon.com