<!-- 
RSS generated by JIRA (9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b) at Mon Feb 12 05:00:54 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>[MGNLDAM-545] AssetQuery: add offset</title>
                <link>https://jira.magnolia-cms.com/browse/MGNLDAM-545</link>
                <project id="10660" key="MGNLDAM">Magnolia DAM Module</project>
                    <description>&lt;p&gt;The &lt;tt&gt;AssetQuery&lt;/tt&gt; interface supports specifying the max results but doesn&apos;t support the offset, which makes it unusable for paging.&lt;/p&gt;

&lt;p&gt;Add &lt;tt&gt;AssetQuery#getOffset()&lt;/tt&gt; and &lt;tt&gt;AssetQuery.Builder#withOffset(long offset)&lt;/tt&gt; methods.&lt;/p&gt;

&lt;p&gt;Rationale: it is planned to create jcr-agnostic AssetContainer that serves as bridge between AssetProviders and UI.&lt;br/&gt;
Right now, DAM app uses AbstractJcrContainer which uses JCR queries directly.&lt;/p&gt;</description>
                <environment></environment>
        <key id="43183">MGNLDAM-545</key>
            <summary>AssetQuery: add offset</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="43360">MGNLDAM-549</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="rsiska">Robert &#352;i&#353;ka</assignee>
                                    <reporter username="rsiska">Robert &#352;i&#353;ka</reporter>
                        <labels>
                            <label>api</label>
                    </labels>
                <created>Mon, 16 Feb 2015 12:05:47 +0100</created>
                <updated>Thu, 25 Jun 2015 14:46:00 +0200</updated>
                            <resolved>Fri, 5 Jun 2015 09:47:44 +0200</resolved>
                                                    <fixVersion>2.1</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>3</watches>
                                                                                                                <comments>
                            <comment id="99776" author="rsiska" created="Thu, 5 Mar 2015 10:49:16 +0100"  >&lt;p&gt;Reopened to add pagination capability.&lt;/p&gt;</comment>
                            <comment id="100778" author="gjoseph" created="Fri, 20 Mar 2015 12:34:45 +0100"  >&lt;p&gt;Implementation is fine but lacks specification. Currently the behavior is undefined, so we pretty much let backends do whatever they want, and the client code can&apos;t know if different providers will behave differently.&lt;/p&gt;

&lt;p&gt;This is the comment I originally left on the concept page:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;While I understand the need for pagination, here&apos;s the problem I have with adding it right into the query API: different backends might need different parameters: &lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;offset (or skip) - similar to what MySQL proposes: you skip N entries, or&lt;/li&gt;
	&lt;li&gt;pageNumber (start at offset*pageSize)&lt;/li&gt;
	&lt;li&gt;startAtItemId&lt;br/&gt;
While the first 2 are relatively compatible (you can easily derive one from the other), this 3rd option has very different semantics: it&apos;s requiring that you pass it the ID (UUID or other) of the first item you want in the page, or the last of the previous page, etc etc. All in all, different backends have different paging mechanisms, and some don&apos;t have one at all.&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p&gt;So what that means, really, is that you need to define very precisely the expected behaviors of the new params, in your interfaces. (e.g javadoc for &lt;tt&gt;getOffset&lt;/tt&gt;; maxResults is self-descriptive, but offset can mean different things)&lt;/p&gt;

&lt;p&gt;It&apos;s good that you introduced &lt;tt&gt;AssetProviderCapability&lt;/tt&gt;(ies) for this; I&apos;d suggest they be named &lt;tt&gt;queryWithXXX&lt;/tt&gt; like the previously existing ones, and placed neared the other query-related capabilities.&lt;br/&gt;
They should also be checked (otherwise I can create and execute a query with pagination on a provider that doesn&apos;t support it?)&lt;/p&gt;</comment>
                            <comment id="105708" author="rsiska" created="Fri, 5 Jun 2015 09:47:38 +0200"  >&lt;p&gt;&amp;gt; They should also be checked..&lt;br/&gt;
The AssetProvider#list JavaDoc says that it&apos;s up to the provider to validate the query. Client can always check the capabilities beforehand to prevent undefined behavior.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10160">
                    <name>Relates</name>
                                                                <inwardlinks description="relates to">
                                        <issuelink>
            <issuekey id="43189">MGNLDAM-546</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10020">
                    <name>dependency</name>
                                                                <inwardlinks description="is depended upon by">
                                        <issuelink>
            <issuekey id="43168">MGNLDAMEXT-32</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </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, 13 Mar 2015 11:31:55 +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>ajones</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_13136" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            8 years, 37 weeks, 2 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>gjoseph</customfieldvalue>
            <customfieldvalue>rsiska</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_10833" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|i04npb:</customfieldvalue>

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