<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Alfresco.util.DataTable and search maxItems in Alfresco Archive</title>
    <link>https://connect.hyland.com/t5/alfresco-archive/alfresco-util-datatable-and-search-maxitems/m-p/255896#M209026</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I'm using the Alfresco.util.DataTable and trying to get paging to work.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;In the DataTable widget, maxItems is the max number of rows per page, in Alfresco javascript search object it is the maxItems to return in a search:&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&amp;nbsp; var paging =&lt;BR /&gt;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; maxItems: 10,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; skipCount: 0&lt;BR /&gt;&amp;nbsp; };&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;SPAN&gt;That is, on the server side if I set the maxItems, the search will stop when maxItems is reached. But returning this to the DataTable, the DataTable has no way of knowing that there actually is a larger set available, and there is no paginater pages created.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;So if I only use maxItems for the DataTable, and set&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&amp;nbsp; var paging =&lt;BR /&gt;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; maxItems: 100, //Can possibly skip entirely&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; skipCount: 10 //from passed in DataTable, page 2 of max 10 per row&lt;BR /&gt;&amp;nbsp; };&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;SPAN&gt;in this case, I also return the max number of hits to the DataTable. Paginator is created.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;But if there is a total of 100 hits, I get 90 items returned.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;What I'm missing is a maxRowItems in the javascript search API.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I guess I can emulate that in javascript by just returning the first 10 (it that is what I want per row).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;on further testing I resolved paging:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;In you webscript, always return searchresults.length+scipcount to get actual number of hits, since search subtracts the scipcount from total hits (correctly so)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;This would be part of your json return&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;"paging": &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;"totalItems": ( searchresults.length+scipcount),&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;"maxItems": 10,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;"skipCount": (the current value of skipped items)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;SPAN&gt;Also, loop the searchresults and only return the first maxItems, so that you do not return an an unnecessary large result set.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 03 Feb 2011 10:24:29 GMT</pubDate>
    <dc:creator>loftux</dc:creator>
    <dc:date>2011-02-03T10:24:29Z</dc:date>
    <item>
      <title>Alfresco.util.DataTable and search maxItems</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/alfresco-util-datatable-and-search-maxitems/m-p/255896#M209026</link>
      <description>Hi,I'm using the Alfresco.util.DataTable and trying to get paging to work.In the DataTable widget, maxItems is the max number of rows per page, in Alfresco javascript search object it is the maxItems to return in a search:&amp;nbsp; var paging =&amp;nbsp; {&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; maxItems: 10,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; skipCount: 0&amp;nbsp; };‍‍‍‍‍That is, on the s</description>
      <pubDate>Thu, 03 Feb 2011 10:24:29 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/alfresco-util-datatable-and-search-maxitems/m-p/255896#M209026</guid>
      <dc:creator>loftux</dc:creator>
      <dc:date>2011-02-03T10:24:29Z</dc:date>
    </item>
    <item>
      <title>Re: Alfresco.util.DataTable and search maxItems</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/alfresco-util-datatable-and-search-maxitems/m-p/255897#M209027</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Yes we should definitively add paging to the search webscript, which of course would be the best way to solve the problem :-).&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I have filed to a jira for this: &lt;/SPAN&gt;&lt;A href="http://issues.alfresco.com/jira/browse/ETHREEOH-3416" rel="nofollow noopener noreferrer"&gt;http://issues.alfresco.com/jira/browse/ETHREEOH-3416&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Perhaps it may interest you that the task-instances webscript is a good example of how "paging" will work in the future, a pattern that:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;- also matches the CMIS paging strategy and &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;- will match the Alfresco.util.DataTable's default config.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;This is how it looks:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;"paging": &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; "totalItems": searchresults.length, // The total number of items that match the search term criterias (no matter what the skipCount or maxItems is set to)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; "maxItems": 10, // The maximum number of items to return in a request (&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; "skipCount": 0 // The item index position to start returning items from (in other words NOT a "page number")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;… so I would say that "maxItems" in this strategy actually is the "maxRowItems" you're looking for. An example of a request asking for tasks is:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;GET &lt;/SPAN&gt;&lt;A href="http://localhost:8081/share/proxy/alfresco/api/task-instances?authority=admin&amp;amp;properties=bpm_priority,bpm_status,bpm_dueDate,bpm_description&amp;amp;exclude=wcmwf:*&amp;amp;skipCount=0&amp;amp;maxItems=50" rel="nofollow noopener noreferrer"&gt;http://localhost:8081/share/proxy/alfresco/api/task-instances?authority=admin&amp;amp;properties=bpm_priority,bpm_status,bpm_dueDate,bpm_description&amp;amp;exclude=wcmwf:*&amp;amp;skipCount=0&amp;amp;maxItems=50&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;…which gives you the following response for a use that has 2 tasks….&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;200 OK&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; "data": [ &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { "id": "jbpm$5", … }, &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { "id": "jbpm$3", …} &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; ],&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; "paging": &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "totalItems": 2,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "maxItems": 50,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "skipCount": 0&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Cheers, Erik&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 03 Feb 2011 13:52:10 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/alfresco-util-datatable-and-search-maxitems/m-p/255897#M209027</guid>
      <dc:creator>erikwinlof</dc:creator>
      <dc:date>2011-02-03T13:52:10Z</dc:date>
    </item>
  </channel>
</rss>

