http://forge.typo3.org/http://forge.typo3.org/themes/typo3_forge/favicon/favicon.png?17058661692016-05-11T17:30:15ZTYPO3 ForgeTYPO3 Core - Bug #76155: Fluid does not detect all xmlns namespaceshttp://forge.typo3.org/issues/76155?journal_id=3042662016-05-11T17:30:15ZMarkus Kleinmarkus.klein@typo3.org
<ul></ul><p>Ehm... we even have a unittest to enforce that??</p>
<blockquote>
<p>'Only handle first tag with xmlns ViewHelpers found'</p>
</blockquote> TYPO3 Core - Bug #76155: Fluid does not detect all xmlns namespaceshttp://forge.typo3.org/issues/76155?journal_id=3042672016-05-11T17:33:24ZMarkus Kleinmarkus.klein@typo3.org
<ul><li><strong>Sprint Focus</strong> deleted (<del><i>On Location Sprint</i></del>)</li></ul> TYPO3 Core - Bug #76155: Fluid does not detect all xmlns namespaceshttp://forge.typo3.org/issues/76155?journal_id=3042682016-05-11T17:33:38ZMarkus Kleinmarkus.klein@typo3.org
<ul><li><strong>Assignee</strong> changed from <i>Markus Klein</i> to <i>Claus Due</i></li></ul> TYPO3 Core - Bug #76155: Fluid does not detect all xmlns namespaceshttp://forge.typo3.org/issues/76155?journal_id=3042692016-05-11T17:37:43ZMarkus Kleinmarkus.klein@typo3.org
<ul><li><strong>Description</strong> updated (<a title="View differences" href="/journals/304269/diff?detail_id=258910">diff</a>)</li></ul> TYPO3 Core - Bug #76155: Fluid does not detect all xmlns namespaceshttp://forge.typo3.org/issues/76155?journal_id=3043742016-05-12T18:01:12ZClaus Dueclaus@phpmind.net
<ul></ul><p>I wish this was quick to explain, but it isn't. There are <strong>plenty</strong> reasons why now, we only support a single "place" to register namespaces for each template file.</p>
<p>Where to begin...</p>
<p>Let me compare previous logic to current one:</p>
<ul>
<li>Before, namespaces were held in the parser and every method to manipulate them was fluid-core-only. That's <strong>very</strong> different now; namespaces are decoupled from the parser and are now managed by the ViewHelperResolver.</li>
<li>Before, namespaces could be added and removed by the parser at will, since only a single namespace with any identifier was supported. That's also very different now: when you register a namespace twice you don't replace the old one - you extend that namespace to look in additional class namespaces.</li>
<li>Namespace extraction from xmlns is now done as a pre-processing step, no longer part of the parser as such. It would not be possible to extract our namespaces this way <strong>and</strong> still be able to tell the parser when to apply our extracted namespaces (which node? When to remove it again and how?)</li>
</ul>
<p>Combine those and it gives us a situation where, if the templateparser was to perform such manipulations, we would have to <strong>remove</strong> said namespace again afterwards because it would have to expire once the enclosing xmlns-carrying tag is closed. That puts quite a bit of complex requirements on the way namespaces are stored - adding a namespace that's already registered and then removing that again would have bad side effects so we would have to somehow track much more about the namespace add/remove process.</p>
<p>We're further challenged by the extraction now sitting in the pre-processing step that's fired only once. Our extractions would have to require new, currently non-existing logic in the templateparser to support modifying namespaces at certain points based on nodes... I really would not go in that direction as the parsing step is already quite complex.</p>
<p>The best compromise that does not cause confusion is the one I chose, I believe. It is the one that works with almost all current implementations and doesn't pollute namespaces unexpectedly by combining all extracted namespaces regardless where they sit in the template's node tree. But it is a compromise.</p>
<p>And that's why there's a unit test for it (coming back to the actual subject). It is an intentional behavior and as such, it has a test to ensure that behavior happens.</p>
<p>You are also right there's no breaking change described in the change log... that's my fault - I forgot about it while writing the breaking changes, and I know why: I was very focused on the ViewHelper API and not so much on use cases that had no implementations in the TYPO3 core. Sorry about that, if there's a way to update that so long after the fact, let me know!</p>
<p>But in regards to restoring the old behavior I would personally vote not to attempt that. Anything we do in that regard would inevitably require that fluid itself gets changed significantly, making the parsing and coupling with pre-processors/renderingcontext even more complex, and it honestly feels like far too much. The right answer is imho that this edge case is no longer supported - our pragma now is we encourage globally registered namespaces (via view/viewhelperresolver) and extending namespaces <strong>once</strong> per physical template file or source chunk that gets parsed.</p> TYPO3 Core - Bug #76155: Fluid does not detect all xmlns namespaceshttp://forge.typo3.org/issues/76155?journal_id=3044732016-05-13T13:51:01ZMarkus Kleinmarkus.klein@typo3.org
<ul><li><strong>Complexity</strong> deleted (<del><i>no-brainer</i></del>)</li><li><strong>Is Regression</strong> changed from <i>Yes</i> to <i>No</i></li></ul><p>Hi Claus!</p>
<p>Thanks a lot for the detailed explanation.<br />I absolutely have no problem with the breaking change. We just have to document it. Better now than never.<br />Most people will read the breaking docs only after the final CMS 8 release anyway.</p>
<p>Can you please create a patch, which adds this information?<br />I propose to add it to the existing RST. Please set Mattes and me as reviewers, so we make sure that the wiki (etc.) is updated then as well.</p> TYPO3 Core - Bug #76155: Fluid does not detect all xmlns namespaceshttp://forge.typo3.org/issues/76155?journal_id=3084742016-07-05T11:50:30ZBenni Mackbenni@typo3.org
<ul><li><strong>Target version</strong> changed from <i>8.2</i> to <i>8.3</i></li></ul> TYPO3 Core - Bug #76155: Fluid does not detect all xmlns namespaceshttp://forge.typo3.org/issues/76155?journal_id=3084892016-07-05T11:51:48ZMarkus Kleinmarkus.klein@typo3.org
<ul><li><strong>Complexity</strong> set to <i>easy</i></li><li><strong>Is Regression</strong> changed from <i>No</i> to <i>Yes</i></li><li><strong>Sprint Focus</strong> set to <i>Stabilization Sprint</i></li></ul> TYPO3 Core - Bug #76155: Fluid does not detect all xmlns namespaceshttp://forge.typo3.org/issues/76155?journal_id=3126292016-08-31T14:46:14ZBenni Mackbenni@typo3.org
<ul><li><strong>Target version</strong> changed from <i>8.3</i> to <i>8.4</i></li></ul> TYPO3 Core - Bug #76155: Fluid does not detect all xmlns namespaceshttp://forge.typo3.org/issues/76155?journal_id=3155062016-10-14T12:44:55ZMarkus Kleinmarkus.klein@typo3.org
<ul></ul><p>To clarify things: Just an RST is missing documenting the breaking change!</p> TYPO3 Core - Bug #76155: Fluid does not detect all xmlns namespaceshttp://forge.typo3.org/issues/76155?journal_id=3156682016-10-17T15:31:35ZGerrit Code Review
<ul><li><strong>Status</strong> changed from <i>Accepted</i> to <i>Under Review</i></li></ul><p>Patch set 1 for branch <strong>master</strong> of project <strong>Packages/TYPO3.CMS</strong> has been pushed to the review server.<br />It is available at <a class="external" href="https://review.typo3.org/50245">https://review.typo3.org/50245</a></p> TYPO3 Core - Bug #76155: Fluid does not detect all xmlns namespaceshttp://forge.typo3.org/issues/76155?journal_id=3156692016-10-17T15:32:47ZGerrit Code Review
<ul></ul><p>Patch set 2 for branch <strong>master</strong> of project <strong>Packages/TYPO3.CMS</strong> has been pushed to the review server.<br />It is available at <a class="external" href="https://review.typo3.org/50245">https://review.typo3.org/50245</a></p> TYPO3 Core - Bug #76155: Fluid does not detect all xmlns namespaceshttp://forge.typo3.org/issues/76155?journal_id=3156712016-10-17T16:14:16ZGerrit Code Review
<ul></ul><p>Patch set 3 for branch <strong>master</strong> of project <strong>Packages/TYPO3.CMS</strong> has been pushed to the review server.<br />It is available at <a class="external" href="https://review.typo3.org/50245">https://review.typo3.org/50245</a></p> TYPO3 Core - Bug #76155: Fluid does not detect all xmlns namespaceshttp://forge.typo3.org/issues/76155?journal_id=3156852016-10-17T17:44:24ZGerrit Code Review
<ul></ul><p>Patch set 4 for branch <strong>master</strong> of project <strong>Packages/TYPO3.CMS</strong> has been pushed to the review server.<br />It is available at <a class="external" href="https://review.typo3.org/50245">https://review.typo3.org/50245</a></p> TYPO3 Core - Bug #76155: Fluid does not detect all xmlns namespaceshttp://forge.typo3.org/issues/76155?journal_id=3156882016-10-17T18:00:13ZAnonymous
<ul><li><strong>Status</strong> changed from <i>Under Review</i> to <i>Resolved</i></li><li><strong>% Done</strong> changed from <i>0</i> to <i>100</i></li></ul><p>Applied in changeset <a class="changeset" title="[DOC] Document xmlns-carrying node behavior in Fluid This change documents the fact that xmlns-b..." href="http://forge.typo3.org/projects/typo3cms-core/repository/1749/revisions/1bbac59abcd07551f1f0cfdb488ea1335820a24c">1bbac59abcd07551f1f0cfdb488ea1335820a24c</a>.</p> TYPO3 Core - Bug #76155: Fluid does not detect all xmlns namespaceshttp://forge.typo3.org/issues/76155?journal_id=3428722017-10-17T23:24:20ZRiccardo De Contardierredeco@gmail.com
<ul><li><strong>Status</strong> changed from <i>Resolved</i> to <i>Closed</i></li></ul>