defect wsid check in workspace-overlay delivering wrong record versions from DB!
The method t3lib_BEfunc::workspaceOL is using a defect check for the current workspace-id with the following sideeffect:
When you have a page in various versions (through versioning) and are working in LIVE-Workspace, the method will overlay the current live version of the record with a older, outdate version.
This happened to me, when I was trying to fetch a pageTS for a certain page and the setting I needed to check did not show up although I defined it in pageTS. Then I started debugging and found this bug.
Sidenote: I set the TYPO3-version for this bug to 4.2 in order to get that fixed for 4.2, but the bug itself is also present in 4.1.5 and probably some versions earlier.
(issue imported from #M8092)
#1 Updated by Franz Koch almost 12 years ago
the patch is now obsolete. The problem is still the same, but it resides on a different place as I've found out. So the patch was merly 'fixing' one symptom instead the actual cause. I've to dig deeper in the core to find the place where the method t3lib_befunc::workspaceOL is called, but the workspaces are not initiated to that point and thus cause the error. Maybe somebody could give a hint?
#2 Updated by Andreas Wolf over 10 years ago
Could you please provide some concise steps to reproduce this problem? I have an idea of how to do this, but I'm not sure if it is correct. And also give a more detailed description of how exactly you found this bug (i.e., what did you do?).
When you try to solve the issue, you could echo t3lib_div::debug_trail() in t3lib_BEfunc::workspaceOL() to show which functions where called before. If you need more detailed information, print_r(debug_backtrace()) could help, but this may be quite huge.