<!-- 
RSS generated by JIRA (9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b) at Mon Feb 12 08:34:26 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-187] itemsubapp: actions for saving node from forms</title>
                <link>https://jira.magnolia-cms.com/browse/MGNLUI-187</link>
                <project id="10625" key="MGNLUI">Magnolia UI</project>
                    <description>&lt;p&gt;see referenced git commits, and also:&lt;br/&gt;
&lt;a href=&quot;https://git.magnolia-cms.com/gitweb/?p=magnolia_ui.git;a=commit;h=9bbc91cbf63da076e776ac17351a72d578230696&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.magnolia-cms.com/gitweb/?p=magnolia_ui.git;a=commit;h=9bbc91cbf63da076e776ac17351a72d578230696&lt;/a&gt;&lt;/p&gt;</description>
                <environment></environment>
        <key id="26405">MGNLUI-187</key>
            <summary>itemsubapp: actions for saving node from forms</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="26146">MGNLUI-138</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="1">Fixed</resolution>
                                        <assignee username="ejervidalo">Espen Jervidalo</assignee>
                                    <reporter username="ejervidalo">Espen Jervidalo</reporter>
                        <labels>
                    </labels>
                <created>Mon, 19 Nov 2012 13:58:28 +0100</created>
                <updated>Mon, 11 Feb 2013 11:35:39 +0100</updated>
                            <resolved>Tue, 27 Nov 2012 14:46:53 +0100</resolved>
                                    <version>5.0</version>
                                    <fixVersion>5.0</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>0</watches>
                                                                                                                <comments>
                            <comment id="53760" author="had" created="Mon, 26 Nov 2012 23:42:31 +0100"  >&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;FormDialogPresenterImpl
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;+        /**
+         * This is needed to acces properties from the parent. Currently only the i18basename.
+         *
+         */
+        Dialog dialog = new Dialog(dialogDefinition);
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
	&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
		&lt;li&gt;pls use javadoc comment style in javadoc only. Inline comment here is perfectly appropriate.&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
	&lt;li&gt;FormPresenterImpl
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;+     * @param item
+     * @param callback
+     * @return
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
	&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
		&lt;li&gt;if you are not going to provide info about params or return type don&apos;t even add this to javadoc. It will be generated empty in javadoc anyway.&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
	&lt;li&gt;CreateItemAction
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;/**
49  * CreateItemAction.
50  */
51 public class CreateItemAction extends ActionBase&amp;lt;CreateItemActionDefinition&amp;gt; {
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
	&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
		&lt;li&gt;while this kind of javadoc will make checkstyle to shut up, it&apos;s not enough for me.
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt; /**
70          * The ItemSubApp only gets a location containing nodePath and View Type.
71          * When creating a new node, we either create it here and pass the new path to the subapp or
72          * we pass all needed parameters to the location. This is less messy, but not optimal.. at all.
73          */
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/li&gt;
		&lt;li&gt;again either this is javadoc and should be placed in javadoc or it is an inline comment and should use inline comment style
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt; public void execute() throws ActionExecutionException {
...
81         } catch (RepositoryException e) {
82             log.error(&quot;Could not create child node on parent.&quot;, e);
83         }
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/li&gt;
		&lt;li&gt;This is sooo wrong! Obviously Action could not be executed because of RepoException, so you should rethrow it as AEE and not just log in log files where no one will see it.&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
	&lt;li&gt;CreateItemActionDefinition
	&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
		&lt;li&gt;Class level javadoc is not correct.&lt;/li&gt;
		&lt;li&gt;Also action def that uses appId, subAppId and NodeType seems to me like something that will be used around much more often then just to CreateItems so perhaps name should be more generic&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
	&lt;li&gt;ItemWorkbenchPresenter
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;             public void onCancel() {
+                // should switch to ViewType.VIEW
             }
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
	&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
		&lt;li&gt;thx for explanation, but is there a ticket for it created already? And really this is just a &quot;TODO&quot; w/o &quot;TODO&quot; so if you really need to leave it like this you should mark it as todo (And create ticket in jira)&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
	&lt;li&gt;config.modules.ui-admincentral.workbenchActionRegistry.xml
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;+      &amp;lt;sv:node sv:name=&quot;MetaData&quot;&amp;gt;
+        &amp;lt;sv:property sv:name=&quot;jcr:primaryType&quot; sv:type=&quot;Name&quot;&amp;gt;
+          &amp;lt;sv:value&amp;gt;mgnl:metaData&amp;lt;/sv:value&amp;gt;
+        &amp;lt;/sv:property&amp;gt;
+        &amp;lt;sv:property sv:name=&quot;jcr:createdBy&quot; sv:type=&quot;String&quot;&amp;gt;
+          &amp;lt;sv:value&amp;gt;admin&amp;lt;/sv:value&amp;gt;
+        &amp;lt;/sv:property&amp;gt;
+      &amp;lt;/sv:node&amp;gt;
+    &amp;lt;/sv:node&amp;gt;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
	&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
		&lt;li&gt;remove, no metadata should be in new bootstrap files&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
	&lt;li&gt;SaveContactFormAction
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;+                // Can&apos;t use this anymore, breaks when renaming node, ContentChangedEvent is still using the old path
+                //generateUniqueNodeNameForContact(node);
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
	&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
		&lt;li&gt;either this we need to do something about it, in which case it is TODO and there should be jira ticket or it is not a TODO, we plan to do nothing about it and it should be removed completely from the code
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;+        } else {
+            //validation errors are displayed in the UI.
+        }
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/li&gt;
		&lt;li&gt;else block just to make inline comment is terrible waste of space and your and compiler&apos;s time.
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;generateUniqueNodeNameForContact()
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/li&gt;
		&lt;li&gt;we have already utilities in core to generate unique names. Why not reuse them rather then inventing your own code?&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
	&lt;li&gt;CancelFormActionDefinition
	&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
		&lt;li&gt;class level javadoc explaining why we need empty class implementing empty interface?&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
	&lt;li&gt;FormActionFactoryImpl
	&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
		&lt;li&gt;class level javadoc&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
	&lt;li&gt;SaveFormActionDefinition&lt;/li&gt;
	&lt;li&gt;class level javadoc&lt;/li&gt;
	&lt;li&gt;this def defines only label and name. I doubt it is relevant only to save so it should be perhaps renames to something more generic&lt;/li&gt;
	&lt;li&gt;ItemWorkbenchPresenter
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;+        //final FormPresenter formPresenter = formPresenterFactory.createFormPresenterByName(workbenchDefinition.getFormName());
+        final FormPresenter formPresenter = formPresenterFactory.createFormPresenterByDefinition(workbenchDefinition.getFormDefinition());
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
	&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
		&lt;li&gt;Why are you adding commented lines of code?&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
	&lt;li&gt;ui-admincentral.xml
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;+    &amp;lt;component&amp;gt;
+      &amp;lt;type&amp;gt;info.magnolia.ui.vaadin.form.FormView&amp;lt;/type&amp;gt;
+      &amp;lt;implementation&amp;gt;info.magnolia.ui.vaadin.form.FormViewImpl&amp;lt;/implementation&amp;gt;
+    &amp;lt;/component&amp;gt;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
	&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
		&lt;li&gt;why is ui-vaadin component defined in ui-admincentral and not in ui-vaadin?&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
	&lt;li&gt;ContactsModule
	&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
		&lt;li&gt;some field labels seems to be capitalized (Office Fax Nr) some not (Office phone) ... I don&apos;t really care which style you choose (pbly Antti or Andreas should say), but they need to be all written in same style&lt;/li&gt;
		&lt;li&gt;button labels seem to be completely w/o capitalisation and all lower  case&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
	&lt;li&gt;SaveContactFormAction, SaveContactFormActionDefinition, FormActionBuilder, FormBuilder, FormConfig
	&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
		&lt;li&gt;class level javadoc, btw 2nd class defines nothing ... why is it needed at all?&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
	&lt;li&gt;in case i missed some class, all that have just name of the class w/ dot at the end as a javadoc need to be updated.&lt;/li&gt;
&lt;/ul&gt;




</comment>
                            <comment id="53798" author="ejervidalo" created="Tue, 27 Nov 2012 13:28:46 +0100"  >&lt;p&gt;&amp;gt; ui-admincentral.xml&lt;br/&gt;
&amp;gt; why is ui-vaadin component defined in ui-admincentral and not in ui-vaadin?&lt;/p&gt;

&lt;p&gt;I honestly don&apos;t know. has been that way. I think at some point it was part of admincentral and got refactored. There is currently no type mappings in any of the vaadin widget modules.&lt;/p&gt;</comment>
                            <comment id="53800" author="ejervidalo" created="Tue, 27 Nov 2012 13:31:11 +0100"  >&lt;p&gt;see &lt;a href=&quot;https://jira.magnolia-cms.com/browse/MGNLUI-228&quot; title=&quot;AppBuilder vs ContentAppBuilder&quot; class=&quot;issue-link&quot; data-issue-key=&quot;MGNLUI-228&quot;&gt;&lt;del&gt;MGNLUI-228&lt;/del&gt;&lt;/a&gt; concerning ContactsModule&lt;/p&gt;</comment>
                            <comment id="53806" author="ejervidalo" created="Tue, 27 Nov 2012 14:08:24 +0100"  >&lt;p&gt;see &lt;a href=&quot;https://jira.magnolia-cms.com/browse/MGNLUI-233&quot; title=&quot;WorkbenchActionRegistry: split action definition into separated bootstrap files&quot; class=&quot;issue-link&quot; data-issue-key=&quot;MGNLUI-233&quot;&gt;&lt;del&gt;MGNLUI-233&lt;/del&gt;&lt;/a&gt; concerning workbench actionregistry&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10010">
                    <name>relation</name>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="26542">MGNLUI-229</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="26541">MGNLUI-228</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>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, 26 Nov 2012 23:42:31 +0100</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_12730" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_14151" key="com.atlassian.jira.toolkit:message">
                        <customfieldname>Docu info</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_10061" key="com.atlassian.jira.toolkit:lastusercommented">
                        <customfieldname>Last comm is not jira-dev</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>true</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10071" key="com.atlassian.jira.toolkit:lastupdaterorcommenter">
                        <customfieldname>Last participant</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>ajones</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_13136" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            11 years, 12 weeks, 5 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>4.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10011" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>ejervidalo</customfieldvalue>
            <customfieldvalue>had</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_10833" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|i00g07:</customfieldvalue>

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