Project

General

Profile

Actions

Bug #18722

closed

"Broken rootline" error when creating new page in Draft

Added by John Angel about 16 years ago. Updated over 10 years ago.

Status:
Closed
Priority:
Should have
Assignee:
Category:
-
Target version:
-
Start date:
2008-04-28
Due date:
% Done:

0%

Estimated time:
TYPO3 Version:
4.2
PHP Version:
4.3
Tags:
Complexity:
Is Regression:
Sprint Focus:

Description

When making new page in Draft Workspace using Wizard (New Record/Page(inside)/Click here for wizard), Typo3 always reports:

"Error: The requested page didn't have a proper connection to the tree-root! (Broken rootline)".

When not using Wizard (New Record/Page(inside)) this Error doesn't happen.

It seems the problem is in typo3/sysext/cms/tslib/class.tslib_fe.php:1050
$ws = $this->whichWorkspace();

Function whichWorkspace doesn't return correct $ws value because $this->beUserLogin == 0!?

This is quick workaround, but not the solution:
$ws = $GLOBALS['BE_USER']->workspace;

It should be investigated why $this->beUserLogin is zero.

(issue imported from #M8280)


Files

patch_8280_v42x_brokenRootline.diff (566 Bytes) patch_8280_v42x_brokenRootline.diff Administrator Admin, 2009-06-16 12:05
patch_8280_v43x_brokenRootline.diff (566 Bytes) patch_8280_v43x_brokenRootline.diff Administrator Admin, 2009-06-16 12:05

Related issues 1 (0 open1 closed)

Related to TYPO3 Core - Bug #21670: "Broken rootline" error when editing a title in a versioned pageClosed2009-11-24

Actions
Actions #1

Updated by Jens Cramer almost 16 years ago

There is the same error when you create a new page in draft workspace and in custom workspaces.

This problem relates to the use of realurl.

The class class.tx_realurl_tcemain.php:320 calls the function $GLOBALS['TSFE']->getPageAndRootline() in the class tslib_fe.

This function calls the function $ws = $this->whichWorkspace() which returns "false" because $this->beUserLogin==0 although a workspace should be identified by $GLOBALS['BE_USER']->workspace.

TYPO3 Version: 4.2.1
RealURL Version: 1.3.3 and 1.4.0

Actions #2

Updated by marco bamert over 15 years ago

I have the same problem with RealURL 1.5.1.

Actions #3

Updated by d.ros no-lastname-given over 15 years ago

RealURL 1.5.2
T3: 4.2.2
PHP Version 5.2.5

Problem still present.

Actions #4

Updated by Marcel Greter about 15 years ago

We also have this Problem when we change a Page-Title (while beeing in the custom Draft Workspace). Tried to look into the Problem, but it seems not to be an easy fix.

Jens Cramer is right about $this->beUserLogin being false. If I looked correctly, this is normally set in index_ts.php (BE_USER). I tried to copy the initialization code from there, but got some other error. I didn't look further as I have not enough knowledge about the internal concepts of workspaces/be_user/fe vs. be

The fix from Jens seems to be working. Does anyone know if there could arise some other problems because of this change? I implemented the fix directly in the whichWorkspace function. Do you see any reason not to do it there and to only fix the getPageAndRootline function?

  1. typo3/sysext/cms/tslib/class.tslib_fe.php @ 4164

    if ($this->doWorkspacePreview()) {
    $ws = intval($this->workspacePreview);
    } elseif ($this->beUserLogin) {
    $ws = $GLOBALS['BE_USER']->workspace;
    + } elseif ($GLOBALS['BE_USER'] && $GLOBALS['BE_USER']->workspace) {
    + $ws = $GLOBALS['BE_USER']->workspace;
    } else return FALSE;

Typo3: 4.2.7
RealURL: 1.5.3

Actions #5

Updated by Tobias Liebig almost 15 years ago

i've debugged the issue

It only occures when realurl is in use and you create a page using the wizard or updating the page title.
The difference when using the wizard instead of the simple "create page" is, that the wizard makes an "update".

RealUrl uses the hook "processDatamap_afterDatabaseOperations" in t3lib_tcemain. Whenever a record is "updated", realurl creates a faked TSFE to get the current rootline.
Realurl does not set the beUserLogin flag. Thus the $ws wont be set correct.

i tried to set the beUserLogin flag in the faked TSFE, but unfortunately it fails.
So i think Marcels Bugfix works best, even if i think it's an realurl issue rather then an core issue.

i'm preparing a patch and post it in the core list...

Actions #6

Updated by Sergii Khomenko almost 15 years ago

Typo3 4.2.6
RealURL disabled
PHP 5.1

I just tried to apply teh patch as suggested, so the code of the functiuon look like:
function whichWorkspace($returnTitle = FALSE) {
if ($this->doWorkspacePreview()) {
$ws = intval($this->workspacePreview);
} elseif ($GLOBALS['BE_USER'] && $GLOBALS['BE_USER']->workspace) {
$ws = $GLOBALS['BE_USER']->workspace;
} else return FALSE;

if ($returnTitle)    {
if ($ws===-1) {
return 'Default Draft Workspace';
} else {
$res = $GLOBALS['TYPO3_DB']->exec_SELECTquery('title', 'sys_workspace', 'uid='.intval($ws));
if ($row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res)) {
return $row['title'];
}
}
} else {
return $ws;
}
}

The error is still there. It shows up when new version of a page is created when modifying page properites like page type or title.

Is there a resolution to this issue yet?

Thank you very much

Sergii

Actions #7

Updated by Helmut Hummel over 14 years ago

This problem is solved for me with realurl 1.7.0

Actions #8

Updated by Sergii Khomenko over 14 years ago

Just tried to check if realurl update to 1.7.0 solves the issue.

My software is:
Typo3 4.2.10
RealUrl 1.7.0
PHP 5.1.2

The problem is still not resolved, the steps to reproduce:
1. Change workspace from Live to Draft
2. Try to modify a page
3. Get an error screen saying;

"The requested page didn't have a proper connection to the tree-root!

(Broken rootline)"

Sergii

Actions #9

Updated by Tobias Liebig over 14 years ago

i can reproduce the error in 4.2.10 and 4.2.11-dev (both without the patch)
it seems to be fixed when i apply the patch "patch_8280_v42x_brokenRootline.diff "

i cannot reproduce the behaviour in 4.3.0-dev (current trunk)

Helmut: which TYPO3-Core did you test? i guess 4.3.0

Actions #10

Updated by Tobias Liebig over 14 years ago

Benni Mack figured out that the same error occurred, when you create a new version while you are in the "Live"-Workspace and then try to edit the title.

So we have two cases:
1) edit the title of the page in the draft workspace
2) create a ne version in the live-workspce and then edit the title

Case 1 is solved by the patch.
Case 2 is still open, i'll debug that

Actions #11

Updated by Tobias Liebig over 14 years ago

i tried to debug case 2 and i found a "workaround". But i'm not sure if it won't break anything regarding Versioning/Workspaces.

So i think we should handle these two cases separately.

i'll create a new issue for case 2 and send a reminder in the core list for the patch for case 1

Actions #12

Updated by Sergii Khomenko over 14 years ago

Hi Everyone,

Just checked if the error still present on typo3 4.3.0. Following the same steps:
1. Change workspace from Live to Draft
2. Try to modify a page
3. Get an error screen saying;

"The requested page didn't have a proper connection to the tree-root!

(Broken rootline)"

Applying the attached patch now with following commands:
[~/public_html/www]# cd typo3_src-4.3.0/
[~/public_html/www/typo3_src-4.3.0]# patch --dry-run p1 < ../patch_8280_v43x_brokenRootline.diff
can't find file to patch at input line 5
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
-------------------------
|Index: typo3/sysext/cms/tslib/class.tslib_fe.php |=================================================================== |--- typo3/sysext/cms/tslib/class.tslib_fe.php (Revision 5596) |+++ typo3/sysext/cms/tslib/class.tslib_fe.php (Arbeitskopie)
--------------------------
File to patch:

Am I missing anything?
Thank you

Actions #13

Updated by Tobias Liebig over 14 years ago

try "patch --dry-run -p0" instead of "patch --dry-run -p1"

Actions #14

Updated by Tobias Liebig over 14 years ago

the patch is still not commited (pending for review in the core list). Thus it was not shipped in 4.3.0

Actions #15

Updated by Sergii Khomenko over 14 years ago

Thanks Tobias, p0 made it successfully. However, it hasn't fix the problem unfortunately, the bug is still there.

Actions #16

Updated by Chris Mueller over 14 years ago

I had the problem with "broken rootline" as a "normal" user when editing a draft record and changing the title. An update to RealURL version 1.7.0 fixed that problem. I am using TYPO3 4.2.10.

Actions #17

Updated by Helmut Hummel over 14 years ago

I can also confirm that realurl 1.7.0 fixes this issue. I'd say this can be closed now

Actions #18

Updated by Sergii Khomenko over 14 years ago

Strange, on one 4.2.10 installation, realurl update to 1.7.0 fixed the problem, on the other didn't.

4.3.0 is not fixed with realurl 1.7.0

Actions #19

Updated by Bart Veldhuizen almost 14 years ago

I'd like to confirm that on 4.2.12 and realurl 1.8.1, I'm still seeing this problem.

Actions #20

Updated by Stefan Galinski about 11 years ago

  • Status changed from Accepted to Needs Feedback
  • Target version deleted (0)
Actions #21

Updated by Alexander Opitz almost 11 years ago

Does this problem exists in newer versions of TYPO3 CMS (6.1)?

Actions #22

Updated by Alexander Opitz over 10 years ago

  • Status changed from Needs Feedback to Closed

No feedback for over 90 days.

Actions

Also available in: Atom PDF