:information_source: View this commit on Github
:busts_in_silhouette: Authored by Christian Kuhn lolli@schwarzbu.ch
:heavy_check_mark: Merged by Georg Ringer georg.ringer@gmail.com
Commit message
[!!!][TASK] Make sys_template not workspace aware
The patch makes table "sys_template" no longer
obey workspaces: The workspace related fields
are gone and the overlay calls removed. An upgrade
wizard sets all existing workspace overlay rows
to deleted.
There are quite a few reasons to do this:
Workspaces is about content: pages, tt_content and
attached inline relations are content. All that
is typically editable by editors. But TypoScript
templates are system configuration: Templates and
the Template module are admin-only, editors can't
and shouldn't fiddle here. When content depends on a
sys_template change, editors can't publish this in
one go. Having sys_template table workspace aware is
a conceptual flaw from this point of view since it
creates a hard dependency to admin actions when
publishing content.
Preparing sys_template changes in a workspace is
not a good development workflow: More and more
TypoScript is delivered by file includes under VCS
to be easily manageable and deployable. Spreading
TypoScript using sys_template records in the page
tree is becoming old fashioned and contracts
this good practice.
Workspace aware sys_template record usages are an
seldom edge case: Most situations can be handled
by preparing TypoScript in live already. Typical
use cases are additional CSS files, which can be
prepared in live by admins already using different
selectors or TypoScript conditions and similar.
The workspace implementation of sys_template records
was at least partially broken: Neither the Backend
Template module nor the frontend worked with it
flawlessly, especially when multiple sys_template
records on one page were handled.
Removing workspace awareness for sys_template records
reduces complexity and gives us a do-able path to
improve performance on a query level in further v12
core development, especially in Frontend full-cached
page scenarios and for instances not using workspaces
at all.
12.0/Breaking-98480-TCATableSys_templateIsNoLongerWorkspaceAware.rst
```rst
.. include:: /Includes.rst.txt
.. _breaking-98480-1664546652:
========================================================================
Breaking: #98480 - TCA table "sys_template" is no longer workspace aware
========================================================================
See :issue:`98480`
Description
===========
The TCA database table :php:`sys_template` is no longer workspace aware:
When changing sys_template records in a workspace in the Backend, this has
immediate effect on Live workspace.
Impact
======
Records of the TypoScript table "sys_template" are not available for editors,
this change should not have impact on editors working on content related
workspace records.
Affected installations
======================
Instances with enabled workspaces extension may see an impact: Editing TypoScript
template records immediately affects live. This is a relatively seldom scenario,
an upgrade wizard is in place to set all workspace aware sys_template records to
deleted, preventing them to leak to live.
Migration
=========
Do not change "sys_template" rows in workspaces anymore. Any changes will be published
to live on edit.
.. index:: Backend, Frontend, TCA, TypoScript, NotScanned, ext:core
```
:information_source: View this commit on Github :busts_in_silhouette: Authored by Christian Kuhn lolli@schwarzbu.ch :heavy_check_mark: Merged by Georg Ringer georg.ringer@gmail.com
Commit message
[!!!][TASK] Make sys_template not workspace aware
The patch makes table "sys_template" no longer obey workspaces: The workspace related fields are gone and the overlay calls removed. An upgrade wizard sets all existing workspace overlay rows to deleted.
There are quite a few reasons to do this:
Workspaces is about content: pages, tt_content and attached inline relations are content. All that is typically editable by editors. But TypoScript templates are system configuration: Templates and the Template module are admin-only, editors can't and shouldn't fiddle here. When content depends on a sys_template change, editors can't publish this in one go. Having sys_template table workspace aware is a conceptual flaw from this point of view since it creates a hard dependency to admin actions when publishing content.
Preparing sys_template changes in a workspace is not a good development workflow: More and more TypoScript is delivered by file includes under VCS to be easily manageable and deployable. Spreading TypoScript using sys_template records in the page tree is becoming old fashioned and contracts this good practice.
Workspace aware sys_template record usages are an seldom edge case: Most situations can be handled by preparing TypoScript in live already. Typical use cases are additional CSS files, which can be prepared in live by admins already using different selectors or TypoScript conditions and similar.
The workspace implementation of sys_template records was at least partially broken: Neither the Backend Template module nor the frontend worked with it flawlessly, especially when multiple sys_template records on one page were handled.
Removing workspace awareness for sys_template records reduces complexity and gives us a do-able path to improve performance on a query level in further v12 core development, especially in Frontend full-cached page scenarios and for instances not using workspaces at all.
Change-Id: Id5fdd5c8f9c91ae134bea7506f0b31bf47b28fee Resolves: #98480 Releases: main Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/75918 Tested-by: core-ci typo3@b13.com Tested-by: Stefan Bürk stefan@buerk.tech Tested-by: Georg Ringer georg.ringer@gmail.com Reviewed-by: Stefan Bürk stefan@buerk.tech Reviewed-by: Georg Ringer georg.ringer@gmail.com
:heavy_plus_sign: Added files
12.0/Breaking-98480-TCATableSys_templateIsNoLongerWorkspaceAware.rst
```rst .. include:: /Includes.rst.txt .. _breaking-98480-1664546652: ======================================================================== Breaking: #98480 - TCA table "sys_template" is no longer workspace aware ======================================================================== See :issue:`98480` Description =========== The TCA database table :php:`sys_template` is no longer workspace aware: When changing sys_template records in a workspace in the Backend, this has immediate effect on Live workspace. Impact ====== Records of the TypoScript table "sys_template" are not available for editors, this change should not have impact on editors working on content related workspace records. Affected installations ====================== Instances with enabled workspaces extension may see an impact: Editing TypoScript template records immediately affects live. This is a relatively seldom scenario, an upgrade wizard is in place to set all workspace aware sys_template records to deleted, preventing them to leak to live. Migration ========= Do not change "sys_template" rows in workspaces anymore. Any changes will be published to live on edit. .. index:: Backend, Frontend, TCA, TypoScript, NotScanned, ext:core ```