Combining Reporter

Description

This reporter combines the results of multiple sub-reporters into a single list.


Parameters

NameRequiredAvailable InMigratable to Cloud?Default ValueDescription
unique
 Optional
Server, Data Center
No
false

If set to  true, this will ensure that each item is only returned once, even if it comes from multiple reporters.

This will have a performance penalty due to the uniqueness checking. 

intersect
 Optional
Server, Data Center
No

(Since 3.2.0)

If set to  true, only items that occur in all reporter results are returned.

If set to  false, only items that occur in only one set of reporter results are returned.

This will have a potential performance penalty due to the intersect checking.

matchAll
 Optional
Server, Data Center
No
If set to false, content matching any of the criteria will be returned. Otherwise, the content must match all criteria. 


Editor View


Notes

Combining two sets of pages

This will display all the children of two separate pages into a single, sorted list.

{report-list}
{combining-reporter}
  {local-reporter:content:children|source=Foo}
  {local-reporter:content:children|source=Bar}

  {text-sort:content:title}
{combining-reporter}

{report-body}{report-info:content:title|link=true}{report-body}

{report-list}

Getting items that occur in all result sets

You can perform an 'intersect' on the result sets, where only items which occur in all sub-reporter result sets are returned.

In this example, we want a set of users who are both 'confluence-administrators' and 'project-managers' (Note: a better way to do this is with {user-reporter:groups=+confluence-administrators, +project-managers}).

{report-table}
{combining-reporter:intersect=true}
  {user-reporter:group=confluence-administrators}
  {user-reporter:group=project-administrators}
  {text-sort:user:name}
{combining-reporter}

{report-column:title=User}{report-info:user:full name|link=true}{report-column}

{report-empty}_No users found._{report-empty}

{report-table}

Getting items that occur only in one set of results

You can also do the reverse of the above, and only get results which occur in one set of results (an 'exclusive or' in set terms).{report-table}

{combining-reporter:intersect=false}
  {user-reporter:group=confluence-administrators}
  {user-reporter:group=project-managers}
  {text-sort:user:name}
{combining-reporter}

{report-column:title=User}{report-info:user:full name|link=true}{report-column}

{report-empty}_No users found._{report-empty}

{report-table}

Tutorial Examples