Notifications

Part of the IP4CMS portal. ← All module guides

What it's for β€” Notifications is your personal notification centre inside the portal. It collects the alerts the system raises for you β€” member status changes, classified-ad outcomes, event registrations and general system alerts β€” into one list you can read, filter, mark as read and clear. The same notifications can also be pushed to your phone or browser as a device (push) notification when you have registered a device. The list is per-user: you only ever see notifications addressed to you (or to an access scope you belong to).

Where to find it β€” In the portal side menu, open Notifications. The direct route is /app/notifications. The screen opens on the Notifications list. An unread badge/count is also surfaced in the portal header and refreshes automatically every 30 seconds.

Before you start

Key tasks

Viewing the notification centre

  1. Open Notifications from the side menu (/app/notifications).
  2. The page loads your notifications newest-first in a paginated grid. Each row shows:
  1. Use the toolbar to narrow the list:

Filters apply as you change them; the list resets to page 1. Use Clear to reset all filters.

  1. Adjust the page size and page through results with the grid's pagination controls.
  2. Click Refresh (top right) at any time to reload the list and the unread count.
Note: the Priority filter is offered in the toolbar, but priority is set on a notification when it is created β€” there is no way to change a notification's priority from this screen.

Reading a notification (and the detail view)

  1. In the list, click the View (eye) action on a row, or click the row itself.
  2. A detail modal opens showing the full title, message (with line breaks preserved), type, priority (if medium/high), status and date.
  3. Opening an unread notification automatically marks it as read and decrements your unread count.
  4. If the notification has somewhere to go (an action URL or a related record), the modal shows a Go to Details button. Clicking it marks the item read and navigates you to the relevant screen β€” for example:

A notification with an explicit action URL navigates straight to that URL instead.

  1. Click Close (or click outside the modal) to dismiss it.

Marking notifications as read

Deleting and clearing notifications

Bulk actions caveat. The portal code includes "bulk mark as read" and "bulk delete" helpers (and a delete confirmation dialog), but the standard list grid is configured non-selectable, so there are no row checkboxes to drive them in this screen. In practice you work one row at a time, or use Mark All Read / Clear All for everything at once.

How push (device) notifications reach you

You don't subscribe to push notifications from this screen. Push delivery is wired up by the app you sign in from (the resident/member app or a portal client that registers a device):

  1. When you grant notification permission in the app, the app obtains a Firebase device token and registers it with the platform (it calls POST /notifications/push-token with the token, your platform β€” ios, android or web β€” and an app id).
  2. From then on, whenever a notification is created for you, the platform looks up your active device tokens and sends the same title and message to your device(s) via Firebase, alongside writing the in-app notification to this list.
  3. Signing out / disabling notifications unregisters the device (DELETE /notifications/push-token), so it stops receiving pushes.

There is no operator-facing "manage my devices" panel in this module β€” registration is automatic and lives in the client app.

How the data connects

What triggers a notification. Notifications are created by the system as a side-effect of events elsewhere in the platform, not hand-written in this screen. The built-in triggers include:

An admin with the right permission can also create one explicitly via POST /notifications.

Where it's stored. Each notification is a row in the tenant's user_notification table, tagged with tenant_id and addressed either to a specific user_id or to an auth_scope_id (an access scope β€” so everyone in that scope sees it). It carries the type, title, message, optional related-record id, priority, is_read flag and timestamps. Notifications persist until you delete them (or an admin runs an optional cleanup of items older than N days) β€” they are not auto-expired.

How it reaches you.

Permissions & access

Tips & gotchas