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 v11
  3. 11.0 Changes
  4. Deprecation: #92598 - Workspace-related methods "fixVersioningPid"
Give feedback Edit on GitHub

Deprecation: #92598 - Workspace-related methods "fixVersioningPid"

See forge#92598

Description

The two workspace-related methods

  • TYPO3\CMS\Core\Domain\Repository\PageRepository->fixVersioningPid()
  • TYPO3\CMS\Backend\Utility\BackendUtility::fixVersioningPid()

have been marked as deprecated, as they are not needed in TYPO3 v11 anymore.

Both methods served to replace the value of a record's "pid" of a live version with the actual "pid" value of a versioned record.

Since TYPO3 v11 this is only different for versioned records which have been moved, where the live record has e.g. a PID value of 13 but in a workspace the record was moved to PID 20. In order to correctly resolve e.g. a page path or a rootline, these methods helped to modify the "pid" value.

However, as TYPO3 v11 does not use Move Placeholders anymore, and move pointers (records moved in a workspace) already contain the newly moved location as "pid" value, the extra database call is not needed.

Impact

Calling these methods in custom PHP code will trigger a PHP E_USER_DEPRECATED error.

Affected Installations

TYPO3 installations with custom PHP code respecting versioned records with these methods. This usually does not apply to Extbase-related extensions or extensions that do not consider moved records in Workspaces (yet).

Migration

The API methods:

  • TYPO3\CMS\Core\Domain\Repository\PageRepository->versionOL()
  • TYPO3\CMS\Backend\Utility\BackendUtility::workspaceOL()
  • TYPO3\CMS\Backend\Utility\BackendUtility::getRecordWSOL()

now override the "pid" value of the moved records directly, and keep the live "pid" value in "_ORIG_pid".

It is highly recommended to use these methods.

If it is needed to manually find the online PID for a versioned record, it is recommended to just fetch the live record (stored in t3ver_oid) via typical Doctrine-based database queries and load the PID value from there, or use the overlay methods as described to get both values.

  • 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: May 07, 2025 12:11

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