notifications

Last modified by Lucas Charpentier on 2026/10/27 10:29

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.

SourceWhat it givesUsed forWhere
DocumentationParameters, default values and examples, including the most common exampleL2, L3, and the criteria measured with the most common examplehttps://www.xwiki.org/xwiki/bin/view/documentation/xs/user/notifications/macro/
Source codeHow the macro declares its parameters and content: types, groups, features, advanced and hidden flags, constraints, content type, inline supportC4, C5, C7, C8, C9, C13, E4, E6https://github.com/xwiki/xwiki-platform/blob/xwiki-platform-18.8.0/xwiki-platform-core/xwiki-platform-notifications/xwiki-platform-notifications-macro/xwiki-platform-notifications-macro-ui/src/main/resources/XWiki/Notifications/Code/Macro/NotificationsMacro.xml
Macro descriptorWhat the Edit Macro dialog is built from, on design.xwiki.orgD1, D2, C1 to C9, E4Descriptor, list of macros with their categories
TranslationsThe name, description and parameter names in each languageD1, D2, D4, C1l10n.xwiki.org
Uses in XWiki pagesHow XWiki itself uses the macro, a realistic example when the documentation has noneL3, C2, C3, C6, C8, C9Search the xwiki organization on GitHub
Compared macrosThe audits of the macros of the same typeL1, D3children, documents
Other sources specific to this macro
CriterionResultNotes
D1 wordingOK"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 summaryKO"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 categoryKOminor: 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-actionKOQuick 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 consistencyOKcompared 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-parametersOKthe 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-exampleOKthe 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 patternOKcompared 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-configOKQuick 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 instantN/A
I4 cursorN/A
I5 focusOKthe macro has no mandatory parameter. The focus is on the first field, Count.
E1 wysiwygKOthe 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 errorsKOinvalid 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 nestingKOin 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-supportOKthe 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 emptyN/A
E6 inplaceN/A

Parameters

ParameterC1 clarityC2 mandatoryC3 defaultsC4 input-assistanceC5 groupsC6 orderC7 alternativesC8 advancedC9 technicalC13 constraintsNotes
countOKOKOKKOKOOKN/AOKOKKO

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.

useUserPreferencesOKOKOKOKKOKOKOOKOKN/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.

displayOwnEventsOKOKOKOKKOOKN/AOKOKN/A
displayMinorEventsOKOKOKOKKOOKN/AOKOKN/A
displaySystemEventsOKOKOKOKKOOKN/AKOOKN/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.

displayReadEventsOKOKOKOKKOOKN/AKOOKN/A

C8: rarely used, since the read marks are personal and mostly matter for the reader's own notifications, and not marked as advanced.

displayReadStatusKOOKOKOKKOOKN/AKOOKN/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.

wikisKOOKOKKOKOOKKOOKOKN/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.

spacesKOOKOKKOKOOKKOOKOKN/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.

pagesKOOKOKKOKOOKKOOKOKN/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.

usersKOOKOKKOKOOKKOOKOKN/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.

displayWatchedUsersOnlyKOOKOKOKKOOKKOOKOKN/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.

displayRSSLinkOKOKOKOKKOOKN/AOKOKN/A
tagsKOOKOKKOKOOKKOOKOKN/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.

KOCriterionExisting ticketsNew tickets
D2D2 summaryXWIKI-25465
D3D3 categoryXWIKI-25465
D4D4 quick-actionXWIKI-25444
E1E1 wysiwygXWIKI-23947 (partial)XWIKI-25537
E2E2 errorsXWIKI-25412XCOMMONS-3847 (partial), XRENDERING-823 (partial)
E3E3 nestingXWIKI-23501
C4:countC4 input-assistance, countXWIKI-25182 (partial), XWIKI-25197 (partial)XWIKI-25497
C5:countC5 groups, countXWIKI-23835
C13:countC13 constraints, countXWIKI-25182 (partial), XWIKI-25197, XWIKI-25412 (partial)
C5:useUserPreferencesC5 groups, useUserPreferencesXWIKI-23835
C6:useUserPreferencesC6 order, useUserPreferencesXWIKI-25469
C7:useUserPreferencesC7 alternatives, useUserPreferencesXWIKI-23835, XWIKI-25180 (partial)
C5:displayOwnEventsC5 groups, displayOwnEventsXWIKI-23835
C5:displayMinorEventsC5 groups, displayMinorEventsXWIKI-23835
C5:displaySystemEventsC5 groups, displaySystemEventsXWIKI-23835
C8:displaySystemEventsC8 advanced, displaySystemEventsXWIKI-25469
C5:displayReadEventsC5 groups, displayReadEventsXWIKI-23835
C8:displayReadEventsC8 advanced, displayReadEventsXWIKI-25469
C1:displayReadStatusC1 clarity, displayReadStatusXWIKI-25465
C5:displayReadStatusC5 groups, displayReadStatusXWIKI-23835
C8:displayReadStatusC8 advanced, displayReadStatusXWIKI-25469
C1:wikisC1 clarity, wikisXWIKI-25465
C4:wikisC4 input-assistance, wikisXWIKI-23834XWIKI-25510
C5:wikisC5 groups, wikisXWIKI-23835
C7:wikisC7 alternatives, wikisXWIKI-23835, XWIKI-25180 (partial)
C1:spacesC1 clarity, spacesXWIKI-25465
C4:spacesC4 input-assistance, spacesXWIKI-23834
C5:spacesC5 groups, spacesXWIKI-23835
C7:spacesC7 alternatives, spacesXWIKI-23835, XWIKI-25180 (partial)
C1:pagesC1 clarity, pagesXWIKI-25465
C4:pagesC4 input-assistance, pagesXWIKI-23834
C5:pagesC5 groups, pagesXWIKI-23835
C7:pagesC7 alternatives, pagesXWIKI-23835, XWIKI-25180 (partial)
C1:usersC1 clarity, usersXWIKI-25465
C4:usersC4 input-assistance, usersXWIKI-23834
C5:usersC5 groups, usersXWIKI-23835
C7:usersC7 alternatives, usersXWIKI-23835, XWIKI-25180 (partial)
C1:displayWatchedUsersOnlyC1 clarity, displayWatchedUsersOnlyXWIKI-25465
C5:displayWatchedUsersOnlyC5 groups, displayWatchedUsersOnlyXWIKI-23835
C7:displayWatchedUsersOnlyC7 alternatives, displayWatchedUsersOnlyXWIKI-23835, XWIKI-25180 (partial)
C5:displayRSSLinkC5 groups, displayRSSLinkXWIKI-23835
C1:tagsC1 clarity, tagsXWIKI-25465
C4:tagsC4 input-assistance, tagsXWIKI-23834XWIKI-25511
C5:tagsC5 groups, tagsXWIKI-23835
C7:tagsC7 alternatives, tagsXWIKI-23835, XWIKI-25180 (partial)
Success

Every KO is covered by a ticket.

Tickets

TicketOriginKOs coveredKOs partly covered
XWIKI-23834ExistingC4:pages C4:spaces C4:tags C4:users C4:wikis
XWIKI-23835ExistingC5: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-25180ExistingC7:displayWatchedUsersOnly C7:pages C7:spaces C7:tags C7:useUserPreferences C7:users C7:wikis
XWIKI-25182ExistingC13:count C4:count
XWIKI-25197ExistingC13:countC4:count
XWIKI-25412ExistingE2C13:count
XCOMMONS-3847NewE2
XRENDERING-823NewE2
XWIKI-25444NewD4
XWIKI-25465NewC1:displayReadStatus C1:displayWatchedUsersOnly C1:pages C1:spaces C1:tags C1:users C1:wikis D2 D3
XWIKI-25469NewC6:useUserPreferences C8:displayReadEvents C8:displayReadStatus C8:displaySystemEvents
XWIKI-25497NewC4:count
XWIKI-25510NewC4:wikis
XWIKI-25511NewC4:tags
XWIKI-25537NewE1
XWIKI-23947ExistingE1
XWIKI-23501ExistingE3

Known issues of this macro

IssueTitleStatusCriteria
XWIKI-23835Reduce the amount of items visible on the notification macro editOpenC5

68 more known issues affect every macro: see the Known issues.

Get Connected