<!-- 
RSS generated by JIRA (9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b) at Mon Feb 12 09:05:30 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>[MGNLUI-3326] Support sorting by column in trees</title>
                <link>https://jira.magnolia-cms.com/browse/MGNLUI-3326</link>
                <project id="10625" key="MGNLUI">Magnolia UI</project>
                    <description>&lt;p&gt;In particular, the &lt;tt&gt;HierarchicalJcrContainer&lt;/tt&gt; needs to support sorting, so that we can enable it selectively in some apps. This is done via a configuration flag in &lt;tt&gt;TreePresenterDefinition&lt;/tt&gt; for the time being.&lt;/p&gt;

&lt;p&gt;See &lt;a href=&quot;https://jira.magnolia-cms.com/browse/MGNLUI-106&quot; title=&quot;Implement sorting in trees&quot; class=&quot;issue-link&quot; data-issue-key=&quot;MGNLUI-106&quot;&gt;&lt;del&gt;MGNLUI-106&lt;/del&gt;&lt;/a&gt; for more details and original concept.&lt;/p&gt;

&lt;p&gt;Also mind that this is different from sorting in lists, which is always on, as per column definitions.&lt;/p&gt;</description>
                <environment></environment>
        <key id="42532">MGNLUI-3326</key>
            <summary>Support sorting by column in trees</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="jsimak">Jaroslav Simak</assignee>
                                    <reporter username="rgange">Richard Gange</reporter>
                        <labels>
                            <label>requires_documentation</label>
                            <label>tree</label>
                    </labels>
                <created>Wed, 21 Jan 2015 16:10:30 +0100</created>
                <updated>Tue, 27 Sep 2016 13:30:49 +0200</updated>
                            <resolved>Thu, 10 Sep 2015 11:40:00 +0200</resolved>
                                    <version>5.3.6</version>
                                    <fixVersion>5.3.11</fixVersion>
                    <fixVersion>5.4.2</fixVersion>
                                        <due></due>
                            <votes>1</votes>
                                    <watches>13</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="55800">1d 7.5h</timespent>
                                <comments>
                            <comment id="97851" author="edgar" created="Sun, 25 Jan 2015 21:27:39 +0100"  >&lt;p&gt;Hi, I implemented this improvement in our own extension of the HierarchicalUserManager as follows. I think the Magnolia HierarchicalUserManager could be improved similarly?&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;
	@Override
	&lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; Node createUserNode(&lt;span class=&quot;code-object&quot;&gt;String&lt;/span&gt; path, &lt;span class=&quot;code-object&quot;&gt;String&lt;/span&gt; userName, Session session) &lt;span class=&quot;code-keyword&quot;&gt;throws&lt;/span&gt; RepositoryException {
		Node userNode = &lt;span class=&quot;code-keyword&quot;&gt;super&lt;/span&gt;.createUserNode(path, userName, session);

		&lt;span class=&quot;code-comment&quot;&gt;// order 1st and 2nd level parent folders alphabetically
&lt;/span&gt;		&lt;span class=&quot;code-comment&quot;&gt;// e.g. order &lt;span class=&quot;code-quote&quot;&gt;&apos;/e/ed&apos;&lt;/span&gt; before &lt;span class=&quot;code-quote&quot;&gt;&apos;/e/ee&apos;&lt;/span&gt;
&lt;/span&gt;		&lt;span class=&quot;code-comment&quot;&gt;// and order &lt;span class=&quot;code-quote&quot;&gt;&apos;/e&apos;&lt;/span&gt; before &lt;span class=&quot;code-quote&quot;&gt;&apos;/f&apos;&lt;/span&gt;
&lt;/span&gt;		Node parentNode = userNode.getParent();
		&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (&lt;span class=&quot;code-keyword&quot;&gt;null&lt;/span&gt; != parentNode) {
			reorderNodeAlphabetically(parentNode);
		}
		Node parentParentNode = parentNode.getParent();
		&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (&lt;span class=&quot;code-keyword&quot;&gt;null&lt;/span&gt; != parentParentNode) {
			reorderNodeAlphabetically(parentParentNode);
		}
		&lt;span class=&quot;code-comment&quot;&gt;// order user node itself alphabetically
&lt;/span&gt;		reorderNodeAlphabetically(userNode);

		&lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; userNode;
	}

	/**
	 * Re-orders the specified node alphabetically by comparing its name with existing sibling nodes.
	 *
	 * It re-orders the specified node before the first sibling whose name alphabetically comes after
	 * the specified node name. E.g. a node with name &lt;span class=&quot;code-quote&quot;&gt;&apos;aa&apos;&lt;/span&gt; is ordered before an existing node with name &lt;span class=&quot;code-quote&quot;&gt;&apos;ab&apos;&lt;/span&gt; etc.
	 *
	 * So &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; method assumes that the existing sibling nodes are already sorted alphabetically.
	 *
	 * @param node the node to reorder
	 * @&lt;span class=&quot;code-keyword&quot;&gt;throws&lt;/span&gt; RepositoryException &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; the reordering fails
	 */
	&lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;static&lt;/span&gt; void reorderNodeAlphabetically(Node node) &lt;span class=&quot;code-keyword&quot;&gt;throws&lt;/span&gt; RepositoryException {
		Iterable&amp;lt;Node&amp;gt; siblings = NodeUtil.getSiblings(node);
		&lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; (Node sibling : siblings) {
			&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (node.getName().compareToIgnoreCase(sibling.getName()) &amp;lt; 0) {
				LOG.debug(&lt;span class=&quot;code-quote&quot;&gt;&quot;Ordering node &lt;span class=&quot;code-quote&quot;&gt;&apos;{}&apos;&lt;/span&gt; before existing node: &lt;span class=&quot;code-quote&quot;&gt;&apos;{}&apos;&lt;/span&gt;&quot;&lt;/span&gt;, node.getName(), sibling.getName());
				NodeUtil.orderBefore(node, sibling.getName());
				&lt;span class=&quot;code-keyword&quot;&gt;break&lt;/span&gt;;
			}
		}
	}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                            <comment id="101336" author="weder" created="Thu, 2 Apr 2015 15:35:00 +0200"  >&lt;p&gt;I&apos;ve been asked to comment on this issue (and the linked support issue).&lt;/p&gt;

&lt;p&gt;We&apos;ve actually &lt;b&gt;always wanted to have sorting in trees&lt;/b&gt;. The idea was that you&apos;d just click in the column header, as you would do in the List view, to sort e.g. node names alphabetically in ascending, then descending order. To still allow for customer ordering, &lt;b&gt;a third click in the &quot;node name&quot; column would switch back to the manual order&lt;/b&gt; and hide the arrow in the header, indicating the sort direction.&lt;/p&gt;

&lt;p&gt;I would &lt;b&gt;favor such a solution over defining an implicit sort order&lt;/b&gt;, but I&apos;ve learned back then that implementing this could be tricky, partially at least due to deficiencies in Vaadin&apos;s TreeTable component, if I remember correctly. Since that time, we&apos;ve basically been waiting for the (hierarchical) Grid component in Vaadin to appear. Grid is now here since 7.4, but it doesn&apos;t yet support hierarchical data sets. &lt;/p&gt;

&lt;p&gt;I &lt;b&gt;would not want to generally sort nodes in trees alphabetically&lt;/b&gt; (that breaks use cases e.g. in Pages), but if we&apos;d restrict that to the Security app, that might work. I must admit I don&apos;t know all use cases, though, to tell for sure.&lt;/p&gt;</comment>
                            <comment id="101350" author="edgar" created="Thu, 2 Apr 2015 17:21:38 +0200"  >&lt;p&gt;Hi @andreas. Thanks for the reply! We are in the progress of implementing a custom Content App for which we also want to have sorting in the tree view (without this the app is quite unusable at the moment) so if you have any idea on how we could best accomplish this that would be great.&lt;/p&gt;

&lt;p&gt;For now I think we will go for a similar route as the one I gave in this issue: actually sort the nodes themselves when adding new nodes.&lt;/p&gt;</comment>
                            <comment id="109869" author="rkovarik" created="Mon, 3 Aug 2015 14:52:17 +0200"  >&lt;p&gt;Review:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;tt&gt;OrderedJcrContainer&lt;/tt&gt;
	&lt;ul&gt;
		&lt;li&gt;&lt;tt&gt;ItemNameComparator&lt;/tt&gt; is copy of &lt;tt&gt;info.magnolia.ui.workbench.tree.HierarchicalJcrContainer.ItemNameComparator&lt;/tt&gt;. Please reuse the existing one.&lt;/li&gt;
		&lt;li&gt;Same for &lt;tt&gt;isJcrOrMgnlProperty&lt;/tt&gt;.&lt;/li&gt;
		&lt;li&gt;&lt;tt&gt;getChildren&lt;/tt&gt; missing override annotation&lt;/li&gt;
		&lt;li&gt;formatting&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
	&lt;li&gt;&lt;tt&gt;OrderedJcrContainerTest&lt;/tt&gt;
	&lt;ul&gt;
		&lt;li&gt;Fix javadoc.&lt;/li&gt;
		&lt;li&gt;Switched assertions: &lt;tt&gt;assertEquals(expected, actual)&lt;/tt&gt;&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
	&lt;li&gt;&lt;tt&gt;SecurityModuleVersionHandler&lt;/tt&gt;
	&lt;ul&gt;
		&lt;li&gt;Typo in the task name.&lt;/li&gt;
		&lt;li&gt;You can use &lt;tt&gt;OrderedTreePresenterDefinition.class.getName()&lt;/tt&gt; to prevent a typo (and you can do that also in the tests)&lt;/li&gt;
		&lt;li&gt;Shouldn&apos;t a &lt;tt&gt;nodeType&lt;/tt&gt; be set to the definition?&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
	&lt;li&gt;The implementation could be useful not only in the &lt;tt&gt;security app&lt;/tt&gt; and should probably go to &lt;tt&gt;magnolia-ui-workbench&lt;/tt&gt;.&lt;/li&gt;
&lt;/ul&gt;
</comment>
                            <comment id="109872" author="efochr" created="Mon, 3 Aug 2015 15:19:54 +0200"  >&lt;ul&gt;
	&lt;li&gt;OrderedJcrContainer
	&lt;ul&gt;
		&lt;li&gt;changed in parent class to protected and removed&lt;/li&gt;
		&lt;li&gt;same&lt;/li&gt;
		&lt;li&gt;it isn&apos;t clean overwrite there is change in method how are children get (from getNodes() method to sql query)&lt;/li&gt;
		&lt;li&gt;done&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
	&lt;li&gt;OrderedJcrContainerTest
	&lt;ul&gt;
		&lt;li&gt;fixed&lt;/li&gt;
		&lt;li&gt;switched&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
	&lt;li&gt;SecurityModuleVersionHandler
	&lt;ul&gt;
		&lt;li&gt;fixed&lt;/li&gt;
		&lt;li&gt;done&lt;/li&gt;
		&lt;li&gt;normaly it is set by OrderedTreePresenterDefinition in OrderedTreePresenter&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
	&lt;li&gt;moved&lt;/li&gt;
&lt;/ul&gt;
</comment>
                            <comment id="109989" author="rkovarik" created="Tue, 4 Aug 2015 11:41:06 +0200"  >&lt;p&gt;Review: Seems OK, the final review should be probably done by &lt;a href=&quot;https://jira.magnolia-cms.com/secure/ViewProfile.jspa?name=jsimak&quot; class=&quot;user-hover&quot; rel=&quot;jsimak&quot;&gt;jsimak&lt;/a&gt; or someone from the former platform cell.&lt;/p&gt;</comment>
                            <comment id="110054" author="mgeljic" created="Wed, 5 Aug 2015 15:01:00 +0200"  >&lt;p&gt;As far as I know, sorting isn&apos;t that much of an issue in the Vaadin world; &lt;b&gt;doing so with our JCR containers is&lt;/b&gt;.&lt;br/&gt;
That&apos;s why unfortunately those presenters/containers have been extended way too much in several modules/apps &lt;font color=&quot;grey&quot;&gt;(and everytime I spot a new one, a baby panda cries)&lt;/font&gt;.&lt;/p&gt;

&lt;p&gt;If sorting were implemented at least for the &lt;tt&gt;HierarchicalJcrContainer&lt;/tt&gt; for now, then &lt;tt&gt;JcrContentConnectorDefinition&lt;/tt&gt;&apos;s &lt;tt&gt;defaultOrder&lt;/tt&gt; property would also become more useful...&lt;br/&gt;
Has this been researched by any chance? &#8212; If it is too cumbersome, I can&apos;t blame anyone for extending, rather blame the framework.&lt;br/&gt;
Mind that apparently, Edgar was kind enough to close the support request, so we might have a little bit more time to do this properly (and not only benefit the security app).&lt;/p&gt;

&lt;p&gt;What do you guys think? &lt;img class=&quot;emoticon&quot; src=&quot;https://jira.magnolia-cms.com/images/icons/emoticons/smile.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="110955" author="weder" created="Fri, 21 Aug 2015 08:56:00 +0200"  >&lt;p&gt;Linking a page describing the actual interaction design for how we plan to implement this. Let&apos;s discuss the non-technical issues &lt;a href=&quot;https://wiki.magnolia-cms.com/display/UX/Sorting+in+trees&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;there&lt;/a&gt;.&lt;/p&gt;</comment>
                            <comment id="110957" author="weder" created="Fri, 21 Aug 2015 10:32:00 +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;a href=&quot;https://jira.magnolia-cms.com/secure/ViewProfile.jspa?name=had&quot; class=&quot;user-hover&quot; rel=&quot;had&quot;&gt;had&lt;/a&gt; Finished extracting the design to &lt;a href=&quot;https://wiki.magnolia-cms.com/display/UX/Sorting+in+trees&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;the wiki page&lt;/a&gt;. I&apos;ve decided to also remove it from this issue to avoid confusion and waisted efforts. &lt;/p&gt;

&lt;p&gt;I&apos;ve also promoted the manual ordering of notes to simply become one of the available sort criteria - see the updated mockups on the page.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://jira.magnolia-cms.com/secure/ViewProfile.jspa?name=edgar&quot; class=&quot;user-hover&quot; rel=&quot;edgar&quot;&gt;edgar&lt;/a&gt; You &lt;a href=&quot;https://wiki.magnolia-cms.com/display/UX/Sorting+in+trees&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;might also want to have a look at our solution&lt;/a&gt; and provide feedback. Thanks for your input and solution.&lt;/p&gt;</comment>
                            <comment id="111903" author="weder" created="Wed, 9 Sep 2015 16:22:38 +0200"  >&lt;p&gt;Added a more detailed description to capture the current state and in order to close &lt;a href=&quot;https://jira.magnolia-cms.com/browse/MGNLUI-106&quot; title=&quot;Implement sorting in trees&quot; class=&quot;issue-link&quot; data-issue-key=&quot;MGNLUI-106&quot;&gt;&lt;del&gt;the other tree sorting issue&lt;/del&gt;&lt;/a&gt;.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10040">
                    <name>causality</name>
                                                                <inwardlinks description="is causing">
                                        <issuelink>
            <issuekey id="47793">MGNLUI-3577</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10020">
                    <name>dependency</name>
                                                                <inwardlinks description="is depended upon by">
                                        <issuelink>
            <issuekey id="47646">MGNLUI-3543</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10021">
                    <name>duplicate</name>
                                                                <inwardlinks description="is duplicated by">
                                        <issuelink>
            <issuekey id="26055">MGNLUI-106</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10022">
                    <name>supersession</name>
                                                                <inwardlinks description="is superseded by">
                                        <issuelink>
            <issuekey id="47774">MGNLUI-3574</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_10031" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of First Response</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Sun, 25 Jan 2015 21:27:39 +0100</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>miruela</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_13136" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            8 years, 23 weeks, 4 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>10.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10011" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>weder</customfieldvalue>
            <customfieldvalue>edgar</customfieldvalue>
            <customfieldvalue>efochr</customfieldvalue>
            <customfieldvalue>jsimak</customfieldvalue>
            <customfieldvalue>mgeljic</customfieldvalue>
            <customfieldvalue>rgange</customfieldvalue>
            <customfieldvalue>rkovarik</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                <customfield id="customfield_10833" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|hzzzzn:9a90vhmi212zi</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10244" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>26754</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_14168" key="com.okapya.jira.checklist:checklist">
                        <customfieldname>Task DoD</customfieldname>
                        <customfieldvalues>
                            
        <checklist>
        <![CDATA[
                            




                
                        
        <div style="margin-bottom: 8px;">
                            <div class="o-completion" style="display: flex; flex-shrink: 0;"><span  class="aui-lozenge" 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>0/6</span></span></div>
                    
            <div class="checklist-progress-bar-wrapper" style="">
        <div class="checklist-progress-bar" style="position: relative; width: 100%; background-color: #cccccc; margin-bottom: 2px; margin-top: 5px;">
                        <div class="checklist-progress" style="display: block; float: none; width: 0%; height: 2px; background: #14892c;">
                            </div>
        </div>
    </div>
        </div>
    
                                    <div style="display: flex; align-items: flex-start; padding: 0; margin-left: 12px; float: none; font-size: 14px;">
                                                                <span style="padding-right: 5px; align-self: flex-start;">
                                <svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg" class="unchecked"><path d="M0.441406 6.94141C0.441406 5.28455 1.78455 3.94141 3.44141 3.94141H15.4414C17.0983 3.94141 18.4414 5.28455 18.4414 6.94141V18.9414C18.4414 20.5983 17.0983 21.9414 15.4414 21.9414H3.44141C1.78455 21.9414 0.441406 20.5983 0.441406 18.9414V6.94141Z" fill="#EFF4FB" /><path fill-rule="evenodd" clip-rule="evenodd" d="M12.4414 3.94141H3.44141C1.78455 3.94141 0.441406 5.28455 0.441406 6.94141V18.9414C0.441406 20.5983 1.78455 21.9414 3.44141 21.9414H15.4414C17.0983 21.9414 18.4414 20.5983 18.4414 18.9414V9.94141H17.4414V18.9414C17.4414 20.046 16.546 20.9414 15.4414 20.9414H3.44141C2.33684 20.9414 1.44141 20.046 1.44141 18.9414V6.94141C1.44141 5.83684 2.33684 4.94141 3.44141 4.94141H12.4414V3.94141Z" fill="#ADBBD0" /><path d="M21.5306 5.91574L19.3486 4.58101L21.5306 3.24628C21.5681 3.22328 21.595 3.18633 21.6053 3.14348C21.6156 3.10063 21.6084 3.05545 21.5855 3.01792L20.9444 1.96985C20.8966 1.89162 20.7942 1.86696 20.716 1.91479L18.6331 3.18898V0.747138C18.6331 0.65546 18.5587 0.581055 18.4671 0.581055H17.2386C17.1469 0.581055 17.0725 0.65546 17.0725 0.747138V3.18898L14.9896 1.91487C14.9112 1.86704 14.8091 1.89162 14.7612 1.96993L14.1201 3.018C14.0972 3.05554 14.09 3.10071 14.1003 3.14356C14.1106 3.18641 14.1375 3.22336 14.175 3.24637L16.3571 4.58101L14.175 5.91574C14.1375 5.93866 14.1106 5.9757 14.1003 6.01847C14.09 6.0614 14.0972 6.10657 14.1201 6.14411L14.7612 7.1921C14.8091 7.27032 14.9112 7.29507 14.9896 7.24724L17.0725 5.97304V8.41489C17.0725 8.50657 17.1469 8.58097 17.2386 8.58097H18.4671C18.5587 8.58097 18.6331 8.50657 18.6331 8.41489V5.97313L20.7161 7.24715C20.7943 7.29499 20.8967 7.27032 20.9444 7.19218L21.5856 6.14411C21.6085 6.10657 21.6157 6.0614 21.6054 6.01855C21.5952 5.97562 21.5682 5.93875 21.5306 5.91574Z" fill="#de350b" /></svg>
                        </span>
                                        <div style="cursor: default; text-align: left; flex-grow: 1; padding-right: 3px; margin-top: 2px;">
                                                
                                                
                                                <span >
                                                        <span>Doc/release notes changes? Comment present?</span>

                        </span>
                    </div>
                                                                    <span style="padding-right: 1px; white-space: nowrap;">
                                                        
                                                        
                                                                                </span>
                                    </div>
                                                <div style="display: flex; align-items: flex-start; padding: 0; margin-left: 12px; float: none; font-size: 14px;">
                                                                <span style="padding-right: 5px; align-self: flex-start;">
                                <svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg" class="unchecked"><path d="M0.441406 6.94141C0.441406 5.28455 1.78455 3.94141 3.44141 3.94141H15.4414C17.0983 3.94141 18.4414 5.28455 18.4414 6.94141V18.9414C18.4414 20.5983 17.0983 21.9414 15.4414 21.9414H3.44141C1.78455 21.9414 0.441406 20.5983 0.441406 18.9414V6.94141Z" fill="#EFF4FB" /><path fill-rule="evenodd" clip-rule="evenodd" d="M12.4414 3.94141H3.44141C1.78455 3.94141 0.441406 5.28455 0.441406 6.94141V18.9414C0.441406 20.5983 1.78455 21.9414 3.44141 21.9414H15.4414C17.0983 21.9414 18.4414 20.5983 18.4414 18.9414V9.94141H17.4414V18.9414C17.4414 20.046 16.546 20.9414 15.4414 20.9414H3.44141C2.33684 20.9414 1.44141 20.046 1.44141 18.9414V6.94141C1.44141 5.83684 2.33684 4.94141 3.44141 4.94141H12.4414V3.94141Z" fill="#ADBBD0" /><path d="M21.5306 5.91574L19.3486 4.58101L21.5306 3.24628C21.5681 3.22328 21.595 3.18633 21.6053 3.14348C21.6156 3.10063 21.6084 3.05545 21.5855 3.01792L20.9444 1.96985C20.8966 1.89162 20.7942 1.86696 20.716 1.91479L18.6331 3.18898V0.747138C18.6331 0.65546 18.5587 0.581055 18.4671 0.581055H17.2386C17.1469 0.581055 17.0725 0.65546 17.0725 0.747138V3.18898L14.9896 1.91487C14.9112 1.86704 14.8091 1.89162 14.7612 1.96993L14.1201 3.018C14.0972 3.05554 14.09 3.10071 14.1003 3.14356C14.1106 3.18641 14.1375 3.22336 14.175 3.24637L16.3571 4.58101L14.175 5.91574C14.1375 5.93866 14.1106 5.9757 14.1003 6.01847C14.09 6.0614 14.0972 6.10657 14.1201 6.14411L14.7612 7.1921C14.8091 7.27032 14.9112 7.29507 14.9896 7.24724L17.0725 5.97304V8.41489C17.0725 8.50657 17.1469 8.58097 17.2386 8.58097H18.4671C18.5587 8.58097 18.6331 8.50657 18.6331 8.41489V5.97313L20.7161 7.24715C20.7943 7.29499 20.8967 7.27032 20.9444 7.19218L21.5856 6.14411C21.6085 6.10657 21.6157 6.0614 21.6054 6.01855C21.5952 5.97562 21.5682 5.93875 21.5306 5.91574Z" fill="#de350b" /></svg>
                        </span>
                                        <div style="cursor: default; text-align: left; flex-grow: 1; padding-right: 3px; margin-top: 2px;">
                                                
                                                
                                                <span >
                                                        <span>Downstream builds green?</span>

                        </span>
                    </div>
                                                                    <span style="padding-right: 1px; white-space: nowrap;">
                                                        
                                                        
                                                                                </span>
                                    </div>
                                                <div style="display: flex; align-items: flex-start; padding: 0; margin-left: 12px; float: none; font-size: 14px;">
                                                                <span style="padding-right: 5px; align-self: flex-start;">
                                <svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg" class="unchecked"><path d="M0.441406 6.94141C0.441406 5.28455 1.78455 3.94141 3.44141 3.94141H15.4414C17.0983 3.94141 18.4414 5.28455 18.4414 6.94141V18.9414C18.4414 20.5983 17.0983 21.9414 15.4414 21.9414H3.44141C1.78455 21.9414 0.441406 20.5983 0.441406 18.9414V6.94141Z" fill="#EFF4FB" /><path fill-rule="evenodd" clip-rule="evenodd" d="M12.4414 3.94141H3.44141C1.78455 3.94141 0.441406 5.28455 0.441406 6.94141V18.9414C0.441406 20.5983 1.78455 21.9414 3.44141 21.9414H15.4414C17.0983 21.9414 18.4414 20.5983 18.4414 18.9414V9.94141H17.4414V18.9414C17.4414 20.046 16.546 20.9414 15.4414 20.9414H3.44141C2.33684 20.9414 1.44141 20.046 1.44141 18.9414V6.94141C1.44141 5.83684 2.33684 4.94141 3.44141 4.94141H12.4414V3.94141Z" fill="#ADBBD0" /><path d="M21.5306 5.91574L19.3486 4.58101L21.5306 3.24628C21.5681 3.22328 21.595 3.18633 21.6053 3.14348C21.6156 3.10063 21.6084 3.05545 21.5855 3.01792L20.9444 1.96985C20.8966 1.89162 20.7942 1.86696 20.716 1.91479L18.6331 3.18898V0.747138C18.6331 0.65546 18.5587 0.581055 18.4671 0.581055H17.2386C17.1469 0.581055 17.0725 0.65546 17.0725 0.747138V3.18898L14.9896 1.91487C14.9112 1.86704 14.8091 1.89162 14.7612 1.96993L14.1201 3.018C14.0972 3.05554 14.09 3.10071 14.1003 3.14356C14.1106 3.18641 14.1375 3.22336 14.175 3.24637L16.3571 4.58101L14.175 5.91574C14.1375 5.93866 14.1106 5.9757 14.1003 6.01847C14.09 6.0614 14.0972 6.10657 14.1201 6.14411L14.7612 7.1921C14.8091 7.27032 14.9112 7.29507 14.9896 7.24724L17.0725 5.97304V8.41489C17.0725 8.50657 17.1469 8.58097 17.2386 8.58097H18.4671C18.5587 8.58097 18.6331 8.50657 18.6331 8.41489V5.97313L20.7161 7.24715C20.7943 7.29499 20.8967 7.27032 20.9444 7.19218L21.5856 6.14411C21.6085 6.10657 21.6157 6.0614 21.6054 6.01855C21.5952 5.97562 21.5682 5.93875 21.5306 5.91574Z" fill="#de350b" /></svg>
                        </span>
                                        <div style="cursor: default; text-align: left; flex-grow: 1; padding-right: 3px; margin-top: 2px;">
                                                
                                                
                                                <span >
                                                        <span>Solution information and context easily available?</span>

                        </span>
                    </div>
                                                                    <span style="padding-right: 1px; white-space: nowrap;">
                                                        
                                                        
                                                                                </span>
                                    </div>
                                                <div style="display: flex; align-items: flex-start; padding: 0; margin-left: 12px; float: none; font-size: 14px;">
                                                                <span style="padding-right: 5px; align-self: flex-start;">
                                <svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg" class="unchecked"><path d="M0.441406 6.94141C0.441406 5.28455 1.78455 3.94141 3.44141 3.94141H15.4414C17.0983 3.94141 18.4414 5.28455 18.4414 6.94141V18.9414C18.4414 20.5983 17.0983 21.9414 15.4414 21.9414H3.44141C1.78455 21.9414 0.441406 20.5983 0.441406 18.9414V6.94141Z" fill="#EFF4FB" /><path fill-rule="evenodd" clip-rule="evenodd" d="M12.4414 3.94141H3.44141C1.78455 3.94141 0.441406 5.28455 0.441406 6.94141V18.9414C0.441406 20.5983 1.78455 21.9414 3.44141 21.9414H15.4414C17.0983 21.9414 18.4414 20.5983 18.4414 18.9414V9.94141H17.4414V18.9414C17.4414 20.046 16.546 20.9414 15.4414 20.9414H3.44141C2.33684 20.9414 1.44141 20.046 1.44141 18.9414V6.94141C1.44141 5.83684 2.33684 4.94141 3.44141 4.94141H12.4414V3.94141Z" fill="#ADBBD0" /><path d="M21.5306 5.91574L19.3486 4.58101L21.5306 3.24628C21.5681 3.22328 21.595 3.18633 21.6053 3.14348C21.6156 3.10063 21.6084 3.05545 21.5855 3.01792L20.9444 1.96985C20.8966 1.89162 20.7942 1.86696 20.716 1.91479L18.6331 3.18898V0.747138C18.6331 0.65546 18.5587 0.581055 18.4671 0.581055H17.2386C17.1469 0.581055 17.0725 0.65546 17.0725 0.747138V3.18898L14.9896 1.91487C14.9112 1.86704 14.8091 1.89162 14.7612 1.96993L14.1201 3.018C14.0972 3.05554 14.09 3.10071 14.1003 3.14356C14.1106 3.18641 14.1375 3.22336 14.175 3.24637L16.3571 4.58101L14.175 5.91574C14.1375 5.93866 14.1106 5.9757 14.1003 6.01847C14.09 6.0614 14.0972 6.10657 14.1201 6.14411L14.7612 7.1921C14.8091 7.27032 14.9112 7.29507 14.9896 7.24724L17.0725 5.97304V8.41489C17.0725 8.50657 17.1469 8.58097 17.2386 8.58097H18.4671C18.5587 8.58097 18.6331 8.50657 18.6331 8.41489V5.97313L20.7161 7.24715C20.7943 7.29499 20.8967 7.27032 20.9444 7.19218L21.5856 6.14411C21.6085 6.10657 21.6157 6.0614 21.6054 6.01855C21.5952 5.97562 21.5682 5.93875 21.5306 5.91574Z" fill="#de350b" /></svg>
                        </span>
                                        <div style="cursor: default; text-align: left; flex-grow: 1; padding-right: 3px; margin-top: 2px;">
                                                
                                                
                                                <span >
                                                        <span><strong>Tests</strong></span>

                        </span>
                    </div>
                                                                    <span style="padding-right: 1px; white-space: nowrap;">
                                                        
                                                        
                                                                                </span>
                                    </div>
                                                <div style="display: flex; align-items: flex-start; padding: 0; margin-left: 12px; float: none; font-size: 14px;">
                                                                <span style="padding-right: 5px; align-self: flex-start;">
                                <svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg" class="unchecked"><path d="M0.441406 6.94141C0.441406 5.28455 1.78455 3.94141 3.44141 3.94141H15.4414C17.0983 3.94141 18.4414 5.28455 18.4414 6.94141V18.9414C18.4414 20.5983 17.0983 21.9414 15.4414 21.9414H3.44141C1.78455 21.9414 0.441406 20.5983 0.441406 18.9414V6.94141Z" fill="#EFF4FB" /><path fill-rule="evenodd" clip-rule="evenodd" d="M12.4414 3.94141H3.44141C1.78455 3.94141 0.441406 5.28455 0.441406 6.94141V18.9414C0.441406 20.5983 1.78455 21.9414 3.44141 21.9414H15.4414C17.0983 21.9414 18.4414 20.5983 18.4414 18.9414V9.94141H17.4414V18.9414C17.4414 20.046 16.546 20.9414 15.4414 20.9414H3.44141C2.33684 20.9414 1.44141 20.046 1.44141 18.9414V6.94141C1.44141 5.83684 2.33684 4.94141 3.44141 4.94141H12.4414V3.94141Z" fill="#ADBBD0" /><path d="M21.5306 5.91574L19.3486 4.58101L21.5306 3.24628C21.5681 3.22328 21.595 3.18633 21.6053 3.14348C21.6156 3.10063 21.6084 3.05545 21.5855 3.01792L20.9444 1.96985C20.8966 1.89162 20.7942 1.86696 20.716 1.91479L18.6331 3.18898V0.747138C18.6331 0.65546 18.5587 0.581055 18.4671 0.581055H17.2386C17.1469 0.581055 17.0725 0.65546 17.0725 0.747138V3.18898L14.9896 1.91487C14.9112 1.86704 14.8091 1.89162 14.7612 1.96993L14.1201 3.018C14.0972 3.05554 14.09 3.10071 14.1003 3.14356C14.1106 3.18641 14.1375 3.22336 14.175 3.24637L16.3571 4.58101L14.175 5.91574C14.1375 5.93866 14.1106 5.9757 14.1003 6.01847C14.09 6.0614 14.0972 6.10657 14.1201 6.14411L14.7612 7.1921C14.8091 7.27032 14.9112 7.29507 14.9896 7.24724L17.0725 5.97304V8.41489C17.0725 8.50657 17.1469 8.58097 17.2386 8.58097H18.4671C18.5587 8.58097 18.6331 8.50657 18.6331 8.41489V5.97313L20.7161 7.24715C20.7943 7.29499 20.8967 7.27032 20.9444 7.19218L21.5856 6.14411C21.6085 6.10657 21.6157 6.0614 21.6054 6.01855C21.5952 5.97562 21.5682 5.93875 21.5306 5.91574Z" fill="#de350b" /></svg>
                        </span>
                                        <div style="cursor: default; text-align: left; flex-grow: 1; padding-right: 3px; margin-top: 2px;">
                                                
                                                
                                                <span >
                                                        <span><strong>FixVersion</strong> filled and not yet released</span>

                        </span>
                    </div>
                                                                    <span style="padding-right: 1px; white-space: nowrap;">
                                                        
                                                        
                                                                                </span>
                                    </div>
                                                <div style="display: flex; align-items: flex-start; padding: 0; margin-left: 12px; float: none; font-size: 14px;">
                                                                <span style="padding-right: 5px; align-self: flex-start;">
                                <svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg" class="unchecked"><rect fill="#EFF4FB" height="17.5" rx="2.5" stroke="#ADBBD0" width="18" x="0.44141" y="3.94141"/></svg>
                        </span>
                                        <div style="cursor: default; text-align: left; flex-grow: 1; padding-right: 3px; margin-top: 2px;">
                                                
                                                
                                                <span >
                                                        <span>Architecture Decision Record (<strong>ADR</strong>)</span>

                        </span>
                    </div>
                                                                    <span style="padding-right: 1px; white-space: nowrap;">
                                                        
                                                        
                                                                                </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>