TYPO3 Forge: Issueshttp://forge.typo3.org/http://forge.typo3.org/themes/typo3_forge/favicon/favicon.png?17058661692023-09-17T14:38:56ZTYPO3 Forge
Redmine TYPO3 Core - Feature #101935 (New): Better handling of curl error codes in linkvalidatorhttp://forge.typo3.org/issues/1019352023-09-17T14:38:56ZSybille Peterssypets@gmx.de
<p>Unfortunately, one curl error codes may be used for several different problems, e.g.</p>
<p>1. Certificate does not have matching target host name<br />2. Missing intermediate certificate - incomplete certificate chain</p>
<p>The text which is displayed by command line curl / or using Guzzle with libcurl does contain a different text in this case, but the error code is still the same (60 for the examples above).</p>
<p>A number of error codes were localized and the internal linkvalidator text is displayed, not the full error message supplied by curl.</p>
<a name="Solution"></a>
<h2 >Solution<a href="#Solution" class="wiki-anchor">¶</a></h2>
<p>(preliminary ideas)</p>
<ul>
<li>We should find a way to make this configurable, so that the full curl error message will be displayed</li>
<li>show both (e.g. show shorter, localized message by default and show full message as detail view</li>
</ul>
<a name="Info"></a>
<h2 >Info<a href="#Info" class="wiki-anchor">¶</a></h2>
<ul>
<li>curl error codes: <a class="external" href="https://curl.se/libcurl/c/libcurl-errors.html">https://curl.se/libcurl/c/libcurl-errors.html</a></li>
<li>curl source code: <a class="external" href="https://github.com/curl/curl">https://github.com/curl/curl</a></li>
</ul>
<a name="Examples"></a>
<h2 >Examples<a href="#Examples" class="wiki-anchor">¶</a></h2>
<pre>
curl -LI "https://www.rea.ru"
curl: (60) SSL certificate problem: unable to get local issuer certificate
</pre>
<pre>
curl -I https://t3coredev13
curl: (60) SSL: no alternative certificate subject name matches target host name 't3coredev13'
</pre> TYPO3 Core - Task #101711 (New): document classesAnchor for rte_ckeditorhttp://forge.typo3.org/issues/1017112023-08-18T14:58:45ZSybille Peterssypets@gmx.de
<p>This is the only documentation for classesAnchor I could find so far, but this is for rtehtmlarea:</p>
<p><a class="external" href="https://docs.typo3.org/p/friendsoftypo3/rtehtmlarea/main/en-us//Configuration/PageTsconfig/classesAnchor/Index.html">https://docs.typo3.org/p/friendsoftypo3/rtehtmlarea/main/en-us//Configuration/PageTsconfig/classesAnchor/Index.html</a></p>
<p>classesAnchor is not documented in the rte_ckeditor documentation: <a class="external" href="https://docs.typo3.org/c/typo3/cms-rte-ckeditor/main/en-us/Index.html">https://docs.typo3.org/c/typo3/cms-rte-ckeditor/main/en-us/Index.html</a></p>
<p>classesAnchor can be used in rte_ckeditor as well, see example in bootstrap_package:</p>
<pre>
classesAnchor:
page:
class: 'link-page'
type: 'page'
folder:
class: 'link-folder'
type: 'folder'
file:
class: 'link-file'
type: 'file'
external:
class: 'link-external'
type: 'url'
mail:
class: 'link-mail'
type: 'mail'
</pre>
<p><a class="external" href="https://github.com/benjaminkott/bootstrap_package/blob/master/Configuration/RTE/Default.yaml">https://github.com/benjaminkott/bootstrap_package/blob/master/Configuration/RTE/Default.yaml</a></p>
<a name="Search-for-classesAnchor"></a>
<h3 >Search for "classesAnchor"<a href="#Search-for-classesAnchor" class="wiki-anchor">¶</a></h3>
<ul>
<li>in "TYPO3 Explained": no result</li>
<li>in rte_ckeditor Documentation: no result</li>
</ul>
<a name="Related"></a>
<h3 >Related<a href="#Related" class="wiki-anchor">¶</a></h3>
<ul>
<li>changelog: <a href="https://docs.typo3.org/c/typo3/cms-core/main/en-us/Changelog/12.0/Breaking-98275-RemovedPreDefinedLinkTitleAttributesInRTELinkBrowser.html" class="external">Breaking: #98275 - Removed pre-defined link title attributes in RTE link browser</a></li>
</ul> TYPO3 Core - Bug #100746 (New): Better handling of images with wrong file endinghttp://forge.typo3.org/issues/1007462023-04-25T10:08:11ZSybille Peterssypets@gmx.de
<p>If files with wrong file ending (e.g. png image with .jpg or vice versa) are uploaded there are some problem which are difficult to detect if one is not aware of it.</p>
<p>This may vary, depending on the Webserver configuration and graphics tool used (Image Magick or Graphics Magick).</p>
<p><strong>Note: Behaviour may vary depending on TYPO3 version, most of my tests were with v11, should be verified with latest main.</strong></p>
<p>I describe what happens on my system.</p>
<ul>
<li>for processed files, a processed file with size 0 is created (Graphics Magick does not convert it and shows an error message, but this is not displayed in BE)</li>
<li>in the BE, no image is displayed as preview </li>
<li>in the FE, the image is not scaled</li>
<li>no error messages are displayed and no errors are logged (severity >= ERROR)</li>
</ul>
<p>Unfortunately, I have a number of these files, noticed this when searching for files with size 0 (_processed files are created with size=0).</p>
<a name="Suggested-changes"></a>
<h2 >Suggested changes<a href="#Suggested-changes" class="wiki-anchor">¶</a></h2>
<ul>
<li>if possible show an error on upload if the wrong file ending is used or refuse to upload the file (requires 100% correct detection of wrong file ending, at least for images, which may be difficult, should probably be configurable)</li>
<li>or use correct file ending when creating the processed file (e.g. as detected by graphics tool)</li>
<li>or do not create processed files with file ending 0, possibly fallback to creating a placeholder image if the created file has size 0</li>
<li>show errors / log messages</li>
</ul>
<a name="System"></a>
<h2 >System<a href="#System" class="wiki-anchor">¶</a></h2>
<ul>
<li>TYPO3 11.5.26</li>
<li>Graphics Magick (gm)</li>
</ul>
<a name="Reproduce"></a>
<h2 >Reproduce<a href="#Reproduce" class="wiki-anchor">¶</a></h2>
<p>(1)</p>
<p>1. Upload a file with wrong file ending (e.g. previously mv, do not convert 1.jpg 1.png)<br />2. Insert file in "Text & Media" as "asset", specify smaller height / width, view in FE (check if scaled), compare with file which is ok<br />3. activate preview images in file list</p>
Expected:
<ul>
<li>error message or fail on trying to upload image with wrong file extension or error message when creation of scaled image fails (actual: there is no flash message and no log message)</li>
<li>image is scaled in FE or error message is diplayed. (Actual: is not scaled)</li>
<li>preview image is displayed in filelist. (Actual: is not)</li>
</ul>
<a name="How-to-detect-affected-processed-files"></a>
<h2 >How to detect affected processed files<a href="#How-to-detect-affected-processed-files" class="wiki-anchor">¶</a></h2>
<p>On command line:</p>
<pre><code class="shell syntaxhl" data-language="shell">find htdocs/fileadmin/_processed <span class="nt">-type</span> f <span class="nt">-size</span> 0
</code></pre>
<p>The file name of actual file can be derived from the processed file name or looked up in DB sys_file_processedfile.original => sys_file.uid.</p>
<a name="Resources-Tools"></a>
<h2 >Resources / Tools<a href="#Resources-Tools" class="wiki-anchor">¶</a></h2>
<p><strong>gm</strong> This is what was used by TYPO3 to create the thumbnail image in the filelist</p>
<pre><code class="shell syntaxhl" data-language="shell"><span class="s1">'/usr/bin/gm'</span> <span class="s1">'convert'</span> <span class="nt">-interlace</span> None <span class="nt">-auto-orient</span> +profile <span class="s1">'*'</span> <span class="nt">-sample</span> <span class="s1">'64'</span>x<span class="s1">'64'</span> <span class="s1">'png:/var/www/site-uol11/htdocs/fileadmin/test/problems/Koala.png[0]'</span> <span class="s1">'/var/www/site-uol11/var/transient/preview_6908622721787002005.png'</span>
</code></pre>
<p>output:</p>
<pre><code class="shell syntaxhl" data-language="shell">/usr/bin/gm identify: Improper image header <span class="o">(</span>/var/www/site-uol11/var/transient/preview_6908622721787002005.png<span class="o">)</span> <span class="o">[</span>No such file or directory].
</code></pre>
<p>file</p>
<pre>
$ file htdocs/fileadmin/test/problems/Koala.png
</pre>
<p>output:</p>
<pre>
JPEG image data, JFIF standard 1.02, resolution (DPI), density 96x96, segment length 16, Exif Standard: [TIFF image data, big-endian, direntries=7, datetime=2009:03:12 13:48:28], baseline, precision 8, 1024x768, components 3
</pre>
<p>file can be used to show the mime type:</p>
<pre>
$ file -b --mime-type htdocs/fileadmin/test/problems/Koala.png
</pre>
<p>shows:<br /><pre>
image/jpeg
</pre></p>
<p>or the (correct) extension(s):</p>
<pre>
$ file --extension htdocs/fileadmin/test/problems/Koala.png
</pre>
<p>shows:<br /><pre>
jpeg/jpg/jpe/jfif
</pre></p>
<hr />
<p>PHP exif_imagetype</p>
<p><a class="external" href="https://www.php.net/manual/en/function.exif-imagetype.php">https://www.php.net/manual/en/function.exif-imagetype.php</a></p>
<p>also determines real image type.</p> TYPO3 Core - Bug #100309 (New): core ProductionExceptionHandler does not show stacktrace in logshttp://forge.typo3.org/issues/1003092023-03-27T09:04:43ZSybille Peterssypets@gmx.de
<p>There are different kinds of log messages created by different TYPO3 components.</p>
<p>The Frontend component="TYPO3.CMS.Frontend.ContentObject.Exception.ProductionExceptionHandler" writes a complete stack trace to the log.</p>
<p>The TYPO3.CMS.Core.Error.ProductionExceptionHandler (e.g. called in BE) does not.</p>
<p>This makes it difficult to troubleshoot these kinds of errors.</p>
<a name="Example-with-TYPO3CMSCoreErrorProductionExceptionHandler"></a>
<h2 >Example with TYPO3.CMS.Core.Error.ProductionExceptionHandler<a href="#Example-with-TYPO3CMSCoreErrorProductionExceptionHandler" class="wiki-anchor">¶</a></h2>
<p>(added line breaks for better reaability):</p>
<pre>
Sun, 26 Mar 2023 09:53:13 +0200 [CRITICAL] request="230e8bb9a282c"
component="TYPO3.CMS.Core.Error.ProductionExceptionHandler":
Core: Exception handler (WEB: BE): InvalidArgumentException, code #1436717322,
file /var/www/mysite/releases/118/public/typo3/sysext/core/Classes/Http/Uri.php, line 125:
The parsedUri "http:///something/or/other" appears to be malformed -
{"mode":"WEB","application_mode":"BE","exception_class":"InvalidArgumentException","exception_code":1436717322,
"file":"/var/www/mysite/releases/118/public/typo3/sysext/core/Classes/Http/Uri.php","line":125,
"message":
"The parsedUri \"http:///something/or/other" appears to be malformed",
"request_url":"http:///something/or/other","exception":null}
</pre>
<a name="Example-with-TYPO3CMSFrontendContentObjectExceptionProductionExceptionHandler"></a>
<h2 >Example with "TYPO3.CMS.Frontend.ContentObject.Exception.ProductionExceptionHandler"<a href="#Example-with-TYPO3CMSFrontendContentObjectExceptionProductionExceptionHandler" class="wiki-anchor">¶</a></h2>
<pre>
Sun, 26 Mar 2023 11:49:22 +0200 [ALERT] request="bc9e08161a068"
component="TYPO3.CMS.Frontend.ContentObject.Exception.ProductionExceptionHandler":
Oops, an error occurred! Code: 202303260949217e3aa0de- RequiredArgumentMissingException:
Required argument "mail" is not set for In2code\Powermail\Controller\FormController->create.,
in file /var/www/mysite/releases/118/public/typo3/sysext/extbase/Classes/Mvc/Controller/ActionController.php:1048
- {"exception":"TYPO3\\CMS\\Extbase\\Mvc\\Controller\\Exception\\RequiredArgumentMissingException: Required argument \"mail\" is not set for In2code\\Powermail\\Controller\\FormController->create.
in /var/www/mysite/releases/118/public/typo3/sysext/extbase/Classes/Mvc/Controller/ActionController.php:1048
Stack trace:
#0 /var/www/mysite/releases/118/public/typo3/sysext/extbase/Classes/Mvc/Controller/ActionController.php(485): TYPO3\\CMS\\Extbase\\Mvc\\Controller\\ActionController->mapRequestArgumentsToControllerArguments()
#1 /var/www/mysite/releases/118/public/typo3/sysext/extbase/Classes/Mvc/Dispatcher.php(96): TYPO3\\CMS\\Extbase\\Mvc\\Controller\\ActionController->processRequest(Object(TYPO3\\CMS\\Extbase\\Mvc\\Request))
#2 /var/www/mysite/releases/118/public/typo3/sysext/extbase/Classes/Mvc/Web/FrontendRequestHandler.php(46): TYPO3\\CMS\\Extbase\\Mvc\\Dispatcher->dispatch(Object(TYPO3\\CMS\\Extbase\\Mvc\\Request))
#3
....
</pre> TYPO3 Core - Bug #99767 (New): Allowed file types are not displayed with type="input", renderType...http://forge.typo3.org/issues/997672023-01-31T10:32:50ZSybille Peterssypets@gmx.de
<p>This used to be the case with type="inline". Here, the allowed file types were displayed in the form and in the link browser.</p>
<a name="Reproduce"></a>
<h2 >Reproduce<a href="#Reproduce" class="wiki-anchor">¶</a></h2>
<p>There is an example extension available to reproduce, was tested with v12 latest main:</p>
<p><a class="external" href="https://github.com/sypets/sypets_example_inputlink">https://github.com/sypets/sypets_example_inputlink</a></p>
<p>1. in Backend insert a plugin using the "Content element wizard" in tab plugins "InputLink plugin" <br />2. check out the fields in "plugin" tab and compare the behaviour of various types<br />3. Look at flexform file</p>
<a name="Screenshot"></a>
<h2 >Screenshot<a href="#Screenshot" class="wiki-anchor">¶</a></h2>
<p><img src="http://forge.typo3.org/attachments/download/37361/Screenshot_show_allowed_file_extensions.png" alt="" loading="lazy" /></p>
<p>in type="file" the allowed file extensions are displayed (as previously in "inline") in type="link" and renderType="linkType" not.</p>
<a name="Versions"></a>
<h2 >Versions<a href="#Versions" class="wiki-anchor">¶</a></h2>
<ul>
<li>used latest v11 (11.5.22)</li>
<li>this can also be reproduced with v12, with type="link"</li>
</ul>
<a name="Example"></a>
<h2 >Example<a href="#Example" class="wiki-anchor">¶</a></h2>
<pre><code class="xml syntaxhl" data-language="xml"><span class="nt"><settings.link></span>
<span class="nt"><TCEforms></span>
<span class="nt"><label></span>Link<span class="nt"></label></span>
<span class="nt"><config></span>
<span class="nt"><type></span>input<span class="nt"></type></span>
<span class="nt"><renderType></span>inputLink<span class="nt"></renderType></span>
<span class="nt"><fieldControl></span>
<span class="nt"><linkPopup></span>
<span class="nt"><options></span>
<span class="nt"><allowedExtensions></span>bib<span class="nt"></allowedExtensions></span>
<span class="nt"><blindLinkFields></span>class,param,target,title<span class="nt"></blindLinkFields></span>
<span class="nt"><blindLinkOptions></span>page,mail,telephone,folder,tx_calendarize_domain_model_event,news<span class="nt"></blindLinkOptions></span>
<span class="nt"><title></span>Select specific file (*.bib)<span class="nt"></title></span>
<span class="nt"></options></span>
<span class="nt"></linkPopup></span>
<span class="nt"></fieldControl></span>
<span class="nt"></config></span>
<span class="nt"></TCEforms></span>
<span class="nt"></settings.link></span>
</code></pre>
<p>Documentation</p>
<ul>
<li>v11: inputLink: <a class="external" href="https://docs.typo3.org/m/typo3/reference-tca/11.5/en-us/ColumnsConfig/Type/Input/Link/Index.html#columns-input-rendertype-inputlink">https://docs.typo3.org/m/typo3/reference-tca/11.5/en-us/ColumnsConfig/Type/Input/Link/Index.html#columns-input-rendertype-inputlink</a></li>
<li>v12: inputLink was deprecated, type="link" should be used: <a class="external" href="https://docs.typo3.org/m/typo3/reference-tca/main/en-us/ColumnsConfig/Type/Link/Index.html#columns-link">https://docs.typo3.org/m/typo3/reference-tca/main/en-us/ColumnsConfig/Type/Link/Index.html#columns-link</a></li>
</ul> TYPO3 Core - Bug #99153 (New): Discrepancy between behaviour and documentation for "eval" propert...http://forge.typo3.org/issues/991532022-11-21T12:15:45ZSybille Peterssypets@gmx.de
<p>In TYPO3 v11, the code below will make a <strong>selectSingle</strong> a required field, meaning you cannot save and a modal pops up with "The fields marked with an exclamation mark are not yet correctly filled in. Please complete them properly."</p>
<p>But, in the documentation "eval" is not a property, for example for selectSingle.</p>
<ul>
<li><a class="external" href="https://docs.typo3.org/m/typo3/reference-tca/main/en-us/ColumnsConfig/Type/Select/Single/Properties.html">https://docs.typo3.org/m/typo3/reference-tca/main/en-us/ColumnsConfig/Type/Select/Single/Properties.html</a></li>
</ul>
<p>Possibly, the documentation is incorrect or it works unintentionally. There is also issue <a class="issue tracker-2 status-1 priority-4 priority-default" title="Feature: Provide Evaluation of TCA select fields (New)" href="http://forge.typo3.org/issues/60908">#60908</a>, but I think it makes sense to first clarify if we should document "eval" for the select fields or not.</p>
<p>I looked in the source SelectSingleElement. There, AbstractNode::getValidationDataAsJsonString is called which handles eval.</p>
<p>So, by looking at the code, I assume, eval is handled and should be handled.</p>
<pre><code class="xml syntaxhl" data-language="xml"><span class="nt"><settings.test></span>
<span class="nt"><TCEforms></span>
<span class="nt"><label></span>test<span class="nt"></label></span>
<span class="nt"><config></span>
<span class="nt"><type></span>select<span class="nt"></type></span>
<span class="nt"><size></span>5<span class="nt"></size></span>
<span class="nt"><renderType></span>selectSingle<span class="nt"></renderType></span>
<span class="nt"><itemsProcFunc></span>... some funciton<span class="nt"></itemsProcFunc></span>
<span class="nt"><default></default></span>
<span class="nt"><eval></span>required<span class="nt"></eval></span>
...
</code></pre> TYPO3 Core - Story #97528 (New): Add check for references and safe way to delete files in FAL to ...http://forge.typo3.org/issues/975282022-05-02T09:25:10ZSybille Peterssypets@gmx.de
<p>Status: In progress, I can split this up into individual patches.</p>
<hr />
<p>Add public functionality to</p>
<ul>
<li>check if there are references to a file / within a folder (see also FileList::makeRef, ExtendedFileUtility::func_delete and ExtendedFileUtility::folderHasFilesInUse)</li>
<li>return the references to a file</li>
<li>"safely" delete a file / folder (checking for references)</li>
</ul>
<p>If possible, use this functionality instead of having duplicate code or move the functionality to the public API and then use the function there:</p>
<ul>
<li>FileList::makeRef: count number of references</li>
<li>ExtendedFileUtility::func_delete: checking for references</li>
<li>ExtendedFileUtility::transformFileReferenceToRecordReference</li>
</ul>
<p>Add phpdoc / documentation note pointing out that a check for references is not performed when deleting a file in</p>
<ul>
<li>AbstractFile::delete() and Folder::delete()</li>
<li>ResourceStorage::deleteFile() + deleteFolder()</li>
<li>documentation: <a class="external" href="https://docs.typo3.org/m/typo3/reference-coreapi/main/en-us/ApiOverview/Fal/UsingFal/ExamplesFileFolder.html#deleting-a-file">https://docs.typo3.org/m/typo3/reference-coreapi/main/en-us/ApiOverview/Fal/UsingFal/ExamplesFileFolder.html#deleting-a-file</a></li>
</ul>
<p>Add phpdoc / documentation note that this function only handles references within the sys_file_references table. TYPO3 - when performing functionality which concern references (including soft references) typically uses sys_refindex in combination with sys_file_references (which will also consider the soft references) - depending on where this functionality is used, we might want to check for both. In any case, it might make sense to point this out here:</p>
<ul>
<li>FileRepository::findByRelation</li>
<li>documentation: <a class="external" href="https://docs.typo3.org/m/typo3/reference-coreapi/main/en-us/ApiOverview/Fal/UsingFal/ExamplesFileFolder.html#getting-referenced-files">https://docs.typo3.org/m/typo3/reference-coreapi/main/en-us/ApiOverview/Fal/UsingFal/ExamplesFileFolder.html#getting-referenced-files</a></li>
</ul>
<p>A similar note in phpdoc does exist in LocalDriver::deleteFile:</p>
<blockquote>
<ul>
<li>This does not check if the file is</li>
<li>still used or if it is a bad idea to delete it for some other reason</li>
<li>this has to be taken care of in the upper layers (e.g. the Storage)!</li>
</ul>
</blockquote>
<hr />
<p>In TYPO3, there is functionality to delete files, but the function ExtendedFileUtility::func_delete() which does it safely by checking the references has the problem that it is "internal" and not public and also it sends flash messages (which might be a problem if called from CLI command).</p>
<p>The functionality which is public and usable does not check for references (as it is used as lowlevel functionality). AFAIK there is not public API which safely handles the deletion.</p>
<p>Also, there is no phpdoc that points out that it does not (except in the lower level driver functions).</p>
<p>AFAIK, there is no publicly available function which checks for references. The checking for references is done directly in the the code (e.g. in ExtendedFileUtility::func_delete.</p>
<p>So effectively, you have to handle this yourself - which might result in it being done incorrectly and adds lots of internal TYPO3 functionality to code, making it less maintainable. Also, it is a bit complicated to handle sys_refindex and sys_file_references, see also ExtendedFileUtility::func_delete - so that would be really helpful to have some public API functions.</p> TYPO3 Core - Bug #97486 (New): Consider file mounts when renaming or deleting directorieshttp://forge.typo3.org/issues/974862022-04-27T12:20:38ZSybille Peterssypets@gmx.de
<ul>
<li>Directories which have filemounts pointing to them (or to a child page) should not be able to be deleted </li>
<li>If the directory is renamed, the directory in the file mounts (and file mounts with child directories) should be renamed as well</li>
</ul>
<p>Given the following situation:</p>
<ul>
<li>Complex access system of groups / filemounts with filemounts within<br />filemounts</li>
</ul>
<p>e.g.</p>
<pre>
- fileadmin
-> dir1
-> dir1.1
</pre>
<p>- group1 - uses filemount for dir1<br />- group1.1 - uses filemount for dir1.1</p>
<p>Now users in group1 (and admin) could rename the directory dir1.1 (or<br />delete it if no files with references in it). If that happens, the user in group 1.1 can no longer access the files.</p>
<p>Users in group1 may not be aware of the subgroups.</p>
<p>There is no warning, when doing this.</p>
<a name="My-suggestion"></a>
<h2 >My suggestion:<a href="#My-suggestion" class="wiki-anchor">¶</a></h2>
<ul>
<li>it should not be possible by users to delete directories with filemounts (and also with filemounts attached to subdirectories)</li>
<li>directories with filemounts should be marked in filelist so they are<br />visible as "system folder" (and ideally visible as directory with a filemount for admins)</li>
<li>If it is allowed for the directories with filemounts pointing to them (or to child directories) are allowed to be renamed, the file mounts records (sys_file_mount) should be updated as well.</li>
</ul>
<a name="TYPO3-versions"></a>
<h2 >TYPO3 versions<a href="#TYPO3-versions" class="wiki-anchor">¶</a></h2>
<p>I reproduced this in v10, superficially confirmed in latest master v12.</p>
<a name="sys_filemounts"></a>
<h2 >sys_filemounts<a href="#sys_filemounts" class="wiki-anchor">¶</a></h2>
<p>- base (int), is storage<br />- path (varchar), is relative path in storage (not uid)</p>
<p>Thus, sys_filemounts uses the path, not the uid(s) of dirs / Folders (and AFAIK there is no management of folders by uid anyway).</p>
<p>See also note in Folder class:</p>
<pre>
/** The identifier of this folder to identify it on the storage.
* On some drivers, this is the path to the folder, but drivers could also just
* provide any other unique identifier for this folder on the specific storage.
*
* @var string
*/
protected $identifier;
</pre> TYPO3 Core - Task #96110 (New): Clarify usage of custom linkhandler functionality in redirects mo...http://forge.typo3.org/issues/961102021-11-27T19:14:54ZSybille Peterssypets@gmx.de
<p>Currently we documented only links to page, file, URL or path in target of redirects: <a class="external" href="https://docs.typo3.org/c/typo3/cms-redirects/master/en-us/Usage/Index.html#confval-Target">https://docs.typo3.org/c/typo3/cms-redirects/master/en-us/Usage/Index.html#confval-Target</a></p>
<p>We should also address custom links to records (linkhandler).</p>
<p>This seems to work in general (the target is resolved), e.g. for t3://record?identifier=tx_news&uid=1. But there are some problems / thinks to clarify and document.</p>
<p>todos:</p>
<ul>
<li>clarify which URIs are supported (telephone, email does not make sense though, but links to records, e.g. news possibly)</li>
<li>how to configure, e.g. link browser configured by page TSconfig, FE configured by TypoScript, this is usually bound to a page or set globally</li>
<li>update documentation</li>
<li>icon for target not displayed - (should be checked if this works)</li>
</ul>
<p><img src="http://forge.typo3.org/attachments/download/36589/link_target.png" alt="" loading="lazy" /></p>
<p>see also <a class="external" href="https://docs.typo3.org/p/georgringer/news/master/en-us/Tutorials/Integration/Linkhandler/Index.html">https://docs.typo3.org/p/georgringer/news/master/en-us/Tutorials/Integration/Linkhandler/Index.html</a></p>
<p>Should be researched further ...</p> TYPO3 Core - Feature #94526 (New): Add filter to selectSingle type (TCA)http://forge.typo3.org/issues/945262021-07-10T05:36:46ZSybille Peterssypets@gmx.de
<p>It is possible to filter <strong>selectMultipleSideBySide</strong> .</p>
<p>It is not possible to filter <strong>singleSingle</strong></p>
<a name="Suggestion"></a>
<h2 >Suggestion<a href="#Suggestion" class="wiki-anchor">¶</a></h2>
<p>Add configurable option to make single select list filterable. The functionality is already there (see SelectBoxFilter.ts).</p>
<p>If this is then used and the size set to a value > 1, it would make a large number of items in select lists more usable.</p>
<p><img src="http://forge.typo3.org/attachments/download/36166/filterselect.png" alt="" loading="lazy" /></p>
<hr />
<p>Note: As alternative, it is possible to use <strong>selectMultipleSideBySide</strong> with filtering - but if only one element should be selected, the usability is not so great as there is no visual hint that only one should be selected (except that you get feedback once you select too many, but not before) and it is overly complex for the simple purpose of only selecting one element.</p> TYPO3 Core - Bug #93912 (New): Avoid horizontal scrollbar for redirects modulehttp://forge.typo3.org/issues/939122021-04-13T08:48:19ZSybille Peterssypets@gmx.de
<p>If some URL targets are long, a horizontal scrollbar is displayed. This makes the action button invisible and you have to scroll down.</p>
<p>I think this is not very good from a usability point of view - it actually hides the action buttons.</p>
<p>We had the same problem in the linkvalidator list and switched to a fixed layout (where each column has a fixed width).</p>
<p>Another (better?) alternative would be to shorten both source and targets paths if they exceed a certain length.</p>
<a name="System"></a>
<h2 >System<a href="#System" class="wiki-anchor">¶</a></h2>
<ul>
<li>master (11-dev)</li>
<li>10.4.14</li>
</ul>
<p><img src="http://forge.typo3.org/attachments/download/36001/redirects1.png" alt="" loading="lazy" /></p>
<p><img src="http://forge.typo3.org/attachments/download/36002/redirects2.png" alt="" loading="lazy" /></p> TYPO3 Core - Feature #92700 (New): Add URL cache for linkvalidatorhttp://forge.typo3.org/issues/927002020-10-24T20:22:40ZSybille Peterssypets@gmx.de
<p>It would be useful to have more control over the link checking.</p>
<p>Requirements:</p>
<ul>
<li>make it possible to deactivate external link checking entirely (and e.g. let this be done by external task). Using the cache makes it possible - all external URLs to be checked are written to the cache, but not checked</li>
<li>do not check for an URL multiple times - store the result and reuse it. (this is currently already done but only within one batch - the result is stored in an array in ExternalLinktype). But when a new checklink task is started, all URLs are rechecked again.</li>
</ul>
<p>In general there could be 3 different modes:</p>
<ul>
<li>default: use URL from cache if not expired. If not in cache, check and write to cache</li>
<li>noCache: never use cache</li>
<li>cacheOnly : only use cache. If URL is not in cache, treat it like a valid URL - it is not written to broken links table.</li>
</ul>
<p>see <a class="external" href="https://decisions.typo3.org/t/linkvalidator-when-to-do-the-link-checking/653">https://decisions.typo3.org/t/linkvalidator-when-to-do-the-link-checking/653</a></p>
<p>This would solve a number of other problems:</p>
<ul>
<li>more checking could be done on the fly, e.g. when saving a record</li>
<li>in general, less external link checking would be performed</li>
</ul> TYPO3 Core - Bug #92586 (New): Configuration for linktypes not considered in scheduler for linkva...http://forge.typo3.org/issues/925862020-10-18T14:29:28ZSybille Peterssypets@gmx.de
<p>Linkvalidator report always reports results for external, internal (page) and file links, even if configuration was changed in scheduler</p>
<a name="Reproduce"></a>
<h2 >Reproduce<a href="#Reproduce" class="wiki-anchor">¶</a></h2>
<ol>
<li>set configuration in scheduler:</li>
</ol>
<pre>
mod.linkvalidator.linktypes=external
</pre>
<a name="Result"></a>
<h2 >Result<a href="#Result" class="wiki-anchor">¶</a></h2>
<p>Only external link types will be checked but all will be reported. This means that the information for file and internal links reported may be stale.</p>
<p>It would probably better to separate the checking and reporting configuration (as is done in the checklinks "report" and "check" tab), and possibly separate the reporting (via email) and checking altogether, but while this is not yet done, I think the results give should be "fresh" and what was just checked.</p> TYPO3 Core - Task #90667 (New): Directory names for TSconfig not consistent and also not consiste...http://forge.typo3.org/issues/906672020-03-06T17:48:30ZSybille Peterssypets@gmx.de
<pre><code class="text syntaxhl" data-language="text">backend/Configuration/TSconfig
felogin/Configuration/TsConfig
form/Configuration/PageTS
frontend/Configuration/TSconfig
linkvalidator/Configuration/TsConfig
</code></pre>
<p>It's sometimes TSconfig or TsConfig.</p>
<p>And it's sometimes Page in TsConfig or PageTS.</p>
<p>Issue was raised in docs where it is also inconsistent:</p>
<p><a class="external" href="https://github.com/TYPO3-Documentation/TYPO3CMS-Reference-CoreApi/issues/794">https://github.com/TYPO3-Documentation/TYPO3CMS-Reference-CoreApi/issues/794</a></p>
<p>I don't know which way should be the "correct" way.</p>
<p>I found the discussion in decisions which is usually used to decide these things:</p>
<ul>
<li><a class="external" href="https://decisions.typo3.org/t/file-endings-for-typoscript-files-and-tsconfig-files/43/5">https://decisions.typo3.org/t/file-endings-for-typoscript-files-and-tsconfig-files/43/5</a></li>
</ul>
<p>But the final post with the results does not mention the folder structure:</p>
<ul>
<li><a class="external" href="https://decisions.typo3.org/t/file-endings-for-typoscript-and-tsconfig-files-results/71/3">https://decisions.typo3.org/t/file-endings-for-typoscript-and-tsconfig-files-results/71/3</a></li>
</ul> TYPO3 Core - Feature #90659 (New): Default not displayed for "Installation-Wide Options" + make s...http://forge.typo3.org/issues/906592020-03-06T12:20:50ZSybille Peterssypets@gmx.de
<a name="Default-not-displayed"></a>
<h2 >Default not displayed<a href="#Default-not-displayed" class="wiki-anchor">¶</a></h2>
<p>The default is not displayed for all options. In some cases, the default is written in the text, e.g. for [SYS][exceptionalErrors] " Default is 4096 = E_ALL & ...".</p>
<p>The default is available in the DefaultConfiguration.php, so maybe this is easily possible to do to automatically display the default.</p>
<p>Also, because of <a class="issue tracker-1 status-1 priority-4 priority-default" title="Bug: The current value for "Global Configuration" that is displayed is not changed if configuration is... (New)" href="http://forge.typo3.org/issues/90658">#90658</a> the displayed current value does not always reflect the saved state.</p>
<p>Often, the default value is just empty string. But for values with a selection (e.g. cookieSecure, cookieSameSite), how do you know which is the default and how do you switch to the default if you don't know?</p>
<p>Some ideas:</p>
<ul>
<li>display the default value in a different style </li>
<li>or display the default, only if the current version is different from default, along with current value, e.g.</li>
</ul>
<pre><code class="text syntaxhl" data-language="text">[BE][cookieDomain] = mydomain (default: '')
</code></pre>
<a name="How-do-you-switch-to-the-default"></a>
<h2 >How do you switch to the default?<a href="#How-do-you-switch-to-the-default" class="wiki-anchor">¶</a></h2>
<ul>
<li>if you want to change a specific setting to the default, you often can if there is a text field by emptying the text field. But, this is not immediately intuitive.</li>
<li>Having a button "Set to default" or "Set all values to default" might be helpful</li>
</ul>