http://forge.typo3.org/http://forge.typo3.org/themes/typo3_forge/favicon/favicon.png?17058661692020-03-05T22:06:07ZTYPO3 ForgeTYPO3 Core - Bug #90653: TCA eval with uniqueInPid: allow identical value in localized contenthttp://forge.typo3.org/issues/90653?journal_id=4177132020-03-05T22:06:07ZGeorg Ringer
<ul><li><strong>Related to</strong> <i><a class="issue tracker-1 status-5 priority-3 priority-lowest closed" href="/issues/84267">Bug #84267</a>: Unique evaluation does not work with l10n_mode=exclude</i> added</li></ul> TYPO3 Core - Bug #90653: TCA eval with uniqueInPid: allow identical value in localized contenthttp://forge.typo3.org/issues/90653?journal_id=4177152020-03-05T22:08:11ZGeorg Ringer
<ul><li><strong>Related to</strong> <i><a class="issue tracker-1 status-5 priority-3 priority-lowest closed" href="/issues/87038">Bug #87038</a>: Unique evaluation does not work with l10n_mode=exclude after editing original record again</i> added</li></ul> TYPO3 Core - Bug #90653: TCA eval with uniqueInPid: allow identical value in localized contenthttp://forge.typo3.org/issues/90653?journal_id=4177172020-03-05T22:09:46ZGeorg Ringer
<ul><li><strong>Status</strong> changed from <i>New</i> to <i>Needs Feedback</i></li></ul><p>can you check if the patch of <a class="issue tracker-1 status-5 priority-3 priority-lowest closed" title="Bug: Unique evaluation does not work with l10n_mode=exclude after editing original record again (Closed)" href="http://forge.typo3.org/issues/87038">#87038</a> <a class="external" href="https://review.typo3.org/c/Packages/TYPO3.CMS/+/58979">https://review.typo3.org/c/Packages/TYPO3.CMS/+/58979</a> would work for you?</p>
<p>I don't know the reason why there is no backport to 9.5 is planned (yet)</p>
<p>thanks</p> TYPO3 Core - Bug #90653: TCA eval with uniqueInPid: allow identical value in localized contenthttp://forge.typo3.org/issues/90653?journal_id=4177422020-03-06T09:02:13ZSebastian Kleinlaitnin@gmx.net
<ul></ul><p>Georg Ringer wrote:</p>
<blockquote>
<p>can you check if the patch of <a class="issue tracker-1 status-5 priority-3 priority-lowest closed" title="Bug: Unique evaluation does not work with l10n_mode=exclude after editing original record again (Closed)" href="http://forge.typo3.org/issues/87038">#87038</a> <a class="external" href="https://review.typo3.org/c/Packages/TYPO3.CMS/+/58979">https://review.typo3.org/c/Packages/TYPO3.CMS/+/58979</a> would work for you?</p>
</blockquote>
<p>I tested this in Version 10.3.0. This patch applies only to fields with <code>'l10n_mode' => 'exclude'</code>.</p>
<p>Setting this <code>l10n_mode</code> would copy the (then identical) value from the source language. But it would prevent the editor to change the value in the localized record.</p> TYPO3 Core - Bug #90653: TCA eval with uniqueInPid: allow identical value in localized contenthttp://forge.typo3.org/issues/90653?journal_id=4191392020-03-15T09:07:05ZBenni Mackbenni@typo3.org
<ul></ul><p>I mean I get what you want to do, but in general this adds quite some complexity:<br />What if a user changes a "language=1" news record with value "custom-de" to "language=0" (making it unique on a per-language level) - then this would need to be automatically adjusted on a per-language level. Things like "language=-1" would also be tricky to achieve.</p>
<p>can you explain your use case?</p> TYPO3 Core - Bug #90653: TCA eval with uniqueInPid: allow identical value in localized contenthttp://forge.typo3.org/issues/90653?journal_id=4191812020-03-15T13:20:14ZSebastian Kleinlaitnin@gmx.net
<ul></ul><p>Benni Mack wrote:</p>
<blockquote>
<p>I mean I get what you want to do, but in general this adds quite some complexity:<br />What if a user changes a "language=1" news record with value "custom-de" to "language=0" (making it unique on a per-language level) - then this would need to be automatically adjusted on a per-language level. Things like "language=-1" would also be tricky to achieve.</p>
<p>can you explain your use case?</p>
</blockquote>
<p><strong>Example:</strong></p>
<p>An editor writes about the services of his web agency. He also wants to use human-readable fragments to link to the different sections on the same page.</p>
<p>The result should be something like <em><a class="external" href="https://www.awesome-agency.com/services/#fragment">https://www.awesome-agency.com/services/#fragment</a></em></p>
<ul>
<li>First, he configures fragments for two content elements in the <strong>english</strong> language: <code>#concept</code> and <code>#typo3</code>.</li>
<li>Then, he wants to configure fragments for the <strong>german</strong> translation: no issues with the first content element, he can use <code>#konzeption</code> here. But when he tries to configure <code>#typo3</code> for the second CE, the result will be <code>typo30</code> instead.</li>
</ul>
<p><strong>The basic problem:</strong></p>
<p>While for many text sections the corresponding fragments could be localized quite easily, brand names etc. are an issue. You could use <code>#ueber-typo3</code> in my example instead.<br />What about a professional article with many technical terms, though? I'd consider it unpleasant to use <code>#ueber-optionsplit</code>, <code>#ueber-parsefunc</code> and so on.</p>
<p>But I'm now aware that the necessary changes to <code>uniqueInPid</code> are more complex than I initially thought. You must decide if you want to add more complexity to this part of TYPO3.</p>
<p><strong>Side note:</strong><br />When a content element with the fragment <code>#example</code> is moved to a new page, the uniqueness of this fragment will automatically be checked during the copy process. If another CE on the new page already contains the identical fragment, the fragment of the copied CE will then be changed to <code>#example0</code>.<br />I guess that this check could be performed as well when the content element's <code>sys_language_uid</code> is changed. The several localization modes of TYPO3 may require a more complex solution, though.</p> TYPO3 Core - Bug #90653: TCA eval with uniqueInPid: allow identical value in localized contenthttp://forge.typo3.org/issues/90653?journal_id=4365152020-12-14T15:45:24ZMichael Rainerrainer-michael@hotmail.com
<ul></ul><p>Sebastian Klein wrote in <a href="#note-6">#note-6</a>:</p>
<blockquote>
<p>Benni Mack wrote:</p>
<blockquote>
<p>I mean I get what you want to do, but in general this adds quite some complexity:<br />What if a user changes a "language=1" news record with value "custom-de" to "language=0" (making it unique on a per-language level) - then this would need to be automatically adjusted on a per-language level. Things like "language=-1" would also be tricky to achieve.</p>
<p>can you explain your use case?</p>
</blockquote>
<p><strong>Example:</strong></p>
<p>An editor writes about the services of his web agency. He also wants to use human-readable fragments to link to the different sections on the same page.</p>
<p>The result should be something like <em><a class="external" href="https://www.awesome-agency.com/services/#fragment">https://www.awesome-agency.com/services/#fragment</a></em></p>
<ul>
<li>First, he configures fragments for two content elements in the <strong>english</strong> language: <code>#concept</code> and <code>#typo3</code>.</li>
<li>Then, he wants to configure fragments for the <strong>german</strong> translation: no issues with the first content element, he can use <code>#konzeption</code> here. But when he tries to configure <code>#typo3</code> for the second CE, the result will be <code>typo30</code> instead.</li>
</ul>
<p><strong>The basic problem:</strong></p>
<p>While for many text sections the corresponding fragments could be localized quite easily, brand names etc. are an issue. You could use <code>#ueber-typo3</code> in my example instead.<br />What about a professional article with many technical terms, though? I'd consider it unpleasant to use <code>#ueber-optionsplit</code>, <code>#ueber-parsefunc</code> and so on.</p>
<p>But I'm now aware that the necessary changes to <code>uniqueInPid</code> are more complex than I initially thought. You must decide if you want to add more complexity to this part of TYPO3.</p>
<p><strong>Side note:</strong><br />When a content element with the fragment <code>#example</code> is moved to a new page, the uniqueness of this fragment will automatically be checked during the copy process. If another CE on the new page already contains the identical fragment, the fragment of the copied CE will then be changed to <code>#example0</code>.<br />I guess that this check could be performed as well when the content element's <code>sys_language_uid</code> is changed. The several localization modes of TYPO3 may require a more complex solution, though.</p>
</blockquote>
<p>Hi Sebastian, <br />hi Benni,</p>
<p>I've exactly the same problem like Sebastian described. <br />My example is about a hotel website, where the customer could create rooms and they are visible as detail pages in the frontend. <br />Every room should have a clean unique URL ( like /en/rooms/pool-suite), but in the german translation, the room should also be called pool-suite and<br />with uniqueInPid, it gets converted to pool-suite0.<br />An Option like uniqueInPidAndLanguage would be cool, but I know, that's a lot of work and also complicate to achieve and to maintain.</p>
<p><a class="user active user-mention" href="http://forge.typo3.org/users/320">@Benni Mack</a> If there is nothing planned for this case, what would be a good solution? May you give me a good hint?<br /><a class="user active user-mention" href="http://forge.typo3.org/users/11">@Sebastian Kurfuerst</a>: What was your solution?</p>
<p>Thanks in advance.</p>
<p>Cheers, <br />Michael</p> TYPO3 Core - Bug #90653: TCA eval with uniqueInPid: allow identical value in localized contenthttp://forge.typo3.org/issues/90653?journal_id=4577542021-11-17T10:00:23ZTanel Põldtanel@t3webexperts.com
<ul><li><strong>TYPO3 Version</strong> changed from <i>9</i> to <i>11</i></li><li><strong>PHP Version</strong> set to <i>7.4</i></li></ul><p>Ran into the same problem...</p>
<p>I'll add another use case.</p>
<p>I'm using 'uniqueInPid' in company with 'allowLanguageSynchronization' => true.</p>
<p>The field is "URL segment & unique ID" for pagination. It's unique to allow multiple paginators to function separate from each other on the same page.</p>
<p>In many cases the translation could be the same as original but never the same as in other elements in same language.</p>