Create a list of pages by displaying only a part of the title
Scenario
Combining the Text Supplier with the Collection Supplier is useful for returning the specific text you need from a collection of data (lists, sets, and arrays).
In this example, we are building a report that extracts the IT personnel's names from every page title under the same parent page. This is useful if you're compiling a list of names from many child pages into a single page.
This recipe will allow you to build the report on the IT Personnel page and extract the personnel's name from the child page titles (after the hyphen) to be displayed in the report.
Result
Recipe
Apps | Reporting for Confluence Data Center |
|---|---|
Level | Intermediate |
Estimated time | 15 minutes |
Macros | Content Reporter, Report Body, Report Info, Report List, Text Filter |
Suppliers | Collection Supplier, Content Supplier, Text Supplier |
Storage format
You can copy and paste this code into the Confluence Source Editor:
<ac:structured-macro ac:macro-id="e85392ae-e50c-49df-ae00-9364691de47b" ac:name="report-list" ac:schema-version="1">
<ac:rich-text-body>
<p class="auto-cursor-target">
<br />
</p>
<ac:structured-macro ac:macro-id="1a768800-5d12-4c5a-bef9-cb34b781d064" ac:name="content-reporter" ac:schema-version="1">
<ac:parameter ac:name="types">page</ac:parameter>
<ac:parameter ac:name="scope">IT Personnel > children</ac:parameter>
<ac:rich-text-body>
<p>
<ac:structured-macro ac:macro-id="3394127e-a9e0-412a-bb1b-10bd065bad87" ac:name="text-filter" ac:schema-version="1">
<ac:parameter ac:name="">content:title</ac:parameter>
</ac:structured-macro>
</p>
</ac:rich-text-body>
</ac:structured-macro>
<p class="auto-cursor-target">
<br />
</p>
<ac:structured-macro ac:macro-id="c76b6fce-07c6-4b31-a14b-7d0db3a661d0" ac:name="report-body" ac:schema-version="1">
<ac:rich-text-body>
<p>
<ac:structured-macro ac:macro-id="4deaa53e-72e6-4488-ad4c-9ab3b46965e2" ac:name="report-info" ac:schema-version="1">
<ac:parameter ac:name="link">true</ac:parameter>
<ac:parameter ac:name="render">richtext</ac:parameter>
<ac:parameter ac:name="">content:title > text:split with - > collection:last</ac:parameter>
</ac:structured-macro>
</p>
</ac:rich-text-body>
</ac:structured-macro>
<p class="auto-cursor-target">
<br />
</p>
</ac:rich-text-body>
</ac:structured-macro>
Macro structure
You can recreate the example in the editor view:
Steps
Create a Report List macro.
Within the Report List macro, create a Content Reporter macro with the following parameters:
Spaces:
@selfTypes:
pageScope:
IT Personnel > childrenMatch All Criteria:
true
Within the Content Reporter macro, create a Text Filter macro with Key:
content:title.Under the Content Reporter macro, create a Report Body macro.
Within the Report Body macro, create a Report Info macro with Key:
content:title > text:split with - > collection:last.Save the page.