<!-- 
RSS generated by JIRA (9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b) at Mon Feb 12 04:08:52 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-5837] Revise implementation of Direct Area Rendering</title>
                <link>https://jira.magnolia-cms.com/browse/MAGNOLIA-5837</link>
                <project id="10000" key="MAGNOLIA">Magnolia</project>
                    <description>&lt;p&gt;Current implementation of DAR has few limitations:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;whole page is processed even if the target area was already rendered.&lt;/li&gt;
	&lt;li&gt;support only area which exist in JCR&lt;/li&gt;
&lt;/ul&gt;


&lt;ol&gt;
	&lt;li&gt;&lt;tt&gt;RenderingFilter.render()&lt;/tt&gt;&lt;br/&gt;
Check for &quot;mgnlArea&quot; should go into &lt;tt&gt;AreaFilteringListener.init()&lt;/tt&gt;&lt;/li&gt;
	&lt;li&gt;The rendering of areas/components outside of the target area should be skipped.&lt;/li&gt;
	&lt;li&gt;We could support not only areas existing in JCR but also those defined in template definition.&lt;/li&gt;
	&lt;li&gt;Add possibility to disable check for area existence to be able to render all areas.&lt;/li&gt;
&lt;/ol&gt;
</description>
                <environment></environment>
        <key id="39654">MAGNOLIA-5837</key>
            <summary>Revise implementation of Direct Area Rendering</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="40286">MAGNOLIA-5895</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="rkovarik">Roman Kova&#345;&#237;k</assignee>
                                    <reporter username="rkovarik">Roman Kova&#345;&#237;k</reporter>
                        <labels>
                    </labels>
                <created>Fri, 18 Jul 2014 15:37:56 +0200</created>
                <updated>Mon, 1 Jun 2015 19:49:18 +0200</updated>
                            <resolved>Mon, 25 Aug 2014 10:20:14 +0200</resolved>
                                                    <fixVersion>5.4</fixVersion>
                                    <component>rendering</component>
                    <component>templating</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                <comments>
                            <comment id="88442" author="had" created="Fri, 18 Jul 2014 16:02:00 +0200"  >&lt;p&gt;I might be wrong, but I seem to remember that decision to use &lt;tt&gt;Appendable&lt;/tt&gt; was because it is template/model that controls whether &lt;tt&gt;OutputStream&lt;/tt&gt; or &lt;tt&gt;PrintWriter&lt;/tt&gt; from the response will be used and spec puts some limitations on using both in same response. &lt;tt&gt;Appendable&lt;/tt&gt; provided means to abstract this.&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;an empty page when trying to render an unexisting area will be rendered as a sideeefect, but a warn from AreaFilteringListener should be enough&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;IMHO this is not correct either. Same as rendering non existent page results in 404, rendering nonexistent area should do the same. Primary reason for being able to do partial rendering such as direct area or component rendering is to allow tools that assemble complete page to suck content from Magnolia externally. In order for such integrations to work correctly it is necessary from Magnolia to correctly signal attempt to render non existent content (in difference from existing content that currently produces empty response because it has nothing to render).&lt;/p&gt;</comment>
                            <comment id="88445" author="rkovarik" created="Fri, 18 Jul 2014 16:44:13 +0200"  >&lt;blockquote&gt;
&lt;p&gt;I might be wrong, but I seem to remember that decision to use Appendable was because it is template/model that controls whether OutputStream or PrintWriter from the response will be used and spec puts some limitations on using both in same response. Appendable provided means to abstract this.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;&lt;tt&gt;ResponseOutputProvider&lt;/tt&gt; takes care of exclusions. I think &lt;tt&gt;FilteringResponseOutputProvider.java&lt;/tt&gt; could do the same. It currently offers only &lt;tt&gt;Appedable&lt;/tt&gt; and ignores &lt;tt&gt;OutputStream&lt;/tt&gt; at all.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Same as rendering non existent page results in 404, rendering nonexistent area should do the same. &lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;I see...I just don&apos;t like hardcoded logic for checking of &quot;mgnlArea&quot; pameter directly in &lt;tt&gt;RenderingFilter&lt;/tt&gt; (check area existence -&amp;gt; use dedicated &lt;tt&gt;ResponseOutputProvider&lt;/tt&gt;). I was thinking about capability of listeners to be able to signal something (404, skip rendering if a component if it&apos;s in cache...). The logic could go into the listener if it would be possible...&lt;/p&gt;</comment>
                            <comment id="94318" author="rkovarik" created="Mon, 10 Nov 2014 13:08:48 +0100"  >&lt;p&gt;Squashed on the parent ticket.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10040">
                    <name>causality</name>
                                            <outwardlinks description="caused by">
                                        <issuelink>
            <issuekey id="29912">MAGNOLIA-5002</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10020">
                    <name>dependency</name>
                                            <outwardlinks description="depends upon">
                                        <issuelink>
            <issuekey id="39670">MAGNOLIA-5839</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </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>Fri, 18 Jul 2014 16:02:00 +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>
                            9 years, 14 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>3.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10011" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>had</customfieldvalue>
            <customfieldvalue>rkovarik</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_10833" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|i03j7z:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10244" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>20710</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                        <customfield id="customfield_10220" key="com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes">
                        <customfieldname>Release notes required</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10490"><![CDATA[Yes]]></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>