TYPO3 Forge: Issueshttp://forge.typo3.org/http://forge.typo3.org/themes/typo3_forge/favicon/favicon.png?17058661692020-12-08T11:16:58ZTYPO3 Forge
Redmine TYPO3 Core - Bug #93027 (Closed): Workspace preview of hidden extbase records not possiblehttp://forge.typo3.org/issues/930272020-12-08T11:16:58ZSebastian Michaelsenmichaelsen@t3seo.de
<p>Previewing hidden Extbase records works.<br />Previewing versioned Extbase records works.<br />Previewing hidden AND versioned Extbase records does not work for us.</p>
<p>The reason is in <code>\TYPO3\CMS\Extbase\Persistence\Generic\Storage\Typo3DbBackend</code> the record is overlaid with <code>$pageRepository->versionOL()</code>.<br /><code>Typo3DbBackend</code> does not set the optional <code>$bypassEnableFieldsCheck</code> parameter of <code>versionOL()</code> (default is <code>false</code>).</p>
<p>Instead it should respect whatever is set in <code>$querySettings->getIgnoreEnableFields()</code></p>
<p>How to reproduce:</p>
<ul>
<li>Have a TYPO3 installation with EXT:news which has a basic setup (like detail page with a plugin)</li>
<li>Set <code>previewHiddenRecords</code> to true (either via TypoScript <code>plugin.tx_news.settings.previewHiddenRecords = 1</code> or via Plugin Flexform)</li>
<li>Have a hidden news record.</li>
<li>"View" it from its backend form. => Preview will work because we enabled <code>previewHiddenRecords</code> </li>
<li>Switch to a workspace</li>
<li>"View" it from its backend form.</li>
</ul>
<p>Expected result: News preview should open<br />Actual result: "The news record is not available anymore"</p> TYPO3 Core - Bug #89192 (Accepted): TypoScript multi-line value syntax in is broken in Backend La...http://forge.typo3.org/issues/891922019-09-17T18:06:42ZSebastian Michaelsenmichaelsen@t3seo.de
<p>Consider the following Backend Layout:</p>
<pre><code class="text syntaxhl" data-language="text">mod.web_layout.BackendLayouts.infoPage {
title = Info Page
config.backend_layout {
colCount = 1
rowCount = 1
rows {
1.columns.1 {
name = Content Area
colPos = 0
allowed.CType (
gridelements_pi1,
list,
shortcut,
text,
)
}
}
}
}
</code></pre>
<p>The multi-line value for allowed.CType is perfectly valid and correctly parsed by TYPO3. However <code>\TYPO3\CMS\Backend\Provider\PageTsBackendLayoutDataProvider->generateBackendLayoutFromTsConfig</code> tries to reconstruct the original TSconfig from the parsed array and assumes all values are one-line values with <code>=</code> syntax.</p>
<p>The reconstructed TSconfig then looks like this (in Xdebug)</p>
<pre><code class="text syntaxhl" data-language="text">backend_layout.colCount = 1
backend_layout.rowCount = 1
backend_layout.rows.1.columns.1.name = Content Area
backend_layout.rows.1.columns.1.colPos = 0
backend_layout.rows.1.columns.1.allowed.CType = gridelements_pi1,
list,
shortcut,
text
</code></pre>
<p>Resulting in only <code>gridelements_pi1</code> to be allowed.</p>
<p>A possible solution could be to strip all line breaks while reconstructing the TSconfig.</p>
<p>Workaround: Do not use the multi-line value syntax in Backend Layouts.</p>
<p>This affects at least TYPO3 8 to 10.</p> TYPO3 Core - Bug #70498 (Closed): The CategoryRepository should obey the sorting fieldhttp://forge.typo3.org/issues/704982015-10-08T15:06:06ZSebastian Michaelsenmichaelsen@t3seo.de
<p>sys_category records have a sorting field but CategoryRepository ignores it by default.</p>
<p>This is missing in the CategoryRepository:</p>
<pre>
/**
* @var array
*/
protected $defaultOrderings = array(
'sorting' => QueryInterface::ORDER_ASCENDING
);
</pre> TYPO3 Core - Task #68329 (Closed): Use ::class where possible in fluid unit testshttp://forge.typo3.org/issues/683292015-07-18T10:36:04ZSebastian Michaelsenmichaelsen@t3seo.deTYPO3 Core - Task #68326 (Closed): Use "an" instead of "a" in labels and comments where appropriatehttp://forge.typo3.org/issues/683262015-07-18T02:18:17ZSebastian Michaelsenmichaelsen@t3seo.de
<p>In english you have to use "an" before any spoken vowel.</p> TYPO3 Core - Task #63327 (Closed): Use class imports in Cache Frontend classeshttp://forge.typo3.org/issues/633272014-11-25T21:37:39ZSebastian Michaelsenmichaelsen@t3seo.deTYPO3 Core - Task #59001 (Closed): Use self:: where possible in GeneralUtilityhttp://forge.typo3.org/issues/590012014-05-21T16:08:50ZSebastian Michaelsenmichaelsen@t3seo.de
<p>It's common sense to use self:: where possible because it's quicker and makes code better understandable.</p>
<p>I found 2 violations in \TYPO3\CMS\Core\Utility\GeneralUtility</p> TYPO3 Core - Feature #46460 (Closed): Introduce TCA displayCond type "USER"http://forge.typo3.org/issues/464602013-03-20T13:18:21ZSebastian Michaelsenmichaelsen@t3seo.de
<p>With displayCond you can evaluate each form field whether it should be displayed or not. There is a number of options, but you can't define a UserFunction if the options provided by the core don't fit your needs.</p>
<p>Usage example:<br />'displayCond' => 'USER:\\MyVendor\\MyExt\\UserFunction\\MyClass->displayCondition'</p> TYPO3 Core - Feature #45022 (Closed): Utility function to deprecate public method calls.http://forge.typo3.org/issues/450222013-01-31T13:50:38ZSebastian Michaelsenmichaelsen@t3seo.de
<p>At the moment we have a lot of public methods which are not intended for being public. We need a way to deprecate calling them publicly, therefore a Utility Function is introduced.</p>
<p>Usage:</p>
<pre>
/**
* @publicCallDeprecated Since 6.1. Will be protected 2 versions later
*/
public function privateFoo() {
GeneralUtility::logDeprecatedPublicMethodCall();
// do stuff
}
</pre>
<p>If the method is called publicy an entry like this is being made to the deprecation log:<br /><pre>
Deprecated public method call: MyClass->privateFoo() was called publicly which is deprecated (Since 6.1. Will be protected 2 versions later). [DEBUG TRAIL]
</pre></p>
<p>I'm not sure if it is ok to just invent a new phpDoc annotation. But it's the best solution I found to store information about the deprecation strategy.</p> TYPO3 Core - Task #44744 (Closed): Cleanups for sysext beloghttp://forge.typo3.org/issues/447442013-01-23T12:09:15ZSebastian Michaelsenmichaelsen@t3seo.de
<ul>
<li>Fix references to old classes</li>
<li>Use property injection where possible</li>
</ul> TYPO3 Core - Task #44526 (Closed): Use property injection in TYPO3\CMS\Lang\Controller\LnaguageCo...http://forge.typo3.org/issues/445262013-01-15T10:01:58ZSebastian Michaelsenmichaelsen@t3seo.de
<p>The LanguageController has 4 inject* Methods which a pretty vanilla and can be replaced by property injection.</p> TYPO3 Core - Task #40870 (Closed): Add Utility Functions to retreive Information from Class Nameshttp://forge.typo3.org/issues/408702012-09-12T16:23:02ZSebastian Michaelsenmichaelsen@t3seo.de
<p>My intention is to introduce these 2 Utility Functions:</p>
<p>\TYPO3\CMS\Core\Extension\ExtensionManager::getClassNameWithoutVendorAndProduct($className)<br />\TYPO3\CMS\Core\Extension\ExtensionManager::getExtensionKeyFromClassName($className)</p>
<p>These can be used in the the Autoloader for example (will be a separate patch, when this one is done).<br />Also Extbase can make use of these functions to resolve #40742.</p> TYPO3 Core - Bug #40673 (Closed): sysexts cli and integrity have no ext_emconf.phphttp://forge.typo3.org/issues/406732012-09-06T14:05:27ZSebastian Michaelsenmichaelsen@t3seo.de
<p>There are two new sysext folders which have no ext_emconf.php and therefore do not appear in the EM: cli and integrity</p>
<p>Is this by intention?</p> TYPO3 Core - Bug #30406 (Closed): TCA: Fields with eval md5 can not be clearedhttp://forge.typo3.org/issues/304062011-09-29T08:41:29ZSebastian Michaelsenmichaelsen@t3seo.de
<p>Try this: Open a Backend User record and try to use the little 'x' to clear the password field. The field is not cleared.</p>
<p>I pinned it down to the 'eval' => 'md5' configuration. Any fields with this md5-option (most likely password fields) will produce this error.</p> TYPO3 Core - Bug #23451 (Closed): Typo in CSC Constants: "Audeo"http://forge.typo3.org/issues/234512010-08-26T07:01:06ZSebastian Michaelsenmichaelsen@t3seo.de
<p>The Constant Options styles.content.media.defaultAudioWidth has the title "Media Audeo Width" in the constant editor</p>
<p>(issue imported from #M15559)</p>