Extract Scaffolding data from child pages
Scenario
This recipe is relevant for page structures containing Parent page to Children page to Descendent:
In the sub-child page, a table can be wrapped inside a Scaffolding Table Data macro.
For example:
It’s possible to configure the Scaffolding Text Data macro inside the table to get user input.
This recipe shows how to extract text from the Text Data macro (nested inside the Table Data macro) and display it as a report on a different page.
Result
Recipe
Apps | Reporting for Confluence Data Center, Scaffolding Forms & Templates for Confluence Data Center |
|---|---|
Level | Intermediate |
Estimated time | 20 minutes |
Macros | Content Reporter, Expanding Reporter, Report Column, Report Info, Report Table |
Suppliers |
|
Storage format
You can copy and paste this code into the Confluence Source Editor:
<ac:structured-macro ac:macro-id="5cd5efc8-16f3-47f8-bf15-b6c14c3395c2" ac:name="report-table" ac:schema-version="1">
<ac:rich-text-body>
<ac:structured-macro ac:macro-id="84442ddf-7cc8-48db-9a95-2d8d9d5bc14e" ac:name="expanding-reporter" ac:schema-version="1">
<ac:parameter ac:name="as">exr</ac:parameter>
<ac:parameter ac:name="">data:tableData</ac:parameter>
<ac:rich-text-body>
<ac:structured-macro ac:macro-id="e81ac7af-a9e7-4060-834b-de862bc0d5b5" ac:name="content-reporter" ac:schema-version="1">
<ac:parameter ac:name="types">page</ac:parameter>
<ac:parameter ac:name="scope">Cafe Rockettoria Projects > descendents</ac:parameter>
<ac:rich-text-body>
<p>
<br />
</p>
</ac:rich-text-body>
</ac:structured-macro>
</ac:rich-text-body>
</ac:structured-macro>
<ac:structured-macro ac:macro-id="4aaccd87-af65-4a40-8a30-fb1d0f41deca" ac:name="report-column" ac:schema-version="1">
<ac:parameter ac:name="title">Coffee Machine Details</ac:parameter>
<ac:rich-text-body>
<p>
<ac:structured-macro ac:macro-id="268e03e0-e2ee-4239-8ad5-a9ecb6cf9b34" ac:name="report-info" ac:schema-version="1">
<ac:parameter ac:name="">expanded:exr>data:textData</ac:parameter>
</ac:structured-macro>
</p>
</ac:rich-text-body>
</ac:structured-macro>
<ac:structured-macro ac:macro-id="096e80eb-6351-445e-bdaf-65f857bae186" ac:name="report-column" ac:schema-version="1">
<ac:parameter ac:name="title">Remarks</ac:parameter>
<ac:rich-text-body>
<ac:structured-macro ac:macro-id="b70e3cef-1bb2-43b7-a089-886d8ddf2a90" ac:name="text-data" ac:schema-version="1">
<ac:parameter ac:name="name">remarks</ac:parameter>
<ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
<ac:rich-text-body>
<p>
<br />
</p>
</ac:rich-text-body>
</ac:structured-macro>
</ac:rich-text-body>
</ac:structured-macro>
</ac:rich-text-body>
</ac:structured-macro>
Macro structure
You can recreate the example in the editor view:
Steps
Add a report-table macro.
Within the report-table macro, add an expanding-reporter macro and specify the following:
- Key:data:tableData
- As:exr
- Match All:trueWithin the expanding-reporter macro, add a content-reporter macro and specify the following:
- Spaces:
@self
- Types:page
- Scope:Cafe Rockettoria Projects > descendents
- Match All Criteria:trueWithin the report-table macro, add a report-column macro and specify the following:
- Title:Coffee Machine DetailsWithin the report-column macro, add a report-info macro and specify the following:
- Key:expanded:exr>data:textDataWithin the report-table macro, add another report-column macro and specify the following:
- Title:RemarksWithin the Remarks report-column macro, add a text-data macro and specify the following:
- Field Name:remarksSave the page.
The output should be as below. In this example, since the data is extracted from Text Data, the content whether formatted as a paragraph or header will follow