<!-- 
RSS generated by JIRA (9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b) at Mon Feb 12 11:08:45 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>[MURLTRANS-13] Provide a groovy script to migrate translations away from &quot;name&quot;</title>
                <link>https://jira.magnolia-cms.com/browse/MURLTRANS-13</link>
                <project id="14689" key="MURLTRANS">URL Translation</project>
                    <description>&lt;p&gt;The original URL Trans module stored page translations on the &quot;name&quot; property. This scheme worked fine until the introduction of personalization &lt;a href=&quot;https://jira.magnolia-cms.com/browse/MGNLPN-396&quot; title=&quot;Variant node name can be changed when choosing audience &quot; class=&quot;issue-link&quot; data-issue-key=&quot;MGNLPN-396&quot;&gt;&lt;del&gt;MGNLPN-396&lt;/del&gt;&lt;/a&gt;. As we have seen in other tickets, such as &lt;a href=&quot;https://jira.magnolia-cms.com/browse/MGNLCT-143&quot; title=&quot;jcrName field added in m6 content-type app&quot; class=&quot;issue-link&quot; data-issue-key=&quot;MGNLCT-143&quot;&gt;&lt;del&gt;MGNLCT-143&lt;/del&gt;&lt;/a&gt;, having a dedicated property for the translation like &lt;tt&gt;urlName&lt;/tt&gt; is a much better approach to avoid conflicts that occur around storing the translation on a properties called name. &lt;/p&gt;</description>
                <environment></environment>
        <key id="91257">MURLTRANS-13</key>
            <summary>Provide a groovy script to migrate translations away from &quot;name&quot;</summary>
                <type id="3" iconUrl="https://jira.magnolia-cms.com/secure/viewavatar?size=xsmall&amp;avatarId=10898&amp;avatarType=issuetype">Task</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="rgange">Richard Gange</assignee>
                                    <reporter username="rgange">Richard Gange</reporter>
                        <labels>
                    </labels>
                <created>Wed, 30 Sep 2020 17:45:02 +0200</created>
                <updated>Mon, 4 Jan 2021 12:53:51 +0100</updated>
                            <resolved>Mon, 4 Jan 2021 12:53:51 +0100</resolved>
                                    <version>6.2.2</version>
                                    <fixVersion>6.2.3</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>1</watches>
                                                    <progress percentage="100">
                                    <originalProgress>
                                                    <row percentage="0" backgroundColor="#89afd7"/>
                                                    <row percentage="100" backgroundColor="transparent"/>
                                            </originalProgress>
                                                    <currentProgress>
                                                    <row percentage="100" backgroundColor="#51a825"/>
                                                    <row percentage="0" backgroundColor="#ec8e00"/>
                                            </currentProgress>
                            </progress>
                                    <aggregateprogress percentage="100">
                                    <originalProgress>
                                                    <row percentage="0" backgroundColor="#89afd7"/>
                                                    <row percentage="100" backgroundColor="transparent"/>
                                            </originalProgress>
                                                    <currentProgress>
                                                    <row percentage="100" backgroundColor="#51a825"/>
                                                    <row percentage="0" backgroundColor="#ec8e00"/>
                                            </currentProgress>
                            </aggregateprogress>
                                            <timeestimate seconds="0">0d</timeestimate>
                            <timespent seconds="7200">0.25d</timespent>
                                <comments>
                            <comment id="245266" author="rgange" created="Mon, 4 Jan 2021 12:53:51 +0100"  >&lt;p&gt;Migration script:&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;
&lt;span class=&quot;code-keyword&quot;&gt;import&lt;/span&gt; info.magnolia.objectfactory.Components
&lt;span class=&quot;code-keyword&quot;&gt;import&lt;/span&gt; info.magnolia.jcr.util.NodeUtil
&lt;span class=&quot;code-keyword&quot;&gt;import&lt;/span&gt; info.magnolia.jcr.util.PropertyUtil
&lt;span class=&quot;code-keyword&quot;&gt;import&lt;/span&gt; org.apache.jackrabbit.commons.predicate.NodeTypePredicate

siteToMirgate = &lt;span class=&quot;code-quote&quot;&gt;&quot;travel&quot;&lt;/span&gt; &lt;span class=&quot;code-comment&quot;&gt;// name of the node in the website workspace
&lt;/span&gt;languages = [ &lt;span class=&quot;code-quote&quot;&gt;&quot;de&quot;&lt;/span&gt; ] &lt;span class=&quot;code-comment&quot;&gt;// &lt;span class=&quot;code-keyword&quot;&gt;do&lt;/span&gt; not include the fallback language
&lt;/span&gt;
&lt;span class=&quot;code-comment&quot;&gt;// get configured property &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; location
&lt;/span&gt;propertyName = 
    (Components.getComponent(info.magnolia.i18n.URLTranslationModule))
        .getPropertyName()
        
&lt;span class=&quot;code-comment&quot;&gt;// website session
&lt;/span&gt;session = ctx.getJCRSession(&lt;span class=&quot;code-quote&quot;&gt;&quot;website&quot;&lt;/span&gt;)

&lt;span class=&quot;code-comment&quot;&gt;// the propertyName needs to be set in the module config
&lt;/span&gt;&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (&lt;span class=&quot;code-quote&quot;&gt;&quot;name&quot;&lt;/span&gt;.equals(propertyName)) {
    println &lt;span class=&quot;code-quote&quot;&gt;&quot;Before running the script set &quot;&lt;/span&gt; + 
        &lt;span class=&quot;code-quote&quot;&gt;&quot;/modules/url-translation/config@propertyName to a &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; value.&quot;&lt;/span&gt;
}

&lt;span class=&quot;code-comment&quot;&gt;// perform mirgation 
&lt;/span&gt;&lt;span class=&quot;code-keyword&quot;&gt;else&lt;/span&gt; {
    node = session.getRootNode().getNode(siteToMirgate)
    
    &lt;span class=&quot;code-comment&quot;&gt;// migrate the home page
&lt;/span&gt;    migrateNode(node)
    
    &lt;span class=&quot;code-comment&quot;&gt;// collection the children
&lt;/span&gt;    children = NodeUtil.collectAllChildren(node, 
        &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; NodeTypePredicate(&lt;span class=&quot;code-quote&quot;&gt;&quot;mgnl:page&quot;&lt;/span&gt;, &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;))
    
    &lt;span class=&quot;code-comment&quot;&gt;// mirgate the children        
&lt;/span&gt;    &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; (child : children) migrateNode(child)
    
    &lt;span class=&quot;code-comment&quot;&gt;// save the session
&lt;/span&gt;    session.save()
    println &lt;span class=&quot;code-quote&quot;&gt;&quot;migration complete&quot;&lt;/span&gt;
}

def migrateNode(node) {
    &lt;span class=&quot;code-comment&quot;&gt;// mirgate the fallback language ************************************
&lt;/span&gt;    name = PropertyUtil.getPropertyOrNull(node, &lt;span class=&quot;code-quote&quot;&gt;&quot;name&quot;&lt;/span&gt;)
    &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (name != &lt;span class=&quot;code-keyword&quot;&gt;null&lt;/span&gt;) {
        PropertyUtil.setProperty(node, propertyName, name.value.string)
        session.getProperty(name.path).remove()
    }
    &lt;span class=&quot;code-comment&quot;&gt;// ******************************************************************
&lt;/span&gt;    
    &lt;span class=&quot;code-comment&quot;&gt;// migrate the translated langauges ********************************* 
&lt;/span&gt;    &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; (language : languages) {
        translation = 
            PropertyUtil.getPropertyOrNull(node, &lt;span class=&quot;code-quote&quot;&gt;&quot;name_&quot;&lt;/span&gt; + language)
        &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (translation != &lt;span class=&quot;code-keyword&quot;&gt;null&lt;/span&gt;) {
            name = propertyName + &lt;span class=&quot;code-quote&quot;&gt;&quot;_&quot;&lt;/span&gt; + language
            PropertyUtil.setProperty(node, name, translation.value.string)
            session.getProperty(translation.path).remove()
        }
    }
    &lt;span class=&quot;code-comment&quot;&gt;// ******************************************************************
&lt;/span&gt;}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10010">
                    <name>relation</name>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="60792">MGNLPN-396</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                    </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>magnolia-cms.com</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>rgange</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_13136" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            3 years, 5 weeks, 6 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>1.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10011" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>rgange</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                <customfield id="customfield_10833" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|y03k0m:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10244" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>9223372036854775807</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_14167" key="com.okapya.jira.checklist:checklist">
                        <customfieldname>Task DoR</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_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>
                                                                                                                                                                                                            <customfield id="customfield_13933" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Urgency (resolution)</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="15724"><![CDATA[Normal]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                </customfields>
    </item>
</channel>
</rss>