Magnolia 5.3 reached end of life on June 30, 2017. This branch is no longer supported, see End-of-life policy.
A message view defines how a message is displayed in the Pulse and what users can do with the message. Magnolia's default
message view can display any system messages and allows the user to delete them. For a more advanced example, see the workflow
message view in /modules/workflow/messageViews/workflow
.
Here's how the default
message view is defined in /modules/ui-admincentral/messageViews/default
. Copy or extend it as a starting point for your own view.
Node name | Value |
---|---|
modules |
|
ui-admincentral |
|
messageViews |
|
default |
|
actions | |
delete | |
class | info.magnolia.ui.admincentral.shellapp.pulse.message.action.DeleteMessageActionDefinition |
icon | icon-delete |
form | |
tabs | |
message | |
fields | |
sender | |
class | info.magnolia.ui.form.field.definition.TextFieldDefinition |
message | |
class | info.magnolia.ui.form.field.definition.TextFieldDefinition |
rows | 7 |
actionbar | |
sections | |
messageActions | |
groups | |
deleteActions | |
items | |
delete | |
defaultAction | delete |
Nodes:
actions
. An action definition that defines what actions the user can perform on the message. For example, a user can approve or reject a published page.form
. A form definition that defines what message details are displayed in the view, such as the sender and the subject. The form fields are rendered as static text in the message view, not as fillable fields.actionbar
. An action bar definition that references actions defined in the message view or somewhere else. The action bar is displayed on side of the message view.Here is what a message looks like the default
view.
To use your custom message view in code, set the view on the Message object before sending it.
private sendMessageWithCustomView(String messageText) { final Message message = new Message(); message.setMessage(messageText); message.setType(MessageType.INFO); // Name of the view as defined in the configuration message.setView("myCustomView"); messagesManager.sendLocalMessage(message); }