TYPO3 Forge: Issueshttp://forge.typo3.org/http://forge.typo3.org/themes/typo3_forge/favicon/favicon.png?17058661692023-08-30T11:27:43ZTYPO3 Forge
Redmine TYPO3 Core - Bug #101798 (New): Prevent saving unchanged inline records to save performancehttp://forge.typo3.org/issues/1017982023-08-30T11:27:43ZSebastian Michaelsenmichaelsen@t3seo.de
<p><strong>Problem</strong></p>
<p>When you have a record, which has 10 inline items and the record is translated (along with the inline items) into 10 languages, then saving the record even with no changes to the inline items causes the DataHandler to save 110 database records which can take some 30 seconds.</p>
<p><strong>Why is that?</strong></p>
<p>The inline records have toggles to hide/unhide them (unless the table does no support that), which means when saving the record there will be a `someid => ['hidden' => '0']` entry for each inline item, which causes DataHandler to save that inline item, which then also triggers saving of its translations.</p>
<p><strong>Solution(?)</strong></p>
<p>It could be solved in backend JavaScript, so that the inline `hidden` form fields are only included in the request when their value was changed.</p>
<p><strong>Workaround</strong></p>
<p>For our project I created a backend middleware, that intercepts the `data` when a record is saved and removes any entries, that have just the hidden field and it is unchanged. (Yes, I create a database request for each of those entries but it's still <em>way</em> faster than before)</p> TYPO3 Core - Bug #95368 (Closed): Passing an eID array URL parameter logs into the TYPO3 error loghttp://forge.typo3.org/issues/953682021-09-27T10:31:17ZSebastian Michaelsenmichaelsen@t3seo.de
<p>Calling <a class="external" href="https://www.example.com/index.php?eID[]=">https://www.example.com/index.php?eID[]=</a> produces an entry like this in the <code>sys_log</code>:</p>
<pre>
Core: Error handler (FE): PHP Warning: Illegal offset type in /path/to/project/typo3/sysext/frontend/Classes/Middleware/EidHandler.php line 70
</pre>
<p>This is the case for TYPO3 v10.4 and from looking at the code also at master.</p> TYPO3 Core - Bug #93480 (New): PDF Cropping configuration is not possible for editorshttp://forge.typo3.org/issues/934802021-02-10T09:42:03ZSebastian Michaelsenmichaelsen@t3seo.de
<p>TYPO3 can create images from PDFs and can also crop them. But for editors it's not possible to set that cropping, because the cropping wizard doesn't work for PDFs.</p> TYPO3 Core - Bug #93433 (New): TCA placeholder __row|field doesn't translate related recordshttp://forge.typo3.org/issues/934332021-02-04T11:40:41ZSebastian Michaelsenmichaelsen@t3seo.de
<p>When using the __row|field syntax in placeholders, the related row is not overlaid with its translation.</p>
<p>example TCA for a tt_content field:<br /><pre>
'tx_myext_teaser_title' => [
'label' => $lll . '.tx_myext_teaser_title',
'config' => [
'type' => 'input',
'placeholder' => '__row|tx_myext_teaser_page|title',
],
],
</pre></p>
<p>For a translated content element, the placeholder should be filled with the value from the translated page record.</p> TYPO3 Core - Bug #93098 (Closed): Missing 'depends' section in ext_emconf.php leads to errorhttp://forge.typo3.org/issues/930982020-12-17T13:04:57ZSebastian Michaelsenmichaelsen@t3seo.de
<p>If an extension has no <code>'depends'</code> section in <code>ext_emconf.php</code>, but requires packages via <code>composer.json</code>, then during <code>install:generatepackagestates</code> an error is raised:</p>
<p>The package "myext" depends on "my/composer-package" which is not present in the system.</p>
<p>When putting <code>'constraints' => ['depends' => []],</code> into <code>ext_emconf.php</code> it works fine.</p>
<p>Especially for project specific local extensions you may not have any dependencies specified. When it works with the empty depends array, it should also be possible to leave it out entirely.</p> TYPO3 Core - Bug #92906 (New): File Metadata are not editable when translation doesn't exist yethttp://forge.typo3.org/issues/929062020-11-23T13:52:03ZSebastian Michaelsenmichaelsen@t3seo.de
<p>In the backend form of sys_file_reference inline records, typically there's a link where you can edit the metadata of the selected file.</p>
<p>Since the fix for <a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Bug: \TYPO3\CMS\Backend\Form\Container\InlineRecordContainer::renderForeignRecordHeaderControl wrong e... (Closed)" href="http://forge.typo3.org/issues/82178">#82178</a> this link is removed if there is not sys_file_metadata record in the same language as sys_file_reference record.</p>
<p>However obviously editors want to edit metdata for files which have not been explicitly localized before. So I suggest that sys_file_metadata translations are created on demand in this situation.</p> TYPO3 Core - Bug #85965 (Rejected): FileWriter fails to check for valid log file pathhttp://forge.typo3.org/issues/859652018-08-24T16:43:53ZSebastian Michaelsenmichaelsen@t3seo.de
<p><code>\TYPO3\CMS\Core\Log\Writer\FileWriter::setLogFile()</code> uses <code>GeneralUtility::getFileAbsFileName()</code> to get the absolute path to a given <code>$logFile</code>. <code>GeneralUtility::getFileAbsFileName()</code> always returns a string, even in an error case it returns an empty string. However the return value is checked for being <code>null</code>.</p>
<p><a class="external" href="https://github.com/TYPO3/TYPO3.CMS/commit/bfdc332650a92839e8ae73ec21b29f23609b5a1e#r30280568">https://github.com/TYPO3/TYPO3.CMS/commit/bfdc332650a92839e8ae73ec21b29f23609b5a1e#r30280568</a></p>
<p>That means that exception #1444374805 can never be thrown.</p>
<p>This applies to v7, v8 and master.</p> TYPO3 Core - Bug #77710 (Closed): Configure the "rel" parameter for embedded Youtube videoshttp://forge.typo3.org/issues/777102016-08-31T12:54:22ZSebastian Michaelsenmichaelsen@t3seo.de
<p>The YouTubeRenderer currently does not support the "rel" url parameter. Setting it to 0 it will prevent the display of related videos after finishing the embedded video.</p>
<p><a class="external" href="https://developers.google.com/youtube/player_parameters#rel">https://developers.google.com/youtube/player_parameters#rel</a></p> TYPO3 Core - Bug #77409 (Closed): Invalid origin for JS API enabled Youtube videoshttp://forge.typo3.org/issues/774092016-08-04T16:54:40ZSebastian Michaelsenmichaelsen@t3seo.de
<p>The <code>YouTubeRenderer</code> has the option <code>enablejsapi</code> that allows script access on the embedded Youtube video.</p>
<p>That is a feature provided by Youtube, which is documented here: <a class="external" href="https://developers.google.com/youtube/player_parameters#origin">https://developers.google.com/youtube/player_parameters#origin</a><br />As recommended the <code>YouTubeRenderer</code> sets the origin parameter, but it only contains the host name while in Youtube examples origin also contains the request scheme.</p>
<p>For me accessing the video only works when the origin is provided with request scheme.</p>
<p><code><iframe id="ytplayer" type="text/html" width="640" height="390" src="https://www.youtube.com/embed/M7lc1UVf-VE?autoplay=1&origin=example.com" frameborder="0"></iframe></code><br />=> script access doesn't work</p>
<p><code><iframe id="ytplayer" type="text/html" width="640" height="390" src="https://www.youtube.com/embed/M7lc1UVf-VE?autoplay=1&origin=http://example.com" frameborder="0"></iframe></code><br />=> script access works</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 #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>