<!-- 
RSS generated by JIRA (9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b) at Mon Feb 12 04:08:21 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-5783] Provide replacements for info.magnolia.nodebuilder.task and deprecate the outdated ones</title>
                <link>https://jira.magnolia-cms.com/browse/MAGNOLIA-5783</link>
                <project id="10000" key="MAGNOLIA">Magnolia</project>
                    <description>&lt;p&gt;Content API has been deprecated a long time ago. Hence info.magnolia.nodebuilder.task has to be replaced by code not exposing content API as well.&lt;/p&gt;</description>
                <environment></environment>
        <key id="38917">MAGNOLIA-5783</key>
            <summary>Provide replacements for info.magnolia.nodebuilder.task and deprecate the outdated ones</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="dlipp">Daniel Lipp</assignee>
                                    <reporter username="dlipp">Daniel Lipp</reporter>
                        <labels>
                    </labels>
                <created>Fri, 23 May 2014 13:22:33 +0200</created>
                <updated>Wed, 4 Jun 2014 12:30:16 +0200</updated>
                            <resolved>Fri, 30 May 2014 15:13:12 +0200</resolved>
                                                    <fixVersion>5.3</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                <comments>
                            <comment id="85775" author="gjoseph" created="Tue, 27 May 2014 12:16:41 +0200"  >&lt;p&gt;I made some minor Javadoc changes on the branch. Otherwise looks good, except for two things&lt;/p&gt;

&lt;p&gt;1. &lt;b&gt;NodeBuilderTask&lt;/b&gt;&lt;br/&gt;
I&apos;m not sure why in &lt;tt&gt;NodeBuilderTask#getRootNode&lt;/tt&gt; you do this&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;final&lt;/span&gt; Session session = ctx.getJCRSession(workspaceName);
        &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (&lt;span class=&quot;code-quote&quot;&gt;&quot;/&quot;&lt;/span&gt;.equals(rootPath)) {
            &lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; session.getRootNode();
        }
        &lt;span class=&quot;code-object&quot;&gt;String&lt;/span&gt; tmpRoot = StringUtils.removeStart(rootPath, &lt;span class=&quot;code-quote&quot;&gt;&quot;/&quot;&lt;/span&gt;);
        &lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; session.getRootNode().getNode(tmpRoot);
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;instead of simply this&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;final&lt;/span&gt; Session session = ctx.getJCRSession(workspaceName);
        &lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; session.getNode(rootPath);
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;The only difference I can see is that the former allows non-absolute paths, which would still be relative to the root (e.g. &lt;tt&gt;modules/core&lt;/tt&gt; would be accepted)), which is misleading/wrong IMO. Do we have cases where we depend on this behavior ?&lt;/p&gt;

&lt;p&gt;It sounds like the kind of things we were doing in our Content API and I&apos;d rather not go back there, and rely on the more predictable behavior of the JCR API:&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;mgnl&amp;gt; s=MgnlContext.getJCRSession(&apos;config&apos;)

mgnl&amp;gt; s.getNode(&apos;/&apos;)
===&amp;gt; node /
mgnl&amp;gt; s.getRootNode()
===&amp;gt; node /
mgnl&amp;gt; s.getNode(&apos;/&apos;) == s.getRootNode()
===&amp;gt; true

mgnl&amp;gt; s.getNode(&apos;modules/cache&apos;)
RepositoryException: Not an absolute path: modules/cache
mgnl&amp;gt; s.getNode(&apos;/modules/cache&apos;)
===&amp;gt; node /modules/cache
mgnl&amp;gt; s.getNode(&apos;/modules/cache/&apos;)
===&amp;gt; node /modules/cache
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;2. &lt;b&gt;Changes in &lt;tt&gt;Ops&lt;/tt&gt;&lt;/b&gt;&lt;br/&gt;
Are fine but would IMO warrant a separate issue and commit. They also&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;re-introduce some content-api-ness that i&apos;d rather see go away (let Ops.addNode(name) be consistent with the method of the same signature in &lt;tt&gt;javax.jcr.Node&lt;/tt&gt; rather than reproduce our Content API smells)&lt;/li&gt;
	&lt;li&gt;aren&apos;t complete (there are still methods in the content-api-based version that haven&apos;t been ported
	&lt;ul&gt;
		&lt;li&gt;&lt;tt&gt;setProperty&lt;/tt&gt; with expected value (which is IMO very useful in update tasks)&lt;/li&gt;
		&lt;li&gt;&lt;tt&gt;copyNode&lt;/tt&gt; (we kept &lt;tt&gt;moveNode&lt;/tt&gt; but not &lt;tt&gt;copyNode&lt;/tt&gt; ?)&lt;/li&gt;
		&lt;li&gt;&lt;tt&gt;onChildNodes&lt;/tt&gt; (debatable, and might be better off in a different class altogether)&lt;/li&gt;
		&lt;li&gt;&lt;tt&gt;info.magnolia.nodebuilder.ContentOps&lt;/tt&gt;, which were not operations specific to the Content &lt;b&gt;API&lt;/b&gt; but to &quot;Content&quot; as a general term (createParagraph, etc) - also debatable, but at the very least the deprecation message is wrong &lt;img class=&quot;emoticon&quot; src=&quot;https://jira.magnolia-cms.com/images/icons/emoticons/wink.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;. Some of these could be useful, but I guess 1) they should be closer to the templating/rendering modules 2) they were an &quot;idea&quot; more than a real need - where the vision was maybe that other things could provide &quot;Ops&quot; (newDialog, etc)&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;I think that&apos;s it &lt;img class=&quot;emoticon&quot; src=&quot;https://jira.magnolia-cms.com/images/icons/emoticons/wink.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt; &lt;/p&gt;

</comment>
                            <comment id="85971" author="dlipp" created="Fri, 30 May 2014 15:10:07 +0200"  >&lt;p&gt;1.) I dropped the unwanted Content-API-backwards compatibility&lt;/p&gt;

&lt;p&gt;2.) the idea wasn&apos;t to fix all defects in Ops - I simply realized there&apos;s a bug in Ops#doExec so I went ahead and fixed it for this ticket. I now created a isolated ticket for it (&lt;a href=&quot;https://jira.magnolia-cms.com/browse/MAGNOLIA-5797&quot; title=&quot;Align info.magnolia.jcr.nodebuilder.Ops with info.magnolia.nodebuilder.Ops AND javax.jcr&quot; class=&quot;issue-link&quot; data-issue-key=&quot;MAGNOLIA-5797&quot;&gt;MAGNOLIA-5797&lt;/a&gt;) and will modify the commit message of the Ops changes accordingly before merging to master&lt;/p&gt;

&lt;p&gt;Glad if you could create a separate ticket listing the further shortcomings of the Ops class.&lt;/p&gt;</comment>
                            <comment id="85985" author="gjoseph" created="Fri, 30 May 2014 18:42:18 +0200"  >&lt;p&gt;Re-reviewed, merged and squashed to master.&lt;br/&gt;
I left out the commit that modified the behavior of addNode, as well as the one adding &lt;tt&gt;remove()&lt;/tt&gt;, since that&apos;s for &lt;a href=&quot;https://jira.magnolia-cms.com/browse/MAGNOLIA-5797&quot; title=&quot;Align info.magnolia.jcr.nodebuilder.Ops with info.magnolia.nodebuilder.Ops AND javax.jcr&quot; class=&quot;issue-link&quot; data-issue-key=&quot;MAGNOLIA-5797&quot;&gt;MAGNOLIA-5797&lt;/a&gt; (which I re-used and edited rather than created yet another ticket)&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10010">
                    <name>relation</name>
                                            <outwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="39037">MAGNOLIA-5797</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="20666">MAGNOLIA-3694</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>gmx.net</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_10031" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of First Response</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Tue, 27 May 2014 12:16:41 +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>
                            9 years, 38 weeks, 2 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>3.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10011" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>dlipp</customfieldvalue>
            <customfieldvalue>gjoseph</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                <customfield id="customfield_10833" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|i03djb:</customfieldvalue>

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