<!-- 
RSS generated by JIRA (9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b) at Mon Feb 12 04:46:23 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>[NPMCLI-86] Add ability to generate additional files with create commands</title>
                <link>https://jira.magnolia-cms.com/browse/NPMCLI-86</link>
                <project id="13983" key="NPMCLI">Magnolia CLI</project>
                    <description>&lt;p&gt;It&apos;s quite popular to have certain prefixes in CSS selectors to make sure, that the written CSS only applies where it should (scoping). CSS methodologies like BEM, SMACSS and CSS Modules try to solve the same problem with different naming conventions and folder structures using some sort of identifier. I personally tend to use the name of the magnolia component/area/page for this.&lt;/p&gt;

&lt;p&gt;Currently a template definition, a dialog definition and a template script are generated from the existing mgnl-cli-prototypes. It would be nice to be able to configure the generation of other files like like a corresponding CSS/SASS/LESS-File as well. e.g.:&lt;/p&gt;

&lt;p&gt;mgnl create-component my-component&lt;/p&gt;

&lt;p&gt;my-component.ftl&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-html&quot;&gt;
&lt;span class=&quot;code-tag&quot;&gt;&amp;lt;div class=&lt;span class=&quot;code-quote&quot;&gt;&quot;my-component&quot;&lt;/span&gt;&amp;gt;&lt;/span&gt;
  &lt;span class=&quot;code-tag&quot;&gt;&amp;lt;h2 class=&lt;span class=&quot;code-quote&quot;&gt;&quot;my-component--title&quot;&lt;/span&gt;&amp;gt;&lt;/span&gt;${content.title}&lt;span class=&quot;code-tag&quot;&gt;&amp;lt;/h2&amp;gt;&lt;/span&gt;
  ...
&lt;span class=&quot;code-tag&quot;&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;


&lt;p&gt;_my-component.scss&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-none&quot;&gt;
.my-component { ... }
.my-component--title { ... }
..
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
        <key id="57589">NPMCLI-86</key>
            <summary>Add ability to generate additional files with create commands</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="6" iconUrl="https://jira.magnolia-cms.com/images/icons/priorities/neutral.gif">Neutral</priority>
                        <status id="6" iconUrl="https://jira.magnolia-cms.com/images/icons/statuses/closed.png" description="The issue is considered finished, the resolution is correct. Issues which are not closed can be reopened.">Closed</status>
                    <statusCategory id="3" key="done" colorName="success"/>
                                    <resolution id="1">Fixed</resolution>
                                        <assignee username="jsimak">Jaroslav Simak</assignee>
                                    <reporter username="mmueller">Matthias M&#252;ller</reporter>
                        <labels>
                    </labels>
                <created>Fri, 27 Jan 2017 17:15:52 +0100</created>
                <updated>Wed, 14 Feb 2018 08:41:39 +0100</updated>
                            <resolved>Tue, 12 Dec 2017 18:51:53 +0100</resolved>
                                                    <fixVersion>3.0.0</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>5</watches>
                                                                                                                <comments>
                            <comment id="140745" author="rkowalski" created="Mon, 20 Mar 2017 12:38:25 +0100"  >&lt;p&gt;good idea matthias!&lt;/p&gt;

&lt;p&gt;here is what we have:&lt;/p&gt;

&lt;p&gt;right now we have a fixed set of files. its hardcoded were they are rendered into:&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;
prototype folder

definition.yaml	     -&amp;gt; $module/templates/$type
dialog.yaml	     -&amp;gt; $module/dialogs
template.ftl         -&amp;gt; $module/templates/$type
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;with support for less / scss and other files we have to take care that the files are rendered into the right folders.  hardcoding extensions into the client would lead to a lot of ongoing maintanance and we would be always one step behind the latest released transpiling format.&lt;/p&gt;

&lt;p&gt;we can archive that with a restructuring of the delivered prototype and their structure.&lt;/p&gt;

&lt;p&gt;proposal:&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;
prototype folder

templates/$type/*.*     -&amp;gt; rendered to $module/templates/$type
dialogs/*.*             -&amp;gt; rendered to $module/dialogs
webresources/*.*        -&amp;gt; rendered to $module/webresources

&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                            <comment id="141296" author="rkowalski" created="Wed, 29 Mar 2017 15:16:30 +0200"  >&lt;p&gt;Hm, tricky:&lt;/p&gt;

&lt;p&gt;to implement the directory traversal cleanly we have to break backward compatibility as the flat file structure is not compatible with the recursive rendering approach...&lt;/p&gt;
</comment>
                            <comment id="141297" author="rkowalski" created="Wed, 29 Mar 2017 15:48:38 +0200"  >&lt;p&gt;working branch is feature/&lt;a href=&quot;https://jira.magnolia-cms.com/browse/NPMCLI-86&quot; title=&quot;Add ability to generate additional files with create commands&quot; class=&quot;issue-link&quot; data-issue-key=&quot;NPMCLI-86&quot;&gt;&lt;del&gt;NPMCLI-86&lt;/del&gt;&lt;/a&gt;--additional-file-rendering&lt;/p&gt;</comment>
                            <comment id="141302" author="rkowalski" created="Wed, 29 Mar 2017 16:31:11 +0200"  >&lt;p&gt;possible migration strategy:&lt;/p&gt;

&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;try to detect if old structure is used, print error with link to migration help.&lt;/li&gt;
	&lt;li&gt;offer small script to migrate old prototypes&lt;/li&gt;
&lt;/ul&gt;
</comment>
                            <comment id="141346" author="czimmermann" created="Thu, 30 Mar 2017 15:48:50 +0200"  >&lt;p&gt;Recommend no automatic migration and a version of 3.0.0.&lt;/p&gt;</comment>
                            <comment id="141347" author="czimmermann" created="Thu, 30 Mar 2017 15:51:14 +0200"  >&lt;p&gt;The mgnl-cli-prototypes directory will get crowded, and it will be hard to know the type of each prototype - eventually we would have more types of them probably for apps and even &apos;light-modules&apos;.&lt;br/&gt;
Recommend a subdirectory for each type, which match the directories in the light modules . &quot;components&quot; &quot;pages&quot; &quot;apps&quot;.&lt;/p&gt;
</comment>
                            <comment id="141348" author="czimmermann" created="Thu, 30 Mar 2017 15:53:17 +0200"  >&lt;p&gt;Question 1 - how are the default prototypes named? &quot;component&quot; and &quot;page&quot; as now? I recommend renaming them to &quot;default&quot;.&lt;br/&gt;
Question 2 - how does the system choose which prototype to use by default? Just hardcoded? or can dev configure in the mgnl_config.json file?&lt;/p&gt;</comment>
                            <comment id="141504" author="rkowalski" created="Mon, 3 Apr 2017 16:51:54 +0200"  >&lt;p&gt;Question 2 - how does the system choose which prototype to use by default? Just hardcoded? or can dev configure in the mgnl_config.json file?&lt;/p&gt;

&lt;p&gt;This sounds like a good follow up ticket. We can go with default for now and if additional flexibility is needed, we can add it to the mgnl_config.json file. I would be interested how our users are using the feature and then define the next step based on their feedback.&lt;/p&gt;</comment>
                            <comment id="141509" author="rkowalski" created="Mon, 3 Apr 2017 18:06:10 +0200"  >&lt;p&gt;Question 1 - how are the default prototypes named? &quot;component&quot; and &quot;page&quot; as now? I recommend renaming them to &quot;default&quot;.&lt;/p&gt;

&lt;p&gt;sounds good to me&lt;/p&gt;</comment>
                            <comment id="141679" author="rkowalski" created="Thu, 6 Apr 2017 16:24:11 +0200"  >&lt;p&gt;&lt;a href=&quot;https://jira.magnolia-cms.com/secure/ViewProfile.jspa?name=mmueller&quot; class=&quot;user-hover&quot; rel=&quot;mmueller&quot;&gt;mmueller&lt;/a&gt; here we go: &lt;a href=&quot;https://git.magnolia-cms.com/projects/BUILD/repos/npm-cli/pull-requests/76/overview&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.magnolia-cms.com/projects/BUILD/repos/npm-cli/pull-requests/76/overview&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="142011" author="rkowalski" created="Thu, 13 Apr 2017 10:17:29 +0200"  >&lt;p&gt;parked: breaking change. needs a final decision if we release it as 3.0 now (faster migration work for people, but shorter intervals) or if we put more breaking changes into it (longer timeframe between migrations, but more work to migrate)&lt;/p&gt;</comment>
                            <comment id="147431" author="czimmermann" created="Fri, 1 Sep 2017 12:07:40 +0200"  >&lt;p&gt;It depends on &lt;a href=&quot;https://jira.magnolia-cms.com/browse/NPMCLI-119&quot; class=&quot;external-link&quot; rel=&quot;nofollow&quot;&gt;https://jira.magnolia-cms.com/browse/NPMCLI-119&lt;/a&gt; which introduces breaking change because the prototype file structure is changed.&lt;/p&gt;</comment>
                            <comment id="152419" author="czimmermann" created="Mon, 4 Dec 2017 12:18:08 +0100"  >&lt;p&gt;Since this ticket will potentially impact the prototype structure as well, it should be completed for 3.0 release.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10020">
                    <name>dependency</name>
                                            <outwardlinks description="depends upon">
                                        <issuelink>
            <issuekey id="58487">NPMCLI-119</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is depended upon by">
                                        <issuelink>
            <issuekey id="63223">NPMCLI-148</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10010">
                    <name>relation</name>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="63141">NPMCLI-147</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>lfrz.at</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_10031" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of First Response</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Mon, 20 Mar 2017 12:38:25 +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_10246" key="com.pyxis.greenhopper.jira:gh-epic-link">
                        <customfieldname>Epic Link</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>NPMCLI-143</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>mdrapela</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_13136" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            6 years, 10 weeks, 6 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>13.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10011" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>czimmermann</customfieldvalue>
            <customfieldvalue>jsimak</customfieldvalue>
            <customfieldvalue>mmueller</customfieldvalue>
            <customfieldvalue>rkowalski</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                <customfield id="customfield_10833" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|hzzz1b:fr3t02fvi9</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_10245" key="com.pyxis.greenhopper.jira:gh-sprint">
                        <customfieldname>Sprint</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue id="616">Kromeriz 125</customfieldvalue>
    <customfieldvalue id="620">Kromeriz 126</customfieldvalue>

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