[!!!][TASK] Do not create new version placeholders in workspaces anymore
Creating a new record in a workspace adds two database rows. One that is the "placeholder", which - since v10.4 - contains the same metadata as the other record: * t3ver_wsid = workspaceID * t3ver_oid = 0 (simulating behavior of an "online pendant record") * t3ver_state = 1 And the "versionized" record, identified by: * t3ver_wsid = workspaceID * t3ver_oid = uid of the new placeholder record * t3ver_state = -1 As of TYPO3 v10, the first record is not needed anymore, the versioned record can be queried directly, however, since the relations (except MM) point to the placeholder record, this one is kept. As result, only one record is created from now on: * t3ver_wsid = workspaceID * t3ver_oid = 0 (no online counterpart) * t3ver_state = 1 On reading, the record is queried directly (no overlay needed anymore!) with the existing Database Doctrine Restrictions. On publishing, the record just gets the state/stage/wsid set and is "live". This brings fundamental benefits: * No overlays needed when querying * Fewer database records (placeholders are not helpful) * Conceptual problems with placeholder and shadowed fields are removed Resolves: #92791 Releases: master Change-Id: I0288cc63fe72d8442d586f309bd4054ac44e829b Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/65587 Tested-by:TYPO3com <noreply@typo3.com> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Benni Mack <benni@typo3.org>
Showing
- typo3/sysext/backend/Classes/Controller/EditDocumentController.php 2 additions, 1 deletion...ext/backend/Classes/Controller/EditDocumentController.php
- typo3/sysext/backend/Classes/Controller/Page/TreeController.php 4 additions, 1 deletion...sysext/backend/Classes/Controller/Page/TreeController.php
- typo3/sysext/backend/Classes/Tree/Repository/PageTreeRepository.php 1 addition, 1 deletion...xt/backend/Classes/Tree/Repository/PageTreeRepository.php
- typo3/sysext/backend/Classes/Utility/BackendUtility.php 31 additions, 17 deletionstypo3/sysext/backend/Classes/Utility/BackendUtility.php
- typo3/sysext/backend/Classes/View/BackendLayout/Grid/GridColumnItem.php 1 addition, 1 deletion...ackend/Classes/View/BackendLayout/Grid/GridColumnItem.php
- typo3/sysext/core/Classes/Authentication/BackendUserAuthentication.php 11 additions, 4 deletions...core/Classes/Authentication/BackendUserAuthentication.php
- typo3/sysext/core/Classes/DataHandling/DataHandler.php 19 additions, 180 deletionstypo3/sysext/core/Classes/DataHandling/DataHandler.php
- typo3/sysext/core/Classes/DataHandling/PlaceholderShadowColumnsResolver.php 0 additions, 120 deletions...Classes/DataHandling/PlaceholderShadowColumnsResolver.php
- typo3/sysext/core/Classes/Database/Query/Restriction/WorkspaceRestriction.php 2 additions, 1 deletion...asses/Database/Query/Restriction/WorkspaceRestriction.php
- typo3/sysext/core/Classes/Database/ReferenceIndex.php 0 additions, 9 deletionstypo3/sysext/core/Classes/Database/ReferenceIndex.php
- typo3/sysext/core/Classes/Database/RelationHandler.php 0 additions, 12 deletionstypo3/sysext/core/Classes/Database/RelationHandler.php
- typo3/sysext/core/Classes/Domain/Repository/PageRepository.php 41 additions, 17 deletions.../sysext/core/Classes/Domain/Repository/PageRepository.php
- typo3/sysext/core/Classes/Migrations/TcaMigration.php 7 additions, 0 deletionstypo3/sysext/core/Classes/Migrations/TcaMigration.php
- typo3/sysext/core/Classes/Routing/PageSlugCandidateProvider.php 3 additions, 2 deletions...sysext/core/Classes/Routing/PageSlugCandidateProvider.php
- typo3/sysext/core/Classes/Utility/RootlineUtility.php 3 additions, 1 deletiontypo3/sysext/core/Classes/Utility/RootlineUtility.php
- typo3/sysext/core/Classes/Versioning/VersionState.php 10 additions, 10 deletionstypo3/sysext/core/Classes/Versioning/VersionState.php
- typo3/sysext/core/Documentation/Changelog/master/Breaking-92791-NewPlaceholderRecordsRemovedInWorkspaces.rst 102 additions, 0 deletions...eaking-92791-NewPlaceholderRecordsRemovedInWorkspaces.rst
- typo3/sysext/core/Tests/Functional/DataHandling/Regular/AbstractActionTestCase.php 1 addition, 1 deletion...unctional/DataHandling/Regular/AbstractActionTestCase.php
- typo3/sysext/core/Tests/Functional/Domain/Repository/PageRepositoryTest.php 6 additions, 5 deletions...Tests/Functional/Domain/Repository/PageRepositoryTest.php
- typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/Overrides/tt_content.php 0 additions, 2 deletions.../irre_tutorial/Configuration/TCA/Overrides/tt_content.php
Please register or sign in to comment