children
Audit
- Macro ID
- children
- Source
- XS
- Type
- Generator
- Classification reason
- Status
- Reviewed
- Criteria version
- 15.20
- XWiki version
- 18.8.0
- Audit date
- 2026-10-14
- Auditor
- Compared macros
- documentTree toc
Sources
Where to gather the information the criteria are checked against, see Gather the sources.
| Other sources specific to this macro |
|---|
|
| Criterion | Result | Notes |
|---|---|---|
| D1 wording | OK | |
| D2 summary | KO | the description speaks of child pages only, while the tree also lists the Translations and Attachments of the root page: {{children root="document:Sandbox.WebHome"/}} shows "Translations" and "Attachments" nodes before the child pages. It also says "children pages" instead of "child pages". |
| D3 category | OK | |
| D4 quick-action | KO | Quick Actions finds the macro first for "children", "Children" and the French name "Enfants". The synonyms "subpages", "child pages" and "sitemap" give no result, and "page tree" only finds the documentTree macro, "Page Tree". |
| L1 consistency | OK | compared with documentTree and toc: like them, no parameter is mandatory, there is no content, and the Quick Action inserts the macro right away, with no dialog. Unlike them, children declares no default value for its parameters: the documentation gives title:asc and the current page, which the descriptor does not. |
| L2 doc-parameters | KO | the parameters are only documented on the legacy extensions.xwiki.org page, not in the new documentation. That page also lists "name" as a sort field: {{children sort="name"/}} works, but the Sort by select does not offer it. |
| L3 doc-example | OK | |
| I1 pattern | OK | children is the reference generator, so it is compared with documentTree and toc: all three are inserted by their Quick Action without a dialog, and through the Insert Macro dialog with an Edit Macro dialog whose fields are all optional. |
| I2 zero-config | OK | Quick Actions and the Edit Macro dialog submitted with the default values insert {{children/}} . On a page without child pages, view mode shows "No pages found" as an information node, not as an error, which is a sensible result. The editor shows only the "macro:children" placeholder, see E1. |
| I3 instant | N/A | |
| I4 cursor | N/A | |
| I5 focus | OK | the macro has no mandatory parameter, and its two fields are visible without scrolling, with the focus on the first one, the type selector of Root. |
| E1 wysiwyg | KO | the editor never shows the tree, only the generic "macro:children" placeholder, even when the page has child pages: the tree is built by JavaScript that does not run in the editor. To reproduce: on a page with two child pages, insert {{children/}} : view mode lists both pages as a tree, the WYSIWYG editor only shows "macro:children". |
| E2 errors | KO | invalid values are accepted silently, and some give a misleading "No pages found" on a page that has child pages. For example {{children sort="foo"/}} , {{children root="Sandbox.WebHome"/}} , a plain page reference without the "document:" prefix, while Sandbox has child pages, and {{children root="NoSuch.Page"/}} all render "No pages found" with no message, and {{children sort="title:sideways"/}} is ignored. |
| E3 nesting | KO | in a list item and in a table cell, like * {{children/}} , the macro is inline and renders "The [children] macro is a standalone macro and it cannot be used inline." in the editor and in view mode. Inserting it from Quick Actions at the end of a list item gives the same error and saves * two{{children/}}((( ))) . In a box it works. The macro has no content, so the second half of the measure does not apply. |
| E4 inline-support | OK | the macro declares no inline support, and its output is a tree, a block that cannot be inside a sentence. |
| E5 empty | N/A | |
| E6 inplace | N/A |
Parameters
| Parameter | C1 clarity | C2 mandatory | C3 defaults | C4 input-assistance | C5 groups | C6 order | C7 alternatives | C8 advanced | C9 technical | C13 constraints | Notes |
|---|---|---|---|---|---|---|---|---|---|---|---|
| sort | OK | OK | KO | OK | OK | OK | N/A | OK | OK | OK | C3, minor: the two selects open on " C4: two selects, one for the page field, Title, Last modification date or Creation date, and one for the order. C13: the selects only offer valid values, so the dialog cannot submit an invalid one. |
| root | KO | OK | OK | KO | OK | OK | N/A | OK | OK | OK | C1: the description is technical and wrong for this macro: "The root node id. [...] The entire tree is displayed if the root node is not specified." It speaks of nodes, a documentTree notion, while an empty Root shows the child pages of the current page, not the entire tree. To reproduce: open the Edit Macro dialog of {{children/}} . C3: no default is declared, but the field opens empty, which means the current page, the value of the most common example. C4, minor: the page picker works, but its type selector offers nine types, Farm, Wiki, Space, Document, All attachments, Attachment, All translations, All objects and Objects of type, while the macro is about child pages. Most of them do not give child pages: {{children root="space:xwiki:Sandbox"/}} renders "No pages found", {{children root="attachments:Sandbox.WebHome"/}} lists attachments, and {{children root="farm:*"/}} shows only the wiki. C13: no format can be declared, the macro being a wiki macro, but the picker builds a valid "document:" reference, so the dialog does not need to reject a typed value. |
Other notes
The problem of the earlier analysis, a double click anywhere in the page opening the children dialog, does not happen on 18.8.0: the macro frame only covers the macro.
KOs and tickets
Every KO needs a ticket covering it, see Report the KOs. One ticket can cover several KOs. Known issues filed for this macro are suggested in italics: link them as existing tickets when they cover the KO.
| KO | Criterion | Existing tickets | New tickets |
|---|---|---|---|
| D2 | D2 summary | XWIKI-25470 | |
| D4 | D4 quick-action | XWIKI-25444 | |
| L2 | L2 doc-parameters | XINFRA-525 | |
| E1 | E1 wysiwyg | XWIKI-25523 (partial), XWIKI-25524 | |
| E2 | E2 errors | XWIKI-23142 | XCOMMONS-3847 (partial), XRENDERING-823 (partial) |
| E3 | E3 nesting | XWIKI-23501 | |
| C3:sort | C3 defaults, sort | XWIKI-25472 | |
| C1:root | C1 clarity, root | XWIKI-25470 | |
| C4:root | C4 input-assistance, root | XWIKI-25565 |
Tickets
| Ticket | Origin | KOs covered | KOs partly covered |
|---|---|---|---|
| XWIKI-23142 | Existing | E2 | |
| XCOMMONS-3847 | New | E2 | |
| XRENDERING-823 | New | E2 | |
| XWIKI-25444 | New | D4 | |
| XWIKI-25470 | New | C1:root D2 | |
| XWIKI-25472 | New | C3:sort | |
| XINFRA-525 | New | L2 | |
| XWIKI-25523 | New | E1 | |
| XWIKI-25524 | New | E1 | |
| XWIKI-23501 | Existing | E3 | |
| XWIKI-25565 | New | C4:root |
Known issues of this macro
| Issue | Title | Status | Criteria |
|---|---|---|---|
| XWIKI-23142 | Rendering error is not clear when inserting a wrong Root parameter in Children Macro and Page Tree Macro | Open | E2 |
68 more known issues affect every macro: see the Known issues.
Lucas Charpentier