OpenWGA 7.0 - WebTML reference
WebTML tags » foreach<tml:foreach linear ="true | false">
Purpose:
Description:
When you use <tml:foreach> with paging to iterate over documents where some are invisible - either read-protected or hidden because of time/navigation restrictions - you will experience that some documents are displayed on multiple pages.
The reason for this is: When OpenWGA displays a later page it skips the documents of previous pages without determining if they would be invisible. It does that to improve performance because visibility determination would need it needs to load the documents data, although it is actually not displayed. This however leads to those multiply displayed documents. Imagine displaying 10 documents with a pagesize of 5. When document 3 is invisible <tml:foreach> will actually display documents 1 to 6 instead of 1 to 5. The second page will however start at position 6 - as it does not know that one document was invisible - so document 6 is displayed twice.
You can prevent this behaviour by setting the attribute linear to "true". This will let OpenWGA test all skipped documents for visibility so it is able to begin the page at the real "visible" index. The downside of this is a performance penalty on later pages as all previous documents need to be iterated in order to determine their visibility.