<!-- 
RSS generated by JIRA (9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b) at Mon Feb 12 05:57:32 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>[MGNLINTEMPL-4] templates in workspace: extract templates to the workspace</title>
                <link>https://jira.magnolia-cms.com/browse/MGNLINTEMPL-4</link>
                <project id="10286" key="MGNLINTEMPL">Magnolia In-place templating Module (closed)</project>
                    <description>&lt;p&gt;An install task extracts all the templates from the classpath to the template workspace. Optionally ensure that changed templates are not overwritten on an update but the unchanged are.&lt;/p&gt;</description>
                <environment></environment>
        <key id="15310">MGNLINTEMPL-4</key>
            <summary>templates in workspace: extract templates to the workspace</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="15307">MGNLINTEMPL-1</parent>
                                    <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="had">Jan Haderka</assignee>
                                    <reporter username="pbaerfuss">Philipp B&#228;rfuss</reporter>
                        <labels>
                            <label>mme_sprint2</label>
                    </labels>
                <created>Tue, 30 Sep 2008 16:38:21 +0200</created>
                <updated>Mon, 2 Dec 2013 16:58:14 +0100</updated>
                            <resolved>Mon, 20 Oct 2008 14:52:55 +0200</resolved>
                                    <version>1.0</version>
                                    <fixVersion>1.0</fixVersion>
                                    <component>base system</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>0</watches>
                                                                                                                <comments>
                            <comment id="18444" author="had" created="Wed, 8 Oct 2008 11:12:13 +0200"  >&lt;p&gt;Added flag to enable/disable serving of templates per template. However to solve future upgrade issues I&apos;ll add additional &quot;&lt;tt&gt;autoImport&lt;/tt&gt;&quot; flag. This flag will be set to true after content is imported and set to false by default when user creates template in repo manually. On upgrade all templates present in &lt;tt&gt;mgnl-inplacetemplates&lt;/tt&gt; will be upgraded as long as they either do not exist or exist with autoImport set to true. This will allow imported templates to be enabled by default, but user can prevent them from being updated and keep them disabled if other version (e.g. from resources) should be used.&lt;br/&gt;
As for the folder location, in theory templates can be in &lt;tt&gt;mgnl-bootstrap&lt;/tt&gt; and I can modify default bootstraping to check the &quot;&lt;tt&gt;autoImport&lt;/tt&gt;&quot; value for templates, but it seems cleaner for now to have templates in special folder and handling only as part of ME module. Or we could make this general feature and allow people to stop upgrades of any particular nodes by setting &lt;tt&gt;autoImport=false&lt;/tt&gt;. Opinions and suggestions are welcome.&lt;/p&gt;</comment>
                            <comment id="18517" author="had" created="Fri, 10 Oct 2008 08:06:45 +0200"  >&lt;p&gt;Added &lt;tt&gt;TemplatesBootstrapTask&lt;/tt&gt; to bootstrap the templates from &lt;tt&gt;mgnl-bootstrap-templates&lt;/tt&gt;. Templates will be updated only when do not exist in repo yet or when autoImport is set to true on the template in repo.&lt;/p&gt;</comment>
                            <comment id="18522" author="pbracher" created="Fri, 10 Oct 2008 09:28:50 +0200"  >&lt;p&gt;The current tasks seams to be to restrictive to me. We have our templates in the jar (for instance /baukasten) and as long you don&apos;t customize a template it is served from the jar. In short the path in the jar and in the repository must be the same and therefore can&apos;t be /mgnl-bootstrap-templates.&lt;/p&gt;

&lt;p&gt;Perhaps you just generalize the task and add a specific instance to the baukasten version handler.&lt;/p&gt;</comment>
                            <comment id="18524" author="had" created="Fri, 10 Oct 2008 10:25:52 +0200"  >&lt;p&gt;So you want anything that is named templates.x.y.z.xml to be imported? That seems way too open to me, you can get lots of unwanted content imported in the repo that way.&lt;br/&gt;
.&lt;/p&gt;</comment>
                            <comment id="18525" author="had" created="Fri, 10 Oct 2008 11:16:15 +0200"  >&lt;p&gt;On second thought the task is probably not doing what you had in mind at all. What you actually want is to get any template and transform it in template in the repo, rather then simply bootstrap previously exported templates from the repo, correct?&lt;/p&gt;</comment>
                            <comment id="18534" author="gjoseph" created="Fri, 10 Oct 2008 14:19:08 +0200"  >&lt;p&gt;Some comments :&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;do &lt;tt&gt;new IsInstallSamplesTask(String, String, new TemplatesBootstrapTask()));&lt;/tt&gt; in baukasten module&lt;/li&gt;
	&lt;li&gt;folders should be imported as folders (if a template as the same name, i&apos;m ok with some ugly exception, but same name siblings being allowed, i don&apos;t see why that would be a problem?)&lt;/li&gt;
	&lt;li&gt;if you look at the demo, there are two nodes &quot;info&quot; / &quot;magnolia&quot; / etc... of type template - strange no ?&lt;/li&gt;
	&lt;li&gt;TemplatesBootstrapTask should be called something like TemplateImportTask, it does not bootstrap.&lt;/li&gt;
	&lt;li&gt;the task should take some sort of parameter (a path, a mask, whatever we already have that will make it simple to read) instead of blindly importing each and every template it finds&lt;/li&gt;
&lt;/ul&gt;
</comment>
                            <comment id="18570" author="had" created="Mon, 13 Oct 2008 16:39:09 +0200"  >&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;From what I understood templates should be extracted into repo always not only when samples are installed.&lt;/li&gt;
	&lt;li&gt;folders are now imported as folders&lt;/li&gt;
	&lt;li&gt;changed task to allow using regex to limit what templates will be imported. Currently set to &quot;&lt;tt&gt;/baukasten/.*\.ftl&lt;/tt&gt;&quot; for baukasten module.&lt;/li&gt;
	&lt;li&gt;renamed task to &lt;tt&gt;TemplatesInstallTask&lt;/tt&gt;&lt;/li&gt;
&lt;/ul&gt;
</comment>
                            <comment id="18584" author="gjoseph" created="Tue, 14 Oct 2008 13:29:28 +0200"  >&lt;p&gt;Why use a regex when everywhere else we use a mechanism similar to ClasspathResourcesUtil.Filter ? Why is this task still extending &lt;tt&gt;BootstrapResourcesTask&lt;/tt&gt; while it doesn&apos;t bootstrap anything and totally overrides its execute method ?&lt;/p&gt;</comment>
                            <comment id="18587" author="had" created="Tue, 14 Oct 2008 14:25:47 +0200"  >&lt;p&gt;regex - i guess this is a matter of the taste. I find it easier to read then implementing the filter to achieve the same. Is there any other reason to use the filter except for the fact that it is used elsewhere?&lt;br/&gt;
extension - it still uses &lt;tt&gt;getResourcesToBootstrap()&lt;/tt&gt; method from &lt;tt&gt;BootstrapResourcesTask&lt;/tt&gt;.&lt;/p&gt;</comment>
                            <comment id="18590" author="gjoseph" created="Tue, 14 Oct 2008 15:49:21 +0200"  >&lt;p&gt;regex - consistency &amp;gt; taste.&lt;/p&gt;

&lt;p&gt;subclassing: ... and then completely overrides the acceptResource method. All it does is a call to ClasspathResourcesUtil.findResources() which does not imo justify a misleading subclassing.&lt;/p&gt;</comment>
                            <comment id="18596" author="had" created="Tue, 14 Oct 2008 17:51:10 +0200"  >&lt;p&gt;Changed parrent class to &lt;tt&gt;AbstractTask&lt;/tt&gt;.&lt;br/&gt;
The &lt;tt&gt;ContentResourceUtil.Filter&lt;/tt&gt; is used to filter out the resources and was used from the beginning. There is no case I could see where we pass instance of the filter directly to the task while creating new instance. Instead in all the cases we construct the filter in the tasks themselves.&lt;/p&gt;</comment>
                    </comments>
                    <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_10111" key="com.atlassian.jira.toolkit:reporterdomain">
                        <customfieldname>Company</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>woowai.com</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_10031" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of First Response</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Wed, 8 Oct 2008 11:12:13 +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_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>ajones</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_13136" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            15 years, 19 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>11.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10011" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>had</customfieldvalue>
            <customfieldvalue>gjoseph</customfieldvalue>
            <customfieldvalue>pbaerfuss</customfieldvalue>
            <customfieldvalue>pbracher</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_10833" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|i02dtb:</customfieldvalue>

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