tagcloud
Audit
- Macro ID
- tagcloud
- Source
- XS
- Type
- Generator
- Classification reason
- Status
- Reviewed
- Criteria version
- 15.20
- XWiki version
- 18.8.0
- Audit date
- 2026-10-19
- Auditor
- Compared macros
- documents 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 | OK | |
| D2 summary | KO | "Displays the cloud of tags in this wiki or in the specified space, if any." repeats the name, "Tag Cloud", and does not say what a tag cloud is: the tags of the pages, each one larger the more pages use it, and each one a link to the list of its pages. It also uses "space", a term the UI no longer shows, and does not mention the several spaces of spaces nor the limit. |
| D3 category | KO | minor: the macro is in Content, like documents, while children and documentTree, which also lead the user to other pages, are in Navigation, where a user looking for a tag cloud, a set of links to the pages of each tag, would also look. |
| D4 quick-action | KO | Quick Actions finds the macro first for its ID "tagcloud", its name "Tag Cloud", the French name "Nuage de tag" and the synonym "tags". The synonyms "tag list", "labels", "keywords", "word cloud" and "popular tags" give no result. |
| L1 consistency | OK | compared with documents and children: like them, no parameter is mandatory, there is no content, the Quick Action inserts the macro right away, with no dialog, and no default value is declared. The parameter that sets which pages are covered differs: space and spaces, plain space references, where documents has location and children a root picker. |
| L2 doc-parameters | KO | the parameters are only documented on the legacy extensions.xwiki.org page, not in the new documentation. That page says to embed the macro "on a xwiki 2.0 syntax page", and gives "no limit" as the default of limit, which the macro does not declare. |
| L3 doc-example | OK | the most common example is {{tagcloud /}} , the Usage example of the documentation, also used by the Tags page and the wiki dashboard of XWiki Standard, which renders without error. |
| I1 pattern | OK | compared with children, the reference generator: both 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 {{tagcloud/}} , which shows the tags of the whole wiki in the editor and in view mode, with no error. In a wiki where no page is tagged, it shows "No page has been tagged yet" as plain text, not as an error. |
| I3 instant | N/A | |
| I4 cursor | N/A | |
| I5 focus | OK | the macro has no mandatory parameter. The focus is on the first field, Limit. |
| E1 wysiwyg | OK | the editor shows the tag cloud as in view mode, only the macro frame differs. |
| E2 errors | KO | invalid values are accepted silently or give a misleading or technical message. {{tagcloud limit="abc"/}} , {{tagcloud limit="-3"/}} and {{tagcloud limit="0"/}} show "No page has been tagged yet" while pages are tagged. {{tagcloud space="No.Such"/}} , and a nested page given without its parent, like space="Team" for MacroAudit.TagcloudFixture.Team , show "No tag has been added on this page or on its children", which does not say that the page does not exist. {{tagcloud spaces="Sandbox"/}} , a space without the single quotes, fails with "Failed to execute the [velocity] macro. Cause: [Error number 0 in 5: Unexpected character `S` at position 1 in [Sandbox]]" and a stack trace. Setting both space and spaces gives a clear error: "Do not use "space" and "spaces" parameter in the same time". |
| E3 nesting | KO | in a list item and in a table cell, like * {{tagcloud/}} , the macro is inline and renders "The [tagcloud] macro is a standalone macro and it cannot be used inline." in the editor and in view mode. In a box it renders. 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 list of tags in its own block, which a sentence could not hold. |
| 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| space | KO | OK | OK | KO | OK | OK | KO | OK | OK | N/A | C1: "Space" is a technical term that the UI no longer shows since nested pages; the English name is the parameter ID, "space", which the dialog shows capitalized. The description does not say that the full reference of the page is needed, nor that its child pages are included: {{tagcloud space="TagcloudFixture"/}} shows "No tag has been added on this page or on its children" while {{tagcloud space="MacroAudit.TagcloudFixture"/}} shows its tags, and space="MacroAudit.TagcloudFixture.Team.WebHome" , the reference of the page, gives no tag either. C3: the field opens empty, which stands for the whole wiki, as the description says, the value of the most common example. C4: a plain text field for the page whose tags are shown, with its child pages, where a page picker could be used. C6: the fields are in the order Limit, Space, Spaces, so the pages whose tags are shown come after the number of tags. The most common example sets none of them, so the order is OK per the measure. C7: space and spaces are two ways to set the same feature, the pages whose tags are shown, but they are two separate fields, and setting both renders the error "Do not use "space" and "spaces" parameter in the same time". |
| spaces | KO | OK | OK | KO | OK | OK | KO | OK | OK | KO | C1: the description asks for space references "separated by comma "," and wrapped in single quotes "'"", a developer format, and uses "space", a term the UI no longer shows. A list without the quotes, like {{tagcloud spaces="MacroAudit.TagcloudFixture.Team"/}} , fails with a stack trace, see E2. C4: a plain text field for a list of pages, where a page picker accepting several pages could be used. C7: an alternative of space for several pages, shown as a separate field, see the notes of space. C13: the value has a format, quoted space references separated by commas, which the macro cannot declare: it is a wiki macro, whose parameters cannot declare a range or a format, see XWIKI-25197 in the Cross-macro findings. spaces="Sandbox" is accepted by the dialog and fails at rendering, see E2. |
| limit | KO | OK | OK | KO | OK | OK | N/A | OK | OK | KO | C1, minor: the description does not say that an empty field shows every tag, nor which tags are kept, the most used ones. The French name and description are left in English, to fix on l10n.xwiki.org. C3: the field opens empty, which stands for no limit, the value of the most common example. C4: a plain text field for a number of tags, which a number field would fit, although the parameter is declared as an integer. C13: the macro is a wiki macro, whose parameters cannot declare a range or a format, see XWIKI-25197 in the Cross-macro findings. limit="-3" is accepted and shows "No page has been tagged yet", while pages are tagged. |
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 | |
| D3 | D3 category | XWIKI-25470 | |
| D4 | D4 quick-action | XWIKI-25444 | |
| L2 | L2 doc-parameters | XINFRA-525 | |
| E2 | E2 errors | XWIKI-25197 (partial) | XCOMMONS-3847 (partial), XRENDERING-823 (partial), XWIKI-25534 (partial) |
| E3 | E3 nesting | XWIKI-23501 | |
| C1:space | C1 clarity, space | XWIKI-17818 | |
| C4:space | C4 input-assistance, space | XWIKI-25534 | |
| C7:space | C7 alternatives, space | XWIKI-17818 | |
| C1:spaces | C1 clarity, spaces | XWIKI-17818 | |
| C4:spaces | C4 input-assistance, spaces | XWIKI-25534 | |
| C7:spaces | C7 alternatives, spaces | XWIKI-17818 | |
| C13:spaces | C13 constraints, spaces | XWIKI-25197 | |
| C1:limit | C1 clarity, limit | XWIKI-25470 | |
| C4:limit | C4 input-assistance, limit | XWIKI-25182 | |
| C13:limit | C13 constraints, limit | XWIKI-25182 (partial), XWIKI-25197 |
Tickets
| Ticket | Origin | KOs covered | KOs partly covered |
|---|---|---|---|
| XWIKI-17818 | Existing | C1:space C1:spaces C7:space C7:spaces | |
| XWIKI-25182 | Existing | C4:limit | C13:limit |
| XWIKI-25197 | Existing | C13:limit C13:spaces | E2 |
| XCOMMONS-3847 | New | E2 | |
| XRENDERING-823 | New | E2 | |
| XWIKI-25444 | New | D4 | |
| XWIKI-25470 | New | C1:limit D2 D3 | |
| XINFRA-525 | New | L2 | |
| XWIKI-25534 | New | C4:space C4:spaces | E2 |
| XWIKI-23501 | Existing | E3 |
Known issues of this macro
| Issue | Title | Status | Criteria |
|---|---|---|---|
| XWIKI-17818 | The Tag Cloud Macro should use "page" and "pages" parameters | Open | L1 |
68 more known issues affect every macro: see the Known issues.
Lucas Charpentier