[TYPO3-dev] Typo3 4.4 workspaces: No versioningPlaceholderClause used for getTable_tt_content?

Thomas Brandl thomas.brandl at native-instruments.de
Fri Jul 2 11:38:17 CEST 2010


Hi,

when creating a new page element in a workspace, this element also 
appears in the live view of the page in the backend Page module. There 
is no visible difference between content elements that are live and the 
content element that should only be visible in another workspace.

The code here speaks for itself:

The content elements are retrieved by 
tx_cms_layout::getTable_tt_content() where the query is lacking a WHERE 
statement to restrict workspaces:

$queryParts = $this->makeQueryArray('tt_content', $id, 'AND 
colPos='.intval($key).$showHidden.$showLanguage);
$result = $GLOBALS['TYPO3_DB']->exec_SELECT_queryArray($queryParts);

Adding t3lib_BEfunc::versioningPlaceholderClause('tt_content') to the 
WHERE clause does not suffice, since 
t3lib_BEfunc::versioningPlaceholderClause() only acts in a workspace 
other than the live one:

public static function versioningPlaceholderClause($table)  {
     if ($GLOBALS['BE_USER']->workspace!==0 ...

This does not seem as a bug to me since I haven't found any complaints 
about this although it's a behavior anyone could miss. On the other 
hand, seeing workspace elements in the live "Page" view is definitely 
not something I want - at least not w/o any visual difference to live 
content elements.

Can anybody explain whether this is a feature and what the idea/benefit 
is behind this or confirm it as a bug?

Thanks a lot!

Best,
Thomas




More information about the TYPO3-dev mailing list