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

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 &gt; 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&gt;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

  1. Add a report-table macro.

  2. Add the expanding-reporter macro within a report-table macro and specify the following:
    - Key: data:tableData
    - As: exr
    - Match All: true

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

  4. Add a report-column macro within the report-table macro and specify the following:
    - Title: Coffee Machine Details

  5. Add a report-info macro within the new report-column macro and specify Key as expanded:exr>data:textData

  6. Add another report-column macro within the report-table macro and specify the following:
    - Title: Remarks

  7. Add text-data macro within the report-column macro above and specify Field Name as "remarks". 

  8. Save the page.

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

Â