Magnolia 5.3 reached end of life on June 30, 2017. This branch is no longer supported, see End-of-life policy.
Banners are messages that inform the user about system and app events. Banners are displayed prominently at the top or bottom of the Magnolia shell. They capture the user's attention effectively but do not interrupt what the user is currently working on. Banners are the only persistent message type. The user can safely close the banner and read the full message in the Pulse later.
To show a banner message:
AppContext
or SubAppContext
into your class so that you can access the messaging convenience methods. getAppContext
or getSubAppContext
inside your App or SubApp classes. If you extend the BaseSubApp
you always have access to getAppContext
and getSubAppContext
.@Inject public MySubApp(SubAppContext subAppContext, MyView view) { super(subAppContext, view); view.setListener(this); } @Override public void handleGroupMessage(final String group, final MessageType type, final String subject, final String message) { getAppContext().sendGroupMessage(group, new Message(type, subject, message)); }
AppContext
provides convenience methods for sending messages. The user will be notified instantly with a popup if they are currently signed in. In any case, the message is stored in the Pulse as unread.
void sendUserMessage(String user, Message message);
The users in the group will be notified instantly with a popup if they are currently signed in. In any case, the message is stored in the Pulse as unread.
void sendGroupMessage(String group, Message message);
The following code snippet does the same as shell.showNotification(messageText)
.
private sendToCurrentUser(String messageText) { final Message message = new Message(); message.setMessage(messageText); message.setType(MessageType.INFO); messagesManager.sendLocalMessage(message); }
The users will be notified instantly with a popup if they are currently signed in. In any case, the message will be stored in the Pulse as unread.
void broadcastMessage(Message message);
See MessagesMainSubapp.java for examples.
The Messages app is a tool that allows you to send messages to individual users, groups or all users. You can find the app in the Dev group. The Dev group is only available to the superuser
role by default, as configured in app launcher permissions.
The sent message is displayed in the Pulse.