<!-- 
RSS generated by JIRA (9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b) at Mon Feb 12 07:30:16 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-772] stkRedirect: uuidLink instead of link; redirect to first or last sub-page</title>
                <link>https://jira.magnolia-cms.com/browse/MGNLSTK-772</link>
                <project id="10287" key="MGNLSTK">Magnolia Standard Templating Kit (closed)</project>
                    <description>&lt;p&gt;A) If a user renames a page or a path segment of a redirect target, the redirect will fail afterwards. Therefore one should change the redirect mechanism from path to uuid.&lt;/p&gt;

&lt;p&gt;B) Often you want to redirect to the first (and seldom to the last) sub-page instead of redirecting to a fixed target, e.g. if you want to redirect to the latest press release which is always added at the top or the bottom of the list of sub-pages.&lt;/p&gt;

&lt;p&gt;The attached patch includes both improvements. I hope you will find this useful and will integrate it in the next release of STK.&lt;/p&gt;</description>
                <environment></environment>
        <key id="20552">MGNLSTK-772</key>
            <summary>stkRedirect: uuidLink instead of link; redirect to first or last sub-page</summary>
                <type id="4" iconUrl="https://jira.magnolia-cms.com/secure/viewavatar?size=xsmall&amp;avatarId=10890&amp;avatarType=issuetype">Improvement</type>
                                            <priority id="6" iconUrl="https://jira.magnolia-cms.com/images/icons/priorities/neutral.gif">Neutral</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="cringele">Christian Ringele</assignee>
                                    <reporter username="will">Will Scheidegger</reporter>
                        <labels>
                            <label>redirect</label>
                            <label>sub-page</label>
                            <label>uuid</label>
                    </labels>
                <created>Wed, 4 May 2011 20:56:18 +0200</created>
                <updated>Mon, 29 Aug 2011 11:17:59 +0200</updated>
                            <resolved>Fri, 19 Aug 2011 15:12:56 +0200</resolved>
                                    <version>1.4.1</version>
                                    <fixVersion>1.4.5</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>0</watches>
                                    <workratio workratioPercent="0"/>
                                    <progress percentage="0">
                                    <originalProgress>
                                                    <row percentage="100" backgroundColor="#89afd7"/>
                                            </originalProgress>
                                                    <currentProgress>
                                                    <row percentage="0" backgroundColor="#51a825"/>
                                                    <row percentage="100" backgroundColor="#ec8e00"/>
                                            </currentProgress>
                            </progress>
                                    <aggregateprogress percentage="0">
                                    <originalProgress>
                                                    <row percentage="100" backgroundColor="#89afd7"/>
                                            </originalProgress>
                                                    <currentProgress>
                                                    <row percentage="0" backgroundColor="#51a825"/>
                                                    <row percentage="100" backgroundColor="#ec8e00"/>
                                            </currentProgress>
                            </aggregateprogress>
                                    <timeoriginalestimate seconds="3600">1h</timeoriginalestimate>
                            <timeestimate seconds="3600">1h</timeestimate>
                                        <comments>
                            <comment id="35297" author="pbaerfuss" created="Thu, 5 May 2011 09:36:07 +0200"  >&lt;p&gt;Thanks, we will have a look at your proposal/patch. At the first glance it makes a lot of sense.&lt;/p&gt;</comment>
                            <comment id="35298" author="cringele" created="Thu, 5 May 2011 09:49:05 +0200"  >&lt;p&gt;I think these are great improvements, thought of similar my self.&lt;br/&gt;
But I think uudLink and link-by-path should co-exists.&lt;br/&gt;
I can think of both use cases. Somthimes when moing pages, you still want to redirect to the same path (replacing pages for example).&lt;br/&gt;
I think best behavior would be:&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;uuidLink control&lt;/li&gt;
	&lt;li&gt;link control
	&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
		&lt;li&gt;usually only one of them are defined, if both -&amp;gt; uuidLink is master, if uuid can&apos;t be resolved fallback to path&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
	&lt;li&gt;if non of the links are defined, it redirects automatically to the first child pages.&lt;/li&gt;
	&lt;li&gt;probably a option that it automatically redirects to the last child page (as Ueli suggested/implemented)&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;I was working on something similiar, but was not finished yet completely (only redirect adaption in model missing).&lt;br/&gt;
If focused a bit on that the author gets  good messages in the edit mode, on what will happen on preview/public mode (template adaptions). I add the patch to the ticket, probably its of some help too.&lt;/p&gt;</comment>
                            <comment id="35300" author="will" created="Thu, 5 May 2011 11:29:40 +0200"  >&lt;p&gt;I see the argument about replacing a page but have not encountered that IRL myself. However I wonder how the dialog for the user for such a path / uuid co-existance would look like? Both the link control and the uuidLink control look exactly the same. Most likely you would have to do quite a bit of explaining for the user to understand how to use this properly.&lt;/p&gt;</comment>
                            <comment id="37763" author="cringele" created="Fri, 22 Jul 2011 16:02:36 +0200"  >&lt;p&gt;In a minor release we can&apos;t path control from &apos;link&apos; to &apos;uuidLink&apos;.&lt;br/&gt;
Even on a major version I would not tend to change that because strict path behavior could be wanted out of reason described above.&lt;/p&gt;

&lt;p&gt;I added some new functionality which do not contradict binary&amp;amp;content compatibility:&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;Redirect to first child if path is not defined.&lt;/li&gt;
	&lt;li&gt;No need to define &apos;http://&apos; &amp;amp; &apos;http://&apos; for external URL.&lt;/li&gt;
	&lt;li&gt;If Path is invalid:&lt;br/&gt;
  On Author:&lt;/li&gt;
	&lt;li&gt;Warn messages are rendered in author and preview mode&lt;br/&gt;
  On Public:&lt;/li&gt;
	&lt;li&gt;Redirect is done, so 404 is returned for handling 404 (was skipping rendering at all).&lt;/li&gt;
	&lt;li&gt;If no child page exists on empty path property:&lt;br/&gt;
  On Author:&lt;/li&gt;
	&lt;li&gt;Warn messages are rendered in author and preview mode&lt;br/&gt;
  On Public:&lt;/li&gt;
	&lt;li&gt;Redirect page itself return 404 error code&lt;/li&gt;
	&lt;li&gt;Ass messages are i18nized&lt;/li&gt;
&lt;/ul&gt;
</comment>
                            <comment id="38469" author="cringele" created="Thu, 18 Aug 2011 17:49:52 +0200"  >&lt;p&gt;Rendering test is added.&lt;br/&gt;
Created new issue what could not be implemented within a minor version: &lt;a href=&quot;https://jira.magnolia-cms.com/browse/MGNLSTK-790&quot; title=&quot;RedirectTemplate should provide a uuidLink and s possibility for automatic redirection to last child. &quot; class=&quot;issue-link&quot; data-issue-key=&quot;MGNLSTK-790&quot;&gt;&lt;del&gt;MGNLSTK-790&lt;/del&gt;&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="38488" author="had" created="Fri, 19 Aug 2011 08:53:48 +0200"  >&lt;p&gt;Too late for now, but next time separate formatting changes from functional changes and commit separately with appropriate commit message (or do not reformat at all). Together functional change is much harder to see.&lt;/p&gt;

&lt;p&gt;Now for reopening:&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;There&apos;s typo in the VersionHandler: &quot;new RemovePropertyTask(&quot;Remove &apos;required&apos; proeprty&quot;, ...&quot;&lt;/li&gt;
	&lt;li&gt;also can you explain why you need cache as a test dependency? I fail to see it used in files within the same commit.&lt;/li&gt;
&lt;/ul&gt;
</comment>
                            <comment id="38510" author="cringele" created="Fri, 19 Aug 2011 15:12:56 +0200"  >&lt;p&gt;Yes, next time I&apos;ll separate the two commits (formatting).&lt;/p&gt;

&lt;p&gt;Typo corrected.&lt;/p&gt;

&lt;p&gt;Cache removed: To be honest, I have no clue why I added it at this time. Seems then as it failed of missing cache, which is not true.&lt;/p&gt;</comment>
                            <comment id="38711" author="kraft" created="Mon, 29 Aug 2011 11:17:59 +0200"  >&lt;p&gt;Why can&apos;t we change the behavior of the redirect template in a minor release?&lt;/p&gt;

&lt;p&gt;But to the point: the whole behavior of renaming pages and moving pages is by default such that it works. It should work exactly the same for redirects, and even for the URIredirectMappings. COnsistency is paramount! We keep running into issues because somebody &quot;forgets&quot; that parts of the system work differently.&lt;/p&gt;

&lt;p&gt;@Christian: your suggestion to offer both options (part and UUID) make things more complicated for the users, as now they need to remember which choice they made. This is the wrong direction.&lt;/p&gt;

&lt;p&gt;INstead we will need to think about how the use case you describe can be handled in the future, specifically M5. My only idea so far is to introduce a &quot;replace&quot; action in the UI that allows to replace one page with an other, and by doing so would update all the uuid links. This could be part of the refactoring functionality I would like to see in Magnolia.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10010">
                    <name>relation</name>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="21413">MGNLSTK-790</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                            <attachment id="14578" name="STK-overworked-redirect-template-CRingele.zip" size="3542" author="cringele" created="Thu, 5 May 2011 09:50:55 +0200"/>
                            <attachment id="14577" name="redirect_template.patch" size="1431" author="will" created="Wed, 4 May 2011 20:56:18 +0200"/>
                            <attachment id="14576" name="stkRedirect_improvements.patch" size="4096" author="will" created="Wed, 4 May 2011 20:56:18 +0200"/>
                    </attachments>
                <subtasks>
                    </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>mac.com</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_10031" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of First Response</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Thu, 5 May 2011 09:36:07 +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>
                            12 years, 25 weeks, 6 days ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                            <customfield id="customfield_10020" key="com.atlassian.jira.toolkit:attachments">
                        <customfieldname>Number of attachments</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>3.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10150" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname>Number of comments</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>8.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10011" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>kraft</customfieldvalue>
            <customfieldvalue>cringele</customfieldvalue>
            <customfieldvalue>had</customfieldvalue>
            <customfieldvalue>pbaerfuss</customfieldvalue>
            <customfieldvalue>will</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10090" key="com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes">
                        <customfieldname>Patch included</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10100"><![CDATA[Yes]]></customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_10833" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|i02gbz:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10244" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>14384</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>