A critical vulnerability was discovered in React Server Components (Next.js). Our systems remain protected but we advise to update packages to newest version. Learn More

Ha Bui
Feb 16, 2023
  1956
(2 votes)

Global Notification

Great day everyone!

If you familiar with Using user notifications, I'm glad to introduce the new global notification UI. Notifications are moved to the navigation bar, so it is no longer only for the CMS UI.

You can get the new release version here: EPiServer.CMS 12.17.0 (optimizely.com)

The new UI has the following:

  • A bell icon, moved to the top navigation bar
  • An indicator for new or unread messages
  • A notification panel

When you click an unread notification, it is marked as read. Click Mark as Read to change all unread messages statuses to read. 

Notes

  • If the notication contains content uri then you can click on the notification to go to the link.
  • The list is lazy load on demand; just scoll to see more.

Global notification also exposes broadcastchannel API (/global/notification/message), Just join it and you can use the pub/sub pattern.

MessageHub.js already has it inside:

this._globalNotificationBroadcaster = new BroadcastChannel(this.statusTopic.globalnotificationmessage);

See also Broadcast Channel API - Web APIs | MDN (mozilla.org).

Last but not least: all changes for UI are on the client side to pub/sub message. Nothing changes for the server side. Isn't that good news?

Thank for reading!

Feb 16, 2023

Comments

Quan Pham
Quan Pham Feb 22, 2023 07:55 AM

Good stuffs!💯

Please login to comment.
Latest blogs
Building simple Opal tools for product search and content creation

Optimizely Opal tools make it easy for AI agents to call your APIs – in this post we’ll build a small ASP.NET host that exposes two of them: one fo...

Pär Wissmark | Dec 13, 2025 |

CMS Audiences - check all usage

Sometimes you want to check if an Audience from your CMS (former Visitor Group) has been used by which page(and which version of that page) Then yo...

Tuan Anh Hoang | Dec 12, 2025

Data Imports in Optimizely: Part 2 - Query data efficiently

One of the more time consuming parts of an import is looking up data to update. Naively, it is possible to use the PageCriteriaQueryService to quer...

Matt FitzGerald-Chamberlain | Dec 11, 2025 |

Beginner's Guide for Optimizely Backend Developers

Developing with Optimizely (formerly Episerver) requires more than just technical know‑how. It’s about respecting the editor’s perspective, ensurin...

MilosR | Dec 10, 2025