Extracting Scaffolding Data from Children 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 Scaffolding's Table Data macro.
For example:
It’s possible to configure the 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 Server & Data Center, Scaffolding Forms & Templates for Confluence Server and 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.
Add the expanding-reporter macro within a report-table macro and specify the following:
-Â Key:data:tableData
-Â As:Âexr
- Match All:Âtrue
Add a content-reporter macro within expanding-reporter macro and specify the following:
- Spaces:Â
@self
-Â Types:Âpage
-Â Scope:ÂCafe Rockettoria Projects > descendents
-Â Match All Criteria:Âtrue
Add a report-column macro within the report-table macro and specify the following:
-Â Title:ÂCoffee Machine Details
Add a report-info macro within the new report-column macro and specify Key as expanded:exr>data:textData
Add another report-column macro within the report-table macro and specify the following:
-Â Title:ÂRemarks
Add text-data macro within the report-column macro above and specify Field Name as "remarks".Â
Save the page.
The output should be as below. In this example since the data is extracted from TextData - the content whether formatted as a paragraph or header will follow
Â