<!-- 
RSS generated by JIRA (9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b) at Mon Feb 12 07:36:42 CET 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>Magnolia - Issue tracker</title>
    <link>https://jira.magnolia-cms.com</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-uk</language>    <build-info>
        <version>9.4.2</version>
        <build-number>940002</build-number>
        <build-date>19-01-2023</build-date>
    </build-info>


<item>
            <title>[MGNLSTK-1453] Do not allow selection of invalid redirection targets</title>
                <link>https://jira.magnolia-cms.com/browse/MGNLSTK-1453</link>
                <project id="10287" key="MGNLSTK">Magnolia Standard Templating Kit (closed)</project>
                    <description>&lt;p&gt;The current stkRedirect template dialog does not validate the selected target path for redirection.&lt;/p&gt;

&lt;p&gt;So it&apos;s possible to select the redirect page itself as target for redirection. This could cause an infinite loop problem.&lt;/p&gt;

&lt;p&gt;The template dialog should validate if the selected path is different than the path of the current page.&lt;/p&gt;</description>
                <environment></environment>
        <key id="42167">MGNLSTK-1453</key>
            <summary>Do not allow selection of invalid redirection targets</summary>
                <type id="1" iconUrl="https://jira.magnolia-cms.com/secure/viewavatar?size=xsmall&amp;avatarId=10883&amp;avatarType=issuetype">Bug</type>
                                            <priority id="3" iconUrl="https://jira.magnolia-cms.com/images/icons/priorities/major.svg">Major</priority>
                        <status id="6" iconUrl="https://jira.magnolia-cms.com/images/icons/statuses/closed.png" description="The issue is considered finished, the resolution is correct. Issues which are not closed can be reopened.">Closed</status>
                    <statusCategory id="3" key="done" colorName="success"/>
                                    <resolution id="1">Fixed</resolution>
                                        <assignee username="cmeier">Christoph Meier</assignee>
                                    <reporter username="lfischer">Lars Fischer</reporter>
                        <labels>
                            <label>stk</label>
                            <label>support</label>
                            <label>uzh</label>
                            <label>validation</label>
                    </labels>
                <created>Fri, 19 Dec 2014 14:11:24 +0100</created>
                <updated>Wed, 20 Jan 2016 09:22:04 +0100</updated>
                            <resolved>Mon, 4 May 2015 09:28:41 +0200</resolved>
                                    <version>2.8.6</version>
                                    <fixVersion>2.8.9</fixVersion>
                                    <component>templates</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>5</watches>
                                                                                                                                                            <comments>
                            <comment id="101655" author="gjoseph" created="Wed, 8 Apr 2015 18:08:52 +0200"  >&lt;p&gt;What if the target is another page, which is itself &lt;em&gt;also&lt;/em&gt; a redirect, and the target of the latter is the page you&apos;re currently editing ?&lt;br/&gt;
What I&apos;m getting at is &amp;#8211; do we really need this check, or should we have a broader safety net (somewhere else), or just let users make mistakes and ensure they can fix them ?&lt;/p&gt;</comment>
                            <comment id="102625" author="cmeier" created="Fri, 24 Apr 2015 10:17:58 +0200"  >&lt;p&gt;All commits are on branch &quot;&lt;a href=&quot;https://jira.magnolia-cms.com/browse/MGNLSTK-1453&quot; title=&quot;Do not allow selection of invalid redirection targets&quot; class=&quot;issue-link&quot; data-issue-key=&quot;MGNLSTK-1453&quot;&gt;&lt;del&gt;MGNLSTK-1453&lt;/del&gt;&lt;/a&gt;&quot; (see &lt;a href=&quot;http://goo.gl/16O8qX&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://goo.gl/16O8qX&lt;/a&gt;).&lt;/p&gt;</comment>
                            <comment id="102627" author="cmeier" created="Fri, 24 Apr 2015 10:23:28 +0200"  >&lt;p&gt;The validator assumes that both nodes current page and target page are both on website repository (which also indicates unique node paths) and considers the redirect path as invalid, if:&lt;br/&gt;
&#8212; It is the path of the redirecting page itself (pointing to itself).&lt;br/&gt;
&#8212; It leads to a redirection cascade which ends up in a &quot;loop&quot;.&lt;br/&gt;
&#8212; It leads to a redirection cascade where the last redirection page has no path set and no child page. (Per default, the redirect target redirects to 1st child page, if no target path is set.)&lt;/p&gt;
</comment>
                            <comment id="102751" author="pmundt" created="Tue, 28 Apr 2015 11:00:09 +0200"  >&lt;p&gt;Small things only:&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;Variable &lt;tt&gt;redirecTemplateId&lt;/tt&gt; should be called &lt;tt&gt;redirectTemplateId&lt;/tt&gt;&lt;/li&gt;
	&lt;li&gt;Method &lt;tt&gt;getErrorMessage()&lt;/tt&gt; has to be fromatted (according to coding conventions)&lt;/li&gt;
	&lt;li&gt;Would be nice to proper javadoc on method &lt;tt&gt;findCascadedRedirectionTarget(String, Session, String)&lt;/tt&gt;&lt;/li&gt;
	&lt;li&gt;&lt;tt&gt;errorMessageType&lt;/tt&gt; of type &lt;tt&gt;circularRedirection&lt;/tt&gt; is a constant, &lt;tt&gt;&quot;redirectTo404&quot;&lt;/tt&gt; isn&apos;t. Would be nice to use the same pattern.&lt;/li&gt;
	&lt;li&gt;I would not consider the validation result as &quot;good&quot; when there is a &lt;tt&gt;RepositoryException&lt;/tt&gt;.&lt;/li&gt;
	&lt;li&gt;Minor: in method &lt;tt&gt;isValidValue(String targetPagePath)&lt;/tt&gt; I wouldn&apos;t test for &lt;tt&gt;StringUtils.isEmpty(indirectRedirectionPath)&lt;/tt&gt; but rather for &lt;tt&gt;indirectRedirectionPath == null&lt;/tt&gt;&lt;/li&gt;
	&lt;li&gt;&lt;tt&gt;RedirectTargetValidatorTest&lt;/tt&gt;:
	&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
		&lt;li&gt;Member variable &lt;tt&gt;private RedirectTargetValidator redirectTargetValidator&lt;/tt&gt; is never used&lt;/li&gt;
		&lt;li&gt;&lt;tt&gt;Logger&lt;/tt&gt; is never used&lt;/li&gt;
		&lt;li&gt;Try using &lt;tt&gt;org.junit.Rule&lt;/tt&gt; &amp;amp; &lt;tt&gt;ExpectedException expectedException&lt;/tt&gt; for the test cases where you expect an Exception + want to check the message&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
	&lt;li&gt;Tip: try using the &lt;tt&gt;final&lt;/tt&gt; modifier throughout the code where possible&lt;/li&gt;
&lt;/ul&gt;
</comment>
                            <comment id="102807" author="cmeier" created="Tue, 28 Apr 2015 16:35:20 +0200"  >&lt;p&gt;Re-resolved according to review comments.&lt;br/&gt;
Using &lt;tt&gt;org.junit.Rule&lt;/tt&gt; &amp;amp; &lt;tt&gt;org.junit.rules.ExpectedException&lt;/tt&gt; also reduced the amount of tests.&lt;br/&gt;
Last commits together with precedings are squashed onto branch &quot;&lt;a href=&quot;https://jira.magnolia-cms.com/browse/MGNLSTK-1453&quot; title=&quot;Do not allow selection of invalid redirection targets&quot; class=&quot;issue-link&quot; data-issue-key=&quot;MGNLSTK-1453&quot;&gt;&lt;del&gt;MGNLSTK-1453&lt;/del&gt;&lt;/a&gt;-sq2&quot; (see &lt;a href=&quot;http://goo.gl/PNCJ2T&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://goo.gl/PNCJ2T&lt;/a&gt;).&lt;/p&gt;</comment>
                            <comment id="103018" author="czimmermann" created="Thu, 30 Apr 2015 13:05:24 +0200"  >&lt;p&gt;Please integate on 2.9 branch.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10160">
                    <name>Relates</name>
                                            <outwardlinks description="relates to">
                                        <issuelink>
            <issuekey id="49867">MGNLSTK-1521</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                            <subtask id="49858">MGNLSTK-1520</subtask>
                    </subtasks>
                <customfields>
                                                                            <customfield id="customfield_14166" key="com.okapya.jira.checklist:checklist">
                        <customfieldname>Acceptance criteria</customfieldname>
                        <customfieldvalues>
                            
        <checklist>
        <![CDATA[
                            




                
                                    <div class="o-completion" style="display: flex; flex-shrink: 0;"><span  class="aui-lozenge aui-lozenge-complete" style="font-size: 12px; font-weight: normal; display: flex; flex-direction: row; align-items: center;" ><span style="padding-right: 4px; vertical-align: middle;"><svg width="15" height="15" viewBox="0 0 15 15" xmlns="http://www.w3.org/2000/svg" fill="white"><path clip-rule="evenodd" d="m10.41037,3.42544l-7.86501,0c-0.72395,0 -1.31084,0.58688 -1.31084,1.31084l0,7.86508c0,0.7239 0.58689,1.3108 1.31084,1.3108l7.86501,0c0.724,0 1.3109,-0.5869 1.3109,-1.3108l0,-7.86508c0,-0.72396 -0.5869,-1.31084 -1.3109,-1.31084zm-7.86501,-0.65542c-1.08593,0 -1.96626,0.88032 -1.96626,1.96626l0,7.86508c0,1.0859 0.88033,1.9662 1.96626,1.9662l7.86501,0c1.086,0 1.9663,-0.8803 1.9663,-1.9662l0,-7.86508c0,-1.08594 -0.8803,-1.96626 -1.9663,-1.96626l-7.86501,0z" fill-rule="evenodd"/><path d="m5.09049,10.18526l-1.82767,-1.82766l-0.78479,0.78479l2.61246,2.61246l5.38758,-5.38754l-0.78483,-0.78479l-4.60275,4.60274z"/></svg></span><span>Empty</span></span></div>
                        ]]>
    </checklist>


                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_10111" key="com.atlassian.jira.toolkit:reporterdomain">
                        <customfieldname>Company</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>magnolia-cms.com</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_10031" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of First Response</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Wed, 8 Apr 2015 18:08:52 +0200</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_12730" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_14151" key="com.atlassian.jira.toolkit:message">
                        <customfieldname>Docu info</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_10061" key="com.atlassian.jira.toolkit:lastusercommented">
                        <customfieldname>Last comm is not jira-dev</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>true</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10071" key="com.atlassian.jira.toolkit:lastupdaterorcommenter">
                        <customfieldname>Last participant</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>mmuehlebach</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_13136" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            8 years, 42 weeks, 3 days ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                            <customfield id="customfield_10020" key="com.atlassian.jira.toolkit:attachments">
                        <customfieldname>Number of attachments</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10150" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname>Number of comments</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>6.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10011" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>czimmermann</customfieldvalue>
            <customfieldvalue>cmeier</customfieldvalue>
            <customfieldvalue>lfischer</customfieldvalue>
            <customfieldvalue>gjoseph</customfieldvalue>
            <customfieldvalue>pmundt</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_10833" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|i04i4f:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10244" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>26406</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_14145" key="com.intenso.jira.issue-templates:issue-templates-customfield">
                        <customfieldname>Template</customfieldname>
                        <customfieldvalues>
                            


                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_15131" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Time in Discovery</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10032" key="com.atlassian.jira.ext.charting:timeinstatus">
                        <customfieldname>Time in Status</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        </customfields>
    </item>
</channel>
</rss>