<!-- 
RSS generated by JIRA (9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b) at Mon Feb 12 09:17:38 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-4538] Implement more and better column renderers for the tabular views</title>
                <link>https://jira.magnolia-cms.com/browse/MGNLUI-4538</link>
                <project id="10625" key="MGNLUI">Magnolia UI</project>
                    <description>&lt;p&gt;Replacing the former ColumnFormatter abstraction, we now have column renderers provided by Vaadin 8. We currently don&apos;t have many stock renderers though. We need to do at least:&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;carefully review the column definition and see what is the best way to configure the renderer&lt;/li&gt;
	&lt;li&gt;figure out how to supply column icons via renderers&lt;/li&gt;
	&lt;li&gt;implement node status renderer&lt;/li&gt;
	&lt;li&gt;implement boolean (with ticks/crosses)&lt;/li&gt;
	&lt;li&gt;implement renderer for tags&lt;/li&gt;
	&lt;li&gt;consider some free-form renderer with HTML/JSON&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;User story&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;When I want to know how my landing pages are performing, I want to see content performance data aggregated and displayed with an up/down arrow in a column in the Pages app, so that I can quickly tell which pages are doing well and which are doing poorly.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Acceptance criteria:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Implement 3 example column renderers:
	&lt;ul&gt;
		&lt;li&gt;Node status renderer (publishing status, read-only status)&lt;/li&gt;
		&lt;li&gt;Boolean renderer (tick/cross, up/down, yes/no)&lt;/li&gt;
		&lt;li&gt;Content tags renderer&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
	&lt;li&gt;Provide a basic document that explains how a third-party developer can implement their own column renderer.&lt;/li&gt;
&lt;/ul&gt;
</description>
                <environment></environment>
        <key id="66613">MGNLUI-4538</key>
            <summary>Implement more and better column renderers for the tabular views</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="11">Done</resolution>
                                        <assignee username="rkovarik">Roman Kova&#345;&#237;k</assignee>
                                    <reporter username="apchelintcev">Aleksandr Pchelintcev</reporter>
                        <labels>
                            <label>v8-grid</label>
                            <label>vaadin8</label>
                    </labels>
                <created>Mon, 28 May 2018 13:55:12 +0200</created>
                <updated>Wed, 26 Jun 2019 09:28:27 +0200</updated>
                            <resolved>Wed, 8 Aug 2018 10:10:02 +0200</resolved>
                                                    <fixVersion>6.0</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                <comments>
                            <comment id="165068" author="apchelintcev" created="Mon, 23 Jul 2018 10:54:10 +0200"  >&lt;p&gt;I have been looking at this topic a bit closer lately and have made some findings:&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;re: Renderer. It is a very useful concept, but looks like it is &lt;em&gt;not&lt;/em&gt; a direct replacement of a column formatter abstraction from the M5 implementation. Renderers should come into play when there should be some sort of customisation on the client-side. Hence, by default we only should use the Text/Html renderers with HTML enabled by default.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;In order to customise the rendered value, Grid seems to use the converter-like utility aka &apos;presentationProvider&apos; (see &lt;a href=&quot;https://vaadin.com/api/com/vaadin/ui/Grid.Column.html&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://vaadin.com/api/com/vaadin/ui/Grid.Column.html&lt;/a&gt;). This looks more like a current &lt;tt&gt;ColumnFormatter&lt;/tt&gt;. &lt;/p&gt;

&lt;p&gt;The renderers in turn could complement the presentation providers to add some light-weight interactivity (see ClickableRenderer etc). For instance, with renderers we could replace our current tag column with an implementation that doesn&apos;t require to use TokenField component to be rendered with the cells.&lt;/p&gt;

&lt;p&gt;Re: databinding.&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;The whole way how we bind columns to the items/nodes may need to be refactored. We currently delegate binding of properties to the cells to a PropertySet (i.e. via &lt;tt&gt;public Grid.Column&amp;lt;T,?&amp;gt; addColumn(String propertyName)&lt;/tt&gt; API) which complicates the value formatting.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Instead we probably should eventually use the &lt;tt&gt;public &amp;lt;V&amp;gt; Grid.Column&amp;lt;T,V&amp;gt; addColumn(ValueProvider&amp;lt;T,V&amp;gt; valueProvider)&lt;/tt&gt; API and definition should provide the value provider implementation class (by default such class should be configured to smth like &apos;simplePropertyValueProvider&apos; which merely gets a property value according to the current datasource logic).&lt;/p&gt;</comment>
                            <comment id="168374" author="rkovarik" created="Wed, 5 Sep 2018 16:15:05 +0200"  >&lt;p&gt;We still use plain HTML for column icons, Vaadin doesn&apos;t support font renderers out of the box, see&#160;&lt;a href=&quot;https://github.com/vaadin/framework/issues/7278&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/vaadin/framework/issues/7278&lt;/a&gt;.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10020">
                    <name>dependency</name>
                                                                <inwardlinks description="is depended upon by">
                                        <issuelink>
            <issuekey id="67246">MGNLUI-4554</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>Mon, 23 Jul 2018 10:58:41 +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_10246" key="com.pyxis.greenhopper.jira:gh-epic-link">
                        <customfieldname>Epic Link</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>MGNLUI-4967</customfieldvalue>
                        </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>apchelintcev</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_13136" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            5 years, 23 weeks, 4 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>2.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10011" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>apchelintcev</customfieldvalue>
            <customfieldvalue>rkovarik</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                <customfield id="customfield_10833" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|hzzydd:4zw</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="779">Kromeriz 157</customfieldvalue>
    <customfieldvalue id="787">Kromeriz 158</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>