<!-- 
RSS generated by JIRA (9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b) at Mon Feb 12 03:52:02 CET 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>Magnolia - Issue tracker</title>
    <link>https://jira.magnolia-cms.com</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-uk</language>    <build-info>
        <version>9.4.2</version>
        <build-number>940002</build-number>
        <build-date>19-01-2023</build-date>
    </build-info>


<item>
            <title>[MAGNOLIA-4035] Revise content2bean</title>
                <link>https://jira.magnolia-cms.com/browse/MAGNOLIA-4035</link>
                <project id="10000" key="MAGNOLIA">Magnolia</project>
                    <description>&lt;p&gt;Ideally, we should go for a much simpler interface:&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;&lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;interface&lt;/span&gt; Content2Bean {
    &lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt; toBean(Content node) &lt;span class=&quot;code-keyword&quot;&gt;throws&lt;/span&gt; Content2BeanException;
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Sprinkle some generics magic on top of that, and nobody should (hopefully) have to specify the transformer they need anymore. There&apos;s probably going to be some sort of transformer registry somewhere, where transformers are able to tell what type(s) they&apos;re transforming.&lt;/p&gt;

&lt;p&gt;Some (if not all) transformers will need to be explicitly registered (either just as &quot;components&quot; or explicitly as &quot;transformers&quot; - see &lt;a href=&quot;https://jira.magnolia-cms.com/browse/MAGNOLIA-3517&quot; title=&quot;Module descriptor additions&quot; class=&quot;issue-link&quot; data-issue-key=&quot;MAGNOLIA-3517&quot;&gt;&lt;del&gt;MAGNOLIA-3517&lt;/del&gt;&lt;/a&gt;) Subclasses of CollectionPropertyHidingTransformer for instance, will probably need that.&lt;/p&gt;


&lt;p&gt;Additional ideas:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Drop support for pluggable &lt;tt&gt;info.magnolia.content2bean.TypeMapping&lt;/tt&gt;. Instead, module descriptors can explicitly register transformers. Neither &lt;tt&gt;PropertiesBasedTypeMapping&lt;/tt&gt; nor &lt;tt&gt;DescriptorFileBasedTypeMapping&lt;/tt&gt; was ever used, as far as we know.&lt;/li&gt;
	&lt;li&gt;Only support explicitly registered transformers. We might add another element to the module descriptor. (see &lt;a href=&quot;https://jira.magnolia-cms.com/browse/MAGNOLIA-3517&quot; title=&quot;Module descriptor additions&quot; class=&quot;issue-link&quot; data-issue-key=&quot;MAGNOLIA-3517&quot;&gt;&lt;del&gt;MAGNOLIA-3517&lt;/del&gt;&lt;/a&gt;)
	&lt;ul&gt;
		&lt;li&gt;transformers would be in the root container ? can we &quot;hide&quot; them (i.e no components should depend on them, except TransformerProvider)?&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
	&lt;li&gt;Known non-core transformers:
	&lt;ul&gt;
		&lt;li&gt;&lt;tt&gt;info.magnolia.module.cache.ehcache.CacheConfigurationTransformer&lt;/tt&gt; (registered via a &lt;tt&gt;.transformer&lt;/tt&gt; property - this was needed because it transforms a non-magnolia class)&lt;/li&gt;
		&lt;li&gt;&lt;tt&gt;info.magnolia.module.cache.executor.CompositeExecutorTransformer&lt;/tt&gt; (naming convention)&lt;/li&gt;
		&lt;li&gt;&lt;tt&gt;info.magnolia.imaging.operations.text.TextStyleTransformer&lt;/tt&gt; (naming convention)&lt;/li&gt;
		&lt;li&gt;&lt;tt&gt;ProxyCapableContent2BeanTransformer&lt;/tt&gt; and &lt;tt&gt;SpringContent2BeanTransformer&lt;/tt&gt; in Blossom&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
&lt;/ul&gt;




</description>
                <environment></environment>
        <key id="23410">MAGNOLIA-4035</key>
            <summary>Revise content2bean</summary>
                <type id="5" iconUrl="https://jira.magnolia-cms.com/secure/viewavatar?size=xsmall&amp;avatarId=10896&amp;avatarType=issuetype">Sub-task</type>
                            <parent id="16005">MAGNOLIA-2569</parent>
                                    <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="2">Won&apos;t Fix</resolution>
                                        <assignee username="-1">Unassigned</assignee>
                                    <reporter username="tmattsson">Tobias Mattsson</reporter>
                        <labels>
                    </labels>
                <created>Fri, 9 Mar 2012 15:21:42 +0100</created>
                <updated>Tue, 3 Dec 2013 14:37:00 +0100</updated>
                            <resolved>Tue, 3 Dec 2013 14:37:00 +0100</resolved>
                                                                    <component>content2bean</component>
                    <component>core</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>0</watches>
                                                                                                                    <issuelinks>
                            <issuelinktype id="10030">
                    <name>Cloners</name>
                                            <outwardlinks description="clones">
                                        <issuelink>
            <issuekey id="19918">MAGNOLIA-3525</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10020">
                    <name>dependency</name>
                                            <outwardlinks description="depends upon">
                                        <issuelink>
            <issuekey id="19891">MAGNOLIA-3517</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10010">
                    <name>relation</name>
                                            <outwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="21630">MAGNOLIA-3838</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="20284">MAGNOLIA-3599</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="16534">MAGNOLIA-2724</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_10111" key="com.atlassian.jira.toolkit:reporterdomain">
                        <customfieldname>Company</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>gmail.com</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                            <customfield id="customfield_12730" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_14151" key="com.atlassian.jira.toolkit:message">
                        <customfieldname>Docu info</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_10061" key="com.atlassian.jira.toolkit:lastusercommented">
                        <customfieldname>Last comm is not jira-dev</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>true</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10071" key="com.atlassian.jira.toolkit:lastupdaterorcommenter">
                        <customfieldname>Last participant</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>ajones</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_13136" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            11 years, 50 weeks, 2 days ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                            <customfield id="customfield_10020" key="com.atlassian.jira.toolkit:attachments">
                        <customfieldname>Number of attachments</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10150" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname>Number of comments</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10011" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>tmattsson</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_10833" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|i023b3:</customfieldvalue>

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