<!-- 
RSS generated by JIRA (9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b) at Mon Feb 12 04:20:35 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>[MAGNOLIA-7085] Provide upgrade task for replacing mapping implementations</title>
                <link>https://jira.magnolia-cms.com/browse/MAGNOLIA-7085</link>
                <project id="10000" key="MAGNOLIA">Magnolia</project>
                    <description>&lt;p&gt;Could be in the shape of a groovy script, but ideally also usable as a &quot;regular&quot; version-handling Task.&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;Take one module name as input, and for that module:&lt;/li&gt;
	&lt;li&gt;Rename &lt;tt&gt;virtualURIMapping&lt;/tt&gt; node to &lt;tt&gt;virtualUriMappings&lt;/tt&gt; (plural, camel-case)&lt;/li&gt;
	&lt;li&gt;Visit mapping nodes and upgrade magnolia&apos;s known impls
	&lt;ul&gt;
		&lt;li&gt;Package changed&lt;/li&gt;
		&lt;li&gt;URI is now spelled in camelCase in class-names&lt;/li&gt;
		&lt;li&gt;URI is now spelled in camelCase in fromUri / toUri config properties&lt;/li&gt;
		&lt;li&gt;See table below for mapping replacements&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
	&lt;li&gt;Output a warning to install-ctx for custom implementations without replacement&lt;/li&gt;
	&lt;li&gt;Make the task extensible for use by other modules (e.g. multisite)
	&lt;ul&gt;
		&lt;li&gt;probably expose a protected method to specify additional replacing-mappings&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
&lt;/ul&gt;


&lt;div class=&apos;table-wrap&apos;&gt;
&lt;table class=&apos;confluenceTable&apos;&gt;&lt;tbody&gt;
&lt;tr&gt;
&lt;th class=&apos;confluenceTh&apos;&gt;Old mapping&lt;/th&gt;
&lt;th class=&apos;confluenceTh&apos;&gt;New mapping&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;info.magnolia.cms.beans.config.DefaultVirtualURIMapping&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;info.magnolia.virtualuri.mapping.DefaultVirtualUriMapping&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;info.magnolia.cms.beans.config.RegexpVirtualURIMapping&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;info.magnolia.virtualuri.mapping.RegexpVirtualUriMapping&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;info.magnolia.cms.beans.config.RotatingVirtualURIMapping&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;info.magnolia.virtualuri.mapping.RotatingVirtualUriMapping&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;info.magnolia.cms.beans.config.HostBasedVirtualURIMapping&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;info.magnolia.virtualuri.mapping.HostBasedVirtualUriMapping&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;info.magnolia.cms.beans.config.HostBasedRegexpVirtualURIMapping&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;info.magnolia.virtualuri.mapping.HostBasedRegexpVirtualUriMapping&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
</description>
                <environment></environment>
        <key id="60177">MAGNOLIA-7085</key>
            <summary>Provide upgrade task for replacing mapping implementations</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="dai.ha">Dai Ha</assignee>
                                    <reporter username="oanh.thai">Oanh Thai Hoang</reporter>
                        <labels>
                    </labels>
                <created>Fri, 7 Jul 2017 11:04:13 +0200</created>
                <updated>Mon, 7 Aug 2017 03:22:38 +0200</updated>
                            <resolved>Fri, 4 Aug 2017 05:30:16 +0200</resolved>
                                                    <fixVersion>5.5.6</fixVersion>
                    <fixVersion>5.6</fixVersion>
                                    <component>Virtual URI mappings</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>4</watches>
                                    <workratio workratioPercent="166"/>
                                    <progress percentage="100">
                                    <originalProgress>
                                                    <row percentage="59" backgroundColor="#89afd7"/>
                                                    <row percentage="41" backgroundColor="transparent"/>
                                            </originalProgress>
                                                    <currentProgress>
                                                    <row percentage="100" backgroundColor="#51a825"/>
                                                    <row percentage="0" backgroundColor="#ec8e00"/>
                                            </currentProgress>
                            </progress>
                                    <aggregateprogress percentage="100">
                                    <originalProgress>
                                                    <row percentage="59" backgroundColor="#89afd7"/>
                                                    <row percentage="41" backgroundColor="transparent"/>
                                            </originalProgress>
                                                    <currentProgress>
                                                    <row percentage="100" backgroundColor="#51a825"/>
                                                    <row percentage="0" backgroundColor="#ec8e00"/>
                                            </currentProgress>
                            </aggregateprogress>
                                    <timeoriginalestimate seconds="144000">5d</timeoriginalestimate>
                            <timeestimate seconds="0">0d</timeestimate>
                            <timespent seconds="240300">8d 2.75h</timespent>
                                <comments>
                            <comment id="145668" author="sang.ngo" created="Fri, 21 Jul 2017 09:32:14 +0200"  >&lt;p&gt;&lt;a href=&quot;https://jira.magnolia-cms.com/secure/ViewProfile.jspa?name=mgeljic&quot; class=&quot;user-hover&quot; rel=&quot;mgeljic&quot;&gt;mgeljic&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Regarding a point &lt;tt&gt;Take one module name as input, and for that module:&lt;/tt&gt;. I wonder why we don&apos;t take mapping path as input?&lt;/p&gt;

&lt;p&gt;We have several tickets to handler the update, I think the task should update for one path indeed and it would be:&lt;br/&gt;
NodeExistsDelegateTask&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Task to change classes&lt;/li&gt;
	&lt;li&gt;Task to update URI properties&lt;/li&gt;
	&lt;li&gt;Task to rename mapping node&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;WDYT?&lt;/p&gt;</comment>
                            <comment id="145826" author="mgeljic" created="Tue, 25 Jul 2017 23:32:42 +0200"  >&lt;p&gt;`moduleName` of `modulePath` as input are both fine. Mapping paths not so much, because if you have a module declaring 100 mappings, you don&apos;t want your MVH delta to have 100 more lines / tasks.&lt;/p&gt;

&lt;p&gt;Like I suggested on the PR originally:&lt;/p&gt;

&lt;blockquote&gt;
&lt;ul&gt;
	&lt;li&gt;outer task would be an &lt;tt&gt;ArrayDelegateTask&lt;/tt&gt; (again, like &lt;tt&gt;ContentAppMigrationTask&lt;/tt&gt;)
	&lt;ul&gt;
		&lt;li&gt;first inner task to rename &lt;tt&gt;virtualURIMapping&lt;/tt&gt; folder can be a &lt;tt&gt;NodeExistsDelegateTask&lt;/tt&gt;&lt;/li&gt;
		&lt;li&gt;then for the class &amp;amp; property updates, we should visit (&lt;tt&gt;NodeVisitorTask&lt;/tt&gt;) and operate on the mappings nodes&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;p&gt;Additionally, class &amp;amp; property updates may be in the same &lt;tt&gt;NodeVisitorTask&lt;/tt&gt;, that could simplify things a bit.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10020">
                    <name>dependency</name>
                                                                <inwardlinks description="is depended upon by">
                                        <issuelink>
            <issuekey id="60189">MGNLDEMO-220</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="60184">MGNLGS-134</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="60183">MGNLRSSAGG-214</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="60188">MGNLUI-4243</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="60179">MULTISITE-73</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10022">
                    <name>supersession</name>
                                            <outwardlinks description="supersedes">
                                        <issuelink>
            <issuekey id="59116">MAGNOLIA-7016</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </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_10031" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of First Response</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Fri, 21 Jul 2017 09:32:14 +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_10246" key="com.pyxis.greenhopper.jira:gh-epic-link">
                        <customfieldname>Epic Link</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>MAGNOLIA-7089</customfieldvalue>
                        </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>oanh.thai</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_13136" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            6 years, 29 weeks, 5 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>2.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10011" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>dai.ha</customfieldvalue>
            <customfieldvalue>mgeljic</customfieldvalue>
            <customfieldvalue>oanh.thai</customfieldvalue>
            <customfieldvalue>sang.ngo</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                <customfield id="customfield_10833" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|hzzz45:smy</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_10245" key="com.pyxis.greenhopper.jira:gh-sprint">
                        <customfieldname>Sprint</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue id="520">Saigon 104</customfieldvalue>
    <customfieldvalue id="525">Saigon 105</customfieldvalue>
    <customfieldvalue id="529">Saigon 106</customfieldvalue>
    <customfieldvalue id="532">Saigon 107</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10242" key="com.atlassian.jira.plugin.system.customfieldtypes:float">
                        <customfieldname>Story Points</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>5.0</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>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        </customfields>
    </item>
</channel>
</rss>