<!-- 
RSS generated by JIRA (9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b) at Sun Feb 11 23:29:16 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>[BLOSSOM-14] Make possible to set a SaveHandler for a dialog.</title>
                <link>https://jira.magnolia-cms.com/browse/BLOSSOM-14</link>
                <project id="10430" key="BLOSSOM">Blossom</project>
                    <description>&lt;p&gt;It would be nice to have the possibility to set a saveHandler class also for Blossom-instantiated paragraphs.&lt;br/&gt;
I didn&apos;t found a way to use a method of the controller as saveHandler, because the SaveHandler class seems to require a bit of initialization and settings, but maybe I just can&apos;t see an easy way to do it.&lt;br/&gt;
Instead, the attached patch adds the @SaveHandler(class) annotation to the Blossom ones, making possible to set the SaveHandler class for the paragraph/dialogFactory.&lt;/p&gt;

&lt;p&gt;A few notes:&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;I don&apos;t know if it&apos;s preferrable to have a new annotation or add a field in the existing ones. My preference would have been to add a field, but I thought you&apos;d prefer the new annotation.&lt;/li&gt;
	&lt;li&gt;I&apos;m not sure that the saveHandler is strictly needed also in the ParagraphDescription, but I added it anyway.&lt;/li&gt;
	&lt;li&gt;Setting the saveHandler in the dialog seems either buggy or incomprehensible to me: even forcing it in the dialog config (in the DefaultDialogCreator) would not have effect because configNode is null, so I had to override the getSaveHandler() method.&lt;/li&gt;
	&lt;li&gt;Ovveride the getSaveHandler() as it is was really an ugly pacth. I opened &lt;a href=&quot;https://jira.magnolia-cms.com/browse/MAGNOLIA-3299&quot; title=&quot;Make &amp;quot;saveHandler&amp;quot; property properly overridable.&quot; class=&quot;issue-link&quot; data-issue-key=&quot;MAGNOLIA-3299&quot;&gt;&lt;del&gt;MAGNOLIA-3299&lt;/del&gt;&lt;/a&gt; because as it is now, the only way to set a saveHandler with fallback to the default be using reflections.&lt;/li&gt;
	&lt;li&gt;Patch works fine for me but honestly I didn&apos;t test it with all use cases.&lt;/li&gt;
&lt;/ul&gt;
</description>
                <environment></environment>
        <key id="18992">BLOSSOM-14</key>
            <summary>Make possible to set a SaveHandler for a dialog.</summary>
                <type id="2" iconUrl="https://jira.magnolia-cms.com/secure/viewavatar?size=xsmall&amp;avatarId=10891&amp;avatarType=issuetype">New Feature</type>
                                            <priority id="3" iconUrl="https://jira.magnolia-cms.com/images/icons/priorities/major.svg">Major</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="tmattsson">Tobias Mattsson</assignee>
                                    <reporter username="dfghi">Danilo Ghirardelli</reporter>
                        <labels>
                            <label>saveHandler</label>
                    </labels>
                <created>Wed, 15 Sep 2010 18:27:07 +0200</created>
                <updated>Sat, 6 Dec 2014 12:44:33 +0100</updated>
                            <resolved>Thu, 23 Dec 2010 10:34:57 +0100</resolved>
                                                    <fixVersion>1.2</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                <comments>
                            <comment id="32076" author="tmattsson" created="Mon, 20 Dec 2010 16:50:14 +0100"  >&lt;p&gt;Thanks Danilo for your extensive research on this. I&apos;m implementing this feature now. It will be used like this:&lt;/p&gt;

&lt;p&gt;@InitSaveHandler&lt;br/&gt;
public SaveHandler initSaveHandler() &lt;/p&gt;
{...}

&lt;p&gt;It follows the design of Springs @InitBinder for initializing a WebDataBinder.&lt;/p&gt;

&lt;p&gt;Feedback is more than welcome!&lt;/p&gt;</comment>
                            <comment id="32082" author="dfghi" created="Mon, 20 Dec 2010 17:30:03 +0100"  >&lt;p&gt;I suppose this will be used directly in the controller, no?&lt;br/&gt;
Do you plan to use the Controller itself as a saveHandler instance? I suppose this will not be denied by the proposed method, but could be a real mess of code if someone uses it that way... &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;

&lt;p&gt;Do you plan to take a look into &lt;a href=&quot;https://jira.magnolia-cms.com/browse/MAGNOLIA-3299&quot; title=&quot;Make &amp;quot;saveHandler&amp;quot; property properly overridable.&quot; class=&quot;issue-link&quot; data-issue-key=&quot;MAGNOLIA-3299&quot;&gt;&lt;del&gt;MAGNOLIA-3299&lt;/del&gt;&lt;/a&gt; anyway?&lt;/p&gt;</comment>
                            <comment id="32101" author="tmattsson" created="Tue, 21 Dec 2010 11:03:16 +0100"  >&lt;p&gt;The @InitSaveHandler method can provide a save handler in any way it wants. In most cases that would mean instantiating a specific class and then do configuration of the instance specifically for its dialog/paragraph.&lt;/p&gt;

&lt;p&gt;Blossom needs to support Magnolia 4.1+ so it will still have the workaround for &lt;a href=&quot;https://jira.magnolia-cms.com/browse/MAGNOLIA-3299&quot; title=&quot;Make &amp;quot;saveHandler&amp;quot; property properly overridable.&quot; class=&quot;issue-link&quot; data-issue-key=&quot;MAGNOLIA-3299&quot;&gt;&lt;del&gt;MAGNOLIA-3299&lt;/del&gt;&lt;/a&gt; when it&apos;s fixed.&lt;/p&gt;</comment>
                            <comment id="95893" author="had" created="Sat, 6 Dec 2014 12:44:33 +0100"  >&lt;p&gt;Bulk close of old resolved issues.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10010">
                    <name>relation</name>
                                            <outwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="18990">MAGNOLIA-3299</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                    </issuelinks>
                <attachments>
                            <attachment id="13735" name="saveHandler.patch" size="15983" author="dfghi" created="Wed, 15 Sep 2010 18:27:07 +0200"/>
                    </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>gmail.com</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_10031" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of First Response</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Mon, 20 Dec 2010 16:50:14 +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>false</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10071" key="com.atlassian.jira.toolkit:lastupdaterorcommenter">
                        <customfieldname>Last participant</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>mmuehlebach</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_13136" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            9 years, 11 weeks, 1 day ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                            <customfield id="customfield_10020" key="com.atlassian.jira.toolkit:attachments">
                        <customfieldname>Number of attachments</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10150" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname>Number of comments</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>4.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10011" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>dfghi</customfieldvalue>
            <customfieldvalue>had</customfieldvalue>
            <customfieldvalue>tmattsson</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10090" key="com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes">
                        <customfieldname>Patch included</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10100"><![CDATA[Yes]]></customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_10833" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|i0433z:</customfieldvalue>

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