<!-- 
RSS generated by JIRA (9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b) at Mon Feb 12 09:11:03 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-3882] Reference fields by name as well as by fully qualified classname</title>
                <link>https://jira.magnolia-cms.com/browse/MGNLUI-3882</link>
                <project id="10625" key="MGNLUI">Magnolia UI</project>
                    <description>&lt;p&gt;Currently in a dialog definition, to specify the type of field you must supply a fully qualified class name of the field, for example:&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;
info.magnolia.ui.form.field.definition.TextFieldDefinition&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;For legibility, ease of development, and to make fields easier to remember, a developer should be able to use a short name instead of needing to specify the class name. (But the fully qualified class name may still be used.) In this case:&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;
text&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Still to decide is which field should be used to supply this field name, maybe the same field &quot;class&quot; or a new field &quot;fieldType&quot;.&lt;/p&gt;

&lt;p&gt;A developer should not have to specify a different dialog class for this functionality - it should work with the current default dialog.&lt;/p&gt;

&lt;p&gt;Validation: &lt;a href=&quot;https://wiki.magnolia-cms.com/display/PMTEAM/Simplified+Dialogs+LDV&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://wiki.magnolia-cms.com/display/PMTEAM/Simplified+Dialogs+LDV&lt;/a&gt;&lt;/p&gt;</description>
                <environment></environment>
        <key id="52313">MGNLUI-3882</key>
            <summary>Reference fields by name as well as by fully qualified classname</summary>
                <type id="14" iconUrl="https://jira.magnolia-cms.com/secure/viewavatar?size=xsmall&amp;avatarId=10895&amp;avatarType=issuetype">Story</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="11">Done</resolution>
                                        <assignee username="ilgun">Ilgun Ilgun</assignee>
                                    <reporter username="czimmermann">Christopher Zimmermann</reporter>
                        <labels>
                    </labels>
                <created>Wed, 18 May 2016 13:32:03 +0200</created>
                <updated>Mon, 25 Jun 2018 10:40:37 +0200</updated>
                            <resolved>Wed, 16 May 2018 11:42:05 +0200</resolved>
                                    <version>5.4.6</version>
                                    <fixVersion>5.7</fixVersion>
                                        <due></due>
                            <votes>1</votes>
                                    <watches>7</watches>
                                                                                                                <comments>
                            <comment id="126042" author="czimmermann" created="Mon, 23 May 2016 15:11:18 +0200"  >&lt;p&gt;Idea: Whether to only address this for fieldTypes with a special mechanism, or whether to introduce this ability more generically - the ability to reference a class by a name.&lt;br/&gt;
Could their be some kind of IOC for configuration? A separate place where devs can map which class implements a specific name for a field - or even for other things like templates?&lt;/p&gt;</comment>
                            <comment id="135305" author="czimmermann" created="Tue, 22 Nov 2016 16:43:59 +0100"  >&lt;p&gt;TODO:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;POC&lt;/li&gt;
	&lt;li&gt;Arch Review&lt;/li&gt;
&lt;/ul&gt;
</comment>
                            <comment id="135990" author="apchelintcev" created="Wed, 7 Dec 2016 10:39:10 +0100"  >&lt;p&gt;After thinking about this for some time, I started questioning the necessity of connecting the definition class to an alias via the registry itself. There&apos;s a couple of reasons for that:&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;there&apos;s no guarantee that all the registries are available during to-bean transformation (so what do we do anyway?)&lt;/li&gt;
	&lt;li&gt;the only current use case of e.g. &lt;tt&gt;FieldTypeRegistry&lt;/tt&gt; is to resolve the field factory class for a field definition. At the moment we do that - alias is redundant: we already know the definition class (cause we have the definition instance).&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Another point against attempting to wire up such mechanism over the registry is the support for other similar entities (actions/traits/columns/you name it). If we implement smth for the field defs and it works nicely - users will logically expect us to spread the pattern application. But many (actually most) of other objects aren&apos;t covered by the registries at all.&lt;/p&gt;

&lt;p&gt;With all that in mind - I start to think that the variant with class annotating is not such a bad idea if done smartly:&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;We could introduce a notion of a &lt;b&gt;type alias&lt;/b&gt; that could be configured by either a class/interface-level annotation (&lt;tt&gt;@TypeAlias&lt;/tt&gt;) or via module descriptor XML tag (if Java modifications are not desirable).&lt;/li&gt;
	&lt;li&gt;Aliases could be aggregated in a special component (&lt;tt&gt;AliasResolver/AliasLookup/&lt;/tt&gt;...). Such component would be system-wide and could be accessible from all the data converters and from any other place later on.&lt;/li&gt;
	&lt;li&gt;Aliases could be aggregated via different channels
	&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
		&lt;li&gt;Reflections library is one of them, but we need to scan the whole classpath (own packages + the user packages as well);&lt;/li&gt;
		&lt;li&gt;Compile time annotation processor (might need some research and might be tricky to implement/configure);&lt;/li&gt;
		&lt;li&gt;While parsing module descriptors.&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
	&lt;li&gt;Some sort of namespaces would be required (in order to avoid conflicts and be able to achieve a better structure in general).
	&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
		&lt;li&gt;Base class could be automatically used as an implicit namespace&lt;/li&gt;
		&lt;li&gt;Module names somehow?&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
	&lt;li&gt;Similarly to how we treat the &lt;em&gt;&lt;b&gt;class&lt;/b&gt;&lt;/em&gt; property during transformation - we could introduce the property ~&lt;b&gt;&lt;em&gt;type&lt;/em&gt;&lt;/b&gt; which would indicate that the actual class should be looked up via the alias resolver (property name choice might be tricky since you can&apos;t tell, which ones are already specified as actual definition interface fields).&lt;/li&gt;
&lt;/ul&gt;
</comment>
                            <comment id="135991" author="ilgun" created="Wed, 7 Dec 2016 11:04:18 +0100"  >&lt;p&gt;Actually when I started really looking into N2B and M2B and how to implement it via Registry approach, I had some doubts about it.&lt;/p&gt;

&lt;p&gt;If we really need to implement the Registry approach;&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Registries are not accessible from core anyways. (circular dependency)&lt;/li&gt;
	&lt;li&gt;Map2Bean do not offer custom transformer (can be implemented as far as I see)&lt;/li&gt;
	&lt;li&gt;Custom transformer impl for Node2Bean&lt;/li&gt;
	&lt;li&gt;Since registries are not accessible we have to choose from:
	&lt;ul&gt;
		&lt;li&gt;Component in core for field alias &amp;lt;-&amp;gt; definition class (FieldTypeRegistry in core essentially)&lt;/li&gt;
		&lt;li&gt;Or moving the FieldTypeRegistry to core (which is no go)&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
&lt;/ul&gt;



&lt;p&gt;When I offered Annotation based approach, I had more or less similar ideas as Sasha. One important remark from him make sense to me as well regarding module descriptor xml tag.&lt;/p&gt;

&lt;p&gt;I&apos;d suggest to have module name in front of the alias e.g fooModule.text&lt;br/&gt;
As I already mentioned in the POC I&apos;d use it with @Field(name=&quot;text&quot;) annotation. I can edit the concept with further ideas and suggestions regarding annotation based approach if that&apos;s the way to go. &lt;/p&gt;

</comment>
                            <comment id="136000" author="had" created="Wed, 7 Dec 2016 14:29:54 +0100"  >&lt;p&gt;While it&apos;s good to behave like a boy scout and leave place you have been cleaner than it was when you came, i&apos;m afraid we are getting fairly far away from the original scope of allowing any John Doe to write his definition w/ just name of the field in mind and not remembering full class name. &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;

&lt;p&gt;Also while annotations and effectively hardcoding name of the field in the class would be most likely be no issue for us, remembering some cases in the past, it would be issue for users of 3rd party developed modules that might have same name definitions or where module A introduces field AX that module B wants to replace w/ BX ... that with annotations would probably require us to define dependencies on the modules if that would be even enough.&lt;/p&gt;

&lt;p&gt;How about another round of discussion on next Arch meeting before going too deep?&lt;/p&gt;</comment>
                            <comment id="136003" author="ilgun" created="Wed, 7 Dec 2016 14:40:40 +0100"  >&lt;p&gt;If it comes to there we have different options and what I would suggest it to not allow same name fields aliases. If one wants to give an alias to a field, we can clearly suggest them to use moduleName prefix. anyhow that&apos;s very deep topic at this stage. &lt;br/&gt;
On the other hand, It&apos;s for sure that we have to communicate this to the user via something (perhaps an app or perhaps a subapp in definitions app &lt;img class=&quot;emoticon&quot; src=&quot;https://jira.magnolia-cms.com/images/icons/emoticons/help_16.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="136056" author="apchelintcev" created="Thu, 8 Dec 2016 11:46:58 +0100"  >&lt;p&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; re: problem with the clashing names - anticipating that too, I have outlined in my comment that the effort would require a namespace concept of some sort (implicit/explicit/semi-explicit). Allowing users to provide alias mappings within the module names would make the substitution possible. &lt;/p&gt;</comment>
                            <comment id="136062" author="apchelintcev" created="Thu, 8 Dec 2016 12:09:33 +0100"  >&lt;p&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;&lt;a href=&quot;https://jira.magnolia-cms.com/secure/ViewProfile.jspa?name=ilgun&quot; class=&quot;user-hover&quot; rel=&quot;ilgun&quot;&gt;ilgun&lt;/a&gt; We have discussed the matter again at the arch meeting and the conclusion was to hold on with the effort for now mostly due to the high amount of uncertainty about this feature.&lt;/p&gt;

&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;Initial idea to wire this through the field type registry and have it done in fast and non-intrusive way got complicated by the question of how to make M2B and N2B aware of such mappings?
	&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
		&lt;li&gt;Letting transformers pull registries during transformation process is at least questionable.&lt;/li&gt;
		&lt;li&gt;Registries are downstream relatively to transformers, so this would make a somewhat circular dependency.&lt;/li&gt;
		&lt;li&gt;We would get a cross-registry dependency (during a dialog definition resolution you would require that the field type registry is complete enough to provide necessary info)&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
&lt;/ul&gt;


&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;Proposals like the above which argue for the additional mappings, annotations and new mechanisms imply the introduction of additional abstractions that look tad too heavy for such a small feature.
	&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
		&lt;li&gt;Additional tooling would also be required (e.g. like another sub-app in defs app that would reveal the mappings)&lt;/li&gt;
		&lt;li&gt;One of the ideas for cutting some corners here was to look at the &lt;tt&gt;TypeMapping&lt;/tt&gt; and see if it could be utilised for such purposes.&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
&lt;/ul&gt;


&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;There is a proposal for looking closer at the transformers we have and attempt to bring them to a more open and extensible common API:
	&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
		&lt;li&gt;E.g. allow to register custom resolvers/plugins (still not very clear to me, where the info would be coming from).&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;As I said in the beginning, it looks like it makes sense to park the effort now and see how the situation evolves and whether this feature could be implemented as a requirement or a complement to some bigger story &lt;img class=&quot;emoticon&quot; src=&quot;https://jira.magnolia-cms.com/images/icons/emoticons/help_16.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="136073" author="had" created="Thu, 8 Dec 2016 13:22:53 +0100"  >&lt;blockquote&gt;&lt;p&gt;due to the high amount of uncertainty about this feature&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;What is uncertainty? &lt;br/&gt;
Ever since we moved types to registries, people were crying to be able to specify field types just by name instead of having to remember and copy whole class name of the definition. What is point of having named definitions when we don&apos;t use the name? Looks like rather flawed design to begin with. &lt;/p&gt;

&lt;p&gt;Be sure that this request is not going away. It will not automagically disappear so I don&apos;t understand what is uncertain about it. What do you need to remove the uncertainty? The above statement for sure doesn&apos;t make that clear.&lt;/p&gt;

&lt;p&gt;-&lt;del&gt;Perhaps I&apos;m just venting my frustration here, but seems to me like lately conclusion to every problem is &quot;let&apos;s ground it and see if it doesn&apos;t get resolved by itself later&quot;.&lt;/del&gt;-&lt;/p&gt;

&lt;p&gt;Why is resolving the type from dialog field itself, currently you specify in dialog &lt;tt&gt;class&lt;/tt&gt; that is picked by transformer to instantiate the definition. When &lt;tt&gt;class&lt;/tt&gt; property is committed we use the default class for type expected at given position or fail to instantiate bean. We could simply use again &lt;tt&gt;type&lt;/tt&gt; property that we used in the past for this and have default impl be proxy class that would look up the underlying type definition implementation in the registry. The proxy itself could live where registries are or even more downstream to avoid circular dependency.  &lt;/p&gt;

&lt;p&gt;And I&apos;m sure there are other even better solutions, all I wanted to say is that there is no &quot;later&quot; in &quot;we shall revisit this later&quot;. Users struggling with writing solutions on top of Magnolia is the bigger story we are solving now, and having to remember, type correctly or paste class names again and again is part of this bigger story.&lt;/p&gt;</comment>
                            <comment id="136221" author="apchelintcev" created="Tue, 13 Dec 2016 13:10:35 +0100"  >&lt;p&gt;After another iteration of this feature review at the architecture meeting the following decision have been made:&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;We want to have a working solution for the fields that would lookup the definition class based on the name coming from the FieldTypeDefinitionRegistry through metadata (i.e. eventually =&amp;gt; &lt;b&gt;node/file names&lt;/b&gt;) without the need to provide any redundant aliases.
	&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
		&lt;li&gt;we need to make sure that we leave a room for other strategies as well (if we ever want to have the same mechanism for e.g. actions, which aren&apos;t bound to a registry).&lt;/li&gt;
		&lt;li&gt;we need to find a way to gracefully provide the access to FieldTypeDefinitionRegistry from Node2Bean and Map2Bean transformers (through some plugin-like abstractions or similar)&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Two concepts have been considered: &lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;By &lt;a href=&quot;https://jira.magnolia-cms.com/secure/ViewProfile.jspa?name=rkovarik&quot; class=&quot;user-hover&quot; rel=&quot;rkovarik&quot;&gt;rkovarik&lt;/a&gt; &lt;a href=&quot;https://wiki.magnolia-cms.com/display/DEV/Copy+of+Referencing+classes+in+configuration+via+aliases&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://wiki.magnolia-cms.com/display/DEV/Copy+of+Referencing+classes+in+configuration+via+aliases&lt;/a&gt; - suggests resolving aliases via ComponentProvider based on module descriptor mappings, bypassing the names from registries whatsoever. Has been put on hold for now, but could be useful in the future.&lt;/li&gt;
	&lt;li&gt;By &lt;a href=&quot;https://jira.magnolia-cms.com/secure/ViewProfile.jspa?name=ilgun&quot; class=&quot;user-hover&quot; rel=&quot;ilgun&quot;&gt;ilgun&lt;/a&gt; &lt;a href=&quot;https://wiki.magnolia-cms.com/display/~ilgun/Implement+Field+Aliases+by+introducing+custom+transformer+capabilities+to+Map2BeanTransformer&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://wiki.magnolia-cms.com/display/~ilgun/Implement+Field+Aliases+by+introducing+custom+transformer+capabilities+to+Map2BeanTransformer&lt;/a&gt; - PoC which demonstrates the possibility to provide some fairly common extension points for Node2Bean and Map2Bean (by giving additional traits to the @TransformedBy annotation). This effort conceptually goes in line with the decision and can be used for further work.&lt;/li&gt;
	&lt;li&gt;So that it is not buried in the thread - there is proposal from &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; to defer actual field type resolution by means of proxies until the time when the registries are surely populated and can be safely queried.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Next steps:&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;We ensure that the field type definitions are loaded prior to the dialog/app defs (change the order of config source bootstraps in UiFrameworkModule), so that the latter can safely reference the former.&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;https://jira.magnolia-cms.com/secure/ViewProfile.jspa?name=ilgun&quot; class=&quot;user-hover&quot; rel=&quot;ilgun&quot;&gt;ilgun&lt;/a&gt; proceeds with building the production-quality solution based on findings done in PoC, &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; and &lt;a href=&quot;https://jira.magnolia-cms.com/secure/ViewProfile.jspa?name=apchelintcev&quot; class=&quot;user-hover&quot; rel=&quot;apchelintcev&quot;&gt;apchelintcev&lt;/a&gt; help with review and share the knowledge.&lt;/li&gt;
&lt;/ul&gt;


</comment>
                            <comment id="136256" author="bandersen" created="Wed, 14 Dec 2016 11:09:00 +0100"  >&lt;p&gt;I have not read all of this, but my initial thought would be just attack the fieldTypes registry.  Then a clash might happen and need to be dealt with if you have created one with the same name in $your_module.&lt;/p&gt;

&lt;p&gt;Edit: I have only just learned this ticket exists, and am very happy it has been selected.&lt;/p&gt;</comment>
                            <comment id="136579" author="mgeljic" created="Tue, 20 Dec 2016 11:48:00 +0100"  >&lt;p&gt;Notes from architects meeting:&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;Passing &lt;tt&gt;problemTracker&lt;/tt&gt; as param of &lt;tt&gt;#lookupImplementationType&lt;/tt&gt;?
	&lt;ul&gt;
		&lt;li&gt;ideally &lt;tt&gt;ProblemTracker&lt;/tt&gt; should be injected
		&lt;ul&gt;
			&lt;li&gt;then would need to be bound to a transformation context/scope&lt;/li&gt;
		&lt;/ul&gt;
		&lt;/li&gt;
		&lt;li&gt;&#8212;would-be no-go in the current state of things&lt;/li&gt;
		&lt;li&gt;&lt;img class=&quot;emoticon&quot; src=&quot;https://jira.magnolia-cms.com/images/icons/emoticons/check.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt; keep it as is with &lt;tt&gt;ProblemTracker&lt;/tt&gt; /state&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
	&lt;li&gt;Cannot compose resolvers, can you? &#8212;that&apos;s good&lt;/li&gt;
	&lt;li&gt;How do you limit how a resolver qualifies to a bean type?
	&lt;ul&gt;
		&lt;li&gt;&lt;img class=&quot;emoticon&quot; src=&quot;https://jira.magnolia-cms.com/images/icons/emoticons/check.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt; Calls for a &lt;tt&gt;#supportsType&lt;/tt&gt; / &lt;tt&gt;#qualifiesFor&lt;/tt&gt; method&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
	&lt;li&gt;Show the policy deciding part?
	&lt;ul&gt;
		&lt;li&gt;&lt;b&gt;need more deterministic way to find resolver&lt;/b&gt; than randomly iterating over unordered set&lt;/li&gt;
		&lt;li&gt;need the fallback to ClassLookup, always&lt;/li&gt;
		&lt;li&gt;&#8212;is MultiBinding the proper way to provide such ordering?&lt;/li&gt;
		&lt;li&gt;&#8212;do we need custom sorting to guarantee ClassLookup is &quot;last&quot;? (most of the time single one actually)&lt;/li&gt;
		&lt;li&gt;&#8212;or more simple alternative/admitted limitation? (haven&apos;t figured out how quite yet)&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
	&lt;li&gt;&lt;img class=&quot;emoticon&quot; src=&quot;https://jira.magnolia-cms.com/images/icons/emoticons/check.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt; Let&apos;s pass base interface along to resolver as well&lt;/li&gt;
	&lt;li&gt;&lt;img class=&quot;emoticon&quot; src=&quot;https://jira.magnolia-cms.com/images/icons/emoticons/check.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt; Naming =&amp;gt; &lt;tt&gt;TypeResolver&lt;/tt&gt;
	&lt;ul&gt;
		&lt;li&gt;first description was litterally &lt;em&gt;the policy &quot;resolves&quot; bla bla bla&lt;/em&gt;&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
	&lt;li&gt;Still new type resolution mechanism
	&lt;ul&gt;
		&lt;li&gt;debated the obscure extension point via &quot;policy&quot; implementation hanging in the air (just bound at runtime on Guice level)&lt;/li&gt;
		&lt;li&gt;&lt;img class=&quot;emoticon&quot; src=&quot;https://jira.magnolia-cms.com/images/icons/emoticons/check.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt; &#8212;can live with that, general agreement to keep the feature for internal use too&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
&lt;/ul&gt;
</comment>
                            <comment id="137171" author="czimmermann" created="Thu, 5 Jan 2017 15:27:26 +0100"  >&lt;p&gt;Please include me in QA.&lt;/p&gt;</comment>
                            <comment id="137754" author="pmundt" created="Wed, 18 Jan 2017 15:05:41 +0100"  >&lt;p&gt;See &lt;a href=&quot;https://jira.magnolia-cms.com/browse/MAGNOLIA-6901?focusedCommentId=137749&amp;amp;page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-137749&quot; class=&quot;external-link&quot; rel=&quot;nofollow&quot;&gt;https://jira.magnolia-cms.com/browse/MAGNOLIA-6901?focusedCommentId=137749&amp;amp;page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-137749&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10160">
                    <name>Relates</name>
                                                                <inwardlinks description="relates to">
                                        <issuelink>
            <issuekey id="57745">MGNLUI-4135</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="57468">MAGNOLIA-6928</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10020">
                    <name>dependency</name>
                                            <outwardlinks description="depends upon">
                                        <issuelink>
            <issuekey id="56813">MAGNOLIA-6901</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="64532">MGNLUI-4377</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="65106">MGNLUI-4380</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="65529">MGNLUI-4427</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is depended upon by">
                                        <issuelink>
            <issuekey id="52250">MAGNOLIA-6664</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="60117">MGNLUI-4496</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>Mon, 23 May 2016 13:56:51 +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_12130" key="com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes">
                        <customfieldname>Documentation update required</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="13300"><![CDATA[Yes]]></customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                    <customfield id="customfield_10246" key="com.pyxis.greenhopper.jira:gh-epic-link">
                        <customfieldname>Epic Link</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>DEV-684</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>czimmermann</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_13136" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            7 years, 4 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>14.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10011" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>apchelintcev</customfieldvalue>
            <customfieldvalue>bandersen</customfieldvalue>
            <customfieldvalue>czimmermann</customfieldvalue>
            <customfieldvalue>ilgun</customfieldvalue>
            <customfieldvalue>had</customfieldvalue>
            <customfieldvalue>mgeljic</customfieldvalue>
            <customfieldvalue>pmundt</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                <customfield id="customfield_10833" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|y002zs:</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_10220" key="com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes">
                        <customfieldname>Release notes required</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10490"><![CDATA[Yes]]></customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10245" key="com.pyxis.greenhopper.jira:gh-sprint">
                        <customfieldname>Sprint</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue id="408">Basel 79</customfieldvalue>
    <customfieldvalue id="719">Basel 147</customfieldvalue>

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