<!-- 
RSS generated by JIRA (9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b) at Mon Feb 12 03:42:08 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-2993] Extract logic out of taglibs - reusability, testability, ...</title>
                <link>https://jira.magnolia-cms.com/browse/MAGNOLIA-2993</link>
                <project id="10000" key="MAGNOLIA">Magnolia</project>
                    <description>&lt;p&gt;Some of our tags are extremely complex; testing them, fixing them, has become very tedious. Many of them have fuzzy logic that isn&apos;t well defined.&lt;/p&gt;

&lt;p&gt;Extracting this will also allow us to reuse them in Freemarker templates (amongst others) without depending on the taglib itself; a macro library or &lt;tt&gt;${mgnl&lt;/tt&gt;}&#160;methods might provide a simpler/cleaner/lighter syntax.&lt;/p&gt;</description>
                <environment></environment>
        <key id="17627">MAGNOLIA-2993</key>
            <summary>Extract logic out of taglibs - reusability, testability, ...</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="had">Jan Haderka</assignee>
                                    <reporter username="gjoseph">Magnolia International</reporter>
                        <labels>
                    </labels>
                <created>Thu, 7 Jan 2010 22:36:07 +0100</created>
                <updated>Thu, 20 Apr 2017 13:58:06 +0200</updated>
                            <resolved>Sat, 13 Oct 2012 17:02:54 +0200</resolved>
                                                    <fixVersion>4.5</fixVersion>
                                    <component>taglibs</component>
                    <component>templating</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>0</watches>
                                                                                                                <comments>
                            <comment id="25771" author="gjoseph" created="Fri, 8 Jan 2010 16:03:37 +0100"  >&lt;p&gt;We should also extract the &quot;snippets&quot; logic that was duplicated in stk (see &lt;a href=&quot;https://jira.magnolia-cms.com/browse/MGNLSTK-554&quot; title=&quot;freemarker error in search results stk template &quot; class=&quot;issue-link&quot; data-issue-key=&quot;MGNLSTK-554&quot;&gt;&lt;del&gt;MGNLSTK-554&lt;/del&gt;&lt;/a&gt;)&lt;/p&gt;</comment>
                            <comment id="26280" author="fgiust" created="Sun, 31 Jan 2010 22:44:50 +0100"  >&lt;p&gt;just a note if anybody will start this: be very careful with tag pooling, according to jsp specification you should never change the value of any field set using a tag attribute, since the container is not forced to reset them.&lt;/p&gt;

&lt;p&gt;For example if you have two tags in page:&lt;br/&gt;
&amp;lt;tag attribute=&quot;value&quot;/&amp;gt;&lt;br/&gt;
&amp;lt;tag attribute=&quot;value&quot;/&amp;gt; &lt;/p&gt;

&lt;p&gt;the setAttribute(value) method will be called only the first time, while for the second tag the container expects that the attribute is already set by reusing the previous tag instance. If we extract tags in helper classes me must pay attention to this.&lt;/p&gt;</comment>
                            <comment id="26398" author="gjoseph" created="Mon, 8 Feb 2010 13:52:22 +0100"  >&lt;p&gt;I thought the &quot;new&quot; JSP 2.0 SimpleTag interfaces/classes got rid of all the lifecycle/pooling cruft; one tag in the jsp=one instance of the tag class. Isn&apos;t that the case ?&lt;/p&gt;</comment>
                            <comment id="26403" author="gjoseph" created="Mon, 8 Feb 2010 18:15:32 +0100"  >&lt;p&gt;See current draft/concept at &lt;a href=&quot;http://wiki.magnolia-cms.com/display/DEV/Concept+taglib+cleanup%2C+extraction%2C+rewrite&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://wiki.magnolia-cms.com/display/DEV/Concept+taglib+cleanup%2C+extraction%2C+rewrite&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="27550" author="gjoseph" created="Mon, 22 Mar 2010 15:18:23 +0100"  >&lt;h2&gt;&lt;a name=&quot;Statusin4.3&quot;&gt;&lt;/a&gt;Status in 4.3&lt;/h2&gt;
&lt;ul&gt;
	&lt;li&gt;introduced new &lt;tt&gt;magnolia-module-templating-components&lt;/tt&gt; module, which contains the components themselves (thin wrapper around magnolia-gui components, hiding complexity, providing good defaults) as well as JSP tags and FreeMarker directives&lt;/li&gt;
	&lt;li&gt;this new module is currently in the &lt;tt&gt;/add-ons&lt;/tt&gt; folder of the bundles&lt;/li&gt;
	&lt;li&gt;it should already be useable as a starting point to integrate with other rendering engines&lt;/li&gt;
	&lt;li&gt;i18n&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;&lt;a name=&quot;Stilltodo&quot;&gt;&lt;/a&gt;Still to do&lt;/h2&gt;
&lt;ul&gt;
	&lt;li&gt;&quot;extract&quot; a few more tags: render (&quot;include&quot;), iterator (sets current content), header links (js and css)&lt;/li&gt;
	&lt;li&gt;introduce some form of &lt;tt&gt;RenderingContext&lt;/tt&gt; - holding current model, renderable definition, etc.&lt;/li&gt;
	&lt;li&gt;the above and the rendering engine will impact &quot;include&quot; and &quot;iterator&quot;&lt;/li&gt;
	&lt;li&gt;refactor components to make it simpler to add extra buttons in main bar, for example (see &lt;a href=&quot;http://wiki.magnolia-cms.com/display/WIKI/Add+Magnolia+MainBar+functionalities+with+Ajax&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://wiki.magnolia-cms.com/display/WIKI/Add+Magnolia+MainBar+functionalities+with+Ajax&lt;/a&gt;)&lt;/li&gt;
	&lt;li&gt;more simplification: with the introduction of new components such as &quot;singleton&quot;, do we still need to be able to be able to disable the delete and move buttons? (we&apos;ll probably need a simple &quot;edit&quot; button for page properties to be edited outside the main bar, too)&lt;/li&gt;
&lt;/ul&gt;
</comment>
                            <comment id="52289" author="had" created="Sat, 13 Oct 2012 17:02:54 +0200"  >&lt;p&gt;Fixed in 4.5 when rewriting templating engine.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10020">
                    <name>dependency</name>
                                            <outwardlinks description="depends upon">
                                        <issuelink>
            <issuekey id="17872">MAGNOLIA-3087</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="12212">MAGNOLIA-1275</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is depended upon by">
                                        <issuelink>
            <issuekey id="15919">MAGNOLIA-2545</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10010">
                    <name>relation</name>
                                            <outwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="17618">MGNLSTK-554</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="13502">MAGNOLIA-1768</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="17848">MGNLSTK-584</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="17022">MAGNOLIA-2850</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="15287">MAGNOLIA-2394</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>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>Sun, 31 Jan 2010 22:44:50 +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>had</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_13136" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            11 years, 19 weeks, 1 day 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>6.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10011" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>fgiust</customfieldvalue>
            <customfieldvalue>had</customfieldvalue>
            <customfieldvalue>gjoseph</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                <customfield id="customfield_10833" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|i00yaf:</customfieldvalue>

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