Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Reverted from v. 13

...

Description

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

Parameters

Name

Required

Migratable to Cloud?

Default Value

Description

unique

  • (

...

  • X)

...

  • 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

  • (

...

  • X)

...

  • 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

  • (

...

  • X)

...

  • NO

If set to false, content matching any of the criteria will be returned. Otherwise, the content must match all criteria. 

Editor View

...

Macro Edit View

  • Not applicable.

Notes

Combining two sets of pages

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

Code Block
{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}).

Code Block
{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}

Code Block
{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}

...

Description

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

Parameters

Name

Required

Migratable to Cloud?

Default Value

Description

intersect

  • (X)

  • 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

  • (X)

  • NO

If set to false, content matching any of the criteria will be returned. Otherwise, the content must match all criteria. 

unique

  • (X)

  • 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. 

Tutorial Examples

Filter by label (Content by label)
showLabelsfalse
showSpacefalse
excerptTypesimple
cqllabel = "combining-reporter"