Widgets are executed, even if they are not used
I have the impression that data is loaded for all widgets that are installed, even if no user has added them to any dashboard (so they are not used).
I understand that this is more a design/concept issue, rather than a bug.
How to reproduce¶
SimpleFileBackend is used.
- I am the only BE user in the system and I removed all widgets from the default dashboard, except for the TYPO3 News.
- I deleted all files in
typo3temp/var/cache/data/dashboard_rss/and accessed the dashboard.
- Two new files are stored in the cache directory: the data for the "TYPO3 News" and the for the "TYPO3 Security advisories".
- I expected only one file ("TYPO3 News"), not the "TYPO3 Security advisories".
There are two main issues with the current behavior: performance and privacy.
If all installed widgets are triggered, no matter if they are used or not, this would clearly have a performance impact. In particular if a number of widgets are installed that execute resource-hungry operations or external services (e.g. remote API calls).
Widgets that access external services by executing API calls, inform the remote service about the originating IP address of the TYPO3 site. There is not much you can do about this, but in the light of minimizing this action, a TYPO3 instance should not establish connections to remote services if this is not required. If no user uses the widget in question, the widget should not be executed.
Uninstalling the extension that provides the widget is not an option as the administrator user (or integrator) cannot know which widgets are used by the BE users, or will be used in the future.
#1 Updated by Gerrit Code Review about 1 month ago
- Status changed from New to Under Review
Patch set 1 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/63486