display
Audit
- Macro ID
- display
- Source
- XS
- Type
- Generator
- Classification reason
- Status
- Reviewed
- Criteria version
- 15.20
- XWiki version
- 18.8.0
- Audit date
- 2026-10-16
- Auditor
- Compared macros
- include children
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 | KO | minor: the Quick Actions entry and the dialog title are only "Display", a generic verb that does not say what is displayed, while the documentation shows one use, displaying another page; include, the same kind of macro, has the entry "Include Page". Type "display" in the Quick Actions menu: the entry "Display" comes between Icon, Footnote and Live Data entries, with nothing telling that it shows a page. |
| D2 summary | KO | the description "Display other pages into the current page." is the same sentence as the include macro, "Include other pages into the current page.", and does not say what makes display different, that the page is rendered in its own context. A user choosing between the two cannot tell them apart. |
| D3 category | OK | Content, the same category as include; children is in Navigation, a different kind of generator. |
| D4 quick-action | KO | "display" and "Display" give the Quick Actions entry "Display" first, and the French "Affichage" gives "Affichage" first. The synonyms "embed", "transclude" and "reuse" do not find it: "embed" gives the Embed macro and the Diagram, Image and Icon entries, "transclude" and "reuse" give nothing. |
| L1 consistency | OK | compared with include and children. None of them has content. Display and include both open the Edit Macro dialog on insertion, with the page as the only required field, and share the same defaults; children is inserted right away since it needs no target. |
| L2 doc-parameters | OK | the new documentation lists the five parameters with their defaults. It marks reference and page as mandatory with "Either this parameter or page has to be set", which matches the required Reference feature of the descriptor, so the "mandatory differs" reported by check_docs.py is not a difference. |
| L3 doc-example | OK | the documentation has {{display reference="Sales.Reports.WebHome"/}} , which renders without error. The audit uses it on an existing page: {{display reference="Sandbox.TestPage1"/}} . |
| I1 pattern | OK | compared with children, the reference generator, and include. From the Quick Actions menu, the "Display" entry opens the Edit Macro dialog, where children is inserted right away: display needs a page to display, and include behaves the same way. From the Insert Macro dialog, the same Edit Macro dialog opens. |
| I2 zero-config | OK | submitting the Edit Macro dialog with the default values does nothing: the required Page field is empty and the dialog stays open with no message, which is the generic behavior of the dialog. {{display/}} typed in the source gives "Invalid macro parameters used for the [display] macro. Cause: [Property [page:reference] mandatory]." in view mode, acceptable for a generator that needs its target. |
| I3 instant | N/A | |
| I4 cursor | N/A | |
| I5 focus | OK | the required Reference group with its Page picker comes first, visible without scrolling, and the focus is on the Page field. |
| E1 wysiwyg | OK | the displayed page looks the same in the editor and in view mode. |
| E2 errors | KO | invalid values are accepted silently or give a message that does not name the parameter. {{display reference="NoSuchPage"/}} and {{display page="NoSuch/Page"/}} render nothing, with no message, as the documentation says. {{display reference="Sandbox.TestPage1" excludeFirstHeading="maybe"/}} is read as false. {{display reference="Sandbox.TestPage1" type="SPACE"/}} renders nothing, and {{display reference="Sandbox.TestPage1" type="ATTACHMENT"/}} gives "Infinite document inclusion detected.", a wrong cause. {{display reference=""/}} gives "Found recursive display of document [...]" instead of saying the page is missing. {{display reference="Sandbox.TestPage1" type="foo"/}} lists the allowed values but does not name the type parameter. {{display reference="Sandbox.TestPage1" section="HNoSuchSection"/}} gives "Cannot find section [HNoSuchSection] in document [...]", which is clear. |
| E3 nesting | OK | the example renders and can be edited in a list item, in a table cell and in a box. The macro has no content. |
| E4 inline-support | OK | the macro declares inline support. Displaying inside a sentence a page whose content is the single line "Hello inline world", Before {{display reference="Target"/}} after. , renders on the same line. A page with headings or several paragraphs, like the example, breaks the sentence since its content cannot be inline, with no message. |
| 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| excludeFirstHeading | OK | OK | OK | OK | OK | OK | N/A | OK | OK | N/A | C1: the name and the description are not translated in French and German, which is fixed on l10n.xwiki.org. C9: used by one example of the documentation, to avoid repeating the title of a displayed section. |
| page | KO | OK | N/A | KO | N/A | N/A | OK | N/A | OK | N/A | C1, minor: hidden, but shown when the macro already sets it, like {{display page="Sandbox/TestPage1"/}} . The Edit Macro dialog of that macro then shows two alternatives, "Select parameter Resource" with a Page field and "Select parameter page" with another Page field, both with the description "The reference of the page to display.", with no way to tell them apart. C4, minor: in the same case, a plain text field, while the reference alternative next to it has a page picker. C9: hidden from the dialog of a new macro. |
| reference | OK | OK | OK | OK | OK | OK | OK | OK | OK | N/A | C2: not mandatory itself, but it is the only shown alternative of the required Reference feature; no default makes sense, the current page would display itself. C4: a page picker that finds the page by its title, its name or its reference, and also accepts a typed reference. |
| section | KO | OK | OK | KO | OK | OK | N/A | OK | OK | N/A | C1: the description "An optional id of a section to include in the specified page." uses "include", the term of the other macro, and does not say that the id is "H" followed by the heading title without spaces, like HMyHeading, so the user cannot guess what to type. The descriptor annotation gives the hint "e.g. 'HMyHeading'", but the translation that replaces it drops it. Open the Edit Macro dialog of {{display reference="Sandbox.TestPage1"/}} , Optional parameters. C4: a plain text field where the user must type a generated heading id, while the headings of the chosen page could be offered in a picker: to display the "My Heading" section the user has to work out and type {{display reference="Sales.Reports.WebHome" section="HMyHeading"/}} , and a heading with accented letters gives an id with hexadecimal codes, like HCafE9. C8: marked as advanced; used by two examples of the documentation, but not by the most common one. |
| type | N/A | OK | N/A | N/A | N/A | N/A | N/A | N/A | OK | N/A | C9: hidden from the Edit Macro dialog; the Page picker sets the reference type. Shown, as an advanced select of 13 entity types, only when the macro already sets it. |
Other notes
The page picker of the Page field shows the title of a random translation of the page: searching "Test Page 1" in the English UI suggests "Sandkasten Test Seite 1", the German title of Sandbox.TestPage1, and "TestPage1" suggests "Página de Prueba 1". This is the generic page picker, not counted for this macro, and listed under the reported generic problems of the Cross-macro findings, reported as XWIKI-25458.
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 |
|---|---|---|---|
| D1 | D1 wording | XWIKI-25477 | |
| D2 | D2 summary | XWIKI-25477 | |
| D4 | D4 quick-action | XWIKI-25444 | |
| E2 | E2 errors | XCOMMONS-3847 (partial), XRENDERING-823 (partial), XWIKI-25578 (partial) | |
| C1:page | C1 clarity, page | XWIKI-25477 | |
| C4:page | C4 input-assistance, page | XWIKI-25576 | |
| C1:section | C1 clarity, section | XWIKI-25477 | |
| C4:section | C4 input-assistance, section | XWIKI-23045 (partial) | XWIKI-25501 |
Tickets
| Ticket | Origin | KOs covered | KOs partly covered |
|---|---|---|---|
| XCOMMONS-3847 | New | E2 | |
| XRENDERING-823 | New | E2 | |
| XWIKI-25444 | New | D4 | |
| XWIKI-25477 | New | C1:page C1:section D1 D2 | |
| XWIKI-23045 | Existing | C4:section | |
| XWIKI-25501 | New | C4:section | |
| XWIKI-25576 | New | C4:page | |
| XWIKI-25578 | New | E2 |
Known issues of this macro
| Issue | Title | Status | Criteria |
|---|---|---|---|
| XWIKI-13997 | Page/editor corruption caused by inlined display/include macro that references block content | Open | E4 |
| XWIKI-21362 | Allow 'Edit Macro' dialog to be opened by default when a macro that needs configuration is inserted through Quick Actions | Open | I5 |
| XWIKI-22690 | Translation keys missing for macro ‚display‘ and ‚include‘ | Open | C1 |
67 more known issues affect every macro: see the Known issues.
Lucas Charpentier