notifications
Audit
- Macro ID
- notifications
- 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
- children documents
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 | "Notifications" is a user word, the one of the notifications menu. Written without parameters the macro shows the recent activity of the wiki rather than the reader's own notifications, which the name does not suggest, but useUserPreferences gives that second use, so the name fits the macro. |
| D2 summary | KO | "Display notifications about events happened on the wiki." repeats the name, is not grammatical, and does not say what the macro adds to the page: by default a list of the recent changes of the current wiki, without the reader's own actions, with a "Load older notifications" button, a mark as read control on each event and an RSS link, or, with useUserPreferences, the reader's own notifications. |
| D3 category | KO | minor: the macro is only in Notifications, a category it shares with the deprecated activity macro, mention and six notification settings macros meant for the administration. A user looking for a list of recent changes would also look in Content, where documents and liveData, the other macros that list wiki content, are. |
| D4 quick-action | KO | Quick Actions finds the macro first for its ID "notifications", its name "Notifications" and the German name "Benachrichtigungen", the French name being the English one. Of the synonyms, "events" finds it first, while "activity" only finds the "Activity (legacy)" macro, and "recent changes", "activity stream", "updates" and "news feed" give no result. |
| L1 consistency | OK | compared with children and documents: like them, no parameter is mandatory, there is no content, and the Quick Action inserts the macro right away, with no dialog. Like documents, it declares the default values of its parameters, 10 for count. |
| L2 doc-parameters | OK | the new documentation, The notifications Macro, lists the 14 parameters with the defaults and optional flags of the descriptor. The Documentation status page still gives only the legacy page, which has no Usage section and no parameter table. |
| L3 doc-example | OK | the most common example is {{notifications count="5" /}} , "Displaying the Recent Activity of the Wiki", the first example of the documentation, which renders without error. The three examples and the usage line render 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 {{notifications/}} , which shows the recent events of the wiki in view mode, with no error. When no event matches, the renderer of the events shows "No notifications available!" as a centered paragraph, not as an error. The editor only shows the RSS link, see E1. |
| I3 instant | N/A | |
| I4 cursor | N/A | |
| I5 focus | OK | the macro has no mandatory parameter. The focus is on the first field, Count. |
| E1 wysiwyg | KO | the editor never shows the events, only the "RSS Feed" link, still after 30 seconds, while view mode lists them: the events are rendered asynchronously, and the asynchronous placeholder is not resolved in the editor. With displayRSSLink="false" the macro shows nothing at all in the editor, an empty frame. To reproduce: on a wiki with some recent changes, insert {{notifications count="5" /}} in the standalone WYSIWYG editor, ?editor=wysiwyg, or in the in-place editor: both show only "RSS Feed", while view mode lists the events. |
| E2 errors | KO | invalid values are accepted silently. For example, {{notifications displayRSSLink="maybe"/}} hides the RSS link and {{notifications displayOwnEvents="maybe"/}} is read as false, with no message, and {{notifications count="-3"/}} shows one event, with no message. Worse, {{notifications count="0"/}} , or a count that is not a number like count="abc" , makes the macro loop forever on the server and stay on its placeholder, see XWIKI-25412. |
| E3 nesting | KO | in a list item and in a table cell, like * {{notifications count="5" /}} , the macro is inline and renders "The [notifications] 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 events, each with buttons, followed by a "Load older notifications" button, 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| count | OK | OK | OK | KO | KO | OK | N/A | OK | OK | KO | C3: the field opens on the declared default, 10, while the most common example sets 5: the example only picks a smaller list, and 10 is the value of the usage line of the documentation, {{notifications /}} . C4: a plain text field for a number of events, which a number field would fit. C5: the 14 fields are all in the single group "Optional parameters", above 9, mixing the parameters that choose the events, useUserPreferences, wikis, spaces, pages, users, displayWatchedUsersOnly and tags, with the display options, count, displayRSSLink, displayReadStatus and the four display event checkboxes. The same holds for every parameter, see XWIKI-23835. C13: the macro is a wiki macro, whose parameters cannot declare a range or a format, see XWIKI-25197 in the Cross-macro findings. count="-3" is accepted and shows one event. |
| useUserPreferences | OK | OK | OK | OK | KO | KO | KO | OK | OK | N/A | C1: "If true, the preferences of the user about notifications are used" does not say that the user is the reader, nor that the macro then shows the reader's own notifications, but the field name and the descriptions of the filters, which say they are then ignored, make it clear enough. C6: the switch between the two uses of the macro, the reader's own notifications or the activity of a part of the wiki, set by the third example of the documentation, is the 12th of the 14 fields and is only visible after scrolling. No order is declared, so the dialog sorts the fields by parameter ID. C7: useUserPreferences and the filters wikis, spaces, pages, users, displayWatchedUsersOnly and tags are two alternative ways to choose the events, the reader's notification settings or explicit filters, which useUserPreferences makes ignored, but the dialog shows them as separate fields, with nothing telling that checking "Use the preferences of the user" makes the others ignored. |
| displayOwnEvents | OK | OK | OK | OK | KO | OK | N/A | OK | OK | N/A | |
| displayMinorEvents | OK | OK | OK | OK | KO | OK | N/A | OK | OK | N/A | |
| displaySystemEvents | OK | OK | OK | OK | KO | OK | N/A | KO | OK | N/A | C8: rarely used, since the events XWiki triggers itself, like extension updates, are of little use in a list of changes, and not marked as advanced. |
| displayReadEvents | OK | OK | OK | OK | KO | OK | N/A | KO | OK | N/A | C8: rarely used, since the read marks are personal and mostly matter for the reader's own notifications, and not marked as advanced. |
| displayReadStatus | KO | OK | OK | OK | KO | OK | N/A | KO | OK | N/A | C1, minor: "Either or not the status of the events (either it has been marked as read or not) should be displayed" is garbled, and does not say that the status is also the control to mark an event as read. C8: rarely used, a display detail, and not marked as advanced. |
| wikis | KO | OK | OK | KO | KO | OK | KO | OK | OK | N/A | C1, minor: "List of wikis (comma-separated) to consider. This parameter is ignored if useUserPreferences is set to "true"." refers to another field by its parameter ID and value, "useUserPreferences is set to "true"", instead of its label, "Use the preferences of the user", and "to consider" does not say that only the events of these wikis are displayed. It does not say whether a wiki is given by its name or its ID. C4: a plain text field for a list of wikis, which a wiki picker could offer, see XWIKI-23834. C7: an alternative of useUserPreferences, which makes it ignored, shown as a separate field, see useUserPreferences. |
| spaces | KO | OK | OK | KO | KO | OK | KO | OK | OK | N/A | C1, minor: "List of spaces (comma-separated) to consider." uses "space", a technical term that the UI no longer shows since nested pages. It refers to another field by its parameter ID and value, "useUserPreferences is set to "true"", instead of its label, "Use the preferences of the user", and "to consider" does not say that only the events of these locations are displayed, which includes their child pages. C4: a plain text field for a list of locations, which a page picker could offer, see XWIKI-23834. C7: an alternative of useUserPreferences, which makes it ignored, shown as a separate field, see useUserPreferences. |
| pages | KO | OK | OK | KO | KO | OK | KO | OK | OK | N/A | C1, minor: "List of pages (full references, comma-separated) to consider." gives no example of a full reference, like Sandbox.WebHome. It refers to another field by its parameter ID and value, "useUserPreferences is set to "true"", instead of its label, "Use the preferences of the user", and "to consider" does not say that only the events of these pages are displayed. C4: a plain text field for a list of pages, which a page picker could offer, see XWIKI-23834. C7: an alternative of useUserPreferences, which makes it ignored, shown as a separate field, see useUserPreferences. |
| users | KO | OK | OK | KO | KO | OK | KO | OK | OK | N/A | C1, minor: "List of users to consider (comma-separated). Ignored if "useUserPreferences" is set to "true"." does not give the format of a user, like XWiki.Admin. It refers to another field by its parameter ID and value, "useUserPreferences is set to "true"", instead of its label, "Use the preferences of the user", and "to consider" does not say that only the events of these users are displayed. C4: a plain text field for a list of users, which a user picker could offer, see XWIKI-23834. C7: an alternative of useUserPreferences, which makes it ignored, shown as a separate field, see useUserPreferences. users and displayWatchedUsersOnly are also two alternatives for the same feature, whose events are displayed: when "Display followed users only" is checked, the macro replaces the users of this field with the people the reader follows, see displayWatchedUsersOnly. |
| displayWatchedUsersOnly | KO | OK | OK | OK | KO | OK | KO | OK | OK | N/A | C1: the description is wrong: "Display only the events performed by the given list of users (if empty, the list of followed users of the current user is used)" says that the users of the Users field are used when it is filled, while the macro always replaces them with the people the reader follows, and shows the warning "You are not following anybody." instead of any event when the reader follows nobody. To reproduce: {{notifications displayWatchedUsersOnly="true" users="XWiki.Admin"/}} for a reader who follows nobody shows only that warning. C7: an alternative of useUserPreferences, which makes it ignored, shown as a separate field, see useUserPreferences. It is also an alternative of users, which it replaces, see users. |
| displayRSSLink | OK | OK | OK | OK | KO | OK | N/A | OK | OK | N/A | |
| tags | KO | OK | OK | KO | KO | OK | KO | OK | OK | N/A | C1, minor: "List of tags to consider (comma-separated). It only works on the current wiki. Ignored if "useUserPreferences" is set to "true"." refers to another field by its parameter ID and value, "useUserPreferences is set to "true"", instead of its label, "Use the preferences of the user", and "to consider" does not say that only the events of pages carrying these tags are displayed. C4: a plain text field for a list of tags, which a tag picker, like the one of the page tags, could offer, see XWIKI-23834. C7: an alternative of useUserPreferences, which makes it ignored, shown as a separate field, see useUserPreferences. |
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-25465 | |
| D3 | D3 category | XWIKI-25465 | |
| D4 | D4 quick-action | XWIKI-25444 | |
| E1 | E1 wysiwyg | XWIKI-23947 (partial) | XWIKI-25537 |
| E2 | E2 errors | XWIKI-25412 | XCOMMONS-3847 (partial), XRENDERING-823 (partial) |
| E3 | E3 nesting | XWIKI-23501 | |
| C4:count | C4 input-assistance, count | XWIKI-25182 (partial), XWIKI-25197 (partial) | XWIKI-25497 |
| C5:count | C5 groups, count | XWIKI-23835 | |
| C13:count | C13 constraints, count | XWIKI-25182 (partial), XWIKI-25197, XWIKI-25412 (partial) | |
| C5:useUserPreferences | C5 groups, useUserPreferences | XWIKI-23835 | |
| C6:useUserPreferences | C6 order, useUserPreferences | XWIKI-25469 | |
| C7:useUserPreferences | C7 alternatives, useUserPreferences | XWIKI-23835, XWIKI-25180 (partial) | |
| C5:displayOwnEvents | C5 groups, displayOwnEvents | XWIKI-23835 | |
| C5:displayMinorEvents | C5 groups, displayMinorEvents | XWIKI-23835 | |
| C5:displaySystemEvents | C5 groups, displaySystemEvents | XWIKI-23835 | |
| C8:displaySystemEvents | C8 advanced, displaySystemEvents | XWIKI-25469 | |
| C5:displayReadEvents | C5 groups, displayReadEvents | XWIKI-23835 | |
| C8:displayReadEvents | C8 advanced, displayReadEvents | XWIKI-25469 | |
| C1:displayReadStatus | C1 clarity, displayReadStatus | XWIKI-25465 | |
| C5:displayReadStatus | C5 groups, displayReadStatus | XWIKI-23835 | |
| C8:displayReadStatus | C8 advanced, displayReadStatus | XWIKI-25469 | |
| C1:wikis | C1 clarity, wikis | XWIKI-25465 | |
| C4:wikis | C4 input-assistance, wikis | XWIKI-23834 | XWIKI-25510 |
| C5:wikis | C5 groups, wikis | XWIKI-23835 | |
| C7:wikis | C7 alternatives, wikis | XWIKI-23835, XWIKI-25180 (partial) | |
| C1:spaces | C1 clarity, spaces | XWIKI-25465 | |
| C4:spaces | C4 input-assistance, spaces | XWIKI-23834 | |
| C5:spaces | C5 groups, spaces | XWIKI-23835 | |
| C7:spaces | C7 alternatives, spaces | XWIKI-23835, XWIKI-25180 (partial) | |
| C1:pages | C1 clarity, pages | XWIKI-25465 | |
| C4:pages | C4 input-assistance, pages | XWIKI-23834 | |
| C5:pages | C5 groups, pages | XWIKI-23835 | |
| C7:pages | C7 alternatives, pages | XWIKI-23835, XWIKI-25180 (partial) | |
| C1:users | C1 clarity, users | XWIKI-25465 | |
| C4:users | C4 input-assistance, users | XWIKI-23834 | |
| C5:users | C5 groups, users | XWIKI-23835 | |
| C7:users | C7 alternatives, users | XWIKI-23835, XWIKI-25180 (partial) | |
| C1:displayWatchedUsersOnly | C1 clarity, displayWatchedUsersOnly | XWIKI-25465 | |
| C5:displayWatchedUsersOnly | C5 groups, displayWatchedUsersOnly | XWIKI-23835 | |
| C7:displayWatchedUsersOnly | C7 alternatives, displayWatchedUsersOnly | XWIKI-23835, XWIKI-25180 (partial) | |
| C5:displayRSSLink | C5 groups, displayRSSLink | XWIKI-23835 | |
| C1:tags | C1 clarity, tags | XWIKI-25465 | |
| C4:tags | C4 input-assistance, tags | XWIKI-23834 | XWIKI-25511 |
| C5:tags | C5 groups, tags | XWIKI-23835 | |
| C7:tags | C7 alternatives, tags | XWIKI-23835, XWIKI-25180 (partial) |
Tickets
| Ticket | Origin | KOs covered | KOs partly covered |
|---|---|---|---|
| XWIKI-23834 | Existing | C4:pages C4:spaces C4:tags C4:users C4:wikis | |
| XWIKI-23835 | Existing | C5:count C5:displayMinorEvents C5:displayOwnEvents C5:displayRSSLink C5:displayReadEvents C5:displayReadStatus C5:displaySystemEvents C5:displayWatchedUsersOnly C5:pages C5:spaces C5:tags C5:useUserPreferences C5:users C5:wikis C7:displayWatchedUsersOnly C7:pages C7:spaces C7:tags C7:useUserPreferences C7:users C7:wikis | |
| XWIKI-25180 | Existing | C7:displayWatchedUsersOnly C7:pages C7:spaces C7:tags C7:useUserPreferences C7:users C7:wikis | |
| XWIKI-25182 | Existing | C13:count C4:count | |
| XWIKI-25197 | Existing | C13:count | C4:count |
| XWIKI-25412 | Existing | E2 | C13:count |
| XCOMMONS-3847 | New | E2 | |
| XRENDERING-823 | New | E2 | |
| XWIKI-25444 | New | D4 | |
| XWIKI-25465 | New | C1:displayReadStatus C1:displayWatchedUsersOnly C1:pages C1:spaces C1:tags C1:users C1:wikis D2 D3 | |
| XWIKI-25469 | New | C6:useUserPreferences C8:displayReadEvents C8:displayReadStatus C8:displaySystemEvents | |
| XWIKI-25497 | New | C4:count | |
| XWIKI-25510 | New | C4:wikis | |
| XWIKI-25511 | New | C4:tags | |
| XWIKI-25537 | New | E1 | |
| XWIKI-23947 | Existing | E1 | |
| XWIKI-23501 | Existing | E3 |
Known issues of this macro
| Issue | Title | Status | Criteria |
|---|---|---|---|
| XWIKI-23835 | Reduce the amount of items visible on the notification macro edit | Open | C5 |
68 more known issues affect every macro: see the Known issues.
Lucas Charpentier