TYPO3 Logo
TYPO3 Core Changelog
Options
Give feedback View source How to edit Edit on GitHub Full documentation (single file)

TYPO3 Core Changelog

  • ChangeLog v14
    • 14.0 Changes
    • 14.x Changes by type
  • ChangeLog v13
    • 13.4.x Changes
    • 13.4 Changes
    • 13.3 Changes
    • 13.2 Changes
    • 13.1 Changes
    • 13.0 Changes
    • 13.x Changes by type
  • ChangeLog v12
    • 12.4.x Changes
    • 12.4 Changes
    • 12.3 Changes
    • 12.2 Changes
    • 12.1 Changes
    • 12.0 Changes
    • 12.x Changes by type
  • ChangeLog v11
    • 11.5.x Changes
    • 11.5 Changes
    • 11.4 Changes
    • 11.3 Changes
    • 11.2 Changes
    • 11.1 Changes
    • 11.0 Changes
    • 11.x Changes by type
  • ChangeLog v10
    • 10.4.x Changes
    • 10.4 Changes
    • 10.3 Changes
    • 10.2 Changes
    • 10.1 Changes
    • 10.0 Changes
    • 10.x Changes by type
  • ChangeLog v9
    • 9.5.x Changes
    • 9.5 Changes
    • 9.4 Changes
    • 9.3 Changes
    • 9.2 Changes
    • 9.1 Changes
    • 9.0 Changes
    • 9.x Changes by type
  • ChangeLog v8
    • 8.7.x Changes
    • 8.7 Changes
    • 8.6 Changes
    • 8.5 Changes
    • 8.4 Changes
    • 8.3 Changes
    • 8.2 Changes
    • 8.1 Changes
    • 8.0 Changes
    • 8.x Changes by type
  • ChangeLog v7
    • 7.6.x Changes
    • 7.6 Changes
    • 7.5 Changes
    • 7.4 Changes
    • 7.3 Changes
    • 7.2 Changes
    • 7.1 Changes
    • 7.0 Changes
    • 7.x Changes by type
  • Documenting Changes
  • Sitemap
  1. TYPO3 Core Changelog
  2. ChangeLog v10
  3. 10.4 Changes
  4. Important: #89555 - Workspace-related database records contain the proper Page ID.
Give feedback Edit on GitHub

Important: #89555 - Workspace-related database records contain the proper Page ID.

See forge#89555

Description

Back in 2006, when the workspaces functionality was added to TYPO3 v4.0, Kasper - the original author of TYPO3 - provided an easy way to put workspaces on top while not worrying about existing logic. Every record that wasn't published had the "pid" field set to "-1" - and thus was filtered out from any database query without having to worry about specific implementations.

14 years later, we have Doctrine DBAL and the solution for "enableFields" has widely been replaced by Database Restrictions, allowing to modify database queries by TYPO3 Core without having to worry about custom queries.

For workspaces however, it is and was very tedious to find the "real pid" for versioned records, and the "pid = -1" scenario is also one of the reasons why workspace overlays are more complex than they need to be.

For this reason, TYPO3 Core now handles versioned records by validating their "t3ver_wsid" (the workspace ID the record is versioned in), "t3ver_state" (the type of the versioned record) and "t3ver_oid" (the live version of a record), and does not need to check for "pid=-1" anymore.

This opens up a more straightforward approach to select and overlay records and reduce the need for some magic methods in TYPO3 Core, which still exist.

An Upgrade Wizard transfers all "pid" fields of versioned records, into the real "pid" fields. TYPO3 Core now only checks for versionized records based on the other fields above.

Please note: This only affects TYPO3 installations with workspaces enabled, and nothing should change for any extension if they use proper WorkspaceRestriction or Workspace Overlay mechanisms in TYPO3 v10.

  • Previous
  • Next
Reference to the headline

Copy and freely share the link

This link target has no permanent anchor assigned. You can make a pull request on GitHub to suggest an anchor. The link below can be used, but is prone to change if the page gets moved.

Copy this link into your TYPO3 manual.

  • Home
  • Contact
  • Issues
  • Repository

Last rendered: Jun 30, 2025 15:44

© since 1997 by the TYPO3 contributors
  • Legal Notice
  • Privacy Policy