Including All Child Pages

This is applicable only for the Server version.


Scenario

This recipe is handy if you want to have a parent page present an aggregated view of all its children, displayed in full. This recipe includes an Edit link for each section, which will automatically allow the user to edit the listed page. It combines the functionality offered by ReportingLinking and Visibility add-ons.

The steps will guide you on how to include the content of all children of a page, headed by the page title and a link to edit the page.


Result


Recipe

Ingredients

Add-ons

Platform

Level

ADVANCED

Estimated time

30 minutes

Macros

Suppliers

Storage format

Macro structure

You can recreate the example in the editor view:

Steps

  1. The format of the report will be in the form of Report Block.

  2. Content Reporter is used to report on the current page children by setting scope to "@self > children".

  3. Pages pulled from Content Reporter are sorted by content title via Text Sort, setting supplier key to "content:title".

  4. Report Body is used as a container for displaying results.
    Injected is set to true so that we can inject values within the field of Link to Location 
    macro (see step 7).

  5. Report Info displays title of each page returned from Content Reporter, setting supplier key to "content:title".

  6. The Show If macro will only display the contained contents (see step 7) if this current space can be edited by the current user, by setting the Space Permissions parameter to "@self:edit" or "edit".
    This macro is from the Visibility add-on.

  7. Link to Location macro creates a link to special Confluence locations. In this case, it links to the edit page of each child page from Content Reporter. Location parameter is set to "page edit".
    Content parameter is set to "%content:title%".
    The "%" sign indicates that the enclosed text are injected - the text within will be replaced by the value of supplier key "content:title".
    Link Text is set to "Edit".
    This macro is from the Linking add-on.

  8. The Report Info macro displays the content body, by setting the supplier key to "content:body". Render parameter is set to "wiki".

  9. Same as Step 6.

  10. The Add Page page creates a link that adds a new page. The Parent parameter of this created page is the current page, i.e. "@self". The Link Text parameter is set to "(plus) Add a new section". This macro is from the Linking add-on.